langtools/src/share/classes/com/sun/tools/javac/code/Symtab.java
changeset 25443 9187d77f2c64
parent 24604 7f68545b5128
child 25445 603f0c93d5c9
--- a/langtools/src/share/classes/com/sun/tools/javac/code/Symtab.java	Tue Jul 08 18:26:34 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/Symtab.java	Wed Jul 09 16:32:05 2014 +0200
@@ -34,6 +34,7 @@
 import javax.tools.JavaFileObject;
 
 
+import com.sun.tools.javac.code.Scope.WriteableScope;
 import com.sun.tools.javac.code.Symbol.ClassSymbol;
 import com.sun.tools.javac.code.Symbol.Completer;
 import com.sun.tools.javac.code.Symbol.CompletionFailure;
@@ -396,7 +397,7 @@
         sym.completer = null;
         sym.flags_field = PUBLIC|ACYCLIC|ANNOTATION|INTERFACE;
         sym.erasure_field = type;
-        sym.members_field = new Scope(sym);
+        sym.members_field = WriteableScope.create(sym);
         type.typarams_field = List.nil();
         type.allparams_field = List.nil();
         type.supertype_field = annotationType;
@@ -466,7 +467,7 @@
 
         // Create class to hold all predefined constants and operations.
         predefClass = new ClassSymbol(PUBLIC|ACYCLIC, names.empty, rootPackage);
-        Scope scope = new Scope(predefClass);
+        WriteableScope scope = WriteableScope.create(predefClass);
         predefClass.members_field = scope;
 
         // Get the initial completer for Symbols from the ClassFinder
@@ -578,7 +579,7 @@
         ClassType arrayClassType = (ClassType)arrayClass.type;
         arrayClassType.supertype_field = objectType;
         arrayClassType.interfaces_field = List.of(cloneableType, serializableType);
-        arrayClass.members_field = new Scope(arrayClass);
+        arrayClass.members_field = WriteableScope.create(arrayClass);
         lengthVar = new VarSymbol(
             PUBLIC | FINAL,
             names.length,