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"));