### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java =================================================================== RCS file: /home/eclipse/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java,v retrieving revision 1.155 diff -u -r1.155 CompletionParser.java --- codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java 12 Apr 2006 10:07:26 -0000 1.155 +++ codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java 20 Apr 2006 08:26:35 -0000 @@ -1499,7 +1499,8 @@ /* filter out cases where scanner is still inside type header */ if (recoveredType.foundOpeningBrace) { // complete generics stack if necessary - if(this.genericsIdentifiersLengthStack[this.genericsIdentifiersLengthPtr] <= this.identifierPtr) { + if((this.genericsIdentifiersLengthPtr < 0 && this.identifierPtr > -1) + || (this.genericsIdentifiersLengthStack[this.genericsIdentifiersLengthPtr] <= this.identifierPtr)) { pushOnGenericsIdentifiersLengthStack(this.identifierLengthStack[this.identifierLengthPtr]); pushOnGenericsLengthStack(0); // handle type arguments } #P org.eclipse.jdt.core.tests.compiler Index: src/org/eclipse/jdt/core/tests/compiler/parser/GenericsCompletionParserTest.java =================================================================== RCS file: /home/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/parser/GenericsCompletionParserTest.java,v retrieving revision 1.24 diff -u -r1.24 GenericsCompletionParserTest.java --- src/org/eclipse/jdt/core/tests/compiler/parser/GenericsCompletionParserTest.java 12 Apr 2006 10:07:40 -0000 1.24 +++ src/org/eclipse/jdt/core/tests/compiler/parser/GenericsCompletionParserTest.java 20 Apr 2006 08:26:40 -0000 @@ -9363,4 +9363,34 @@ expectedReplacedSource, "full ast"); } +// https://bugs.eclipse.org/bugs/show_bug.cgi?id=83685 +public void test0211(){ + String str = + "public class Test{\n" + + " Test.\n" + + "}\n"; + + String completeBehind = "Test"; + int cursorLocation = str.indexOf("Test.") + completeBehind.length() - 1; + String expectedCompletionNodeToString = ""; + String expectedParentNodeToString = ""; + String completionIdentifier = "Test"; + String expectedReplacedSource = "Test"; + String expectedUnitDisplayString = + "public class Test {\n" + + " ;\n" + + " public Test() {\n" + + " }\n" + + "}\n"; + + checkDietParse( + str.toCharArray(), + cursorLocation, + expectedCompletionNodeToString, + expectedParentNodeToString, + expectedUnitDisplayString, + completionIdentifier, + expectedReplacedSource, + "diet ast"); +} }