Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/JavaAutoIndentStrategyTest.java15
-rw-r--r--org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/JavaAutoIndentStrategy.java4
2 files changed, 18 insertions, 1 deletions
diff --git a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/JavaAutoIndentStrategyTest.java b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/JavaAutoIndentStrategyTest.java
index b3c5a8cf1b..f812810f5f 100644
--- a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/JavaAutoIndentStrategyTest.java
+++ b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/JavaAutoIndentStrategyTest.java
@@ -402,6 +402,21 @@ public class JavaAutoIndentStrategyTest extends TestCase implements ILogListener
Assert.assertEquals(buf.toString(), fDocument.get());
}
+ public void testSmartIndentAfterNewLine10() {
+ // https://bugs.eclipse.org/bugs/show_bug.cgi?id=404879
+ fDocument.setInitialLineDelimiter("\r\n");
+ fDocument.set("{ foo();");
+ fDocumentCommand.doit= true;
+ fDocumentCommand.offset= 1;
+ fDocumentCommand.text= "\r\n";
+ performSmartIndentAfterNewLine();
+ StringBuffer buf= new StringBuffer();
+ buf.append("{\r\n");
+ buf.append("\tfoo();\r\n");
+ buf.append("}");
+ Assert.assertEquals(buf.toString(), fDocument.get());
+ }
+
/*
* @see junit.framework.TestCase#setUp()
*/
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/JavaAutoIndentStrategy.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/JavaAutoIndentStrategy.java
index 5e2288f471..2ddf4334ce 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/JavaAutoIndentStrategy.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/JavaAutoIndentStrategy.java
@@ -417,8 +417,10 @@ public class JavaAutoIndentStrategy extends DefaultIndentLineAutoEditStrategy {
break;
// only select insert positions for parenthesis currently embracing the caret
- if (openingParen > pos)
+ if (openingParen > pos) {
+ openingParen= -1;
continue;
+ }
if (looksLikeAnonymousClassDef(document, partitioning, scanner, openingParen - 1))
return false;

Back to the top