--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java Mon Jul 08 16:20:40 2019 -0700
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java Tue Jul 09 09:20:04 2019 +0200
@@ -41,7 +41,6 @@
import com.sun.tools.javac.util.DefinedBy.Api;
import com.sun.tools.javac.util.GraphUtils.DependencyKind;
import com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition;
-import com.sun.tools.javac.code.Symbol.*;
import com.sun.tools.javac.comp.Attr.ResultInfo;
import com.sun.tools.javac.comp.Resolve.MethodResolutionPhase;
import com.sun.tools.javac.resources.CompilerProperties.Errors;
@@ -501,7 +500,7 @@
attr.attribTree(newTree, speculativeEnv, resultInfo);
return newTree;
} finally {
- new UnenterScanner(env.toplevel.modle).scan(newTree);
+ enter.unenter(env.toplevel, newTree);
log.popDiagnosticHandler(deferredDiagnosticHandler);
if (localCache != null) {
localCache.leave();
@@ -509,29 +508,6 @@
}
}
//where
-
- class UnenterScanner extends TreeScanner {
- private final ModuleSymbol msym;
-
- public UnenterScanner(ModuleSymbol msym) {
- this.msym = msym;
- }
-
- @Override
- public void visitClassDef(JCClassDecl tree) {
- ClassSymbol csym = tree.sym;
- //if something went wrong during method applicability check
- //it is possible that nested expressions inside argument expression
- //are left unchecked - in such cases there's nothing to clean up.
- if (csym == null) return;
- typeEnvs.remove(csym);
- chk.removeCompiled(csym);
- chk.clearLocalClassNameIndexes(csym);
- syms.removeClass(msym, csym.flatname);
- super.visitClassDef(tree);
- }
- }
-
static class DeferredAttrDiagHandler extends Log.DeferredDiagnosticHandler {
static class PosScanner extends TreeScanner {