Bug 40038 [typing] Smart semicolon fooled by method braces
Build: I20030710 Start writing a setter method, like this: public void setValue(int i) {} Then position cursor between the braces and fill in the method body. You end up with this: public void setValue(int i) {this.value=i}; Problem: when you type the semicolon, it jumps over the closing method body brace and places it at the end of the line, resulting in a syntax error.
org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/SmartSemicolonAutoEditStrategyTest.java
if (true) return;
		fDocument.set("public void; foobar()");
		verifySemicolonPosition(5, 11);
	}
	
	public void testFor() throws BadLocationException {
		fDocument.set("for (int i= 0)");
		verifySemicolonPosition(13, -1);
	}
	
	public void testWithExistingBefore() throws BadLocationException {
		fDocument.set("public void; foobar()");
		verifySemicolonPosition(12, 21);
	}
	
	public void testWithExistingBeforeWithComment() throws BadLocationException {
		fDocument.set("public void; foobar() // comment\r\n ");
		verifySemicolonPosition(12, 21);
	}
	
	public void testWithExistingAtInsertPosition() throws BadLocationException {
		System.out.println("testWithExistingAtInsertPosition disabled - existing characters handled by framework");
		if (true) return;
		fDocument.set("public void foobar(); // comment\r\n");
		verifySemicolonPosition(12, 12);
	}
	public void testEndLineComment() throws BadLocationException {
		fDocument.set("private string foo= \"foobar\" // comment\r\n");
		verifySemicolonPosition(12, 28);
	}