< prev index next >

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

Print this page

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

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