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 20583 Details for
Bug 90612
Forbidden types must not be available in Code Assist
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
patch
patch.txt (text/plain), 14.32 KB, created by
David Audel
on 2005-05-02 06:31:54 EDT
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
David Audel
Created:
2005-05-02 06:31:54 EDT
Size:
14.32 KB
patch
obsolete
>Index: codeassist/org/eclipse/jdt/internal/codeassist/CompletionEngine.java >=================================================================== >RCS file: /home/eclipse/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/CompletionEngine.java,v >retrieving revision 1.228 >diff -u -r1.228 CompletionEngine.java >--- codeassist/org/eclipse/jdt/internal/codeassist/CompletionEngine.java 28 Apr 2005 14:15:39 -0000 1.228 >+++ codeassist/org/eclipse/jdt/internal/codeassist/CompletionEngine.java 2 May 2005 10:30:34 -0000 >@@ -26,6 +26,7 @@ > import org.eclipse.jdt.core.compiler.IProblem; > > import org.eclipse.jdt.internal.codeassist.complete.*; >+import org.eclipse.jdt.internal.codeassist.impl.AssistOptions; > import org.eclipse.jdt.internal.codeassist.impl.AssistParser; > import org.eclipse.jdt.internal.codeassist.impl.Engine; > import org.eclipse.jdt.internal.codeassist.impl.Keywords; >@@ -276,11 +277,25 @@ > if(accessRestriction != null) { > switch (accessRestriction.getProblemId()) { > case IProblem.ForbiddenReference: >- if(this.options.checkForbiddenReference) return; >+ switch (this.options.restrictedReferenceFilter) { >+ case AssistOptions.FILTER_WARNING: >+ return; >+ case AssistOptions.FILTER_ERROR: >+ if(this.forbiddenReferenceIsError) return; >+ break; >+ >+ } > accessibility = IAccessRule.K_NON_ACCESSIBLE; > break; > case IProblem.DiscouragedReference: >- if(this.options.checkDiscouragedReference) return; >+ switch (this.options.restrictedReferenceFilter) { >+ case AssistOptions.FILTER_WARNING: >+ return; >+ case AssistOptions.FILTER_ERROR: >+ if(this.discouragedReferenceIsError) return; >+ break; >+ >+ } > accessibility = IAccessRule.K_DISCOURAGED; > break; > } >@@ -3755,11 +3770,25 @@ > if(accessRestriction != null) { > switch (accessRestriction.getProblemId()) { > case IProblem.ForbiddenReference: >- if(this.options.checkForbiddenReference) return; >+ switch (this.options.restrictedReferenceFilter) { >+ case AssistOptions.FILTER_WARNING: >+ return; >+ case AssistOptions.FILTER_ERROR: >+ if(this.forbiddenReferenceIsError) return; >+ break; >+ >+ } > accessibility = IAccessRule.K_NON_ACCESSIBLE; > break; > case IProblem.DiscouragedReference: >- if(this.options.checkDiscouragedReference) return; >+ switch (this.options.restrictedReferenceFilter) { >+ case AssistOptions.FILTER_WARNING: >+ return; >+ case AssistOptions.FILTER_ERROR: >+ if(this.discouragedReferenceIsError) return; >+ break; >+ >+ } > accessibility = IAccessRule.K_DISCOURAGED; > break; > } >@@ -3877,11 +3906,25 @@ > if(accessRestriction != null) { > switch (accessRestriction.getProblemId()) { > case IProblem.ForbiddenReference: >- if(this.options.checkForbiddenReference) return; >+ switch (this.options.restrictedReferenceFilter) { >+ case AssistOptions.FILTER_WARNING: >+ return; >+ case AssistOptions.FILTER_ERROR: >+ if(this.forbiddenReferenceIsError) return; >+ break; >+ >+ } > accessibility = IAccessRule.K_NON_ACCESSIBLE; > break; > case IProblem.DiscouragedReference: >- if(this.options.checkDiscouragedReference) return; >+ switch (this.options.restrictedReferenceFilter) { >+ case AssistOptions.FILTER_WARNING: >+ return; >+ case AssistOptions.FILTER_ERROR: >+ if(this.discouragedReferenceIsError) return; >+ break; >+ >+ } > accessibility = IAccessRule.K_DISCOURAGED; > break; > } >Index: codeassist/org/eclipse/jdt/internal/codeassist/impl/AssistOptions.java >=================================================================== >RCS file: /home/eclipse/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/impl/AssistOptions.java,v >retrieving revision 1.17 >diff -u -r1.17 AssistOptions.java >--- codeassist/org/eclipse/jdt/internal/codeassist/impl/AssistOptions.java 22 Mar 2005 16:16:21 -0000 1.17 >+++ codeassist/org/eclipse/jdt/internal/codeassist/impl/AssistOptions.java 2 May 2005 10:30:34 -0000 >@@ -38,17 +38,21 @@ > "org.eclipse.jdt.core.codeComplete.localSuffixes"; //$NON-NLS-1$ > public static final String OPTION_ArgumentSuffixes = > "org.eclipse.jdt.core.codeComplete.argumentSuffixes"; //$NON-NLS-1$ >- public static final String OPTION_PerformForbiddenReferenceCheck = >+ public static final String OPTION_HideRestrictedReferences = > "org.eclipse.jdt.core.codeComplete.restrictionsCheck"; //$NON-NLS-1$ >- public static final String OPTION_PerformDiscouragedReferenceCheck = >- "org.eclipse.jdt.core.codeComplete.discouragedReferenceCheck"; //$NON-NLS-1$ > > public static final String ENABLED = "enabled"; //$NON-NLS-1$ > public static final String DISABLED = "disabled"; //$NON-NLS-1$ >+ public static final String ERROR = "error"; //$NON-NLS-1$ >+ public static final String WARNING = "warning"; //$NON-NLS-1$ >+ public static final String NEVER = "never"; //$NON-NLS-1$ > >+ public static final int FILTER_NEVER = 0; >+ public static final int FILTER_ERROR = 1; >+ public static final int FILTER_WARNING = 2; >+ > public boolean checkVisibility = false; >- public boolean checkForbiddenReference = false; >- public boolean checkDiscouragedReference = false; >+ public int restrictedReferenceFilter; > public boolean forceImplicitQualification = false; > public char[][] fieldPrefixes = null; > public char[][] staticFieldPrefixes = null; >@@ -172,18 +176,13 @@ > } > } > } >- if ((optionValue = optionsMap.get(OPTION_PerformForbiddenReferenceCheck)) != null) { >- if (ENABLED.equals(optionValue)) { >- this.checkForbiddenReference = true; >- } else if (DISABLED.equals(optionValue)) { >- this.checkForbiddenReference = false; >- } >- } >- if ((optionValue = optionsMap.get(OPTION_PerformDiscouragedReferenceCheck)) != null) { >- if (ENABLED.equals(optionValue)) { >- this.checkDiscouragedReference = true; >- } else if (DISABLED.equals(optionValue)) { >- this.checkDiscouragedReference = false; >+ if ((optionValue = optionsMap.get(OPTION_HideRestrictedReferences)) != null) { >+ if (NEVER.equals(optionValue)) { >+ this.restrictedReferenceFilter = FILTER_NEVER; >+ } else if (ERROR.equals(optionValue)) { >+ this.restrictedReferenceFilter = FILTER_ERROR; >+ } else if (WARNING.equals(optionValue)) { >+ this.restrictedReferenceFilter = FILTER_WARNING; > } > } > } >Index: codeassist/org/eclipse/jdt/internal/codeassist/impl/Engine.java >=================================================================== >RCS file: /home/eclipse/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/impl/Engine.java,v >retrieving revision 1.43 >diff -u -r1.43 Engine.java >--- codeassist/org/eclipse/jdt/internal/codeassist/impl/Engine.java 23 Feb 2005 02:47:58 -0000 1.43 >+++ codeassist/org/eclipse/jdt/internal/codeassist/impl/Engine.java 2 May 2005 10:30:34 -0000 >@@ -19,6 +19,7 @@ > import org.eclipse.jdt.internal.compiler.ast.*; > import org.eclipse.jdt.internal.compiler.lookup.*; > import org.eclipse.jdt.internal.compiler.parser.*; >+import org.eclipse.jdt.internal.compiler.problem.ProblemSeverities; > import org.eclipse.jdt.internal.compiler.impl.*; > import org.eclipse.jdt.internal.core.SearchableEnvironment; > >@@ -31,10 +32,16 @@ > > public AssistOptions options; > public CompilerOptions compilerOptions; >+ public boolean forbiddenReferenceIsError; >+ public boolean discouragedReferenceIsError; > > public Engine(Map settings){ > this.options = new AssistOptions(settings); > this.compilerOptions = new CompilerOptions(settings); >+ this.forbiddenReferenceIsError = >+ this.compilerOptions.getSeverity(CompilerOptions.ForbiddenReference) == ProblemSeverities.Error; >+ this.discouragedReferenceIsError = >+ this.compilerOptions.getSeverity(CompilerOptions.DiscouragedReference) == ProblemSeverities.Error; > } > > /** >Index: model/org/eclipse/jdt/core/JavaCore.java >=================================================================== >RCS file: /home/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java,v >retrieving revision 1.458 >diff -u -r1.458 JavaCore.java >--- model/org/eclipse/jdt/core/JavaCore.java 27 Apr 2005 21:06:37 -0000 1.458 >+++ model/org/eclipse/jdt/core/JavaCore.java 2 May 2005 10:30:38 -0000 >@@ -816,14 +816,7 @@ > * @see #getDefaultOptions() > * @since 3.1 > */ >- public static final String CODEASSIST_FORBIDDEN_REFERENCE_CHECK = PLUGIN_ID + ".codeComplete.restrictionsCheck"; //$NON-NLS-1$ >- /** >- * Possible configurable option ID. >- * @see #getDefaultOptions() >- * @since 3.1 >- */ >- public static final String CODEASSIST_DISCOURAGED_REFERENCE_CHECK = PLUGIN_ID + ".codeComplete.discouragedReferenceCheck"; //$NON-NLS-1$ >- >+ public static final String CODEASSIST_HIDE_RESTRICTED_REFERENCES= PLUGIN_ID + ".codeComplete.restrictionsCheck"; //$NON-NLS-1$ > // *************** Possible values for configurable options. ******************** > > /** >@@ -990,6 +983,12 @@ > * @since 3.0 > */ > public static final String PRIVATE = "private"; //$NON-NLS-1$ >+ /** >+ * Possible configurable option value. >+ * @see #getDefaultOptions() >+ * @since 3.1 >+ */ >+ public static final String NEVER = "never"; //$NON-NLS-1$ > > /* > * Cache for options. >@@ -2273,24 +2272,29 @@ > * - possible values: { "<suffix>[,<suffix>]*" } where <suffix> is a String without any wild-card > * - default: "" > * >- * CODEASSIST / Activate Forbidden Reference Sensitive Completion >- * When active, completion doesn't show that have forbidden reference. >+ * CODEASSIST / Hide Proposals for Restricted Completions >+ * When value is "never", never hide proposals for restricted completions. >+ * When value is "error", hide proposals for restricted completions if insertion of these completions would create a compile error. >+ * When value is "warning", hide proposals for restricted completions if insertion of these completions would create a compile error or warning. >+ * To configure the severity of restrictions, "org.eclipse.jdt.core.compiler.problem.forbiddenReference" >+ * option must be used for forbidden reference and "org.eclipse.jdt.core.compiler.problem.discouragedReference" >+ * option must be used for discouraged reference. > * - option id: "org.eclipse.jdt.core.codeComplete.restrictionsCheck" >- * - possible values: { "enabled", "disabled" } >- * - default: "disabled" >- * >- * CODEASSIST / Activate Discouraged Reference Sensitive Completion >- * When active, completion doesn't show that have discouraged reference. >- * - option id: "org.eclipse.jdt.core.codeComplete.discouragedReferenceCheck" >- * - possible values: { "enabled", "disabled" } >- * - default: "disabled" >- * >+ * - possible values: { "never", "error", "warning" } >+ * - default: "error" > * </pre> > * > * @return a mutable table containing the default settings of all known options > * (key type: <code>String</code>; value type: <code>String</code>) > * @see #setOptions(Hashtable) > */ >+ >+ /* COMPILER / Reporting Forbidden Reference to Type with Restricted Access >+ * When enabled, the compiler will issue an error or a warning when referring to a type that is non accessible, as defined according >+ * to the access rule specifications. >+ * - option id: "org.eclipse.jdt.core.compiler.problem.forbiddenReference" >+ * - possible values: { "error", "warning", "ignore" } >+ * - default: "warning"*/ > public static Hashtable getDefaultOptions(){ > > Hashtable defaultOptions = new Hashtable(10); >Index: model/org/eclipse/jdt/internal/core/JavaCorePreferenceInitializer.java >=================================================================== >RCS file: /home/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaCorePreferenceInitializer.java,v >retrieving revision 1.11 >diff -u -r1.11 JavaCorePreferenceInitializer.java >--- model/org/eclipse/jdt/internal/core/JavaCorePreferenceInitializer.java 7 Apr 2005 21:41:06 -0000 1.11 >+++ model/org/eclipse/jdt/internal/core/JavaCorePreferenceInitializer.java 2 May 2005 10:30:38 -0000 >@@ -83,9 +83,8 @@ > defaultOptionsMap.put(JavaCore.CODEASSIST_STATIC_FIELD_SUFFIXES, ""); //$NON-NLS-1$ > defaultOptionsMap.put(JavaCore.CODEASSIST_LOCAL_SUFFIXES, ""); //$NON-NLS-1$ > defaultOptionsMap.put(JavaCore.CODEASSIST_ARGUMENT_SUFFIXES, ""); //$NON-NLS-1$ >- defaultOptionsMap.put(JavaCore.CODEASSIST_FORBIDDEN_REFERENCE_CHECK, JavaCore.DISABLED); //$NON-NLS-1$ >- defaultOptionsMap.put(JavaCore.CODEASSIST_DISCOURAGED_REFERENCE_CHECK, JavaCore.DISABLED); //$NON-NLS-1$ >- >+ defaultOptionsMap.put(JavaCore.CODEASSIST_HIDE_RESTRICTED_REFERENCES, JavaCore.ERROR); //$NON-NLS-1$ >+ > // Store default values to default preferences > IEclipsePreferences defaultPreferences = new DefaultScope().getNode(JavaCore.PLUGIN_ID); > for (Iterator iter = defaultOptionsMap.entrySet().iterator(); iter.hasNext();) { >Index: model/org/eclipse/jdt/internal/core/SearchableEnvironment.java >=================================================================== >RCS file: /home/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/SearchableEnvironment.java,v >retrieving revision 1.58 >diff -u -r1.58 SearchableEnvironment.java >--- model/org/eclipse/jdt/internal/core/SearchableEnvironment.java 25 Mar 2005 18:39:49 -0000 1.58 >+++ model/org/eclipse/jdt/internal/core/SearchableEnvironment.java 2 May 2005 10:30:39 -0000 >@@ -271,8 +271,9 @@ > public void acceptType(int modifiers, char[] packageName, char[] simpleTypeName, char[][] enclosingTypeNames, String path, AccessRestriction access) { > if (excludePath != null && excludePath.equals(path)) > return; >- if (enclosingTypeNames != null && enclosingTypeNames.length > 0) >+ if (enclosingTypeNames != null && enclosingTypeNames.length > 0) { > return; // accept only top level types >+ } > storage.acceptType(packageName, simpleTypeName, modifiers, access); > } > };
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 Raw
Actions:
View
Attachments on
bug 90612
: 20583