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