134 log ("setup"); |
134 log ("setup"); |
135 context = new Context(); |
135 context = new Context(); |
136 JavacFileManager.preRegister(context); // required by ClassReader which is required by Symtab |
136 JavacFileManager.preRegister(context); // required by ClassReader which is required by Symtab |
137 names = Names.instance(context); // Name.Table impls tied to an instance of Names |
137 names = Names.instance(context); // Name.Table impls tied to an instance of Names |
138 symtab = Symtab.instance(context); |
138 symtab = Symtab.instance(context); |
139 scopeCounter = ScopeCounter.instance(context); |
|
140 int setupCount = rgen.nextInt(MAX_SETUP_COUNT); |
139 int setupCount = rgen.nextInt(MAX_SETUP_COUNT); |
141 for (int i = 0; i < setupCount; i++) { |
140 for (int i = 0; i < setupCount; i++) { |
142 switch (random(SetupKind.values())) { |
141 switch (random(SetupKind.values())) { |
143 case NAMES: |
142 case NAMES: |
144 setupNames(); |
143 setupNames(); |
301 } |
300 } |
302 } |
301 } |
303 |
302 |
304 ClassSymbol createClass(Name name, Symbol owner) { |
303 ClassSymbol createClass(Name name, Symbol owner) { |
305 ClassSymbol sym = new ClassSymbol(0, name, owner); |
304 ClassSymbol sym = new ClassSymbol(0, name, owner); |
306 sym.members_field = new ClassScope(sym, scopeCounter); |
305 sym.members_field = new Scope(sym); |
307 if (owner != symtab.unnamedPackage) |
306 if (owner != symtab.unnamedPackage) |
308 owner.members().enter(sym); |
307 owner.members().enter(sym); |
309 return sym; |
308 return sym; |
310 } |
309 } |
311 |
310 |
312 Context context; |
311 Context context; |
313 Symtab symtab; |
312 Symtab symtab; |
314 ScopeCounter scopeCounter; |
|
315 Names names; |
313 Names names; |
316 int nextNameSerial; |
314 int nextNameSerial; |
317 List<PackageSymbol> packages = new ArrayList<PackageSymbol>(); |
315 List<PackageSymbol> packages = new ArrayList<PackageSymbol>(); |
318 int nextPackageSerial; |
316 int nextPackageSerial; |
319 List<ClassSymbol> classes = new ArrayList<ClassSymbol>(); |
317 List<ClassSymbol> classes = new ArrayList<ClassSymbol>(); |