Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 54161 Details for
Bug 154993
org.eclipse.jdt.ui.JavaNoTypeCompletionProposalComputer throws a runtime exception when using content assist on 'this.' in annontations
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Proposed fix
bug154993_001.txt (text/plain), 5.73 KB, created by
David Audel
on 2006-11-20 05:52:10 EST
(
hide
)
Description:
Proposed fix
Filename:
MIME Type:
Creator:
David Audel
Created:
2006-11-20 05:52:10 EST
Size:
5.73 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#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.76 >diff -u -r1.76 CompletionTests_1_5.java >--- src/org/eclipse/jdt/core/tests/model/CompletionTests_1_5.java 16 Nov 2006 12:18:19 -0000 1.76 >+++ src/org/eclipse/jdt/core/tests/model/CompletionTests_1_5.java 20 Nov 2006 10:45:28 -0000 >@@ -9308,6 +9308,35 @@ > "compareTo[METHOD_REF]{compareTo(), Ltest.ComparableTest<!*>;, (!*)I, compareTo, (t), " + (R_DEFAULT + R_INTERESTING + R_CASE + R_NON_STATIC + R_NON_RESTRICTED) + "}", > requestor.getResults()); > } >+//https://bugs.eclipse.org/bugs/show_bug.cgi?id=154993 >+public void test0297() throws JavaModelException { >+ this.workingCopies = new ICompilationUnit[2]; >+ this.workingCopies[0] = getWorkingCopy( >+ "/Completion/src3/test/Test.java", >+ "package test;\n" + >+ "public class Test {\n" + >+ " String description = \"Some description\";\n" + >+ " @Description(this.description)\n" + >+ " public void method() {\n" + >+ " }"); >+ >+ this.workingCopies[1] = getWorkingCopy( >+ "/Completion/src3/test/Description.java", >+ "package test;\n" + >+ "public @interface Description {\n" + >+ " String value();\n" + >+ "}"); >+ >+ CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); >+ String str = this.workingCopies[0].getSource(); >+ String completeBehind = "this."; >+ int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); >+ this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); >+ >+ assertResults( >+ "", >+ requestor.getResults()); >+} > //https://bugs.eclipse.org/bugs/show_bug.cgi?id=153130 > public void testEC001() throws JavaModelException { > this.workingCopies = new ICompilationUnit[1]; >#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.309 >diff -u -r1.309 CompletionEngine.java >--- codeassist/org/eclipse/jdt/internal/codeassist/CompletionEngine.java 16 Nov 2006 12:18:15 -0000 1.309 >+++ codeassist/org/eclipse/jdt/internal/codeassist/CompletionEngine.java 20 Nov 2006 10:45:31 -0000 >@@ -1147,22 +1147,24 @@ > insideTypeAnnotation); > } > } else { >- if (!this.requestor.isIgnored(CompletionProposal.KEYWORD)) { >- findKeywords(this.completionToken, new char[][]{Keywords.NEW}, false, false); >+ if (!access.isInsideAnnotation) { >+ if (!this.requestor.isIgnored(CompletionProposal.KEYWORD)) { >+ findKeywords(this.completionToken, new char[][]{Keywords.NEW}, false, false); >+ } >+ >+ findFieldsAndMethods( >+ this.completionToken, >+ ((TypeBinding) qualifiedBinding).capture(scope, access.receiver.sourceEnd), >+ scope, >+ access, >+ scope, >+ false, >+ access.receiver instanceof SuperReference, >+ null, >+ null, >+ null, >+ false); > } >- >- findFieldsAndMethods( >- this.completionToken, >- ((TypeBinding) qualifiedBinding).capture(scope, access.receiver.sourceEnd), >- scope, >- access, >- scope, >- false, >- access.receiver instanceof SuperReference, >- null, >- null, >- null, >- false); > } > > } else if (astNode instanceof CompletionOnMessageSend) { >Index: codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionOnMemberAccess.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionOnMemberAccess.java,v >retrieving revision 1.22 >diff -u -r1.22 CompletionOnMemberAccess.java >--- codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionOnMemberAccess.java 12 Oct 2006 09:21:42 -0000 1.22 >+++ codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionOnMemberAccess.java 20 Nov 2006 10:45:31 -0000 >@@ -37,9 +37,12 @@ > > public class CompletionOnMemberAccess extends FieldReference { > >- public CompletionOnMemberAccess(char[] source, long pos) { >+ public boolean isInsideAnnotation; >+ >+ public CompletionOnMemberAccess(char[] source, long pos, boolean isInsideAnnotation) { > > super(source, pos); >+ this.isInsideAnnotation = isInsideAnnotation; > } > > public StringBuffer printExpression(int indent, StringBuffer output) { >Index: codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java,v >retrieving revision 1.165 >diff -u -r1.165 CompletionParser.java >--- codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java 19 Nov 2006 19:47:54 -0000 1.165 >+++ codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java 20 Nov 2006 10:45:32 -0000 >@@ -3705,7 +3705,7 @@ > private void pushCompletionOnMemberAccessOnExpressionStack(boolean isSuperAccess) { > char[] source = identifierStack[identifierPtr]; > long pos = identifierPositionStack[identifierPtr--]; >- CompletionOnMemberAccess fr = new CompletionOnMemberAccess(source, pos); >+ CompletionOnMemberAccess fr = new CompletionOnMemberAccess(source, pos, isInsideAnnotation()); > this.assistNode = fr; > this.lastCheckPoint = fr.sourceEnd + 1; > identifierLengthPtr--;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 154993
: 54161 |
54165