--- 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,