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 150297 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]
Updated patch based on Darin's comment
patch_263564.txt (text/plain), 16.03 KB, created by
Olivier Thomann
on 2009-10-22 15:13:35 EDT
(
hide
)
Description:
Updated patch based on Darin's comment
Filename:
MIME Type:
Creator:
Olivier Thomann
Created:
2009-10-22 15:13:35 EDT
Size:
16.03 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 19:16:22 -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,33 @@ > * > * @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 >+ * as defined by JDT/Core. >+ * >+ * <p>The values of these options might be different from the values returned by {@link #getDefaultOptions()} >+ * as {@link #getDefaultOptions()} returned the default options defined by an installation/product/configuration >+ * (i.e. modified by the usage of a plugin_customization.ini file for example). >+ * </p> >+ * <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 >+ * as defined by JDT/Core >+ * @since 3.6 >+ */ >+ public static Map getOriginalDefaultOptions(){ >+ return Collections.unmodifiableMap(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 19:16:22 -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 19:16:22 -0000 >@@ -10,20 +10,59 @@ > *******************************************************************************/ > package org.eclipse.jdt.internal.core.util; > >-import java.io.*; >+import java.io.File; >+import java.io.IOException; >+import java.io.InputStream; >+import java.io.PrintStream; > import java.net.URI; >-import java.util.*; >+import java.util.Enumeration; >+import java.util.HashSet; >+import java.util.Iterator; >+import java.util.Map; >+import java.util.Set; >+import java.util.StringTokenizer; > import java.util.zip.ZipEntry; > import java.util.zip.ZipFile; > > import org.eclipse.core.filesystem.EFS; > import org.eclipse.core.filesystem.IFileStore; >-import org.eclipse.core.resources.*; >-import org.eclipse.core.runtime.*; >+import org.eclipse.core.resources.IContainer; >+import org.eclipse.core.resources.IFile; >+import org.eclipse.core.resources.IFolder; >+import org.eclipse.core.resources.IResource; >+import org.eclipse.core.resources.IWorkspaceRoot; >+import org.eclipse.core.resources.ProjectScope; >+import org.eclipse.core.resources.ResourceAttributes; >+import org.eclipse.core.resources.ResourcesPlugin; >+import org.eclipse.core.runtime.Assert; >+import org.eclipse.core.runtime.CoreException; >+import org.eclipse.core.runtime.IPath; >+import org.eclipse.core.runtime.IProgressMonitor; >+import org.eclipse.core.runtime.IStatus; >+import org.eclipse.core.runtime.Path; >+import org.eclipse.core.runtime.Platform; >+import org.eclipse.core.runtime.QualifiedName; >+import org.eclipse.core.runtime.Status; > import org.eclipse.core.runtime.content.IContentType; > import org.eclipse.core.runtime.preferences.IScopeContext; > import org.eclipse.core.runtime.preferences.InstanceScope; >-import org.eclipse.jdt.core.*; >+import org.eclipse.jdt.core.IAnnotation; >+import org.eclipse.jdt.core.IClassFile; >+import org.eclipse.jdt.core.ICompilationUnit; >+import org.eclipse.jdt.core.IInitializer; >+import org.eclipse.jdt.core.IJavaElement; >+import org.eclipse.jdt.core.IJavaModelStatusConstants; >+import org.eclipse.jdt.core.IJavaProject; >+import org.eclipse.jdt.core.IMemberValuePair; >+import org.eclipse.jdt.core.IMethod; >+import org.eclipse.jdt.core.IPackageFragment; >+import org.eclipse.jdt.core.ISourceRange; >+import org.eclipse.jdt.core.IType; >+import org.eclipse.jdt.core.JavaConventions; >+import org.eclipse.jdt.core.JavaCore; >+import org.eclipse.jdt.core.JavaModelException; >+import org.eclipse.jdt.core.Signature; >+import org.eclipse.jdt.core.WorkingCopyOwner; > import org.eclipse.jdt.core.compiler.CharOperation; > import org.eclipse.jdt.core.dom.ASTNode; > import org.eclipse.jdt.core.dom.ArrayType; >@@ -33,6 +72,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 +89,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 +966,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. >@@ -1583,7 +1697,6 @@ > protected static boolean isAttributeSupported(int attribute) { > return (EFS.getLocalFileSystem().attributes() & attribute) != 0; > } >- > /** > * Returns whether the given resource is read-only or not. > * @param resource
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