1.1 --- a/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java Fri Oct 26 18:40:13 2012 -0700 1.2 +++ b/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java Mon Oct 29 10:39:49 2012 -0700 1.3 @@ -271,6 +271,10 @@ 1.4 */ 1.5 protected TransTypes transTypes; 1.6 1.7 + /** The lambda translator. 1.8 + */ 1.9 + protected LambdaToMethod lambdaToMethod; 1.10 + 1.11 /** The syntactic sugar desweetener. 1.12 */ 1.13 protected Lower lower; 1.14 @@ -369,6 +373,8 @@ 1.15 1.16 options = Options.instance(context); 1.17 1.18 + lambdaToMethod = LambdaToMethod.instance(context); 1.19 + 1.20 verbose = options.isSet(VERBOSE); 1.21 sourceOutput = options.isSet(PRINTSOURCE); // used to be -s 1.22 stubOutput = options.isSet("-stubs"); 1.23 @@ -524,8 +530,10 @@ 1.24 ATTR(4), 1.25 FLOW(5), 1.26 TRANSTYPES(6), 1.27 - LOWER(7), 1.28 - GENERATE(8); 1.29 + UNLAMBDA(7), 1.30 + LOWER(8), 1.31 + GENERATE(9); 1.32 + 1.33 CompileState(int value) { 1.34 this.value = value; 1.35 } 1.36 @@ -1418,6 +1426,12 @@ 1.37 env.tree = transTypes.translateTopLevelClass(env.tree, localMake); 1.38 compileStates.put(env, CompileState.TRANSTYPES); 1.39 1.40 + if (shouldStop(CompileState.UNLAMBDA)) 1.41 + return; 1.42 + 1.43 + env.tree = lambdaToMethod.translateTopLevelClass(env, env.tree, localMake); 1.44 + compileStates.put(env, CompileState.UNLAMBDA); 1.45 + 1.46 if (shouldStop(CompileState.LOWER)) 1.47 return; 1.48