### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: eval/org/eclipse/jdt/internal/eval/EvaluationContext.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/eval/org/eclipse/jdt/internal/eval/EvaluationContext.java,v retrieving revision 1.53 diff -u -r1.53 EvaluationContext.java --- eval/org/eclipse/jdt/internal/eval/EvaluationContext.java 29 Mar 2006 02:57:52 -0000 1.53 +++ eval/org/eclipse/jdt/internal/eval/EvaluationContext.java 4 Sep 2006 08:48:28 -0000 @@ -126,7 +126,7 @@ } }; CompletionEngine engine = new CompletionEngine(environment, mapper.getCompletionRequestor(requestor), options, project); - engine.complete(sourceUnit, mapper.startPosOffset + completionPosition, 0); + engine.complete(sourceUnit, mapper.startPosOffset + completionPosition, mapper.startPosOffset); } /** * Deletes the given variable from this evaluation context. This will take effect in the target VM only Index: eval/org/eclipse/jdt/internal/eval/CodeSnippetToCuMapper.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/eval/org/eclipse/jdt/internal/eval/CodeSnippetToCuMapper.java,v retrieving revision 1.55 diff -u -r1.55 CodeSnippetToCuMapper.java --- eval/org/eclipse/jdt/internal/eval/CodeSnippetToCuMapper.java 3 May 2006 17:08:15 -0000 1.55 +++ eval/org/eclipse/jdt/internal/eval/CodeSnippetToCuMapper.java 4 Sep 2006 08:48:28 -0000 @@ -177,9 +177,6 @@ && CharOperation.equals(selector, "run".toCharArray())) return; //$NON-NLS-1$ break; } - proposal.setReplaceRange( - proposal.getReplaceStart() - CodeSnippetToCuMapper.this.startPosOffset, - proposal.getReplaceEnd() - CodeSnippetToCuMapper.this.startPosOffset); originalRequestor.accept(proposal); } 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.294 diff -u -r1.294 CompletionEngine.java --- codeassist/org/eclipse/jdt/internal/codeassist/CompletionEngine.java 18 Jul 2006 09:09:03 -0000 1.294 +++ codeassist/org/eclipse/jdt/internal/codeassist/CompletionEngine.java 4 Sep 2006 08:48:28 -0000 @@ -1781,7 +1781,7 @@ if(!contextAccepted) { contextAccepted = true; CompletionContext context = new CompletionContext(); - context.setOffset(completionPosition); + context.setOffset(completionPosition - this.offset); context.setTokenKind(CompletionContext.TOKEN_KIND_UNKNOWN); this.requestor.acceptContext(context); } @@ -1827,7 +1827,7 @@ contextAccepted = true; CompletionContext context = new CompletionContext(); context.setTokenKind(CompletionContext.TOKEN_KIND_UNKNOWN); - context.setOffset(completionPosition); + context.setOffset(completionPosition - this.offset); this.requestor.acceptContext(context); } this.requestor.endReporting(); #P org.eclipse.jdt.core.tests.model Index: src/org/eclipse/jdt/core/tests/model/CompletionTests_1_5.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CompletionTests_1_5.java,v retrieving revision 1.69 diff -u -r1.69 CompletionTests_1_5.java --- src/org/eclipse/jdt/core/tests/model/CompletionTests_1_5.java 18 Jul 2006 09:08:48 -0000 1.69 +++ src/org/eclipse/jdt/core/tests/model/CompletionTests_1_5.java 4 Sep 2006 08:48:35 -0000 @@ -13,6 +13,7 @@ import java.util.Hashtable; import org.eclipse.jdt.core.*; +import org.eclipse.jdt.core.eval.IEvaluationContext; import org.eclipse.jdt.internal.codeassist.CompletionEngine; import org.eclipse.jdt.internal.codeassist.RelevanceConstants; @@ -8855,4 +8856,36 @@ "test0.test1[PACKAGE_REF]{test0.test1., test0.test1, null, null, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_RESTRICTED) + "}", requestor.getResults()); } +//https://bugs.eclipse.org/bugs/show_bug.cgi?id=153130 +public void testEC001() throws JavaModelException { + this.workingCopies = new ICompilationUnit[1]; + this.workingCopies[0] = getWorkingCopy( + "/Completion/src/test/Test.java", + "package test;"+ + "public class Test {\n"+ + "}"); + + String start = "new test.Test<"; + IJavaProject javaProject = getJavaProject("Completion"); + IEvaluationContext context = javaProject.newEvaluationContext(); + + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, true, false); + context.codeComplete(start, start.length(), requestor, this.wcOwner); + + int startOffset = start.length(); + int endOffset = startOffset; + + assertResults( + "completion offset="+startOffset+"\n"+ + "completion range=["+startOffset+", "+(endOffset-1)+"]\n"+ + "completion token=\"\"\n"+ + "completion token kind=TOKEN_KIND_NAME\n"+ + "expectedTypesSignatures={Ljava.lang.Object;}\n"+ + "expectedTypesKeys={Ljava/lang/Object;}", + requestor.getContext()); + + assertResults( + "Test[TYPE_REF]{, test, Ltest.Test;, null, null, ["+startOffset+", "+endOffset+"], "+(R_DEFAULT + R_INTERESTING + R_CASE + R_EXACT_NAME + R_EXPECTED_TYPE + R_UNQUALIFIED + R_NON_RESTRICTED)+"}", + requestor.getResults()); +} }