1.1 --- a/src/share/classes/com/sun/tools/javac/model/JavacElements.java Sun Oct 03 19:40:15 2010 +0100 1.2 +++ b/src/share/classes/com/sun/tools/javac/model/JavacElements.java Tue Oct 05 11:34:43 2010 -0700 1.3 @@ -66,32 +66,26 @@ 1.4 private Types types; 1.5 private Enter enter; 1.6 1.7 - private static final Context.Key<JavacElements> KEY = 1.8 - new Context.Key<JavacElements>(); 1.9 - 1.10 public static JavacElements instance(Context context) { 1.11 - JavacElements instance = context.get(KEY); 1.12 - if (instance == null) { 1.13 + JavacElements instance = context.get(JavacElements.class); 1.14 + if (instance == null) 1.15 instance = new JavacElements(context); 1.16 - context.put(KEY, instance); 1.17 - } 1.18 return instance; 1.19 } 1.20 1.21 /** 1.22 * Public for use only by JavacProcessingEnvironment 1.23 */ 1.24 - // TODO JavacElements constructor should be protected 1.25 - public JavacElements(Context context) { 1.26 + protected JavacElements(Context context) { 1.27 setContext(context); 1.28 } 1.29 1.30 /** 1.31 * Use a new context. May be called from outside to update 1.32 * internal state for a new annotation-processing round. 1.33 - * This instance is *not* then registered with the new context. 1.34 */ 1.35 public void setContext(Context context) { 1.36 + context.put(JavacElements.class, this); 1.37 javaCompiler = JavaCompiler.instance(context); 1.38 syms = Symtab.instance(context); 1.39 names = Names.instance(context);