Shuffle startup ArgHandlers around so that options irrelevant to DevMode don't show up in its help page.

Patch by: bobv
Review by: jat

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@6642 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/dev/DevMode.java b/dev/core/src/com/google/gwt/dev/DevMode.java
index 6175e98..9e60e6b 100644
--- a/dev/core/src/com/google/gwt/dev/DevMode.java
+++ b/dev/core/src/com/google/gwt/dev/DevMode.java
@@ -33,7 +33,6 @@
 import com.google.gwt.dev.util.OutputFileSetOnDirectory;
 import com.google.gwt.dev.util.Util;
 import com.google.gwt.dev.util.arg.ArgHandlerExtraDir;
-import com.google.gwt.dev.util.arg.ArgHandlerLocalWorkers;
 import com.google.gwt.dev.util.arg.ArgHandlerModuleName;
 import com.google.gwt.dev.util.arg.ArgHandlerWarDir;
 import com.google.gwt.dev.util.arg.ArgHandlerWorkDirOptional;
@@ -51,8 +50,7 @@
  * this class is to be determined. Consider this class as having <b>no</b>
  * public API other than {@link #main(String[])}.
  */
-public class DevMode extends DevModeBase
-    implements RestartServerCallback {
+public class DevMode extends DevModeBase implements RestartServerCallback {
 
   /**
    * Handles the -server command line flag.
@@ -154,7 +152,6 @@
       registerHandler(new ArgHandlerWarDir(options));
       registerHandler(new ArgHandlerExtraDir(options));
       registerHandler(new ArgHandlerWorkDirOptional(options));
-      registerHandler(new ArgHandlerLocalWorkers(options));
       registerHandler(new ArgHandlerModuleName(options) {
         @Override
         public String getPurpose() {
@@ -169,8 +166,7 @@
     }
   }
 
-  interface HostedModeOptions extends HostedModeBaseOptions,
-      CompilerOptions {
+  interface HostedModeOptions extends HostedModeBaseOptions, CompilerOptions {
     ServletContainerLauncher getServletContainerLauncher();
 
     void setServletContainerLauncher(ServletContainerLauncher scl);
@@ -368,7 +364,8 @@
       servletValidator = ServletValidator.create(getTopLogger(), webXml);
     }
 
-    TreeLogger branch = getTopLogger().branch(TreeLogger.INFO, "Loading modules");
+    TreeLogger branch = getTopLogger().branch(TreeLogger.INFO,
+        "Loading modules");
     for (String moduleName : options.getModuleNames()) {
       TreeLogger moduleBranch = branch.branch(TreeLogger.INFO, moduleName);
       try {
@@ -460,7 +457,8 @@
     return module;
   }
 
-  protected void restartServer(TreeLogger logger) throws UnableToCompleteException {
+  protected void restartServer(TreeLogger logger)
+      throws UnableToCompleteException {
     server.refresh();
   }
 
diff --git a/dev/core/src/com/google/gwt/dev/DevModeBase.java b/dev/core/src/com/google/gwt/dev/DevModeBase.java
index 6c0ddeb..99e1a5d 100644
--- a/dev/core/src/com/google/gwt/dev/DevModeBase.java
+++ b/dev/core/src/com/google/gwt/dev/DevModeBase.java
@@ -38,14 +38,8 @@
 import com.google.gwt.dev.ui.DevModeUI.ModuleHandle;
 import com.google.gwt.dev.util.BrowserInfo;
 import com.google.gwt.dev.util.Util;
-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.ArgHandlerDraftCompile;
-import com.google.gwt.dev.util.arg.ArgHandlerEnableAssertions;
 import com.google.gwt.dev.util.arg.ArgHandlerGenDir;
 import com.google.gwt.dev.util.arg.ArgHandlerLogLevel;
-import com.google.gwt.dev.util.arg.ArgHandlerScriptStyle;
 import com.google.gwt.dev.util.arg.OptionGenDir;
 import com.google.gwt.dev.util.arg.OptionLogLevel;
 import com.google.gwt.util.tools.ArgHandlerFlag;
@@ -609,12 +603,6 @@
       registerHandler(new ArgHandlerLogDir(options));
       registerHandler(new ArgHandlerLogLevel(options));
       registerHandler(new ArgHandlerGenDir(options));
-      registerHandler(new ArgHandlerScriptStyle(options));
-      registerHandler(new ArgHandlerEnableAssertions(options));
-      registerHandler(new ArgHandlerDisableAggressiveOptimization(options));
-      registerHandler(new ArgHandlerDisableClassMetadata(options));
-      registerHandler(new ArgHandlerDisableCastChecking(options));
-      registerHandler(new ArgHandlerDraftCompile(options));
       registerHandler(new ArgHandlerPortHosted(options));
       registerHandler(new ArgHandlerRemoteUI(options));
     }
diff --git a/dev/core/test/com/google/gwt/dev/GWTShellTest.java b/dev/core/test/com/google/gwt/dev/GWTShellTest.java
index 29ab059..557189e 100644
--- a/dev/core/test/com/google/gwt/dev/GWTShellTest.java
+++ b/dev/core/test/com/google/gwt/dev/GWTShellTest.java
@@ -38,9 +38,8 @@
 
   public void testAllValidArgs() {
     assertProcessSuccess(argProcessor, "-port", "8080", "-whitelist", "white",
-        "-blacklist", "black", "-logLevel", "DEBUG", "-style", "PRETTY", "-ea",
-        "-XdisableAggressiveOptimization", "-noserver", "-out", "myWww",
-        "-gen", "myGen", "http://www.google.com/", "foo");
+        "-blacklist", "black", "-logLevel", "DEBUG", "-noserver", "-out",
+        "myWww", "-gen", "myGen", "http://www.google.com/", "foo");
 
     assertNotNull(BrowserWidgetHostChecker.matchWhitelisted("white"));
     assertNotNull(BrowserWidgetHostChecker.matchBlacklisted("black"));
@@ -65,9 +64,6 @@
     assertEquals(new File("myWww"), options.getOutDir());
 
     assertEquals(TreeLogger.DEBUG, options.getLogLevel());
-    assertEquals(JsOutputOption.PRETTY, options.getOutput());
-    assertTrue(options.isEnableAssertions());
-    assertFalse(options.isAggressivelyOptimize());
 
     assertEquals(8080, options.getPort());
     assertTrue(options.isNoServer());
diff --git a/dev/core/test/com/google/gwt/dev/HostedModeTest.java b/dev/core/test/com/google/gwt/dev/HostedModeTest.java
index 195e2d8..c1bbfc6 100644
--- a/dev/core/test/com/google/gwt/dev/HostedModeTest.java
+++ b/dev/core/test/com/google/gwt/dev/HostedModeTest.java
@@ -47,12 +47,10 @@
 
   public void testAllValidArgs() {
     assertProcessSuccess(argProcessor, "-port", "8080", "-whitelist", "white",
-        "-blacklist", "black", "-logLevel", "DEBUG", "-style", "PRETTY", "-ea",
-        "-XdisableAggressiveOptimization", "-noserver", "-server",
+        "-blacklist", "black", "-logLevel", "DEBUG", "-noserver", "-server",
         MySCL.class.getName(), "-gen", "myGen", "-war", "myWar", "-workDir",
-        "myWork", "-extra", "myExtra", "-localWorkers", "2", "-startupUrl",
-        "http://www.google.com/", "-startupUrl", "foo", "c.g.g.h.H",
-        "my.Module");
+        "myWork", "-extra", "myExtra", "-startupUrl", "http://www.google.com/",
+        "-startupUrl", "foo", "c.g.g.h.H", "my.Module");
 
     assertNotNull(BrowserWidgetHostChecker.matchWhitelisted("white"));
     assertNotNull(BrowserWidgetHostChecker.matchBlacklisted("black"));
@@ -79,11 +77,6 @@
     assertEquals(new File("myExtra"), options.getExtraDir());
 
     assertEquals(TreeLogger.DEBUG, options.getLogLevel());
-    assertEquals(JsOutputOption.PRETTY, options.getOutput());
-    assertTrue(options.isEnableAssertions());
-    assertFalse(options.isAggressivelyOptimize());
-
-    assertEquals(2, options.getLocalWorkers());
 
     assertEquals(8080, options.getPort());
     // False because -server overrides -noserver.
@@ -134,8 +127,6 @@
     assertFalse(options.isEnableAssertions());
     assertTrue(options.isAggressivelyOptimize());
 
-    assertEquals(1, options.getLocalWorkers());
-
     assertEquals(8888, options.getPort());
     assertFalse(options.isNoServer());
     assertNotNull(options.getServletContainerLauncher());
diff --git a/user/src/com/google/gwt/junit/JUnitShell.java b/user/src/com/google/gwt/junit/JUnitShell.java
index 3c61a6b..8e48b0b 100644
--- a/user/src/com/google/gwt/junit/JUnitShell.java
+++ b/user/src/com/google/gwt/junit/JUnitShell.java
@@ -28,7 +28,14 @@
 import com.google.gwt.dev.cfg.Property;
 import com.google.gwt.dev.javac.CompilationUnit;
 import com.google.gwt.dev.shell.CheckForUpdates;
+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.ArgHandlerDraftCompile;
+import com.google.gwt.dev.util.arg.ArgHandlerEnableAssertions;
+import com.google.gwt.dev.util.arg.ArgHandlerLocalWorkers;
 import com.google.gwt.dev.util.arg.ArgHandlerLogLevel;
+import com.google.gwt.dev.util.arg.ArgHandlerScriptStyle;
 import com.google.gwt.junit.client.GWTTestCase;
 import com.google.gwt.junit.client.TimeoutException;
 import com.google.gwt.junit.client.impl.JUnitResult;
@@ -104,6 +111,13 @@
 
     public ArgProcessor() {
       super(options, true, true);
+      registerHandler(new ArgHandlerScriptStyle(options));
+      registerHandler(new ArgHandlerEnableAssertions(options));
+      registerHandler(new ArgHandlerDisableAggressiveOptimization(options));
+      registerHandler(new ArgHandlerDisableClassMetadata(options));
+      registerHandler(new ArgHandlerDisableCastChecking(options));
+      registerHandler(new ArgHandlerDraftCompile(options));
+      registerHandler(new ArgHandlerLocalWorkers(options));
 
       // Override port to set auto by default.
       registerHandler(new ArgHandlerPort(options) {