View | Details | Raw Unified | Return to bug 263564 | Differences between
and this patch

Collapse All | Expand All

(-)model/org/eclipse/jdt/core/JavaCore.java (-2 / +22 lines)
Lines 85-90 Link Here
85
package org.eclipse.jdt.core;
85
package org.eclipse.jdt.core;
86
86
87
import java.util.ArrayList;
87
import java.util.ArrayList;
88
import java.util.Collections;
88
import java.util.HashMap;
89
import java.util.HashMap;
89
import java.util.HashSet;
90
import java.util.HashSet;
90
import java.util.Hashtable;
91
import java.util.Hashtable;
Lines 2984-2991 Link Here
2984
	 *
2985
	 *
2985
	 * @return a table of all known configurable options with their default values
2986
	 * @return a table of all known configurable options with their default values
2986
	 */
2987
	 */
2987
 	public static Hashtable getDefaultOptions(){
2988
	public static Hashtable getDefaultOptions(){
2988
 		return JavaModelManager.getJavaModelManager().getDefaultOptions();
2989
		return JavaModelManager.getJavaModelManager().getDefaultOptions();
2990
	}
2991
	
2992
2993
	/**
2994
	 * Returns an immutable map of all known configurable options with their original default values.
2995
	 * 
2996
	 * <p>These options allow to configure the behaviour of the underlying components.</p>
2997
	 * <p>If the map is being modified, an <tt>UnsupportedOperationException</tt> exception is thrown.</p>
2998
	 * <p>Helper constants have been defined on JavaCore for each of the option IDs
2999
	 * (categorized in Code assist option ID, Compiler option ID and Core option ID)
3000
	 * and some of their acceptable values (categorized in Option value). Some
3001
	 * options accept open value sets beyond the documented constant values.</p>
3002
	 * <p>Note: each release may add new options.</p>
3003
	 *
3004
	 * @return an immutable map of all known configurable options with their original default values
3005
	 * @since 3.6
3006
	 */
3007
	public static Map getOriginalDefaultOptions(){
3008
		return Collections.unmodifiableMap(Util.getOriginalDefaultOptions(null));
2989
	}
3009
	}
2990
3010
2991
	/**
3011
	/**
(-)model/org/eclipse/jdt/internal/core/JavaCorePreferenceInitializer.java (-61 / +2 lines)
Lines 14-21 Link Here
14
14
15
import org.eclipse.core.runtime.preferences.*;
15
import org.eclipse.core.runtime.preferences.*;
16
import org.eclipse.jdt.core.JavaCore;
16
import org.eclipse.jdt.core.JavaCore;
17
import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
17
import org.eclipse.jdt.internal.core.util.Util;
18
import org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
19
18
20
/**
19
/**
21
 * JavaCore eclipse preferences initializer.
20
 * JavaCore eclipse preferences initializer.
Lines 33-97 Link Here
33
		HashSet optionNames = JavaModelManager.getJavaModelManager().optionNames;
32
		HashSet optionNames = JavaModelManager.getJavaModelManager().optionNames;
34
33
35
		// Compiler settings
34
		// Compiler settings
36
		Map defaultOptionsMap = new CompilerOptions().getMap(); // compiler defaults
35
		Map defaultOptionsMap = Util.getOriginalDefaultOptions(optionNames);
37
38
		// Override some compiler defaults
39
		defaultOptionsMap.put(JavaCore.COMPILER_LOCAL_VARIABLE_ATTR, JavaCore.GENERATE);
40
		defaultOptionsMap.put(JavaCore.COMPILER_CODEGEN_UNUSED_LOCAL, JavaCore.PRESERVE);
41
		defaultOptionsMap.put(JavaCore.COMPILER_TASK_TAGS, JavaCore.DEFAULT_TASK_TAGS);
42
		defaultOptionsMap.put(JavaCore.COMPILER_TASK_PRIORITIES, JavaCore.DEFAULT_TASK_PRIORITIES);
43
		defaultOptionsMap.put(JavaCore.COMPILER_TASK_CASE_SENSITIVE, JavaCore.ENABLED);
44
		defaultOptionsMap.put(JavaCore.COMPILER_DOC_COMMENT_SUPPORT, JavaCore.ENABLED);
45
		defaultOptionsMap.put(JavaCore.COMPILER_PB_FORBIDDEN_REFERENCE, JavaCore.ERROR);
46
47
		// Builder settings
48
		defaultOptionsMap.put(JavaCore.CORE_JAVA_BUILD_RESOURCE_COPY_FILTER, ""); //$NON-NLS-1$
49
		defaultOptionsMap.put(JavaCore.CORE_JAVA_BUILD_INVALID_CLASSPATH, JavaCore.ABORT);
50
		defaultOptionsMap.put(JavaCore.CORE_JAVA_BUILD_DUPLICATE_RESOURCE, JavaCore.WARNING);
51
		defaultOptionsMap.put(JavaCore.CORE_JAVA_BUILD_CLEAN_OUTPUT_FOLDER, JavaCore.CLEAN);
52
		defaultOptionsMap.put(JavaCore.CORE_JAVA_BUILD_RECREATE_MODIFIED_CLASS_FILES_IN_OUTPUT_FOLDER, JavaCore.IGNORE);
53
54
		// JavaCore settings
55
		defaultOptionsMap.put(JavaCore.CORE_JAVA_BUILD_ORDER, JavaCore.IGNORE);
56
		defaultOptionsMap.put(JavaCore.CORE_INCOMPLETE_CLASSPATH, JavaCore.ERROR);
57
		defaultOptionsMap.put(JavaCore.CORE_CIRCULAR_CLASSPATH, JavaCore.ERROR);
58
		defaultOptionsMap.put(JavaCore.CORE_INCOMPATIBLE_JDK_LEVEL, JavaCore.IGNORE);
59
		defaultOptionsMap.put(JavaCore.CORE_ENABLE_CLASSPATH_EXCLUSION_PATTERNS, JavaCore.ENABLED);
60
		defaultOptionsMap.put(JavaCore.CORE_ENABLE_CLASSPATH_MULTIPLE_OUTPUT_LOCATIONS, JavaCore.ENABLED);
61
62
		// encoding setting comes from resource plug-in
63
		optionNames.add(JavaCore.CORE_ENCODING);
64
65
		// Formatter settings
66
		Map codeFormatterOptionsMap = DefaultCodeFormatterConstants.getEclipseDefaultSettings(); // code formatter defaults
67
		for (Iterator iter = codeFormatterOptionsMap.entrySet().iterator(); iter.hasNext();) {
68
			Map.Entry entry = (Map.Entry) iter.next();
69
			String optionName = (String) entry.getKey();
70
			defaultOptionsMap.put(optionName, entry.getValue());
71
			optionNames.add(optionName);
72
		}
73
74
		// CodeAssist settings
75
		defaultOptionsMap.put(JavaCore.CODEASSIST_VISIBILITY_CHECK, JavaCore.DISABLED);
76
		defaultOptionsMap.put(JavaCore.CODEASSIST_DEPRECATION_CHECK, JavaCore.DISABLED);
77
		defaultOptionsMap.put(JavaCore.CODEASSIST_IMPLICIT_QUALIFICATION, JavaCore.DISABLED);
78
		defaultOptionsMap.put(JavaCore.CODEASSIST_FIELD_PREFIXES, ""); //$NON-NLS-1$
79
		defaultOptionsMap.put(JavaCore.CODEASSIST_STATIC_FIELD_PREFIXES, ""); //$NON-NLS-1$
80
		defaultOptionsMap.put(JavaCore.CODEASSIST_STATIC_FINAL_FIELD_PREFIXES, ""); //$NON-NLS-1$
81
		defaultOptionsMap.put(JavaCore.CODEASSIST_LOCAL_PREFIXES, ""); //$NON-NLS-1$
82
		defaultOptionsMap.put(JavaCore.CODEASSIST_ARGUMENT_PREFIXES, ""); //$NON-NLS-1$
83
		defaultOptionsMap.put(JavaCore.CODEASSIST_FIELD_SUFFIXES, ""); //$NON-NLS-1$
84
		defaultOptionsMap.put(JavaCore.CODEASSIST_STATIC_FIELD_SUFFIXES, ""); //$NON-NLS-1$
85
		defaultOptionsMap.put(JavaCore.CODEASSIST_STATIC_FINAL_FIELD_SUFFIXES, ""); //$NON-NLS-1$
86
		defaultOptionsMap.put(JavaCore.CODEASSIST_LOCAL_SUFFIXES, ""); //$NON-NLS-1$
87
		defaultOptionsMap.put(JavaCore.CODEASSIST_ARGUMENT_SUFFIXES, ""); //$NON-NLS-1$
88
		defaultOptionsMap.put(JavaCore.CODEASSIST_FORBIDDEN_REFERENCE_CHECK, JavaCore.ENABLED);
89
		defaultOptionsMap.put(JavaCore.CODEASSIST_DISCOURAGED_REFERENCE_CHECK, JavaCore.DISABLED);
90
		defaultOptionsMap.put(JavaCore.CODEASSIST_CAMEL_CASE_MATCH, JavaCore.ENABLED);
91
		defaultOptionsMap.put(JavaCore.CODEASSIST_SUGGEST_STATIC_IMPORTS, JavaCore.ENABLED);
92
93
		// Time out for parameter names
94
		defaultOptionsMap.put(JavaCore.TIMEOUT_FOR_PARAMETER_NAME_FROM_ATTACHED_JAVADOC, "50"); //$NON-NLS-1$
95
36
96
		// Store default values to default preferences
37
		// Store default values to default preferences
97
	 	IEclipsePreferences defaultPreferences = ((IScopeContext) new DefaultScope()).getNode(JavaCore.PLUGIN_ID);
38
	 	IEclipsePreferences defaultPreferences = ((IScopeContext) new DefaultScope()).getNode(JavaCore.PLUGIN_ID);
(-)model/org/eclipse/jdt/internal/core/util/Util.java (-1 / +75 lines)
Lines 33-38 Link Here
33
import org.eclipse.jdt.core.dom.SimpleType;
33
import org.eclipse.jdt.core.dom.SimpleType;
34
import org.eclipse.jdt.core.dom.Type;
34
import org.eclipse.jdt.core.dom.Type;
35
import org.eclipse.jdt.core.dom.WildcardType;
35
import org.eclipse.jdt.core.dom.WildcardType;
36
import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
36
import org.eclipse.jdt.core.util.IClassFileAttribute;
37
import org.eclipse.jdt.core.util.IClassFileAttribute;
37
import org.eclipse.jdt.core.util.IClassFileReader;
38
import org.eclipse.jdt.core.util.IClassFileReader;
38
import org.eclipse.jdt.core.util.ICodeAttribute;
39
import org.eclipse.jdt.core.util.ICodeAttribute;
Lines 49-54 Link Here
49
import org.eclipse.jdt.internal.compiler.env.EnumConstantSignature;
50
import org.eclipse.jdt.internal.compiler.env.EnumConstantSignature;
50
import org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation;
51
import org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation;
51
import org.eclipse.jdt.internal.compiler.env.IDependent;
52
import org.eclipse.jdt.internal.compiler.env.IDependent;
53
import org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
52
import org.eclipse.jdt.internal.compiler.impl.Constant;
54
import org.eclipse.jdt.internal.compiler.impl.Constant;
53
import org.eclipse.jdt.internal.compiler.lookup.Binding;
55
import org.eclipse.jdt.internal.compiler.lookup.Binding;
54
import org.eclipse.jdt.internal.compiler.lookup.FieldBinding;
56
import org.eclipse.jdt.internal.compiler.lookup.FieldBinding;
Lines 925-930 Link Here
925
	}
927
	}
926
928
927
	/**
929
	/**
930
	 * Initialize the original default java core options.
931
	 * 
932
	 * @return the original default option map
933
	 */
934
	public static Map getOriginalDefaultOptions(Set optionNames) {
935
		// Compiler settings
936
		Map defaultOptionsMap = new CompilerOptions().getMap(); // compiler defaults
937
938
		// Override some compiler defaults
939
		defaultOptionsMap.put(JavaCore.COMPILER_LOCAL_VARIABLE_ATTR, JavaCore.GENERATE);
940
		defaultOptionsMap.put(JavaCore.COMPILER_CODEGEN_UNUSED_LOCAL, JavaCore.PRESERVE);
941
		defaultOptionsMap.put(JavaCore.COMPILER_TASK_TAGS, JavaCore.DEFAULT_TASK_TAGS);
942
		defaultOptionsMap.put(JavaCore.COMPILER_TASK_PRIORITIES, JavaCore.DEFAULT_TASK_PRIORITIES);
943
		defaultOptionsMap.put(JavaCore.COMPILER_TASK_CASE_SENSITIVE, JavaCore.ENABLED);
944
		defaultOptionsMap.put(JavaCore.COMPILER_DOC_COMMENT_SUPPORT, JavaCore.ENABLED);
945
		defaultOptionsMap.put(JavaCore.COMPILER_PB_FORBIDDEN_REFERENCE, JavaCore.ERROR);
946
947
		// Builder settings
948
		defaultOptionsMap.put(JavaCore.CORE_JAVA_BUILD_RESOURCE_COPY_FILTER, ""); //$NON-NLS-1$
949
		defaultOptionsMap.put(JavaCore.CORE_JAVA_BUILD_INVALID_CLASSPATH, JavaCore.ABORT);
950
		defaultOptionsMap.put(JavaCore.CORE_JAVA_BUILD_DUPLICATE_RESOURCE, JavaCore.WARNING);
951
		defaultOptionsMap.put(JavaCore.CORE_JAVA_BUILD_CLEAN_OUTPUT_FOLDER, JavaCore.CLEAN);
952
		defaultOptionsMap.put(JavaCore.CORE_JAVA_BUILD_RECREATE_MODIFIED_CLASS_FILES_IN_OUTPUT_FOLDER, JavaCore.IGNORE);
953
954
		// JavaCore settings
955
		defaultOptionsMap.put(JavaCore.CORE_JAVA_BUILD_ORDER, JavaCore.IGNORE);
956
		defaultOptionsMap.put(JavaCore.CORE_INCOMPLETE_CLASSPATH, JavaCore.ERROR);
957
		defaultOptionsMap.put(JavaCore.CORE_CIRCULAR_CLASSPATH, JavaCore.ERROR);
958
		defaultOptionsMap.put(JavaCore.CORE_INCOMPATIBLE_JDK_LEVEL, JavaCore.IGNORE);
959
		defaultOptionsMap.put(JavaCore.CORE_ENABLE_CLASSPATH_EXCLUSION_PATTERNS, JavaCore.ENABLED);
960
		defaultOptionsMap.put(JavaCore.CORE_ENABLE_CLASSPATH_MULTIPLE_OUTPUT_LOCATIONS, JavaCore.ENABLED);
961
962
		// encoding setting comes from resource plug-in
963
		boolean hasOptionNames = optionNames != null;
964
		if (hasOptionNames) {
965
			optionNames.add(JavaCore.CORE_ENCODING);
966
		}
967
968
		// Formatter settings
969
		Map codeFormatterOptionsMap = DefaultCodeFormatterConstants.getEclipseDefaultSettings(); // code formatter defaults
970
		for (Iterator iter = codeFormatterOptionsMap.entrySet().iterator(); iter.hasNext();) {
971
			Map.Entry entry = (Map.Entry) iter.next();
972
			String optionName = (String) entry.getKey();
973
			defaultOptionsMap.put(optionName, entry.getValue());
974
			if (hasOptionNames) {
975
				optionNames.add(optionName);
976
			}
977
		}
978
979
		// CodeAssist settings
980
		defaultOptionsMap.put(JavaCore.CODEASSIST_VISIBILITY_CHECK, JavaCore.DISABLED);
981
		defaultOptionsMap.put(JavaCore.CODEASSIST_DEPRECATION_CHECK, JavaCore.DISABLED);
982
		defaultOptionsMap.put(JavaCore.CODEASSIST_IMPLICIT_QUALIFICATION, JavaCore.DISABLED);
983
		defaultOptionsMap.put(JavaCore.CODEASSIST_FIELD_PREFIXES, ""); //$NON-NLS-1$
984
		defaultOptionsMap.put(JavaCore.CODEASSIST_STATIC_FIELD_PREFIXES, ""); //$NON-NLS-1$
985
		defaultOptionsMap.put(JavaCore.CODEASSIST_STATIC_FINAL_FIELD_PREFIXES, ""); //$NON-NLS-1$
986
		defaultOptionsMap.put(JavaCore.CODEASSIST_LOCAL_PREFIXES, ""); //$NON-NLS-1$
987
		defaultOptionsMap.put(JavaCore.CODEASSIST_ARGUMENT_PREFIXES, ""); //$NON-NLS-1$
988
		defaultOptionsMap.put(JavaCore.CODEASSIST_FIELD_SUFFIXES, ""); //$NON-NLS-1$
989
		defaultOptionsMap.put(JavaCore.CODEASSIST_STATIC_FIELD_SUFFIXES, ""); //$NON-NLS-1$
990
		defaultOptionsMap.put(JavaCore.CODEASSIST_STATIC_FINAL_FIELD_SUFFIXES, ""); //$NON-NLS-1$
991
		defaultOptionsMap.put(JavaCore.CODEASSIST_LOCAL_SUFFIXES, ""); //$NON-NLS-1$
992
		defaultOptionsMap.put(JavaCore.CODEASSIST_ARGUMENT_SUFFIXES, ""); //$NON-NLS-1$
993
		defaultOptionsMap.put(JavaCore.CODEASSIST_FORBIDDEN_REFERENCE_CHECK, JavaCore.ENABLED);
994
		defaultOptionsMap.put(JavaCore.CODEASSIST_DISCOURAGED_REFERENCE_CHECK, JavaCore.DISABLED);
995
		defaultOptionsMap.put(JavaCore.CODEASSIST_CAMEL_CASE_MATCH, JavaCore.ENABLED);
996
		defaultOptionsMap.put(JavaCore.CODEASSIST_SUGGEST_STATIC_IMPORTS, JavaCore.ENABLED);
997
998
		// Time out for parameter names
999
		defaultOptionsMap.put(JavaCore.TIMEOUT_FOR_PARAMETER_NAME_FROM_ATTACHED_JAVADOC, "50"); //$NON-NLS-1$
1000
		return defaultOptionsMap;
1001
	}
1002
	/**
928
	 * Returns the line separator found in the given text.
1003
	 * Returns the line separator found in the given text.
929
	 * If it is null, or not found return the line delimiter for the given project.
1004
	 * If it is null, or not found return the line delimiter for the given project.
930
	 * If the project is null, returns the line separator for the workspace.
1005
	 * If the project is null, returns the line separator for the workspace.
Lines 1583-1589 Link Here
1583
	protected static boolean isAttributeSupported(int attribute) {
1658
	protected static boolean isAttributeSupported(int attribute) {
1584
		return (EFS.getLocalFileSystem().attributes() & attribute) != 0;
1659
		return (EFS.getLocalFileSystem().attributes() & attribute) != 0;
1585
	}
1660
	}
1586
1587
	/**
1661
	/**
1588
	 * Returns whether the given resource is read-only or not.
1662
	 * Returns whether the given resource is read-only or not.
1589
	 * @param resource
1663
	 * @param resource

Return to bug 263564