langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symtab.java
changeset 42827 36468b5fa7f4
parent 41999 dbf796210eff
child 42828 cce89649f958
equal deleted inserted replaced
42826:563b42fc70ba 42827:36468b5fa7f4
   588                            List.<Type>nil(), methodClass),
   588                            List.<Type>nil(), methodClass),
   589             arrayClass);
   589             arrayClass);
   590         arrayClass.members().enter(arrayCloneMethod);
   590         arrayClass.members().enter(arrayCloneMethod);
   591 
   591 
   592         if (java_base != noModule)
   592         if (java_base != noModule)
   593             java_base.completer = sym -> moduleCompleter.complete(sym); //bootstrap issues
   593             java_base.completer = moduleCompleter::complete; //bootstrap issues
   594 
   594 
   595     }
   595     }
   596 
   596 
   597     /** Define a new class given its name and owner.
   597     /** Define a new class given its name and owner.
   598      */
   598      */
   622         }
   622         }
   623         return c;
   623         return c;
   624     }
   624     }
   625 
   625 
   626     public ClassSymbol getClass(ModuleSymbol msym, Name flatName) {
   626     public ClassSymbol getClass(ModuleSymbol msym, Name flatName) {
   627         Assert.checkNonNull(msym, () -> flatName.toString());
   627         Assert.checkNonNull(msym, flatName::toString);
   628         return classes.getOrDefault(flatName, Collections.emptyMap()).get(msym);
   628         return classes.getOrDefault(flatName, Collections.emptyMap()).get(msym);
   629     }
   629     }
   630 
   630 
   631     public PackageSymbol lookupPackage(ModuleSymbol msym, Name flatName) {
   631     public PackageSymbol lookupPackage(ModuleSymbol msym, Name flatName) {
   632         Assert.checkNonNull(msym);
   632         Assert.checkNonNull(msym);
   755                 public String toString() {
   755                 public String toString() {
   756                     return messages.getLocalizedString("compiler.misc.unnamed.package");
   756                     return messages.getLocalizedString("compiler.misc.unnamed.package");
   757                 }
   757                 }
   758             };
   758             };
   759         unnamedPackage.modle = module;
   759         unnamedPackage.modle = module;
   760         unnamedPackage.completer = sym -> initialCompleter.complete(sym);
   760         //we cannot use a method reference below, as initialCompleter might be null now
       
   761         unnamedPackage.completer = s -> initialCompleter.complete(s);
   761         module.unnamedPackage = unnamedPackage;
   762         module.unnamedPackage = unnamedPackage;
   762     }
   763     }
   763 
   764 
   764     public PackageSymbol getPackage(ModuleSymbol module, Name fullname) {
   765     public PackageSymbol getPackage(ModuleSymbol module, Name fullname) {
   765         return packages.getOrDefault(fullname, Collections.emptyMap()).get(module);
   766         return packages.getOrDefault(fullname, Collections.emptyMap()).get(module);
   768     public ModuleSymbol enterModule(Name name) {
   769     public ModuleSymbol enterModule(Name name) {
   769         ModuleSymbol msym = modules.get(name);
   770         ModuleSymbol msym = modules.get(name);
   770         if (msym == null) {
   771         if (msym == null) {
   771             msym = ModuleSymbol.create(name, names.module_info);
   772             msym = ModuleSymbol.create(name, names.module_info);
   772             addRootPackageFor(msym);
   773             addRootPackageFor(msym);
   773             msym.completer = sym -> moduleCompleter.complete(sym); //bootstrap issues
   774             msym.completer = s -> moduleCompleter.complete(s); //bootstrap issues
   774             modules.put(name, msym);
   775             modules.put(name, msym);
   775         }
   776         }
   776         return msym;
   777         return msym;
   777     }
   778     }
   778 
   779