The code splitter no longer pulls in extra class literal
creation code into the initial download.

Review by: scottb


git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@5819 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/CodeSplitter.java b/dev/core/src/com/google/gwt/dev/jjs/impl/CodeSplitter.java
index 214008f..8b8a4a1 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/CodeSplitter.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/CodeSplitter.java
@@ -551,14 +551,6 @@
     for (JMethod entryMethod : jprogram.entryMethods.get(splitPoint)) {
       cfa.traverseFrom(entryMethod);
     }
-    if (splitPoint == 0) {
-      /*
-       * Include class literal factories for simplicity. It is possible to move
-       * them out, if they are only needed by one fragment, but they are tiny,
-       * so it does not seem worth the complexity in the compiler.
-       */
-      cfa.traverseFromClassLiteralFactories();
-    }
   }
 
   private static <T> Set<T> union(Set<? extends T> set1, Set<? extends T> set2) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/ControlFlowAnalyzer.java b/dev/core/src/com/google/gwt/dev/jjs/impl/ControlFlowAnalyzer.java
index 5a2dbf2..76ce8f7 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/ControlFlowAnalyzer.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/ControlFlowAnalyzer.java
@@ -772,34 +772,6 @@
     rescuer.rescue(method);
   }
 
-  /**
-   * Trace all code needed by class literal constructor expressions except for
-   * the string literals they include. At the time of writing, these would
-   * include the factory methods for class literals.
-   */
-  public void traverseFromClassLiteralFactories() {
-    class ReplaceStringLiterals extends JModVisitor {
-      @Override
-      public void endVisit(JStringLiteral stringLiteral, Context ctx) {
-        ctx.replaceMe(program.getLiteralNull());
-      }
-    }
-
-    final JModVisitor stringLiteralReplacer = new ReplaceStringLiterals();
-    final CloneExpressionVisitor cloner = new CloneExpressionVisitor(program);
-
-    class ClassLitTraverser extends JVisitor {
-      @Override
-      public void endVisit(JClassLiteral classLiteral, Context ctx) {
-        JExpression initializer = classLiteral.getField().getInitializer();
-        JExpression initializerWithoutStrings = stringLiteralReplacer.accept(cloner.cloneExpression(initializer));
-        rescuer.accept(initializerWithoutStrings);
-      }
-    }
-
-    (new ClassLitTraverser()).accept(program);
-  }
-
   public void traverseFromLeftoversFragmentHasLoaded() {
     if (program.entryMethods.size() > 1) {
       traverseFrom(program.getIndexedMethod("AsyncFragmentLoader.browserLoaderLeftoversFragmentHasLoaded"));