langtools/test/tools/javac/scope/StarImportTest.java
changeset 27857 7e913a535736
parent 27224 228abfa87080
child 30730 d3ce7619db2c
equal deleted inserted replaced
27856:d4711a6931e2 27857:7e913a535736
   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>();