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 150270 Details for
Bug 263564
API to know when default compiler preference settings have been altered
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Proposed fix
patch_263564.txt (text/plain), 12.91 KB, created by
Olivier Thomann
on 2009-10-22 12:10:20 EDT
(
hide
)
Description:
Proposed fix
Filename:
MIME Type:
Creator:
Olivier Thomann
Created:
2009-10-22 12:10:20 EDT
Size:
12.91 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.jdt.core >Index: model/org/eclipse/jdt/core/JavaCore.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java,v >retrieving revision 1.640 >diff -u -r1.640 JavaCore.java >--- model/org/eclipse/jdt/core/JavaCore.java 6 Oct 2009 13:18:02 -0000 1.640 >+++ model/org/eclipse/jdt/core/JavaCore.java 22 Oct 2009 16:12:13 -0000 >@@ -85,6 +85,7 @@ > package org.eclipse.jdt.core; > > import java.util.ArrayList; >+import java.util.Collections; > import java.util.HashMap; > import java.util.HashSet; > import java.util.Hashtable; >@@ -2984,8 +2985,31 @@ > * > * @return a table of all known configurable options with their default values > */ >- public static Hashtable getDefaultOptions(){ >- return JavaModelManager.getJavaModelManager().getDefaultOptions(); >+ public static Hashtable getDefaultOptions(){ >+ return JavaModelManager.getJavaModelManager().getDefaultOptions(); >+ } >+ >+ >+ /** >+ * Returns an immutable map of all known configurable options with their original default values. >+ * >+ * <p>These options allow to configure the behaviour of the underlying components.</p> >+ * <p>If the map is being modified, an <tt>UnsupportedOperationException</tt> exception is thrown.</p> >+ * <p>Helper constants have been defined on JavaCore for each of the option IDs >+ * (categorized in Code assist option ID, Compiler option ID and Core option ID) >+ * and some of their acceptable values (categorized in Option value). Some >+ * options accept open value sets beyond the documented constant values.</p> >+ * <p>Note: each release may add new options.</p> >+ * >+ * @return an immutable map of all known configurable options with their original default values >+ * @since 3.6 >+ */ >+ public static Map getOriginalDefaultOptions(){ >+ return Collections.unmodifiableMap(getOriginalDefaultOptions0()); >+ } >+ >+ private static Map getOriginalDefaultOptions0() { >+ return Util.getOriginalDefaultOptions(null); > } > > /** >Index: model/org/eclipse/jdt/internal/core/JavaCorePreferenceInitializer.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaCorePreferenceInitializer.java,v >retrieving revision 1.44 >diff -u -r1.44 JavaCorePreferenceInitializer.java >--- model/org/eclipse/jdt/internal/core/JavaCorePreferenceInitializer.java 7 Mar 2009 01:08:08 -0000 1.44 >+++ model/org/eclipse/jdt/internal/core/JavaCorePreferenceInitializer.java 22 Oct 2009 16:12:13 -0000 >@@ -14,8 +14,7 @@ > > import org.eclipse.core.runtime.preferences.*; > import org.eclipse.jdt.core.JavaCore; >-import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants; >-import org.eclipse.jdt.internal.compiler.impl.CompilerOptions; >+import org.eclipse.jdt.internal.core.util.Util; > > /** > * JavaCore eclipse preferences initializer. >@@ -33,65 +32,7 @@ > HashSet optionNames = JavaModelManager.getJavaModelManager().optionNames; > > // Compiler settings >- Map defaultOptionsMap = new CompilerOptions().getMap(); // compiler defaults >- >- // Override some compiler defaults >- defaultOptionsMap.put(JavaCore.COMPILER_LOCAL_VARIABLE_ATTR, JavaCore.GENERATE); >- defaultOptionsMap.put(JavaCore.COMPILER_CODEGEN_UNUSED_LOCAL, JavaCore.PRESERVE); >- defaultOptionsMap.put(JavaCore.COMPILER_TASK_TAGS, JavaCore.DEFAULT_TASK_TAGS); >- defaultOptionsMap.put(JavaCore.COMPILER_TASK_PRIORITIES, JavaCore.DEFAULT_TASK_PRIORITIES); >- defaultOptionsMap.put(JavaCore.COMPILER_TASK_CASE_SENSITIVE, JavaCore.ENABLED); >- defaultOptionsMap.put(JavaCore.COMPILER_DOC_COMMENT_SUPPORT, JavaCore.ENABLED); >- defaultOptionsMap.put(JavaCore.COMPILER_PB_FORBIDDEN_REFERENCE, JavaCore.ERROR); >- >- // Builder settings >- defaultOptionsMap.put(JavaCore.CORE_JAVA_BUILD_RESOURCE_COPY_FILTER, ""); //$NON-NLS-1$ >- defaultOptionsMap.put(JavaCore.CORE_JAVA_BUILD_INVALID_CLASSPATH, JavaCore.ABORT); >- defaultOptionsMap.put(JavaCore.CORE_JAVA_BUILD_DUPLICATE_RESOURCE, JavaCore.WARNING); >- defaultOptionsMap.put(JavaCore.CORE_JAVA_BUILD_CLEAN_OUTPUT_FOLDER, JavaCore.CLEAN); >- defaultOptionsMap.put(JavaCore.CORE_JAVA_BUILD_RECREATE_MODIFIED_CLASS_FILES_IN_OUTPUT_FOLDER, JavaCore.IGNORE); >- >- // JavaCore settings >- defaultOptionsMap.put(JavaCore.CORE_JAVA_BUILD_ORDER, JavaCore.IGNORE); >- defaultOptionsMap.put(JavaCore.CORE_INCOMPLETE_CLASSPATH, JavaCore.ERROR); >- defaultOptionsMap.put(JavaCore.CORE_CIRCULAR_CLASSPATH, JavaCore.ERROR); >- defaultOptionsMap.put(JavaCore.CORE_INCOMPATIBLE_JDK_LEVEL, JavaCore.IGNORE); >- defaultOptionsMap.put(JavaCore.CORE_ENABLE_CLASSPATH_EXCLUSION_PATTERNS, JavaCore.ENABLED); >- defaultOptionsMap.put(JavaCore.CORE_ENABLE_CLASSPATH_MULTIPLE_OUTPUT_LOCATIONS, JavaCore.ENABLED); >- >- // encoding setting comes from resource plug-in >- optionNames.add(JavaCore.CORE_ENCODING); >- >- // Formatter settings >- Map codeFormatterOptionsMap = DefaultCodeFormatterConstants.getEclipseDefaultSettings(); // code formatter defaults >- for (Iterator iter = codeFormatterOptionsMap.entrySet().iterator(); iter.hasNext();) { >- Map.Entry entry = (Map.Entry) iter.next(); >- String optionName = (String) entry.getKey(); >- defaultOptionsMap.put(optionName, entry.getValue()); >- optionNames.add(optionName); >- } >- >- // CodeAssist settings >- defaultOptionsMap.put(JavaCore.CODEASSIST_VISIBILITY_CHECK, JavaCore.DISABLED); >- defaultOptionsMap.put(JavaCore.CODEASSIST_DEPRECATION_CHECK, JavaCore.DISABLED); >- defaultOptionsMap.put(JavaCore.CODEASSIST_IMPLICIT_QUALIFICATION, JavaCore.DISABLED); >- defaultOptionsMap.put(JavaCore.CODEASSIST_FIELD_PREFIXES, ""); //$NON-NLS-1$ >- defaultOptionsMap.put(JavaCore.CODEASSIST_STATIC_FIELD_PREFIXES, ""); //$NON-NLS-1$ >- defaultOptionsMap.put(JavaCore.CODEASSIST_STATIC_FINAL_FIELD_PREFIXES, ""); //$NON-NLS-1$ >- defaultOptionsMap.put(JavaCore.CODEASSIST_LOCAL_PREFIXES, ""); //$NON-NLS-1$ >- defaultOptionsMap.put(JavaCore.CODEASSIST_ARGUMENT_PREFIXES, ""); //$NON-NLS-1$ >- defaultOptionsMap.put(JavaCore.CODEASSIST_FIELD_SUFFIXES, ""); //$NON-NLS-1$ >- defaultOptionsMap.put(JavaCore.CODEASSIST_STATIC_FIELD_SUFFIXES, ""); //$NON-NLS-1$ >- defaultOptionsMap.put(JavaCore.CODEASSIST_STATIC_FINAL_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.ENABLED); >- defaultOptionsMap.put(JavaCore.CODEASSIST_DISCOURAGED_REFERENCE_CHECK, JavaCore.DISABLED); >- defaultOptionsMap.put(JavaCore.CODEASSIST_CAMEL_CASE_MATCH, JavaCore.ENABLED); >- defaultOptionsMap.put(JavaCore.CODEASSIST_SUGGEST_STATIC_IMPORTS, JavaCore.ENABLED); >- >- // Time out for parameter names >- defaultOptionsMap.put(JavaCore.TIMEOUT_FOR_PARAMETER_NAME_FROM_ATTACHED_JAVADOC, "50"); //$NON-NLS-1$ >+ Map defaultOptionsMap = Util.getOriginalDefaultOptions(optionNames); > > // Store default values to default preferences > IEclipsePreferences defaultPreferences = ((IScopeContext) new DefaultScope()).getNode(JavaCore.PLUGIN_ID); >Index: model/org/eclipse/jdt/internal/core/util/Util.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/Util.java,v >retrieving revision 1.134 >diff -u -r1.134 Util.java >--- model/org/eclipse/jdt/internal/core/util/Util.java 22 Jun 2009 12:58:54 -0000 1.134 >+++ model/org/eclipse/jdt/internal/core/util/Util.java 22 Oct 2009 16:12:13 -0000 >@@ -33,6 +33,7 @@ > import org.eclipse.jdt.core.dom.SimpleType; > import org.eclipse.jdt.core.dom.Type; > import org.eclipse.jdt.core.dom.WildcardType; >+import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants; > import org.eclipse.jdt.core.util.IClassFileAttribute; > import org.eclipse.jdt.core.util.IClassFileReader; > import org.eclipse.jdt.core.util.ICodeAttribute; >@@ -49,6 +50,7 @@ > import org.eclipse.jdt.internal.compiler.env.EnumConstantSignature; > import org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation; > import org.eclipse.jdt.internal.compiler.env.IDependent; >+import org.eclipse.jdt.internal.compiler.impl.CompilerOptions; > import org.eclipse.jdt.internal.compiler.impl.Constant; > import org.eclipse.jdt.internal.compiler.lookup.Binding; > import org.eclipse.jdt.internal.compiler.lookup.FieldBinding; >@@ -925,6 +927,79 @@ > } > > /** >+ * Initialize the original default java core options. >+ * >+ * @return the original default option map >+ */ >+ public static Map getOriginalDefaultOptions(Set optionNames) { >+ // Compiler settings >+ Map defaultOptionsMap = new CompilerOptions().getMap(); // compiler defaults >+ >+ // Override some compiler defaults >+ defaultOptionsMap.put(JavaCore.COMPILER_LOCAL_VARIABLE_ATTR, JavaCore.GENERATE); >+ defaultOptionsMap.put(JavaCore.COMPILER_CODEGEN_UNUSED_LOCAL, JavaCore.PRESERVE); >+ defaultOptionsMap.put(JavaCore.COMPILER_TASK_TAGS, JavaCore.DEFAULT_TASK_TAGS); >+ defaultOptionsMap.put(JavaCore.COMPILER_TASK_PRIORITIES, JavaCore.DEFAULT_TASK_PRIORITIES); >+ defaultOptionsMap.put(JavaCore.COMPILER_TASK_CASE_SENSITIVE, JavaCore.ENABLED); >+ defaultOptionsMap.put(JavaCore.COMPILER_DOC_COMMENT_SUPPORT, JavaCore.ENABLED); >+ defaultOptionsMap.put(JavaCore.COMPILER_PB_FORBIDDEN_REFERENCE, JavaCore.ERROR); >+ >+ // Builder settings >+ defaultOptionsMap.put(JavaCore.CORE_JAVA_BUILD_RESOURCE_COPY_FILTER, ""); //$NON-NLS-1$ >+ defaultOptionsMap.put(JavaCore.CORE_JAVA_BUILD_INVALID_CLASSPATH, JavaCore.ABORT); >+ defaultOptionsMap.put(JavaCore.CORE_JAVA_BUILD_DUPLICATE_RESOURCE, JavaCore.WARNING); >+ defaultOptionsMap.put(JavaCore.CORE_JAVA_BUILD_CLEAN_OUTPUT_FOLDER, JavaCore.CLEAN); >+ defaultOptionsMap.put(JavaCore.CORE_JAVA_BUILD_RECREATE_MODIFIED_CLASS_FILES_IN_OUTPUT_FOLDER, JavaCore.IGNORE); >+ >+ // JavaCore settings >+ defaultOptionsMap.put(JavaCore.CORE_JAVA_BUILD_ORDER, JavaCore.IGNORE); >+ defaultOptionsMap.put(JavaCore.CORE_INCOMPLETE_CLASSPATH, JavaCore.ERROR); >+ defaultOptionsMap.put(JavaCore.CORE_CIRCULAR_CLASSPATH, JavaCore.ERROR); >+ defaultOptionsMap.put(JavaCore.CORE_INCOMPATIBLE_JDK_LEVEL, JavaCore.IGNORE); >+ defaultOptionsMap.put(JavaCore.CORE_ENABLE_CLASSPATH_EXCLUSION_PATTERNS, JavaCore.ENABLED); >+ defaultOptionsMap.put(JavaCore.CORE_ENABLE_CLASSPATH_MULTIPLE_OUTPUT_LOCATIONS, JavaCore.ENABLED); >+ >+ // encoding setting comes from resource plug-in >+ boolean hasOptionNames = optionNames != null; >+ if (hasOptionNames) { >+ optionNames.add(JavaCore.CORE_ENCODING); >+ } >+ >+ // Formatter settings >+ Map codeFormatterOptionsMap = DefaultCodeFormatterConstants.getEclipseDefaultSettings(); // code formatter defaults >+ for (Iterator iter = codeFormatterOptionsMap.entrySet().iterator(); iter.hasNext();) { >+ Map.Entry entry = (Map.Entry) iter.next(); >+ String optionName = (String) entry.getKey(); >+ defaultOptionsMap.put(optionName, entry.getValue()); >+ if (hasOptionNames) { >+ optionNames.add(optionName); >+ } >+ } >+ >+ // CodeAssist settings >+ defaultOptionsMap.put(JavaCore.CODEASSIST_VISIBILITY_CHECK, JavaCore.DISABLED); >+ defaultOptionsMap.put(JavaCore.CODEASSIST_DEPRECATION_CHECK, JavaCore.DISABLED); >+ defaultOptionsMap.put(JavaCore.CODEASSIST_IMPLICIT_QUALIFICATION, JavaCore.DISABLED); >+ defaultOptionsMap.put(JavaCore.CODEASSIST_FIELD_PREFIXES, ""); //$NON-NLS-1$ >+ defaultOptionsMap.put(JavaCore.CODEASSIST_STATIC_FIELD_PREFIXES, ""); //$NON-NLS-1$ >+ defaultOptionsMap.put(JavaCore.CODEASSIST_STATIC_FINAL_FIELD_PREFIXES, ""); //$NON-NLS-1$ >+ defaultOptionsMap.put(JavaCore.CODEASSIST_LOCAL_PREFIXES, ""); //$NON-NLS-1$ >+ defaultOptionsMap.put(JavaCore.CODEASSIST_ARGUMENT_PREFIXES, ""); //$NON-NLS-1$ >+ defaultOptionsMap.put(JavaCore.CODEASSIST_FIELD_SUFFIXES, ""); //$NON-NLS-1$ >+ defaultOptionsMap.put(JavaCore.CODEASSIST_STATIC_FIELD_SUFFIXES, ""); //$NON-NLS-1$ >+ defaultOptionsMap.put(JavaCore.CODEASSIST_STATIC_FINAL_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.ENABLED); >+ defaultOptionsMap.put(JavaCore.CODEASSIST_DISCOURAGED_REFERENCE_CHECK, JavaCore.DISABLED); >+ defaultOptionsMap.put(JavaCore.CODEASSIST_CAMEL_CASE_MATCH, JavaCore.ENABLED); >+ defaultOptionsMap.put(JavaCore.CODEASSIST_SUGGEST_STATIC_IMPORTS, JavaCore.ENABLED); >+ >+ // Time out for parameter names >+ defaultOptionsMap.put(JavaCore.TIMEOUT_FOR_PARAMETER_NAME_FROM_ATTACHED_JAVADOC, "50"); //$NON-NLS-1$ >+ return defaultOptionsMap; >+ } >+ /** > * Returns the line separator found in the given text. > * If it is null, or not found return the line delimiter for the given project. > * If the project is null, returns the line separator for the workspace.
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 263564
:
150270
|
150272
|
150297