Revision: 8701
Author: to...@google.com
Date: Thu Sep  2 07:29:17 2010
Log: Support adding code-gen/runtime related classes directly to the secondary JDT compilation for the GWT AST.

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

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

Modified:
 /trunk/dev/core/src/com/google/gwt/dev/jdt/BasicWebModeCompiler.java
 /trunk/dev/core/src/com/google/gwt/dev/jdt/WebModeCompilerFrontEnd.java
 /trunk/dev/core/src/com/google/gwt/dev/jjs/UnifiedAst.java

=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/jdt/BasicWebModeCompiler.java Wed Jul 28 11:12:18 2010 +++ /trunk/dev/core/src/com/google/gwt/dev/jdt/BasicWebModeCompiler.java Thu Sep 2 07:29:17 2010
@@ -30,6 +30,7 @@
 import org.eclipse.jdt.internal.compiler.env.ICompilationUnit;

 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
@@ -64,8 +65,8 @@
    * Build the initial set of compilation units.
    */
   public CompilationResults getCompilationUnitDeclarations(
-      TreeLogger logger, String[] seedTypeNames)
-      throws UnableToCompleteException {
+      TreeLogger logger, String[] seedTypeNames,
+ ICompilationUnit... additionalUnits) throws UnableToCompleteException {

     TypeOracle oracle = compilationState.getTypeOracle();
     Set<JClassType> intfTypes = oracle.getSingleJsoImplInterfaces();
@@ -80,7 +81,9 @@
     Set<CompilationUnit> alreadyAdded = new HashSet<CompilationUnit>();

     List<ICompilationUnit> icus = new ArrayList<ICompilationUnit>(
-        seedTypeNames.length + intfTypes.size());
+        seedTypeNames.length + intfTypes.size() + additionalUnits.length);
+
+    Collections.addAll(icus, additionalUnits);

     for (String seedTypeName : seedTypeNames) {
       CompilationUnit unit = getUnitForType(logger, classMapBySource,
=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/jdt/WebModeCompilerFrontEnd.java Thu Sep 2 05:59:40 2010 +++ /trunk/dev/core/src/com/google/gwt/dev/jdt/WebModeCompilerFrontEnd.java Thu Sep 2 07:29:17 2010
@@ -27,6 +27,7 @@
 import com.google.gwt.dev.util.log.speedtracer.SpeedTracerLogger.Event;

 import org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration;
+import org.eclipse.jdt.internal.compiler.env.ICompilationUnit;
 import org.eclipse.jdt.internal.compiler.lookup.MethodBinding;
 import org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding;
 import org.eclipse.jdt.internal.compiler.lookup.TypeBinding;
@@ -46,12 +47,13 @@

   public static CompilationResults getCompilationUnitDeclarations(
       TreeLogger logger, String[] seedTypeNames,
-      RebindPermutationOracle rebindPermOracle, TypeLinker linker)
-      throws UnableToCompleteException {
+      RebindPermutationOracle rebindPermOracle, TypeLinker linker,
+ ICompilationUnit... additionalUnits) throws UnableToCompleteException {
     Event getCompilationUnitsEvent =
         SpeedTracerLogger.start(CompilerEventType.GET_COMPILATION_UNITS);
CompilationResults results = new WebModeCompilerFrontEnd(rebindPermOracle,
-        linker).getCompilationUnitDeclarations(logger, seedTypeNames);
+        linker).getCompilationUnitDeclarations(logger, seedTypeNames,
+        additionalUnits);
     getCompilationUnitsEvent.end();
     return results;
   }
=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/jjs/UnifiedAst.java Thu Jun 17 10:13:10 2010 +++ /trunk/dev/core/src/com/google/gwt/dev/jjs/UnifiedAst.java Thu Sep 2 07:29:17 2010
@@ -54,7 +54,7 @@
       return jProgram;
     }

-    JsProgram getJsProgram() {
+    public JsProgram getJsProgram() {
       return jsProgram;
     }
   }

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

Reply via email to