Revision: 10230
Author:   zun...@google.com
Date:     Thu May 26 07:33:13 2011
Log: A mechanical refactoring of the Precompile options as prep for further cleanup. Added @Override annotations to satisfy the IDE warnings with Java 1.6 enabled.

Review at http://gwt-code-reviews.appspot.com/1452804

http://code.google.com/p/google-web-toolkit/source/detail?r=10230

Added:
 /trunk/dev/core/src/com/google/gwt/dev/GraphicsInitThread.java
 /trunk/dev/core/src/com/google/gwt/dev/PrecompileTaskArgProcessor.java
 /trunk/dev/core/src/com/google/gwt/dev/PrecompileTaskOptions.java
 /trunk/dev/core/src/com/google/gwt/dev/PrecompileTaskOptionsImpl.java
Modified:
 /trunk/dev/core/src/com/google/gwt/dev/AnalyzeModule.java
 /trunk/dev/core/src/com/google/gwt/dev/CompileOnePerm.java
 /trunk/dev/core/src/com/google/gwt/dev/CompilePerms.java
 /trunk/dev/core/src/com/google/gwt/dev/Compiler.java
 /trunk/dev/core/src/com/google/gwt/dev/CompilerOptions.java
 /trunk/dev/core/src/com/google/gwt/dev/DevModeBase.java
 /trunk/dev/core/src/com/google/gwt/dev/GWTCompiler.java
 /trunk/dev/core/src/com/google/gwt/dev/LegacyCompilerOptions.java
 /trunk/dev/core/src/com/google/gwt/dev/Link.java
 /trunk/dev/core/src/com/google/gwt/dev/PrecompilationResult.java
 /trunk/dev/core/src/com/google/gwt/dev/Precompile.java
 /trunk/dev/core/src/com/google/gwt/dev/PrecompileOnePerm.java
/trunk/dev/core/src/com/google/gwt/dev/util/log/speedtracer/CompilerEventType.java

=======================================
--- /dev/null
+++ /trunk/dev/core/src/com/google/gwt/dev/GraphicsInitThread.java Thu May 26 07:33:13 2011
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2011 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.dev;
+
+import com.google.gwt.dev.util.log.speedtracer.CompilerEventType;
+import com.google.gwt.dev.util.log.speedtracer.SpeedTracerLogger;
+
+import java.awt.GraphicsEnvironment;
+
+/**
+ * Creates a Graphics2D context in a thread in order to go ahead and get first
+ * time initialization out of the way. Delays ranging from 200ms to 6s have
+ * been observed when initializing the library.
+ */
+class GraphicsInitThread extends Thread {
+  public GraphicsInitThread() {
+ // We don't care if the program finishes before the initialization ends.
+    setDaemon(true);
+  }
+
+  @Override
+  public void run() {
+    SpeedTracerLogger.Event createGraphicsEvent =
+ SpeedTracerLogger.start(CompilerEventType.GRAPHICS_INIT, "java.awt.headless", System
+            .getProperty("java.awt.headless"));
+    GraphicsEnvironment.getLocalGraphicsEnvironment();
+    createGraphicsEvent.end();
+  }
+}
=======================================
--- /dev/null
+++ /trunk/dev/core/src/com/google/gwt/dev/PrecompileTaskArgProcessor.java Thu May 26 07:33:13 2011
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2011 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package com.google.gwt.dev;
+
+import com.google.gwt.dev.util.arg.ArgHandlerCompileReport;
+import com.google.gwt.dev.util.arg.ArgHandlerCompilerMetrics;
+import com.google.gwt.dev.util.arg.ArgHandlerDisableAggressiveOptimization;
+import com.google.gwt.dev.util.arg.ArgHandlerDisableCastChecking;
+import com.google.gwt.dev.util.arg.ArgHandlerDisableClassMetadata;
+import com.google.gwt.dev.util.arg.ArgHandlerDisableGeneratingOnShards;
+import com.google.gwt.dev.util.arg.ArgHandlerDisableRunAsync;
+import com.google.gwt.dev.util.arg.ArgHandlerDisableUpdateCheck;
+import com.google.gwt.dev.util.arg.ArgHandlerDraftCompile;
+import com.google.gwt.dev.util.arg.ArgHandlerDumpSignatures;
+import com.google.gwt.dev.util.arg.ArgHandlerEnableAssertions;
+import com.google.gwt.dev.util.arg.ArgHandlerGenDir;
+import com.google.gwt.dev.util.arg.ArgHandlerMaxPermsPerPrecompile;
+import com.google.gwt.dev.util.arg.ArgHandlerOptimize;
+import com.google.gwt.dev.util.arg.ArgHandlerScriptStyle;
+import com.google.gwt.dev.util.arg.ArgHandlerSoyc;
+import com.google.gwt.dev.util.arg.ArgHandlerSoycDetailed;
+import com.google.gwt.dev.util.arg.ArgHandlerStrict;
+import com.google.gwt.dev.util.arg.ArgHandlerValidateOnlyFlag;
+
+class PrecompileTaskArgProcessor extends CompileArgProcessor {
+  public PrecompileTaskArgProcessor(PrecompileTaskOptions options) {
+    super(options);
+    registerHandler(new ArgHandlerGenDir(options));
+    registerHandler(new ArgHandlerScriptStyle(options));
+    registerHandler(new ArgHandlerEnableAssertions(options));
+    registerHandler(new ArgHandlerDisableGeneratingOnShards(options));
+    registerHandler(new ArgHandlerDisableAggressiveOptimization(options));
+    registerHandler(new ArgHandlerDisableClassMetadata(options));
+    registerHandler(new ArgHandlerDisableCastChecking(options));
+    registerHandler(new ArgHandlerValidateOnlyFlag(options));
+    registerHandler(new ArgHandlerDisableRunAsync(options));
+    registerHandler(new ArgHandlerDraftCompile(options));
+    registerHandler(new ArgHandlerDisableUpdateCheck(options));
+    registerHandler(new ArgHandlerDumpSignatures());
+    registerHandler(new ArgHandlerMaxPermsPerPrecompile(options));
+    registerHandler(new ArgHandlerOptimize(options));
+    registerHandler(new ArgHandlerCompileReport(options));
+    registerHandler(new ArgHandlerSoyc(options));
+    registerHandler(new ArgHandlerSoycDetailed(options));
+    registerHandler(new ArgHandlerStrict(options));
+    registerHandler(new ArgHandlerCompilerMetrics(options));
+  }
+
+  @Override
+  protected String getName() {
+    return Precompile.class.getName();
+  }
+}
=======================================
--- /dev/null
+++ /trunk/dev/core/src/com/google/gwt/dev/PrecompileTaskOptions.java Thu May 26 07:33:13 2011
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2011 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.dev;
+
+import com.google.gwt.dev.jjs.JJSOptions;
+import com.google.gwt.dev.util.arg.OptionDisableUpdateCheck;
+import com.google.gwt.dev.util.arg.OptionEnableGeneratingOnShards;
+import com.google.gwt.dev.util.arg.OptionGenDir;
+import com.google.gwt.dev.util.arg.OptionMaxPermsPerPrecompile;
+import com.google.gwt.dev.util.arg.OptionValidateOnly;
+
+/**
+ * The set of options for the Precompiler.
+ */
+public interface PrecompileTaskOptions extends JJSOptions, CompileTaskOptions, OptionGenDir, + OptionValidateOnly, OptionDisableUpdateCheck, OptionEnableGeneratingOnShards,
+    OptionMaxPermsPerPrecompile, PrecompilationResult {
+}
=======================================
--- /dev/null
+++ /trunk/dev/core/src/com/google/gwt/dev/PrecompileTaskOptionsImpl.java Thu May 26 07:33:13 2011
@@ -0,0 +1,234 @@
+/*
+ * Copyright 2011 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package com.google.gwt.dev;
+
+import com.google.gwt.dev.jjs.JJSOptionsImpl;
+import com.google.gwt.dev.jjs.JsOutputOption;
+
+import java.io.File;
+
+class PrecompileTaskOptionsImpl extends CompileTaskOptionsImpl implements PrecompileTaskOptions {
+  private boolean disableUpdateCheck;
+  private boolean enableGeneratingOnShards = true;
+  private File genDir;
+  private final JJSOptionsImpl jjsOptions = new JJSOptionsImpl();
+  private int maxPermsPerPrecompile;
+  private boolean validateOnly;
+
+  public PrecompileTaskOptionsImpl() {
+  }
+
+  public PrecompileTaskOptionsImpl(PrecompileTaskOptions other) {
+    copyFrom(other);
+  }
+
+  public void copyFrom(PrecompileTaskOptions other) {
+    super.copyFrom(other);
+
+    jjsOptions.copyFrom(other);
+
+    setDisableUpdateCheck(other.isUpdateCheckDisabled());
+    setGenDir(other.getGenDir());
+    setMaxPermsPerPrecompile(other.getMaxPermsPerPrecompile());
+    setValidateOnly(other.isValidateOnly());
+    setEnabledGeneratingOnShards(other.isEnabledGeneratingOnShards());
+  }
+
+  @Override
+  public File getGenDir() {
+    return genDir;
+  }
+
+  @Override
+  public int getMaxPermsPerPrecompile() {
+    return maxPermsPerPrecompile;
+  }
+
+  @Override
+  public int getOptimizationLevel() {
+    return jjsOptions.getOptimizationLevel();
+  }
+
+  @Override
+  public JsOutputOption getOutput() {
+    return jjsOptions.getOutput();
+  }
+
+  @Override
+  public boolean isAggressivelyOptimize() {
+    return jjsOptions.isAggressivelyOptimize();
+  }
+
+  @Override
+  public boolean isCastCheckingDisabled() {
+    return jjsOptions.isCastCheckingDisabled();
+  }
+
+  @Override
+  public boolean isClassMetadataDisabled() {
+    return jjsOptions.isClassMetadataDisabled();
+  }
+
+  @Override
+  public boolean isCompilerMetricsEnabled() {
+    return jjsOptions.isCompilerMetricsEnabled();
+  }
+
+  public boolean isDraftCompile() {
+    return jjsOptions.isDraftCompile();
+  }
+
+  @Override
+  public boolean isEnableAssertions() {
+    return jjsOptions.isEnableAssertions();
+  }
+
+  @Override
+  public boolean isEnabledGeneratingOnShards() {
+    return enableGeneratingOnShards;
+  }
+
+  @Override
+  public boolean isGeneratorResultCachingEnabled() {
+    return jjsOptions.isGeneratorResultCachingEnabled();
+  }
+
+  @Override
+  public boolean isOptimizePrecompile() {
+    return jjsOptions.isOptimizePrecompile();
+  }
+
+  @Override
+  public boolean isRunAsyncEnabled() {
+    return jjsOptions.isRunAsyncEnabled();
+  }
+
+  @Override
+  public boolean isSoycEnabled() {
+    return jjsOptions.isSoycEnabled();
+  }
+
+  @Override
+  public boolean isSoycExtra() {
+    return jjsOptions.isSoycExtra();
+  }
+
+  @Override
+  public boolean isStrict() {
+    return jjsOptions.isStrict();
+  }
+
+  @Override
+  public boolean isUpdateCheckDisabled() {
+    return disableUpdateCheck;
+  }
+
+  @Override
+  public boolean isValidateOnly() {
+    return validateOnly;
+  }
+
+  @Override
+  public void setAggressivelyOptimize(boolean aggressivelyOptimize) {
+    jjsOptions.setAggressivelyOptimize(aggressivelyOptimize);
+  }
+
+  @Override
+  public void setCastCheckingDisabled(boolean disabled) {
+    jjsOptions.setCastCheckingDisabled(disabled);
+  }
+
+  @Override
+  public void setClassMetadataDisabled(boolean disabled) {
+    jjsOptions.setClassMetadataDisabled(disabled);
+  }
+
+  @Override
+  public void setCompilerMetricsEnabled(boolean enabled) {
+    jjsOptions.setCompilerMetricsEnabled(enabled);
+  }
+
+  @Override
+  public void setDisableUpdateCheck(boolean disabled) {
+    disableUpdateCheck = disabled;
+  }
+
+  @Override
+  public void setEnableAssertions(boolean enableAssertions) {
+    jjsOptions.setEnableAssertions(enableAssertions);
+  }
+
+  @Override
+  public void setEnabledGeneratingOnShards(boolean enabled) {
+    enableGeneratingOnShards = enabled;
+  }
+
+  @Override
+  public void setGenDir(File genDir) {
+    this.genDir = genDir;
+  }
+
+  @Override
+  public void setGeneratorResultCachingEnabled(boolean enabled) {
+    jjsOptions.setGeneratorResultCachingEnabled(enabled);
+  }
+
+  @Override
+  public void setMaxPermsPerPrecompile(int maxPermsPerPrecompile) {
+    this.maxPermsPerPrecompile = maxPermsPerPrecompile;
+  }
+
+  @Override
+  public void setOptimizationLevel(int level) {
+    jjsOptions.setOptimizationLevel(level);
+  }
+
+  @Override
+  public void setOptimizePrecompile(boolean optimize) {
+    jjsOptions.setOptimizePrecompile(optimize);
+  }
+
+  @Override
+  public void setOutput(JsOutputOption output) {
+    jjsOptions.setOutput(output);
+  }
+
+  @Override
+  public void setRunAsyncEnabled(boolean enabled) {
+    jjsOptions.setRunAsyncEnabled(enabled);
+  }
+
+  @Override
+  public void setSoycEnabled(boolean enabled) {
+    jjsOptions.setSoycEnabled(enabled);
+  }
+
+  @Override
+  public void setSoycExtra(boolean soycExtra) {
+    jjsOptions.setSoycExtra(soycExtra);
+  }
+
+  @Override
+  public void setStrict(boolean strict) {
+    jjsOptions.setStrict(strict);
+  }
+
+  @Override
+  public void setValidateOnly(boolean validateOnly) {
+    this.validateOnly = validateOnly;
+  }
+}
=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/AnalyzeModule.java Tue Apr 26 08:02:24 2011 +++ /trunk/dev/core/src/com/google/gwt/dev/AnalyzeModule.java Thu May 26 07:33:13 2011
@@ -18,8 +18,6 @@
 import com.google.gwt.core.ext.TreeLogger;
 import com.google.gwt.core.ext.UnableToCompleteException;
 import com.google.gwt.dev.CompileTaskRunner.CompileTask;
-import com.google.gwt.dev.Precompile.PrecompileOptions;
-import com.google.gwt.dev.Precompile.PrecompileOptionsImpl;
 import com.google.gwt.dev.cfg.ModuleDef;
 import com.google.gwt.dev.cfg.ModuleDefLoader;
 import com.google.gwt.dev.cfg.PropertyPermutations;
@@ -34,7 +32,7 @@

 /**
* Performs the first phase of compilation, generating the set of permutations
- * to compile, and a ready-to-compile AST.
+ * to compile and writing it out to a file.
  */
 public class AnalyzeModule {

@@ -43,7 +41,7 @@
    * module analysis.
    */
   @SuppressWarnings("serial")
- static class AnalyzeModuleOptionsImpl extends PrecompileOptionsImpl implements + static class AnalyzeModuleOptionsImpl extends PrecompileTaskOptionsImpl implements
       AnalyzeModuleOptions {

     public AnalyzeModuleOptionsImpl() {
@@ -58,7 +56,7 @@
     }
   }

-  static class ArgProcessor extends Precompile.ArgProcessor {
+  static class ArgProcessor extends PrecompileTaskArgProcessor {
     public ArgProcessor(AnalyzeModuleOptions options) {
       super(options);
     }
@@ -69,7 +67,7 @@
     }
   }

- private interface AnalyzeModuleOptions extends Precompile.PrecompileOptions {
+  private interface AnalyzeModuleOptions extends PrecompileTaskOptions {
     // This interface is here to support future options.
   }

@@ -97,6 +95,7 @@
     final AnalyzeModuleOptions options = new AnalyzeModuleOptionsImpl();
     if (new ArgProcessor(options).processArgs(args)) {
       CompileTask task = new CompileTask() {
+        @Override
public boolean run(TreeLogger logger) throws UnableToCompleteException {
           return new AnalyzeModule(options).run(logger);
         }
@@ -112,13 +111,13 @@
* Silently returns <code>null</code> if the file is not found or another problem is
    * encountered reading the file.
    */
-  public static PrecompileOptions readAnalyzeModuleOptionsFile(
+  public static PrecompileTaskOptions readAnalyzeModuleOptionsFile(
       TreeLogger logger, File compilerWorkDir) {
File optionsFile = new File(compilerWorkDir, AnalyzeModule.OPTIONS_FILENAME);
-    PrecompileOptions precompilationOptions = null;
+    PrecompileTaskOptions precompilationOptions = null;
     try {
       precompilationOptions = Util.readFileAsObject(optionsFile,
-          PrecompileOptions.class);
+          PrecompileTaskOptions.class);
     } catch (IOException e) {
       if (logger.isLoggable(TreeLogger.DEBUG)) {
         logger.log(TreeLogger.DEBUG, "Failed to read " + optionsFile
=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/CompileOnePerm.java Thu Apr 28 12:40:31 2011 +++ /trunk/dev/core/src/com/google/gwt/dev/CompileOnePerm.java Thu May 26 07:33:13 2011
@@ -18,7 +18,6 @@
 import com.google.gwt.core.ext.TreeLogger;
 import com.google.gwt.core.ext.UnableToCompleteException;
 import com.google.gwt.dev.CompileTaskRunner.CompileTask;
-import com.google.gwt.dev.Precompile.PrecompileOptions;
 import com.google.gwt.dev.cfg.ModuleDef;
 import com.google.gwt.dev.cfg.ModuleDefLoader;
 import com.google.gwt.dev.jjs.PermutationResult;
@@ -38,10 +37,10 @@
   /**
    * Options for CompilePerm.
    */
- public interface CompileOnePermOptions extends Precompile.PrecompileOptions, OptionPerm { + public interface CompileOnePermOptions extends PrecompileTaskOptions, OptionPerm {
   }

-  static class ArgProcessor extends Precompile.ArgProcessor {
+  static class ArgProcessor extends PrecompileTaskArgProcessor {
     public ArgProcessor(CompileOnePermOptions options) {
       super(options);
       registerHandler(new ArgHandlerPerm(options));
@@ -56,7 +55,7 @@
   /**
    * Concrete class to implement compiler perm options.
    */
- static class CompileOnePermOptionsImpl extends Precompile.PrecompileOptionsImpl
+  static class CompileOnePermOptionsImpl extends PrecompileTaskOptionsImpl
       implements CompileOnePermOptions {

     private int permToCompile = -1;
@@ -73,10 +72,12 @@
       setPermToCompile(other.getPermToCompile());
     }

+    @Override
     public int getPermToCompile() {
       return permToCompile;
     }

+    @Override
     public void setPermToCompile(int permToCompile) {
       this.permToCompile = permToCompile;
     }
@@ -93,6 +94,7 @@
     final CompileOnePermOptions options = new CompileOnePermOptionsImpl();
     if (new ArgProcessor(options).processArgs(args)) {
       CompileTask task = new CompileTask() {
+        @Override
public boolean run(TreeLogger logger) throws UnableToCompleteException {
           return new CompileOnePerm(options).run(logger);
         }
@@ -127,7 +129,7 @@
    * @return <code>true</code> if compilation succeeds
    */
   private static boolean compileSpecificPermutation(TreeLogger logger,
- String moduleName, PrecompileOptions precompilationOptions, int permId, + String moduleName, PrecompileTaskOptions precompilationOptions, int permId,
       File compilerWorkDir) throws UnableToCompleteException {

ModuleDef module = ModuleDefLoader.loadFromClassPath(logger, moduleName);
@@ -176,7 +178,7 @@

// Look for the sentinel file that indicates that this compilation already
     // has a precompilation result from a previous Precompile step.
- PrecompileOptions precompilationOptions = AnalyzeModule.readAnalyzeModuleOptionsFile( + PrecompileTaskOptions precompilationOptions = AnalyzeModule.readAnalyzeModuleOptionsFile(
         logger, compilerWorkDir);
     if (precompilationOptions == null) {
       logger.log(TreeLogger.ERROR, "Could not read file "
=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/CompilePerms.java Thu Apr 28 12:40:31 2011 +++ /trunk/dev/core/src/com/google/gwt/dev/CompilePerms.java Thu May 26 07:33:13 2011
@@ -18,7 +18,6 @@
 import com.google.gwt.core.ext.TreeLogger;
 import com.google.gwt.core.ext.UnableToCompleteException;
 import com.google.gwt.dev.CompileTaskRunner.CompileTask;
-import com.google.gwt.dev.Precompile.PrecompileOptions;
 import com.google.gwt.dev.cfg.ModuleDef;
 import com.google.gwt.dev.cfg.ModuleDefLoader;
 import com.google.gwt.dev.cfg.PropertyPermutations;
@@ -47,7 +46,7 @@
   /**
    * Options for CompilePerms.
    */
- public interface CompilePermsOptions extends Precompile.PrecompileOptions,
+  public interface CompilePermsOptions extends PrecompileTaskOptions,
       OptionLocalWorkers, OptionPerms {
   }

@@ -128,7 +127,7 @@
     }
   }

-  static class ArgProcessor extends Precompile.ArgProcessor {
+  static class ArgProcessor extends PrecompileTaskArgProcessor {
     public ArgProcessor(CompilePermsOptions options) {
       super(options);
       registerHandler(new ArgHandlerPerms(options));
@@ -144,7 +143,7 @@
   /**
    * Concrete class to implement compiler perm options.
    */
- static class CompilePermsOptionsImpl extends Precompile.PrecompileOptionsImpl implements + static class CompilePermsOptionsImpl extends PrecompileTaskOptionsImpl implements
       CompilePermsOptions {

     private int localWorkers;
@@ -163,18 +162,22 @@
       setLocalWorkers(other.getLocalWorkers());
     }

+    @Override
     public int getLocalWorkers() {
       return localWorkers;
     }

+    @Override
     public int[] getPermsToCompile() {
       return (permsToCompile == null) ? null : permsToCompile.clone();
     }

+    @Override
     public void setLocalWorkers(int localWorkers) {
       this.localWorkers = localWorkers;
     }

+    @Override
     public void setPermsToCompile(int[] permsToCompile) {
       this.permsToCompile = (permsToCompile == null) ? null
           : permsToCompile.clone();
@@ -217,6 +220,7 @@
     final CompilePermsOptions options = new CompilePermsOptionsImpl();
     if (new ArgProcessor(options).processArgs(args)) {
       CompileTask task = new CompileTask() {
+        @Override
public boolean run(TreeLogger logger) throws UnableToCompleteException {
           return new CompilePerms(options).run(logger);
         }
@@ -307,8 +311,8 @@
PrecompilationResult precompileResults = readPrecompilationFile(logger,
           precompilationFile);

-      if (precompileResults instanceof PrecompileOptions) {
- PrecompileOptions precompilationOptions = (PrecompileOptions) precompileResults;
+      if (precompileResults instanceof PrecompileTaskOptions) {
+ PrecompileTaskOptions precompilationOptions = (PrecompileTaskOptions) precompileResults;
         if (!precompileAndCompile(logger, moduleName, compilerWorkDir,
             precompilationOptions)) {
           return false;
@@ -333,7 +337,7 @@
* Run both a precompile and a compile with the given precompilation options.
    */
private boolean precompileAndCompile(TreeLogger logger, String moduleName,
-      File compilerWorkDir, PrecompileOptions precompilationOptions)
+      File compilerWorkDir, PrecompileTaskOptions precompilationOptions)
       throws UnableToCompleteException {
     precompilationOptions.setOptimizePrecompile(false);
     precompilationOptions.setGenDir(null);
=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/Compiler.java Tue May 24 10:43:59 2011 +++ /trunk/dev/core/src/com/google/gwt/dev/Compiler.java Thu May 26 07:33:13 2011
@@ -20,7 +20,6 @@
 import com.google.gwt.core.ext.linker.ArtifactSet;
 import com.google.gwt.dev.CompileTaskRunner.CompileTask;
 import com.google.gwt.dev.Link.LinkOptionsImpl;
-import com.google.gwt.dev.Precompile.PrecompileOptionsImpl;
 import com.google.gwt.dev.cfg.ModuleDef;
 import com.google.gwt.dev.cfg.ModuleDefLoader;
 import com.google.gwt.dev.javac.CompilationStateBuilder;
@@ -51,7 +50,7 @@
  */
 public class Compiler {

-  static class ArgProcessor extends Precompile.ArgProcessor {
+  static class ArgProcessor extends PrecompileTaskArgProcessor {
     public ArgProcessor(CompilerOptions options) {
       super(options);

@@ -71,7 +70,7 @@
     }
   }

-  static class CompilerOptionsImpl extends PrecompileOptionsImpl implements
+ static class CompilerOptionsImpl extends PrecompileTaskOptionsImpl implements
       CompilerOptions {

     private LinkOptionsImpl linkOptions = new LinkOptionsImpl();
@@ -90,44 +89,54 @@
       localWorkers = other.getLocalWorkers();
     }

+    @Override
     public File getDeployDir() {
       return linkOptions.getDeployDir();
     }

+    @Override
     public File getExtraDir() {
       return linkOptions.getExtraDir();
     }

+    @Override
     public int getLocalWorkers() {
       return localWorkers;
     }

+    @Override
     @Deprecated
     public File getOutDir() {
       return linkOptions.getOutDir();
     }

+    @Override
     public File getWarDir() {
       return linkOptions.getWarDir();
     }

+    @Override
     public void setDeployDir(File extraDir) {
       linkOptions.setDeployDir(extraDir);
     }

+    @Override
     public void setExtraDir(File extraDir) {
       linkOptions.setExtraDir(extraDir);
     }

+    @Override
     public void setLocalWorkers(int localWorkers) {
       this.localWorkers = localWorkers;
     }

+    @Override
     @Deprecated
     public void setOutDir(File outDir) {
       linkOptions.setOutDir(outDir);
     }

+    @Override
     public void setWarDir(File outDir) {
       linkOptions.setWarDir(outDir);
     }
@@ -151,6 +160,7 @@
     final CompilerOptions options = new CompilerOptionsImpl();
     if (new ArgProcessor(options).processArgs(args)) {
       CompileTask task = new CompileTask() {
+        @Override
public boolean run(TreeLogger logger) throws UnableToCompleteException {
           FutureTask<UpdateResult> updater = null;
           if (!options.isUpdateCheckDisabled()) {
=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/CompilerOptions.java Tue Jul 28 12:15:21 2009 +++ /trunk/dev/core/src/com/google/gwt/dev/CompilerOptions.java Thu May 26 07:33:13 2011
@@ -16,12 +16,11 @@
 package com.google.gwt.dev;

 import com.google.gwt.dev.Link.LinkOptions;
-import com.google.gwt.dev.Precompile.PrecompileOptions;
 import com.google.gwt.dev.util.arg.OptionLocalWorkers;

 /**
  * The complete set of options for the GWT compiler.
  */
-public interface CompilerOptions extends PrecompileOptions, LinkOptions,
+public interface CompilerOptions extends PrecompileTaskOptions, LinkOptions,
     OptionLocalWorkers {
 }
=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/DevModeBase.java Thu Apr 28 09:54:26 2011 +++ /trunk/dev/core/src/com/google/gwt/dev/DevModeBase.java Thu May 26 07:33:13 2011
@@ -19,7 +19,6 @@
 import com.google.gwt.core.ext.UnableToCompleteException;
 import com.google.gwt.core.ext.linker.ArtifactSet;
 import com.google.gwt.core.ext.linker.impl.StandardLinkerContext;
-import com.google.gwt.dev.Precompile.PrecompileOptionsImpl;
 import com.google.gwt.dev.cfg.ModuleDef;
 import com.google.gwt.dev.cfg.ModuleDefLoader;
 import com.google.gwt.dev.javac.CompilationState;
@@ -462,7 +461,7 @@
    * Concrete class to implement all hosted mode base options.
    */
   @SuppressWarnings("serial")
- protected static class HostedModeBaseOptionsImpl extends PrecompileOptionsImpl implements + protected static class HostedModeBaseOptionsImpl extends PrecompileTaskOptionsImpl implements
       HostedModeBaseOptions {

     private String bindAddress;
=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/GWTCompiler.java Tue Apr 26 08:02:24 2011 +++ /trunk/dev/core/src/com/google/gwt/dev/GWTCompiler.java Thu May 26 07:33:13 2011
@@ -19,7 +19,6 @@
 import com.google.gwt.core.ext.UnableToCompleteException;
 import com.google.gwt.core.ext.linker.ArtifactSet;
 import com.google.gwt.dev.CompileTaskRunner.CompileTask;
-import com.google.gwt.dev.Precompile.PrecompileOptionsImpl;
 import com.google.gwt.dev.cfg.ModuleDef;
 import com.google.gwt.dev.cfg.ModuleDefLoader;
 import com.google.gwt.dev.jjs.JJSOptions;
@@ -50,7 +49,7 @@
 @Deprecated
 public class GWTCompiler {

-  static final class ArgProcessor extends Precompile.ArgProcessor {
+  static final class ArgProcessor extends PrecompileTaskArgProcessor {
     public ArgProcessor(LegacyCompilerOptions options) {
       super(options);

@@ -71,7 +70,7 @@
   /**
    * Simple implementation of {@link LegacyCompilerOptions}.
    */
-  public static class GWTCompilerOptionsImpl extends PrecompileOptionsImpl
+ public static class GWTCompilerOptionsImpl extends PrecompileTaskOptionsImpl
       implements LegacyCompilerOptions {

     private int localWorkers;
@@ -90,18 +89,22 @@
       setOutDir(other.getOutDir());
     }

+    @Override
     public int getLocalWorkers() {
       return localWorkers;
     }

+    @Override
     public File getOutDir() {
       return outDir;
     }

+    @Override
     public void setLocalWorkers(int localWorkers) {
       this.localWorkers = localWorkers;
     }

+    @Override
     public void setOutDir(File outDir) {
       this.outDir = outDir;
     }
@@ -122,6 +125,7 @@
     boolean success = false;
     if (new ArgProcessor(options).processArgs(args)) {
       CompileTask task = new CompileTask() {
+        @Override
public boolean run(TreeLogger logger) throws UnableToCompleteException {
           FutureTask<UpdateResult> updater = null;
           if (!options.isUpdateCheckDisabled()) {
=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/LegacyCompilerOptions.java Tue Jul 28 12:15:21 2009 +++ /trunk/dev/core/src/com/google/gwt/dev/LegacyCompilerOptions.java Thu May 26 07:33:13 2011
@@ -16,13 +16,12 @@
 package com.google.gwt.dev;

 import com.google.gwt.dev.Link.LegacyLinkOptions;
-import com.google.gwt.dev.Precompile.PrecompileOptions;
 import com.google.gwt.dev.util.arg.OptionLocalWorkers;

 /**
  * The complete set of options for the GWT compiler.
  */
 @Deprecated
-public interface LegacyCompilerOptions extends PrecompileOptions,
+public interface LegacyCompilerOptions extends PrecompileTaskOptions,
     LegacyLinkOptions, OptionLocalWorkers {
 }
=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/Link.java Tue Apr 26 08:02:24 2011 +++ /trunk/dev/core/src/com/google/gwt/dev/Link.java Thu May 26 07:33:13 2011
@@ -27,7 +27,6 @@
 import com.google.gwt.core.ext.linker.impl.StandardCompilationResult;
 import com.google.gwt.core.ext.linker.impl.StandardLinkerContext;
 import com.google.gwt.dev.CompileTaskRunner.CompileTask;
-import com.google.gwt.dev.Precompile.PrecompileOptions;
 import com.google.gwt.dev.cfg.BindingProperty;
 import com.google.gwt.dev.cfg.ModuleDef;
 import com.google.gwt.dev.cfg.ModuleDefLoader;
@@ -128,37 +127,45 @@
       setOutDir(other.getOutDir());
     }

+    @Override
     public File getDeployDir() {
       return (deployDir == null) ? new File(warDir, "WEB-INF/deploy")
           : deployDir;
     }

+    @Override
     public File getExtraDir() {
       return extraDir;
     }

+    @Override
     @Deprecated
     public File getOutDir() {
       return outDir;
     }

+    @Override
     public File getWarDir() {
       return warDir;
     }

+    @Override
     public void setDeployDir(File dir) {
       deployDir = dir;
     }

+    @Override
     public void setExtraDir(File extraDir) {
       this.extraDir = extraDir;
     }

+    @Override
     @Deprecated
     public void setOutDir(File outDir) {
       this.outDir = outDir;
     }

+    @Override
     public void setWarDir(File warDir) {
       this.warDir = warDir;
     }
@@ -213,7 +220,7 @@
   public static void linkOnePermutationToJar(TreeLogger logger,
       ModuleDef module, ArtifactSet generatedArtifacts,
       PermutationResult permResult, File jarFile,
- PrecompileOptions precompileOptions) throws UnableToCompleteException { + PrecompileTaskOptions precompileOptions) throws UnableToCompleteException {
     try {
       if (jarFile.exists()) {
         boolean success = jarFile.delete();
@@ -287,6 +294,7 @@

     if (new ArgProcessor(options).processArgs(args)) {
       CompileTask task = new CompileTask() {
+        @Override
public boolean run(TreeLogger logger) throws UnableToCompleteException {
           return new Link(options).run(logger);
         }
@@ -609,7 +617,7 @@
       File compilerWorkDir = options.getCompilerWorkDir(moduleName);

// Look for the compilerOptions file output from running AnalyzeModule - PrecompileOptions precompileOptions = AnalyzeModule.readAnalyzeModuleOptionsFile( + PrecompileTaskOptions precompileOptions = AnalyzeModule.readAnalyzeModuleOptionsFile(
           logger, compilerWorkDir);

       PrecompilationResult precompileResults = null;
@@ -623,8 +631,8 @@
         if (precompileResults == null) {
           return false;
         }
-        if (precompileResults instanceof PrecompileOptions) {
-          precompileOptions = (PrecompileOptions) precompileResults;
+        if (precompileResults instanceof PrecompileTaskOptions) {
+          precompileOptions = (PrecompileTaskOptions) precompileResults;
         }
       }

=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/PrecompilationResult.java Tue Oct 27 23:15:10 2009 +++ /trunk/dev/core/src/com/google/gwt/dev/PrecompilationResult.java Thu May 26 07:33:13 2011
@@ -20,7 +20,7 @@
 /**
* A result of running {@link Precompile}. It's either a {@link Precompilation}
  * or, if precompiles are going to happen on compile shards, an instance of
- * {@link com.google.gwt.dev.Precompile.PrecompileOptions}.
+ * {@link com.google.gwt.dev.PrecompileTaskOptions}.
  */
 public interface PrecompilationResult extends Serializable {
 }
=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/Precompile.java Tue Apr 26 08:02:24 2011 +++ /trunk/dev/core/src/com/google/gwt/dev/Precompile.java Thu May 26 07:33:13 2011
@@ -32,45 +32,18 @@
 import com.google.gwt.dev.javac.CompilationUnit;
 import com.google.gwt.dev.jjs.AbstractCompiler;
 import com.google.gwt.dev.jjs.JJSOptions;
-import com.google.gwt.dev.jjs.JJSOptionsImpl;
 import com.google.gwt.dev.jjs.JavaScriptCompiler;
-import com.google.gwt.dev.jjs.JsOutputOption;
 import com.google.gwt.dev.jjs.UnifiedAst;
 import com.google.gwt.dev.shell.CheckForUpdates;
 import com.google.gwt.dev.shell.CheckForUpdates.UpdateResult;
 import com.google.gwt.dev.util.CollapsedPropertyKey;
 import com.google.gwt.dev.util.Memory;
 import com.google.gwt.dev.util.Util;
-import com.google.gwt.dev.util.arg.ArgHandlerCompileReport;
-import com.google.gwt.dev.util.arg.ArgHandlerCompilerMetrics;
-import com.google.gwt.dev.util.arg.ArgHandlerDisableAggressiveOptimization;
-import com.google.gwt.dev.util.arg.ArgHandlerDisableCastChecking;
-import com.google.gwt.dev.util.arg.ArgHandlerDisableClassMetadata;
-import com.google.gwt.dev.util.arg.ArgHandlerDisableGeneratingOnShards;
-import com.google.gwt.dev.util.arg.ArgHandlerDisableRunAsync;
-import com.google.gwt.dev.util.arg.ArgHandlerDisableUpdateCheck;
-import com.google.gwt.dev.util.arg.ArgHandlerDraftCompile;
-import com.google.gwt.dev.util.arg.ArgHandlerDumpSignatures;
-import com.google.gwt.dev.util.arg.ArgHandlerEnableAssertions;
-import com.google.gwt.dev.util.arg.ArgHandlerGenDir;
-import com.google.gwt.dev.util.arg.ArgHandlerMaxPermsPerPrecompile;
-import com.google.gwt.dev.util.arg.ArgHandlerOptimize;
-import com.google.gwt.dev.util.arg.ArgHandlerScriptStyle;
-import com.google.gwt.dev.util.arg.ArgHandlerSoyc;
-import com.google.gwt.dev.util.arg.ArgHandlerSoycDetailed;
-import com.google.gwt.dev.util.arg.ArgHandlerStrict;
-import com.google.gwt.dev.util.arg.ArgHandlerValidateOnlyFlag;
-import com.google.gwt.dev.util.arg.OptionDisableUpdateCheck;
-import com.google.gwt.dev.util.arg.OptionEnableGeneratingOnShards;
-import com.google.gwt.dev.util.arg.OptionGenDir;
-import com.google.gwt.dev.util.arg.OptionMaxPermsPerPrecompile;
-import com.google.gwt.dev.util.arg.OptionValidateOnly;
 import com.google.gwt.dev.util.collect.Lists;
 import com.google.gwt.dev.util.log.speedtracer.CompilerEventType;
 import com.google.gwt.dev.util.log.speedtracer.SpeedTracerLogger;
 import com.google.gwt.dev.util.log.speedtracer.SpeedTracerLogger.Event;

-import java.awt.GraphicsEnvironment;
 import java.io.File;
 import java.lang.management.ManagementFactory;
 import java.util.ArrayList;
@@ -89,242 +62,6 @@
  * to compile, and a ready-to-compile AST.
  */
 public class Precompile {
-
-  /**
-   * The set of options for the precompiler.
-   */
- public interface PrecompileOptions extends JJSOptions, CompileTaskOptions, OptionGenDir, - OptionValidateOnly, OptionDisableUpdateCheck, OptionEnableGeneratingOnShards,
-      OptionMaxPermsPerPrecompile, PrecompilationResult {
-  }
-
-  static class ArgProcessor extends CompileArgProcessor {
-    public ArgProcessor(PrecompileOptions options) {
-      super(options);
-      registerHandler(new ArgHandlerGenDir(options));
-      registerHandler(new ArgHandlerScriptStyle(options));
-      registerHandler(new ArgHandlerEnableAssertions(options));
-      registerHandler(new ArgHandlerDisableGeneratingOnShards(options));
- registerHandler(new ArgHandlerDisableAggressiveOptimization(options));
-      registerHandler(new ArgHandlerDisableClassMetadata(options));
-      registerHandler(new ArgHandlerDisableCastChecking(options));
-      registerHandler(new ArgHandlerValidateOnlyFlag(options));
-      registerHandler(new ArgHandlerDisableRunAsync(options));
-      registerHandler(new ArgHandlerDraftCompile(options));
-      registerHandler(new ArgHandlerDisableUpdateCheck(options));
-      registerHandler(new ArgHandlerDumpSignatures());
-      registerHandler(new ArgHandlerMaxPermsPerPrecompile(options));
-      registerHandler(new ArgHandlerOptimize(options));
-      registerHandler(new ArgHandlerCompileReport(options));
-      registerHandler(new ArgHandlerSoyc(options));
-      registerHandler(new ArgHandlerSoycDetailed(options));
-      registerHandler(new ArgHandlerStrict(options));
-      registerHandler(new ArgHandlerCompilerMetrics(options));
-    }
-
-    @Override
-    protected String getName() {
-      return Precompile.class.getName();
-    }
-  }
-
- static class PrecompileOptionsImpl extends CompileTaskOptionsImpl implements PrecompileOptions {
-    private boolean disableUpdateCheck;
-    private boolean enableGeneratingOnShards = true;
-    private File genDir;
-    private final JJSOptionsImpl jjsOptions = new JJSOptionsImpl();
-    private int maxPermsPerPrecompile;
-    private boolean validateOnly;
-
-    public PrecompileOptionsImpl() {
-    }
-
-    public PrecompileOptionsImpl(PrecompileOptions other) {
-      copyFrom(other);
-    }
-
-    public void copyFrom(PrecompileOptions other) {
-      super.copyFrom(other);
-
-      jjsOptions.copyFrom(other);
-
-      setDisableUpdateCheck(other.isUpdateCheckDisabled());
-      setGenDir(other.getGenDir());
-      setMaxPermsPerPrecompile(other.getMaxPermsPerPrecompile());
-      setValidateOnly(other.isValidateOnly());
-      setEnabledGeneratingOnShards(other.isEnabledGeneratingOnShards());
-    }
-
-    public File getGenDir() {
-      return genDir;
-    }
-
-    public int getMaxPermsPerPrecompile() {
-      return maxPermsPerPrecompile;
-    }
-
-    public int getOptimizationLevel() {
-      return jjsOptions.getOptimizationLevel();
-    }
-
-    public JsOutputOption getOutput() {
-      return jjsOptions.getOutput();
-    }
-
-    public boolean isAggressivelyOptimize() {
-      return jjsOptions.isAggressivelyOptimize();
-    }
-
-    public boolean isCastCheckingDisabled() {
-      return jjsOptions.isCastCheckingDisabled();
-    }
-
-    public boolean isClassMetadataDisabled() {
-      return jjsOptions.isClassMetadataDisabled();
-    }
-
-    public boolean isCompilerMetricsEnabled() {
-      return jjsOptions.isCompilerMetricsEnabled();
-    }
-
-    public boolean isDraftCompile() {
-      return jjsOptions.isDraftCompile();
-    }
-
-    public boolean isEnableAssertions() {
-      return jjsOptions.isEnableAssertions();
-    }
-
-    public boolean isEnabledGeneratingOnShards() {
-      return enableGeneratingOnShards;
-    }
-
-    public boolean isGeneratorResultCachingEnabled() {
-      return jjsOptions.isGeneratorResultCachingEnabled();
-    }
-
-    public boolean isOptimizePrecompile() {
-      return jjsOptions.isOptimizePrecompile();
-    }
-
-    public boolean isRunAsyncEnabled() {
-      return jjsOptions.isRunAsyncEnabled();
-    }
-
-    public boolean isSoycEnabled() {
-      return jjsOptions.isSoycEnabled();
-    }
-
-    public boolean isSoycExtra() {
-      return jjsOptions.isSoycExtra();
-    }
-
-    public boolean isStrict() {
-      return jjsOptions.isStrict();
-    }
-
-    public boolean isUpdateCheckDisabled() {
-      return disableUpdateCheck;
-    }
-
-    public boolean isValidateOnly() {
-      return validateOnly;
-    }
-
-    public void setAggressivelyOptimize(boolean aggressivelyOptimize) {
-      jjsOptions.setAggressivelyOptimize(aggressivelyOptimize);
-    }
-
-    public void setCastCheckingDisabled(boolean disabled) {
-      jjsOptions.setCastCheckingDisabled(disabled);
-    }
-
-    public void setClassMetadataDisabled(boolean disabled) {
-      jjsOptions.setClassMetadataDisabled(disabled);
-    }
-
-    public void setCompilerMetricsEnabled(boolean enabled) {
-      jjsOptions.setCompilerMetricsEnabled(enabled);
-    }
-
-    public void setDisableUpdateCheck(boolean disabled) {
-      disableUpdateCheck = disabled;
-    }
-
-    public void setEnableAssertions(boolean enableAssertions) {
-      jjsOptions.setEnableAssertions(enableAssertions);
-    }
-
-    public void setEnabledGeneratingOnShards(boolean enabled) {
-      enableGeneratingOnShards = enabled;
-    }
-
-    public void setGenDir(File genDir) {
-      this.genDir = genDir;
-    }
-
-    public void setGeneratorResultCachingEnabled(boolean enabled) {
-      jjsOptions.setGeneratorResultCachingEnabled(enabled);
-    }
-
-    public void setMaxPermsPerPrecompile(int maxPermsPerPrecompile) {
-      this.maxPermsPerPrecompile = maxPermsPerPrecompile;
-    }
-
-    public void setOptimizationLevel(int level) {
-      jjsOptions.setOptimizationLevel(level);
-    }
-
-    public void setOptimizePrecompile(boolean optimize) {
-      jjsOptions.setOptimizePrecompile(optimize);
-    }
-
-    public void setOutput(JsOutputOption output) {
-      jjsOptions.setOutput(output);
-    }
-
-    public void setRunAsyncEnabled(boolean enabled) {
-      jjsOptions.setRunAsyncEnabled(enabled);
-    }
-
-    public void setSoycEnabled(boolean enabled) {
-      jjsOptions.setSoycEnabled(enabled);
-    }
-
-    public void setSoycExtra(boolean soycExtra) {
-      jjsOptions.setSoycExtra(soycExtra);
-    }
-
-    public void setStrict(boolean strict) {
-      jjsOptions.setStrict(strict);
-    }
-
-    public void setValidateOnly(boolean validateOnly) {
-      this.validateOnly = validateOnly;
-    }
-  }
-
-  /**
- * Creates a Graphics2D context in a thread in order to go ahead and get first - * time initialization out of the way. Delays ranging from 200ms to 6s have
-   * been observed when initializing the library.
-   */
-  private static class GraphicsInitThread extends Thread {
-    public GraphicsInitThread() {
- // We don't care if the program finishes before the initialization ends.
-      setDaemon(true);
-    }
-
-    @Override
-    public void run() {
-      SpeedTracerLogger.Event createGraphicsEvent =
- SpeedTracerLogger.start(CompilerEventType.GRAPHICS_INIT, "java.awt.headless", System
-              .getProperty("java.awt.headless"));
-      GraphicsEnvironment.getLocalGraphicsEnvironment();
-      createGraphicsEvent.end();
-    }
-  };
-
   /**
    * The file name for the max number of permutations output as plain text.
    */
@@ -360,10 +97,11 @@
* shutdown AWT related threads, since the contract for their termination is
      * still implementation-dependent.
      */
-    final PrecompileOptions options = new PrecompileOptionsImpl();
+    final PrecompileTaskOptions options = new PrecompileTaskOptionsImpl();
     boolean success = false;
-    if (new ArgProcessor(options).processArgs(args)) {
+    if (new PrecompileTaskArgProcessor(options).processArgs(args)) {
       CompileTask task = new CompileTask() {
+        @Override
public boolean run(TreeLogger logger) throws UnableToCompleteException {
           FutureTask<UpdateResult> updater = null;
           if (!options.isUpdateCheckDisabled()) {
@@ -649,10 +387,10 @@
     }
   }

-  private final PrecompileOptionsImpl options;
-
-  public Precompile(PrecompileOptions options) {
-    this.options = new PrecompileOptionsImpl(options);
+  private final PrecompileTaskOptionsImpl options;
+
+  public Precompile(PrecompileTaskOptions options) {
+    this.options = new PrecompileTaskOptionsImpl(options);
   }

   public boolean run(TreeLogger logger) throws UnableToCompleteException {
=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/PrecompileOnePerm.java Tue Apr 26 08:02:24 2011 +++ /trunk/dev/core/src/com/google/gwt/dev/PrecompileOnePerm.java Thu May 26 07:33:13 2011
@@ -47,10 +47,10 @@
    * The set of options for the precompiler.
    */
   public interface PrecompileOnePermOptions extends
-      Precompile.PrecompileOptions, OptionPerm {
+      PrecompileTaskOptions, OptionPerm {
   }

-  static class ArgProcessor extends Precompile.ArgProcessor {
+  static class ArgProcessor extends PrecompileTaskArgProcessor {
     public ArgProcessor(PrecompileOnePermOptions options) {
       super(options);
       registerHandler(new ArgHandlerPerm(options));
@@ -64,7 +64,7 @@

   @SuppressWarnings("serial")
   static class PrecompileOnePermOptionsImpl extends
- Precompile.PrecompileOptionsImpl implements PrecompileOnePermOptions {
+      PrecompileTaskOptionsImpl implements PrecompileOnePermOptions {

     int permToCompile = -1;

@@ -80,10 +80,12 @@
       setPermToCompile(other.getPermToCompile());
     }

+    @Override
     public int getPermToCompile() {
       return permToCompile;
     }

+    @Override
     public void setPermToCompile(int permToCompile) {
       this.permToCompile = permToCompile;
     }
@@ -111,6 +113,7 @@
     boolean success = false;
     if (new ArgProcessor(options).processArgs(args)) {
       CompileTask task = new CompileTask() {
+        @Override
public boolean run(TreeLogger logger) throws UnableToCompleteException {
           FutureTask<UpdateResult> updater = null;
           if (!options.isUpdateCheckDisabled()) {
@@ -199,7 +202,7 @@
       return false;
     }

- Precompile.PrecompileOptions optionsFileData = AnalyzeModule.readAnalyzeModuleOptionsFile( + PrecompileTaskOptions optionsFileData = AnalyzeModule.readAnalyzeModuleOptionsFile(
         logger, compilerWorkDir);
     if (optionsFileData == null) {
       logger.log(TreeLogger.ERROR, "Couldn't find "
=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/util/log/speedtracer/CompilerEventType.java Tue Apr 19 07:13:00 2011 +++ /trunk/dev/core/src/com/google/gwt/dev/util/log/speedtracer/CompilerEventType.java Thu May 26 07:33:13 2011
@@ -69,7 +69,8 @@
   CREATE_UNIFIED_AST("CreateUnifiedAST", "BlueViolet"), //
   CHECK_FOR_ERRORS("CheckForErrors", "DimGrey"), //
   GRAPHICS_INIT("Graphics2D.createGraphics()", "Blue"), //
-  ANALYZE_MODULE("AnalyzeModule", "LightBlue"); //
+  ANALYZE_MODULE("AnalyzeModule", "LightBlue"), //
+  COMPILE_MODULE("CompileModule", "LightBlue"); //

   final String cssColor;
   final String name;

--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to