< prev index next >

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

Print this page
@@ -83,12 +83,10 @@
  import com.sun.tools.javac.util.Log.DiscardDiagnosticHandler;
  import com.sun.tools.javac.util.Log.WriterKind;
  
  import static com.sun.tools.javac.code.Kinds.Kind.*;
  
- import com.sun.tools.javac.code.Lint;
- import com.sun.tools.javac.code.Lint.LintCategory;
  import com.sun.tools.javac.code.Symbol.ModuleSymbol;
  
  import com.sun.tools.javac.resources.CompilerProperties.Errors;
  import com.sun.tools.javac.resources.CompilerProperties.Fragments;
  import com.sun.tools.javac.resources.CompilerProperties.Notes;

@@ -1618,12 +1616,12 @@
              }
          }
          ScanNested scanner = new ScanNested();
          scanner.scan(env.tree);
          for (Env<AttrContext> dep: scanner.dependencies) {
-         if (!compileStates.isDone(dep, CompileState.WARN))
-             desugaredEnvs.put(dep, desugar(warn(flow(attribute(dep)))));
+             if (!compileStates.isDone(dep, CompileState.WARN))
+                 desugaredEnvs.put(dep, desugar(warn(flow(attribute(dep)))));
          }
  
          //We need to check for error another time as more classes might
          //have been attributed and analyzed at this stage
          if (shouldStop(CompileState.TRANSTYPES))

@@ -1699,10 +1697,17 @@
                      LambdaToMethod.instance(context).translateTopLevelClass(env, def, localMake);
                  }
                  compileStates.put(env, CompileState.UNLAMBDA);
              }
  
+             if (shouldStop(CompileState.STRICT_FIELDS_PROXIES))
+                 return;
+             for (JCTree def : cdefs) {
+                 LocalProxyVarsGen.instance(context).translateTopLevelClass(def, localMake);
+             }
+             compileStates.put(env, CompileState.STRICT_FIELDS_PROXIES);
+ 
              //generate code for each class
              for (List<JCTree> l = cdefs; l.nonEmpty(); l = l.tail) {
                  JCClassDecl cdef = (JCClassDecl)l.head;
                  results.add(new Pair<>(env, cdef));
              }
< prev index next >