summaryrefslogtreecommitdiffstats
path: root/ajde
diff options
context:
space:
mode:
authoracolyer <acolyer>2004-06-08 15:19:01 +0000
committeracolyer <acolyer>2004-06-08 15:19:01 +0000
commitb2e2422ea564e71473f5c5a78e8c711167c1a738 (patch)
treed923bcc6ff8e4649cf7c5a13dfa1b38f7dbe8729 /ajde
parenta635a5de4c4b729cc33701f1d82c5c018c2259de (diff)
downloadaspectj-b2e2422ea564e71473f5c5a78e8c711167c1a738.tar.gz
aspectj-b2e2422ea564e71473f5c5a78e8c711167c1a738.zip
set default warning values correctly when passed in 'null'
Diffstat (limited to 'ajde')
-rw-r--r--ajde/src/org/aspectj/ajde/internal/CompilerAdapter.java83
1 files changed, 51 insertions, 32 deletions
diff --git a/ajde/src/org/aspectj/ajde/internal/CompilerAdapter.java b/ajde/src/org/aspectj/ajde/internal/CompilerAdapter.java
index 1df25e3f7..34637e24f 100644
--- a/ajde/src/org/aspectj/ajde/internal/CompilerAdapter.java
+++ b/ajde/src/org/aspectj/ajde/internal/CompilerAdapter.java
@@ -28,7 +28,21 @@ import org.aspectj.util.LangUtil;
import org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
public class CompilerAdapter {
-
+
+ private static final Set DEFAULT__AJDE_WARNINGS;
+
+ static {
+ DEFAULT__AJDE_WARNINGS = new HashSet();
+ DEFAULT__AJDE_WARNINGS.add(BuildOptionsAdapter.WARN_ASSERT_IDENITIFIER);
+ DEFAULT__AJDE_WARNINGS.add(BuildOptionsAdapter.WARN_CONSTRUCTOR_NAME);
+ DEFAULT__AJDE_WARNINGS.add(BuildOptionsAdapter.WARN_DEPRECATION);
+ DEFAULT__AJDE_WARNINGS.add(BuildOptionsAdapter.WARN_MASKED_CATCH_BLOCKS);
+ DEFAULT__AJDE_WARNINGS.add(BuildOptionsAdapter.WARN_PACKAGE_DEFAULT_METHOD);
+ DEFAULT__AJDE_WARNINGS.add(BuildOptionsAdapter.WARN_UNUSED_IMPORTS);
+// DEFAULT__AJDE_WARNINGS.put(BuildOptionsAdapter.WARN_);
+// DEFAULT__AJDE_WARNINGS.put(BuildOptionsAdapter.WARN_);
+ }
+
// private Map optionsMap;
private AjBuildManager buildManager = null;
private MessageHandlerAdapter messageHandler = null;
@@ -151,22 +165,24 @@ public class CompilerAdapter {
= CountingMessageHandler.makeCountingMessageHandler(messageHandler);
BuildArgParser parser = new BuildArgParser(handler);
- AjBuildConfig config = parser.genBuildConfig(args, false, configFile);
+ AjBuildConfig config = new AjBuildConfig();
+ parser.populateBuildConfig(config, args, false, configFile);
+ configureBuildOptions(config,Ajde.getDefault().getBuildManager().getBuildOptions(),handler);
configureProjectOptions(config, Ajde.getDefault().getProjectProperties()); // !!! not what the API intended
- // -- get globals, treat as defaults used if no local values
- AjBuildConfig global = new AjBuildConfig();
- // AMC refactored into two methods to populate buildConfig from buildOptions and
- // project properties - bugzilla 29769.
- BuildOptionsAdapter buildOptions
- = Ajde.getDefault().getBuildManager().getBuildOptions();
- if (!configureBuildOptions(global, buildOptions, handler)) {
- return null;
- }
- ProjectPropertiesAdapter projectOptions =
- Ajde.getDefault().getProjectProperties();
- configureProjectOptions(global, projectOptions);
- config.installGlobals(global);
+// // -- get globals, treat as defaults used if no local values
+// AjBuildConfig global = new AjBuildConfig();
+// // AMC refactored into two methods to populate buildConfig from buildOptions and
+// // project properties - bugzilla 29769.
+// BuildOptionsAdapter buildOptions
+// = Ajde.getDefault().getBuildManager().getBuildOptions();
+// if (!configureBuildOptions(/* global */ config, buildOptions, handler)) {
+// return null;
+// }
+// ProjectPropertiesAdapter projectOptions =
+// Ajde.getDefault().getProjectProperties();
+// configureProjectOptions(global, projectOptions);
+// config.installGlobals(global);
ISourceLocation location = null;
if (config.getConfigFile() != null) {
@@ -182,7 +198,7 @@ public class CompilerAdapter {
// always force model generation in AJDE
config.setGenerateModelMode(true);
if (Ajde.getDefault().getBuildManager().getBuildOptions().getJavaOptionsMap() != null) {
- config.getJavaOptions().putAll(Ajde.getDefault().getBuildManager().getBuildOptions().getJavaOptionsMap());
+ config.getOptions().set(Ajde.getDefault().getBuildManager().getBuildOptions().getJavaOptionsMap());
}
return config;
// return fixupBuildConfig(config);
@@ -238,17 +254,17 @@ public class CompilerAdapter {
private static boolean configureBuildOptions( AjBuildConfig config, BuildOptionsAdapter options, IMessageHandler handler) {
LangUtil.throwIaxIfNull(options, "options");
LangUtil.throwIaxIfNull(config, "config");
- Map javaOptions = config.getJavaOptions();
- LangUtil.throwIaxIfNull(javaOptions, "javaOptions");
+ Map optionsToSet = new HashMap();
+ LangUtil.throwIaxIfNull(optionsToSet, "javaOptions");
if (options.getSourceOnePointFourMode()) {
- javaOptions.put(CompilerOptions.OPTION_Compliance, CompilerOptions.VERSION_1_4);
- javaOptions.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_1_4);
+ optionsToSet.put(CompilerOptions.OPTION_Compliance, CompilerOptions.VERSION_1_4);
+ optionsToSet.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_1_4);
}
String enc = options.getCharacterEncoding();
if (!LangUtil.isEmpty(enc)) {
- javaOptions.put(CompilerOptions.OPTION_Encoding, enc );
+ optionsToSet.put(CompilerOptions.OPTION_Encoding, enc );
}
String compliance = options.getComplianceLevel();
@@ -257,8 +273,8 @@ public class CompilerAdapter {
if ( compliance.equals( BuildOptionsAdapter.VERSION_13 ) ) {
version = CompilerOptions.VERSION_1_3;
}
- javaOptions.put(CompilerOptions.OPTION_Compliance, version );
- javaOptions.put(CompilerOptions.OPTION_Source, version );
+ optionsToSet.put(CompilerOptions.OPTION_Compliance, version );
+ optionsToSet.put(CompilerOptions.OPTION_Source, version );
}
String sourceLevel = options.getSourceCompatibilityLevel();
@@ -268,19 +284,22 @@ public class CompilerAdapter {
slVersion = CompilerOptions.VERSION_1_3;
}
// never set a lower source level than compliance level
- String setCompliance = (String) javaOptions.get( CompilerOptions.OPTION_Compliance);
+ String setCompliance = (String) optionsToSet.get( CompilerOptions.OPTION_Compliance);
if ( ! (setCompliance.equals( CompilerOptions.VERSION_1_4 )
&& slVersion.equals(CompilerOptions.VERSION_1_3)) ) {
- javaOptions.put(CompilerOptions.OPTION_Source, slVersion);
+ optionsToSet.put(CompilerOptions.OPTION_Source, slVersion);
}
}
Set warnings = options.getWarnings();
if (!LangUtil.isEmpty(warnings)) {
// turn off all warnings
- disableWarnings( javaOptions );
+ disableWarnings( optionsToSet );
// then selectively enable those in the set
- enableWarnings( javaOptions, warnings );
+ enableWarnings( optionsToSet, warnings );
+ } else if (warnings == null) {
+ // set default warnings on...
+ enableWarnings( optionsToSet, DEFAULT__AJDE_WARNINGS);
}
Set debugOptions = options.getDebugLevel();
@@ -305,11 +324,11 @@ public class CompilerAdapter {
varAttr = true;
}
}
- if (sourceLine) javaOptions.put(CompilerOptions.OPTION_SourceFileAttribute,
+ if (sourceLine) optionsToSet.put(CompilerOptions.OPTION_SourceFileAttribute,
CompilerOptions.GENERATE);
- if (varAttr) javaOptions.put(CompilerOptions.OPTION_LocalVariableAttribute,
+ if (varAttr) optionsToSet.put(CompilerOptions.OPTION_LocalVariableAttribute,
CompilerOptions.GENERATE);
- if (lineNo) javaOptions.put(CompilerOptions.OPTION_LineNumberAttribute,
+ if (lineNo) optionsToSet.put(CompilerOptions.OPTION_LineNumberAttribute,
CompilerOptions.GENERATE);
}
//XXX we can't turn off import errors in 3.0 stream
@@ -319,7 +338,7 @@ public class CompilerAdapter {
// }
if ( options.getPreserveAllLocals() ) {
- javaOptions.put( CompilerOptions.OPTION_PreserveUnusedLocal,
+ optionsToSet.put( CompilerOptions.OPTION_PreserveUnusedLocal,
CompilerOptions.PRESERVE);
}
if ( !config.isIncrementalMode()
@@ -327,7 +346,7 @@ public class CompilerAdapter {
config.setIncrementalMode(true);
}
- config.setJavaOptions( javaOptions );
+ config.getOptions().set(optionsToSet);
String toAdd = options.getNonStandardOptions();
return LangUtil.isEmpty(toAdd)
? true