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 57578 Details for
Bug 171771
[assist] JAVADOC_TYPE_REF aren't correctly filtered
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Proposed fix
bug171771_001.txt (text/plain), 16.89 KB, created by
David Audel
on 2007-01-26 05:38:51 EST
(
hide
)
Description:
Proposed fix
Filename:
MIME Type:
Creator:
David Audel
Created:
2007-01-26 05:38:51 EST
Size:
16.89 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.jdt.core.tests.model >Index: src/org/eclipse/jdt/core/tests/model/JavadocTypeCompletionModelTest.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavadocTypeCompletionModelTest.java,v >retrieving revision 1.9 >diff -u -r1.9 JavadocTypeCompletionModelTest.java >--- src/org/eclipse/jdt/core/tests/model/JavadocTypeCompletionModelTest.java 29 Mar 2006 04:03:07 -0000 1.9 >+++ src/org/eclipse/jdt/core/tests/model/JavadocTypeCompletionModelTest.java 26 Jan 2007 10:36:35 -0000 >@@ -14,6 +14,7 @@ > > import junit.framework.Test; > >+import org.eclipse.jdt.core.CompletionProposal; > import org.eclipse.jdt.core.JavaCore; > import org.eclipse.jdt.core.JavaModelException; > import org.eclipse.jdt.internal.compiler.impl.CompilerOptions; >@@ -1030,4 +1031,313 @@ > JavaCore.setOptions(oldOptions); > } > } >+/** >+ * @category Tests for filtered completion >+ */ >+public void test100() throws JavaModelException { >+ String source = >+ "package javadoc.types;\n" + >+ "/**\n" + >+ " * Completion after:\n" + >+ " * bla ZBasi bla\n" + >+ " */\n" + >+ "public class ZBasicTestTypes {}\n"; >+ completeInJavadoc( >+ "/Completion/src/javadoc/types/ZBasicTestTypes.java", >+ source, >+ true, >+ "ZBasi", >+ 1, >+ new int[]{}); >+ assertResults( >+ "ZBasicTestTypes[TYPE_REF]{ZBasicTestTypes, javadoc.types, Ljavadoc.types.ZBasicTestTypes;, null, null, "+this.positions+R_DICUNR+"}\n" + >+ "ZBasicTestTypes[JAVADOC_TYPE_REF]{{@link ZBasicTestTypes}, javadoc.types, Ljavadoc.types.ZBasicTestTypes;, null, null, "+this.positions+R_DICUNRIT+"}" >+ ); >+} >+public void test101() throws JavaModelException { >+ String source = >+ "package javadoc.types;\n" + >+ "/**\n" + >+ " * Completion after:\n" + >+ " * bla ZBasi bla\n" + >+ " */\n" + >+ "public class ZBasicTestTypes {}\n"; >+ completeInJavadoc( >+ "/Completion/src/javadoc/types/ZBasicTestTypes.java", >+ source, >+ true, >+ "ZBasi", >+ 1, >+ new int[]{CompletionProposal.JAVADOC_TYPE_REF}); >+ assertResults( >+ "ZBasicTestTypes[TYPE_REF]{ZBasicTestTypes, javadoc.types, Ljavadoc.types.ZBasicTestTypes;, null, null, "+this.positions+R_DICUNR+"}" >+ ); >+} >+public void test102() throws JavaModelException { >+ String source = >+ "package javadoc.types;\n" + >+ "/**\n" + >+ " * Completion after:\n" + >+ " * bla ZBasi bla\n" + >+ " */\n" + >+ "public class ZBasicTestTypes {}\n"; >+ completeInJavadoc( >+ "/Completion/src/javadoc/types/ZBasicTestTypes.java", >+ source, >+ true, >+ "ZBasi", >+ 1, >+ new int[]{CompletionProposal.TYPE_REF}); >+ assertResults( >+ "ZBasicTestTypes[JAVADOC_TYPE_REF]{{@link ZBasicTestTypes}, javadoc.types, Ljavadoc.types.ZBasicTestTypes;, null, null, "+this.positions+R_DICUNRIT+"}" >+ ); >+} >+public void test103() throws JavaModelException { >+ String source = >+ "package javadoc.types;\n" + >+ "/**\n" + >+ " * Completion after:\n" + >+ " * bla ZBasicTestTypes#fo bla\n" + >+ " */\n" + >+ "public class ZBasicTestTypes {\n" + >+ " public void foo() {}\n" + >+ "}\n"; >+ completeInJavadoc( >+ "/Completion/src/javadoc/types/ZBasicTestTypes.java", >+ source, >+ true, >+ "ZBasicTestTypes#fo", >+ 1, >+ new int[]{}); >+ assertResults( >+ "foo[JAVADOC_METHOD_REF]{{@link ZBasicTestTypes#foo()}, Ljavadoc.types.ZBasicTestTypes;, ()V, foo, null, "+this.positions+R_DICNRNSIT+"}" >+ ); >+} >+public void test104() throws JavaModelException { >+ String source = >+ "package javadoc.types;\n" + >+ "/**\n" + >+ " * Completion after:\n" + >+ " * bla ZBasicTestTypes#fo bla\n" + >+ " */\n" + >+ "public class ZBasicTestTypes {\n" + >+ " public void foo() {}\n" + >+ "}\n"; >+ completeInJavadoc( >+ "/Completion/src/javadoc/types/ZBasicTestTypes.java", >+ source, >+ true, >+ "ZBasicTestTypes#fo", >+ 1, >+ new int[]{CompletionProposal.JAVADOC_METHOD_REF}); >+ assertResults( >+ "" >+ ); >+} >+public void test105() throws JavaModelException { >+ String source = >+ "package javadoc.types;\n" + >+ "/**\n" + >+ " * Completion after:\n" + >+ " * bla ZBasicTestTypes#fo bla\n" + >+ " */\n" + >+ "public class ZBasicTestTypes {\n" + >+ " public void foo() {}\n" + >+ "}\n"; >+ completeInJavadoc( >+ "/Completion/src/javadoc/types/ZBasicTestTypes.java", >+ source, >+ true, >+ "ZBasicTestTypes#fo", >+ 1, >+ new int[]{CompletionProposal.METHOD_REF}); >+ assertResults( >+ "foo[JAVADOC_METHOD_REF]{{@link ZBasicTestTypes#foo()}, Ljavadoc.types.ZBasicTestTypes;, ()V, foo, null, "+this.positions+R_DICNRNSIT+"}" >+ ); >+} >+public void test106() throws JavaModelException { >+ String source = >+ "package javadoc.types;\n" + >+ "/**\n" + >+ " * Completion after:\n" + >+ " * bla ZBasicTestTypes#fo bla\n" + >+ " */\n" + >+ "public class ZBasicTestTypes {\n" + >+ " public int foo;\n" + >+ "}\n"; >+ completeInJavadoc( >+ "/Completion/src/javadoc/types/ZBasicTestTypes.java", >+ source, >+ true, >+ "ZBasicTestTypes#fo", >+ 1, >+ new int[]{}); >+ assertResults( >+ "foo[JAVADOC_FIELD_REF]{{@link ZBasicTestTypes#foo}, Ljavadoc.types.ZBasicTestTypes;, I, foo, null, "+this.positions+R_DICNRNSIT+"}" >+ ); >+} >+public void test107() throws JavaModelException { >+ String source = >+ "package javadoc.types;\n" + >+ "/**\n" + >+ " * Completion after:\n" + >+ " * bla ZBasicTestTypes#fo bla\n" + >+ " */\n" + >+ "public class ZBasicTestTypes {\n" + >+ " public int foo;\n" + >+ "}\n"; >+ completeInJavadoc( >+ "/Completion/src/javadoc/types/ZBasicTestTypes.java", >+ source, >+ true, >+ "ZBasicTestTypes#fo", >+ 1, >+ new int[]{CompletionProposal.JAVADOC_FIELD_REF}); >+ assertResults( >+ "" >+ ); >+} >+public void test108() throws JavaModelException { >+ String source = >+ "package javadoc.types;\n" + >+ "/**\n" + >+ " * Completion after:\n" + >+ " * bla ZBasicTestTypes#fo bla\n" + >+ " */\n" + >+ "public class ZBasicTestTypes {\n" + >+ " public int foo;\n" + >+ "}\n"; >+ completeInJavadoc( >+ "/Completion/src/javadoc/types/ZBasicTestTypes.java", >+ source, >+ true, >+ "ZBasicTestTypes#fo", >+ 1, >+ new int[]{CompletionProposal.FIELD_REF}); >+ assertResults( >+ "foo[JAVADOC_FIELD_REF]{{@link ZBasicTestTypes#foo}, Ljavadoc.types.ZBasicTestTypes;, I, foo, null, "+this.positions+R_DICNRNSIT+"}" >+ ); >+} >+public void test109() throws JavaModelException { >+ String source = >+ "package javadoc.types;\n" + >+ "/**\n" + >+ " * Completion after:\n" + >+ " * bla javadoc.types.ZBasi bla\n" + >+ " */\n" + >+ "public class ZBasicTestTypes {}\n"; >+ completeInJavadoc( >+ "/Completion/src/javadoc/types/ZBasicTestTypes.java", >+ source, >+ true, >+ "javadoc.types.ZBasi", >+ 1, >+ new int[]{}); >+ assertResults( >+ "ZBasicTestTypes[TYPE_REF]{ZBasicTestTypes, javadoc.types, Ljavadoc.types.ZBasicTestTypes;, null, null, "+this.positions+R_DICNR+"}\n" + >+ "ZBasicTestTypes[JAVADOC_TYPE_REF]{{@link ZBasicTestTypes}, javadoc.types, Ljavadoc.types.ZBasicTestTypes;, null, null, "+this.positions+R_DICNRIT+"}" >+ ); >+} >+public void test110() throws JavaModelException { >+ String source = >+ "package javadoc.types;\n" + >+ "/**\n" + >+ " * Completion after:\n" + >+ " * bla javadoc.types.ZBasi bla\n" + >+ " */\n" + >+ "public class ZBasicTestTypes {}\n"; >+ completeInJavadoc( >+ "/Completion/src/javadoc/types/ZBasicTestTypes.java", >+ source, >+ true, >+ "javadoc.types.ZBasi", >+ 1, >+ new int[]{CompletionProposal.JAVADOC_TYPE_REF}); >+ assertResults( >+ "ZBasicTestTypes[TYPE_REF]{ZBasicTestTypes, javadoc.types, Ljavadoc.types.ZBasicTestTypes;, null, null, "+this.positions+R_DICNR+"}" >+ ); >+} >+public void test111() throws JavaModelException { >+ String source = >+ "package javadoc.types;\n" + >+ "/**\n" + >+ " * Completion after:\n" + >+ " * bla javadoc.types.ZBasi bla\n" + >+ " */\n" + >+ "public class ZBasicTestTypes {}\n"; >+ completeInJavadoc( >+ "/Completion/src/javadoc/types/ZBasicTestTypes.java", >+ source, >+ true, >+ "javadoc.types.ZBasi", >+ 1, >+ new int[]{CompletionProposal.TYPE_REF}); >+ assertResults( >+ "ZBasicTestTypes[JAVADOC_TYPE_REF]{{@link ZBasicTestTypes}, javadoc.types, Ljavadoc.types.ZBasicTestTypes;, null, null, "+this.positions+R_DICNRIT+"}" >+ ); >+} >+public void test112() throws JavaModelException { >+ String source = >+ "package javadoc.types;\n" + >+ "/**\n" + >+ " * Completion after:\n" + >+ " * bla javadoc.types.ZBasicTestTypes.Inn bla\n" + >+ " */\n" + >+ "public class ZBasicTestTypes {\n" + >+ " public class Inner {}\n" + >+ "}\n"; >+ completeInJavadoc( >+ "/Completion/src/javadoc/types/ZBasicTestTypes.java", >+ source, >+ true, >+ "javadoc.types.ZBasicTestTypes.Inn", >+ 1, >+ new int[]{}); >+ assertResults( >+ "ZBasicTestTypes.Inner[TYPE_REF]{Inner, javadoc.types, Ljavadoc.types.ZBasicTestTypes$Inner;, null, null, "+this.positions+R_DICNR+"}\n" + >+ "ZBasicTestTypes.Inner[JAVADOC_TYPE_REF]{{@link Inner}, javadoc.types, Ljavadoc.types.ZBasicTestTypes$Inner;, null, null, "+this.positions+R_DICNRIT+"}" >+ ); >+} >+public void test113() throws JavaModelException { >+ String source = >+ "package javadoc.types;\n" + >+ "/**\n" + >+ " * Completion after:\n" + >+ " * bla javadoc.types.ZBasicTestTypes.Inn bla\n" + >+ " */\n" + >+ "public class ZBasicTestTypes {\n" + >+ " public class Inner {}\n" + >+ "}\n"; >+ completeInJavadoc( >+ "/Completion/src/javadoc/types/ZBasicTestTypes.java", >+ source, >+ true, >+ "javadoc.types.ZBasicTestTypes.Inn", >+ 1, >+ new int[]{CompletionProposal.JAVADOC_TYPE_REF}); >+ assertResults( >+ "ZBasicTestTypes.Inner[TYPE_REF]{Inner, javadoc.types, Ljavadoc.types.ZBasicTestTypes$Inner;, null, null, "+this.positions+R_DICNR+"}" >+ ); >+} >+public void test114() throws JavaModelException { >+ String source = >+ "package javadoc.types;\n" + >+ "/**\n" + >+ " * Completion after:\n" + >+ " * bla javadoc.types.ZBasicTestTypes.Inn bla\n" + >+ " */\n" + >+ "public class ZBasicTestTypes {\n" + >+ " public class Inner {}\n" + >+ "}\n"; >+ completeInJavadoc( >+ "/Completion/src/javadoc/types/ZBasicTestTypes.java", >+ source, >+ true, >+ "javadoc.types.ZBasicTestTypes.Inn", >+ 1, >+ new int[]{CompletionProposal.TYPE_REF}); >+ assertResults( >+ "ZBasicTestTypes.Inner[JAVADOC_TYPE_REF]{{@link Inner}, javadoc.types, Ljavadoc.types.ZBasicTestTypes$Inner;, null, null, "+this.positions+R_DICNRIT+"}" >+ ); >+} > } >Index: src/org/eclipse/jdt/core/tests/model/AbstractJavadocCompletionModelTest.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/AbstractJavadocCompletionModelTest.java,v >retrieving revision 1.11 >diff -u -r1.11 AbstractJavadocCompletionModelTest.java >--- src/org/eclipse/jdt/core/tests/model/AbstractJavadocCompletionModelTest.java 19 Jan 2007 17:06:24 -0000 1.11 >+++ src/org/eclipse/jdt/core/tests/model/AbstractJavadocCompletionModelTest.java 26 Jan 2007 10:36:35 -0000 >@@ -281,14 +281,21 @@ > } > > protected void completeInJavadoc(String path, String source, boolean showPositions, String completeBehind, int occurencePosition) throws JavaModelException { >- completeInJavadoc(new String[] { path, source }, showPositions, completeBehind, occurencePosition); >+ completeInJavadoc(new String[] { path, source }, showPositions, completeBehind, occurencePosition, null); > } > >+ protected void completeInJavadoc(String path, String source, boolean showPositions, String completeBehind, int occurencePosition, int[] ignoreList) throws JavaModelException { >+ completeInJavadoc(new String[] { path, source }, showPositions, completeBehind, occurencePosition, ignoreList); >+ } > protected void completeInJavadoc(String[] sources, boolean showPositions, String completeBehind) throws JavaModelException { >- completeInJavadoc(sources, showPositions, completeBehind, 1); >+ completeInJavadoc(sources, showPositions, completeBehind, 1, null); > } >- >+ > protected void completeInJavadoc(String[] sources, boolean showPositions, String completeBehind, int occurencePosition) throws JavaModelException { >+ completeInJavadoc(sources, showPositions, completeBehind, occurencePosition, null); >+ } >+ >+ protected void completeInJavadoc(String[] sources, boolean showPositions, String completeBehind, int occurencePosition, int[] ignoreList) throws JavaModelException { > assertNotNull("We should have sources!!!", sources); > assertTrue("Invalid number of sources!!!", sources.length%2==0); > >@@ -305,6 +312,11 @@ > > // Complete > this.requestor = new CompletionTestsRequestor2(true, false, showPositions); >+ if (ignoreList != null) { >+ for (int i = 0; i < ignoreList.length; i++) { >+ this.requestor.setIgnored(ignoreList[i], true); >+ } >+ } > String source = this.workingCopies[0].getSource(); > this.replacedText = completeBehind; > this.completionStart = -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.315 >diff -u -r1.315 CompletionEngine.java >--- codeassist/org/eclipse/jdt/internal/codeassist/CompletionEngine.java 19 Jan 2007 17:06:30 -0000 1.315 >+++ codeassist/org/eclipse/jdt/internal/codeassist/CompletionEngine.java 26 Jan 2007 10:36:39 -0000 >@@ -1510,7 +1510,8 @@ > > // get the source positions of the completion identifier > if (qualifiedBinding instanceof ReferenceBinding && !(qualifiedBinding instanceof TypeVariableBinding)) { >- if (!this.requestor.isIgnored(CompletionProposal.JAVADOC_TYPE_REF)) { >+ if (!this.requestor.isIgnored(CompletionProposal.TYPE_REF) || >+ !this.requestor.isIgnored(CompletionProposal.JAVADOC_TYPE_REF)) { > int rangeStart = typeRef.completeInText() ? typeRef.sourceStart : (int) (completionPosition >>> 32); > setSourceRange(rangeStart, (int) completionPosition); > findMemberTypes(this.completionToken, >@@ -4260,9 +4261,7 @@ > } > > this.noProposal = false; >- if(!this.requestor.isIgnored(CompletionProposal.TYPE_REF)) { >- createTypeProposal(memberType, memberType.qualifiedSourceName(), IAccessRule.K_ACCESSIBLE, completionName, relevance); >- } >+ createTypeProposal(memberType, memberType.qualifiedSourceName(), IAccessRule.K_ACCESSIBLE, completionName, relevance); > } > } > >@@ -6321,7 +6320,9 @@ > skip = true; > } > >- boolean proposeType = !this.requestor.isIgnored(CompletionProposal.TYPE_REF); >+ boolean proposeType = >+ !this.requestor.isIgnored(CompletionProposal.TYPE_REF) || >+ !this.requestor.isIgnored(CompletionProposal.JAVADOC_TYPE_REF); > > boolean proposeAllMemberTypes = !this.assistNodeIsConstructor; > >@@ -6398,7 +6399,7 @@ > relevance += computeRelevanceForException(sourceType.sourceName); > } > this.noProposal = false; >- if(!this.requestor.isIgnored(CompletionProposal.TYPE_REF)) { >+ if(proposeType) { > char[] typeName = sourceType.sourceName(); > createTypeProposal(sourceType, typeName, IAccessRule.K_ACCESSIBLE, typeName, relevance); > } >@@ -6563,7 +6564,9 @@ > PackageBinding packageBinding, > Scope scope) { > >- boolean proposeType = !this.requestor.isIgnored(CompletionProposal.TYPE_REF); >+ boolean proposeType = >+ !this.requestor.isIgnored(CompletionProposal.TYPE_REF) || >+ !this.requestor.isIgnored(CompletionProposal.JAVADOC_TYPE_REF); > > char[] qualifiedName = > CharOperation.concatWith(packageBinding.compoundName, token, '.'); >@@ -6642,7 +6645,7 @@ > relevance += computeRelevanceForException(sourceType.sourceName); > } > this.noProposal = false; >- if(!this.requestor.isIgnored(CompletionProposal.TYPE_REF)) { >+ if(proposeType) { > char[] typeName = sourceType.sourceName(); > createTypeProposal(sourceType, typeName, IAccessRule.K_ACCESSIBLE, typeName, relevance); > } >Index: model/org/eclipse/jdt/core/CompletionProposal.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/core/CompletionProposal.java,v >retrieving revision 1.37 >diff -u -r1.37 CompletionProposal.java >--- model/org/eclipse/jdt/core/CompletionProposal.java 12 Jan 2007 17:58:48 -0000 1.37 >+++ model/org/eclipse/jdt/core/CompletionProposal.java 26 Jan 2007 10:36:40 -0000 >@@ -446,7 +446,7 @@ > /** > * Completion is a link reference to a method in a javadoc text. > * This kind of completion might occur in a context like >- * <code>" * blabla Runtime.get^ blabla"</code> and complete it to >+ * <code>" * blabla Runtime#get^ blabla"</code> and complete it to > * <code>" * blabla {@link Runtime#getRuntime() }"</code>. > * <p> > * The following additional context information is available
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 171771
: 57578