src/share/classes/com/sun/tools/javac/main/JavaCompiler.java

changeset 1380
a65971893c50
parent 1374
c002fdee76fd
child 1406
2901c7b5339e
     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  

mercurial