< prev index next >

src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java

Print this page

1321             modules.newRound();
1322             types.newRound();
1323             annotate.newRound();
1324             elementUtils.newRound();
1325 
1326             boolean foundError = false;
1327 
1328             for (ClassSymbol cs : symtab.getAllClasses()) {
1329                 if (cs.kind == ERR) {
1330                     foundError = true;
1331                     break;
1332                 }
1333             }
1334 
1335             if (foundError) {
1336                 for (ClassSymbol cs : symtab.getAllClasses()) {
1337                     if (cs.classfile != null || cs.kind == ERR) {
1338                         Kinds.Kind symKind = cs.kind;
1339                         cs.reset();
1340                         if (symKind == ERR) {
1341                             cs.type = new ClassType(cs.type.getEnclosingType(), null, cs);
1342                         }
1343                         if (cs.isCompleted()) {
1344                             cs.completer = initialCompleter;
1345                         }
1346                     }
1347                 }
1348             }
1349         }
1350     }
1351 
1352 
1353     // TODO: internal catch clauses?; catch and rethrow an annotation
1354     // processing error
1355     public boolean doProcessing(List<JCCompilationUnit> roots,
1356                                 List<ClassSymbol> classSymbols,
1357                                 Iterable<? extends PackageSymbol> pckSymbols,
1358                                 Log.DeferredDiagnosticHandler deferredDiagnosticHandler) {
1359         final Set<JCCompilationUnit> treesToClean =
1360                 Collections.newSetFromMap(new IdentityHashMap<JCCompilationUnit, Boolean>());
1361 

1321             modules.newRound();
1322             types.newRound();
1323             annotate.newRound();
1324             elementUtils.newRound();
1325 
1326             boolean foundError = false;
1327 
1328             for (ClassSymbol cs : symtab.getAllClasses()) {
1329                 if (cs.kind == ERR) {
1330                     foundError = true;
1331                     break;
1332                 }
1333             }
1334 
1335             if (foundError) {
1336                 for (ClassSymbol cs : symtab.getAllClasses()) {
1337                     if (cs.classfile != null || cs.kind == ERR) {
1338                         Kinds.Kind symKind = cs.kind;
1339                         cs.reset();
1340                         if (symKind == ERR) {
1341                             cs.type = new ClassType(cs.type.getEnclosingType(), null, cs, List.nil());
1342                         }
1343                         if (cs.isCompleted()) {
1344                             cs.completer = initialCompleter;
1345                         }
1346                     }
1347                 }
1348             }
1349         }
1350     }
1351 
1352 
1353     // TODO: internal catch clauses?; catch and rethrow an annotation
1354     // processing error
1355     public boolean doProcessing(List<JCCompilationUnit> roots,
1356                                 List<ClassSymbol> classSymbols,
1357                                 Iterable<? extends PackageSymbol> pckSymbols,
1358                                 Log.DeferredDiagnosticHandler deferredDiagnosticHandler) {
1359         final Set<JCCompilationUnit> treesToClean =
1360                 Collections.newSetFromMap(new IdentityHashMap<JCCompilationUnit, Boolean>());
1361 
< prev index next >