langtools/src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java
--- a/langtools/src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java Sun Oct 03 19:40:15 2010 +0100
+++ b/langtools/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<JCCompilationUnit> 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);