1251
1252 /** Prepare for new round of annotation processing. Cleans trees, resets symbols, and
1253 * asks selected services to prepare to a new round of annotation processing.
1254 */
1255 private void newRound() {
1256 //ensure treesToClean contains all trees, including implicitly parsed ones
1257 for (Env<AttrContext> env : enter.getEnvs()) {
1258 treesToClean.add(env.toplevel);
1259 }
1260 for (JCCompilationUnit node : treesToClean) {
1261 treeCleaner.scan(node);
1262 }
1263 chk.newRound();
1264 enter.newRound();
1265 filer.newRound();
1266 messager.newRound();
1267 compiler.newRound();
1268 modules.newRound();
1269 types.newRound();
1270 annotate.newRound();
1271
1272 boolean foundError = false;
1273
1274 for (ClassSymbol cs : symtab.getAllClasses()) {
1275 if (cs.kind == ERR) {
1276 foundError = true;
1277 break;
1278 }
1279 }
1280
1281 if (foundError) {
1282 for (ClassSymbol cs : symtab.getAllClasses()) {
1283 if (cs.classfile != null || cs.kind == ERR) {
1284 cs.reset();
1285 if (cs.kind == ERR) {
1286 cs.type = new ClassType(cs.type.getEnclosingType(), null, cs);
1287 }
1288 if (cs.isCompleted()) {
1289 cs.completer = initialCompleter;
1290 }
|
1251
1252 /** Prepare for new round of annotation processing. Cleans trees, resets symbols, and
1253 * asks selected services to prepare to a new round of annotation processing.
1254 */
1255 private void newRound() {
1256 //ensure treesToClean contains all trees, including implicitly parsed ones
1257 for (Env<AttrContext> env : enter.getEnvs()) {
1258 treesToClean.add(env.toplevel);
1259 }
1260 for (JCCompilationUnit node : treesToClean) {
1261 treeCleaner.scan(node);
1262 }
1263 chk.newRound();
1264 enter.newRound();
1265 filer.newRound();
1266 messager.newRound();
1267 compiler.newRound();
1268 modules.newRound();
1269 types.newRound();
1270 annotate.newRound();
1271 elementUtils.newRound();
1272
1273 boolean foundError = false;
1274
1275 for (ClassSymbol cs : symtab.getAllClasses()) {
1276 if (cs.kind == ERR) {
1277 foundError = true;
1278 break;
1279 }
1280 }
1281
1282 if (foundError) {
1283 for (ClassSymbol cs : symtab.getAllClasses()) {
1284 if (cs.classfile != null || cs.kind == ERR) {
1285 cs.reset();
1286 if (cs.kind == ERR) {
1287 cs.type = new ClassType(cs.type.getEnclosingType(), null, cs);
1288 }
1289 if (cs.isCompleted()) {
1290 cs.completer = initialCompleter;
1291 }
|