Index: compiler/java/com/google/dart/compiler/DartCompiler.java |
diff --git a/compiler/java/com/google/dart/compiler/DartCompiler.java b/compiler/java/com/google/dart/compiler/DartCompiler.java |
index 6968b104eb511739e82b33fe39ed6741d0e5fe60..8907ddba47f5f6449b89b7610ef7b45515c759d1 100644 |
--- a/compiler/java/com/google/dart/compiler/DartCompiler.java |
+++ b/compiler/java/com/google/dart/compiler/DartCompiler.java |
@@ -131,7 +131,6 @@ public class DartCompiler { |
private final Map<URI, LibraryUnit> libraries = new LinkedHashMap<URI, LibraryUnit>(); |
private CoreTypeProvider typeProvider; |
private final boolean incremental; |
- private final boolean usePrecompiledDartLibs; |
private final List<DartCompilationPhase> phases; |
private final LibrarySource coreLibrarySource; |
@@ -152,13 +151,12 @@ public class DartCompiler { |
embeddedLibraries.add(coreLibrarySource); |
incremental = config.incremental(); |
- usePrecompiledDartLibs = true; |
} |
- |
+ |
void addResolvedLibraries(Map<URI, LibraryUnit> resolvedLibraries) { |
libraries.putAll(resolvedLibraries); |
} |
- |
+ |
Map<URI, LibraryUnit> getLibraries() { |
return libraries; |
} |
@@ -254,7 +252,7 @@ public class DartCompiler { |
} |
if (!incremental |
- || (libIsDartUri && !usePrecompiledDartLibs) |
+ || libIsDartUri |
|| isSourceOutOfDate(dartSrc)) { |
DartUnit unit = parse(dartSrc, lib.getPrefixes(), false); |
@@ -851,8 +849,8 @@ public class DartCompiler { |
} |
/** |
- * Selectively compile a library. Use supplied libraries and ASTs when available. |
- * This allows programming tools to provide customized ASTs for code that is currently being |
+ * Selectively compile a library. Use supplied libraries and ASTs when available. |
+ * This allows programming tools to provide customized ASTs for code that is currently being |
* edited, and may not compile correctly. |
*/ |
private static class SelectiveCompiler extends Compiler { |
@@ -862,14 +860,14 @@ public class DartCompiler { |
private Collection<LibraryUnit> librariesToProcess; |
private SelectiveCompiler(LibrarySource app, Map<URI, LibraryUnit> resolvedLibraries, |
- Map<URI,DartUnit> parsedUnits, CompilerConfiguration config, |
+ Map<URI,DartUnit> parsedUnits, CompilerConfiguration config, |
DartCompilerMainContext context) { |
super(app, Collections.<LibrarySource>emptyList(), config, context); |
this.resolvedLibraries = resolvedLibraries; |
this.parsedUnits = parsedUnits; |
addResolvedLibraries(resolvedLibraries); |
} |
- |
+ |
@Override |
Collection<LibraryUnit> getLibrariesToProcess() { |
if (librariesToProcess == null) { |
@@ -911,20 +909,31 @@ public class DartCompiler { |
return compilerOptions; |
} |
- public static void main(String[] args) { |
+ public static void main(final String[] topArgs) { |
Tracer.init(); |
- CompilerOptions topCompilerOptions = processCommandLineOptions(args); |
+ CompilerOptions topCompilerOptions = processCommandLineOptions(topArgs); |
boolean result = false; |
try { |
if (topCompilerOptions.shouldBatch()) { |
- if (args.length > 1) { |
+ if (topArgs.length > 1) { |
System.err.println("(Extra arguments specified with -batch ignored.)"); |
} |
- UnitTestBatchRunner.runAsBatch(args, new Invocation() { |
+ UnitTestBatchRunner.runAsBatch(topArgs, new Invocation() { |
@Override |
- public boolean invoke(String[] args) throws Throwable { |
- CompilerOptions compilerOptions = processCommandLineOptions(args); |
+ public boolean invoke(String[] lineArgs) throws Throwable { |
+ List<String> allArgs = new ArrayList<String>(); |
+ for (String arg: topArgs) { |
+ if (!arg.equals("-batch")) { |
+ allArgs.add(arg); |
+ } |
+ } |
+ for (String arg: lineArgs) { |
+ allArgs.add(arg); |
+ } |
+ |
+ CompilerOptions compilerOptions = processCommandLineOptions( |
+ allArgs.toArray(new String[allArgs.size()])); |
if (compilerOptions.shouldBatch()) { |
System.err.println("-batch ignored: Already in batch mode."); |
} |