equal
deleted
inserted
replaced
133 log ("setup"); |
133 log ("setup"); |
134 context = new Context(); |
134 context = new Context(); |
135 JavacFileManager.preRegister(context); // required by ClassReader which is required by Symtab |
135 JavacFileManager.preRegister(context); // required by ClassReader which is required by Symtab |
136 names = Names.instance(context); // Name.Table impls tied to an instance of Names |
136 names = Names.instance(context); // Name.Table impls tied to an instance of Names |
137 symtab = Symtab.instance(context); |
137 symtab = Symtab.instance(context); |
|
138 types = Types.instance(context); |
138 int setupCount = rgen.nextInt(MAX_SETUP_COUNT); |
139 int setupCount = rgen.nextInt(MAX_SETUP_COUNT); |
139 for (int i = 0; i < setupCount; i++) { |
140 for (int i = 0; i < setupCount; i++) { |
140 switch (random(SetupKind.values())) { |
141 switch (random(SetupKind.values())) { |
141 case NAMES: |
142 case NAMES: |
142 setupNames(); |
143 setupNames(); |
202 classes.add(c); |
203 classes.add(c); |
203 imports.add(c); |
204 imports.add(c); |
204 } |
205 } |
205 |
206 |
206 /** |
207 /** |
207 * Create a star-import scope and a model therof, from the packages and |
208 * Create a star-import scope and a model thereof, from the packages and |
208 * classes created by setupPackages and setupClasses. |
209 * classes created by setupPackages and setupClasses. |
209 * @throws Exception for fatal errors, such as from reflection |
210 * @throws Exception for fatal errors, such as from reflection |
210 */ |
211 */ |
211 void createStarImportScope() throws Exception { |
212 void createStarImportScope() throws Exception { |
212 log ("createStarImportScope"); |
213 log ("createStarImportScope"); |
216 starImportModel = new Model(); |
217 starImportModel = new Model(); |
217 |
218 |
218 for (Symbol imp: imports) { |
219 for (Symbol imp: imports) { |
219 Scope members = imp.members(); |
220 Scope members = imp.members(); |
220 // log("importAll", members); |
221 // log("importAll", members); |
221 starImportScope.importAll(members, members, new ImportFilter() { |
222 starImportScope.importAll(types, members, new ImportFilter() { |
222 @Override |
223 @Override |
223 public boolean accepts(Scope origin, Symbol t) { |
224 public boolean accepts(Scope origin, Symbol t) { |
224 return t.kind == TYP; |
225 return t.kind == TYP; |
225 } |
226 } |
226 }, false); |
227 }, false); |
290 } |
291 } |
291 |
292 |
292 Context context; |
293 Context context; |
293 Symtab symtab; |
294 Symtab symtab; |
294 Names names; |
295 Names names; |
|
296 Types types; |
295 int nextNameSerial; |
297 int nextNameSerial; |
296 List<PackageSymbol> packages = new ArrayList<PackageSymbol>(); |
298 List<PackageSymbol> packages = new ArrayList<PackageSymbol>(); |
297 int nextPackageSerial; |
299 int nextPackageSerial; |
298 List<ClassSymbol> classes = new ArrayList<ClassSymbol>(); |
300 List<ClassSymbol> classes = new ArrayList<ClassSymbol>(); |
299 List<Symbol> imports = new ArrayList<Symbol>(); |
301 List<Symbol> imports = new ArrayList<Symbol>(); |