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
|