diff -r 232919708730 -r 971c8132f5b2 src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java --- a/src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java Sun Oct 03 19:40:15 2010 +0100 +++ b/src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java Tue Oct 05 11:34:43 2010 -0700 @@ -173,12 +173,12 @@ platformAnnotations = initPlatformAnnotations(); foundTypeProcessors = false; - // Initialize services before any processors are initialzied + // Initialize services before any processors are initialized // in case processors use them. filer = new JavacFiler(context); messager = new JavacMessager(context, this); - elementUtils = new JavacElements(context); - typeUtils = new JavacTypes(context); + elementUtils = JavacElements.instance(context); + typeUtils = JavacTypes.instance(context); processorOptions = initProcessorOptions(context); unmatchedProcessorOptions = initUnmatchedProcessorOptions(); messages = JavacMessages.instance(context); @@ -865,8 +865,6 @@ this(prev.nextContext(), prev.number+1, prev.compiler.log.nwarnings); this.genClassFiles = prev.genClassFiles; - updateProcessingState(); - List parsedFiles = compiler.parseFiles(newSourceFiles); roots = cleanTrees(prev.roots).appendList(parsedFiles); @@ -1029,15 +1027,6 @@ log.reportDeferredDiagnostics(kinds); } - /** Update the processing state for the current context. */ - private void updateProcessingState() { - filer.newRound(context); - messager.newRound(context); - - elementUtils.setContext(context); - typeUtils.setContext(context); - } - /** Print info about this round. */ private void printRoundInfo(boolean lastRound) { if (printRounds || verbose) { @@ -1100,6 +1089,11 @@ JavaCompiler nextCompiler = JavaCompiler.instance(next); nextCompiler.initRound(oldCompiler); + filer.newRound(next); + messager.newRound(next); + elementUtils.setContext(next); + typeUtils.setContext(next); + JavacTaskImpl task = context.get(JavacTaskImpl.class); if (task != null) { next.put(JavacTaskImpl.class, task);