### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: codeassist/org/eclipse/jdt/internal/codeassist/CompletionEngine.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/CompletionEngine.java,v retrieving revision 1.389 diff -u -r1.389 CompletionEngine.java --- codeassist/org/eclipse/jdt/internal/codeassist/CompletionEngine.java 4 Mar 2009 11:57:21 -0000 1.389 +++ codeassist/org/eclipse/jdt/internal/codeassist/CompletionEngine.java 5 Mar 2009 13:46:22 -0000 @@ -1747,7 +1747,7 @@ contextAccepted = true; buildContext(importReference, null, parsedUnit, null, null); - long positions = importReference.sourcePositions[importReference.sourcePositions.length - 1]; + long positions = importReference.sourcePositions[importReference.tokens.length - 1]; setSourceAndTokenRange((int) (positions >>> 32), (int) positions); char[][] oldTokens = importReference.tokens; #P org.eclipse.jdt.core.tests.model Index: src/org/eclipse/jdt/core/tests/model/CompletionTests.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CompletionTests.java,v retrieving revision 1.195 diff -u -r1.195 CompletionTests.java --- src/org/eclipse/jdt/core/tests/model/CompletionTests.java 4 Mar 2009 11:57:11 -0000 1.195 +++ src/org/eclipse/jdt/core/tests/model/CompletionTests.java 5 Mar 2009 13:46:29 -0000 @@ -6051,6 +6051,66 @@ requestor.getResults()); } +//https://bugs.eclipse.org/bugs/show_bug.cgi?id=243406 +public void testCompletionImportedType7() throws JavaModelException { + this.workingCopies = new ICompilationUnit[3]; + this.workingCopies[0] = getWorkingCopy( + "/Completion/src/test/Test.java", + "package test;"+ + "import AClas.Foo;"+ + "public class Test {\n"+ + " \n"+ + "}"); + + this.workingCopies[1] = getWorkingCopy( + "/Completion/src/test2/AClass1.java", + "package test2;"+ + "public class AClass {"+ + "}"); + + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true); + String str = this.workingCopies[0].getSource(); + String completeBehind = "AClas"; + int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); + this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); + + int start = str.indexOf("AClas"); + int end = start + "AClas".length(); + assertResults( + "AClass[TYPE_REF]{test2.AClass;, test2, Ltest2.AClass;, null, null, ["+start+", "+end+"], " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}", + requestor.getResults()); +} + +//https://bugs.eclipse.org/bugs/show_bug.cgi?id=243406 +public void testCompletionImportedType8() throws JavaModelException { + this.workingCopies = new ICompilationUnit[3]; + this.workingCopies[0] = getWorkingCopy( + "/Completion/src/test/Test.java", + "package test;"+ + "import test2.AClas.Foo;"+ + "public class Test {\n"+ + " \n"+ + "}"); + + this.workingCopies[1] = getWorkingCopy( + "/Completion/src/test2/AClass1.java", + "package test2;"+ + "public class AClass {"+ + "}"); + + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true); + String str = this.workingCopies[0].getSource(); + String completeBehind = "AClas"; + int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); + this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); + + int start = str.indexOf("AClas"); + int end = start + "AClas".length(); + assertResults( + "AClass[TYPE_REF]{AClass;, test2, Ltest2.AClass;, null, null, ["+start+", "+end+"], " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}", + requestor.getResults()); +} + //https://bugs.eclipse.org/bugs/show_bug.cgi?id=78151 public void testCompletionInsideExtends1() throws JavaModelException { this.wc = getWorkingCopy(