--- a/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java Fri Oct 26 18:40:13 2012 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java Mon Oct 29 10:39:49 2012 -0700
@@ -271,6 +271,10 @@
*/
protected TransTypes transTypes;
+ /** The lambda translator.
+ */
+ protected LambdaToMethod lambdaToMethod;
+
/** The syntactic sugar desweetener.
*/
protected Lower lower;
@@ -369,6 +373,8 @@
options = Options.instance(context);
+ lambdaToMethod = LambdaToMethod.instance(context);
+
verbose = options.isSet(VERBOSE);
sourceOutput = options.isSet(PRINTSOURCE); // used to be -s
stubOutput = options.isSet("-stubs");
@@ -524,8 +530,10 @@
ATTR(4),
FLOW(5),
TRANSTYPES(6),
- LOWER(7),
- GENERATE(8);
+ UNLAMBDA(7),
+ LOWER(8),
+ GENERATE(9);
+
CompileState(int value) {
this.value = value;
}
@@ -1418,6 +1426,12 @@
env.tree = transTypes.translateTopLevelClass(env.tree, localMake);
compileStates.put(env, CompileState.TRANSTYPES);
+ if (shouldStop(CompileState.UNLAMBDA))
+ return;
+
+ env.tree = lambdaToMethod.translateTopLevelClass(env, env.tree, localMake);
+ compileStates.put(env, CompileState.UNLAMBDA);
+
if (shouldStop(CompileState.LOWER))
return;