langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java
changeset 41033 49af2ecba616
parent 40308 274367a99f98
child 41160 61082a97bbf0
equal deleted inserted replaced
41032:32be25e34c38 41033:49af2ecba616
    77 import com.sun.tools.javac.util.Convert;
    77 import com.sun.tools.javac.util.Convert;
    78 import com.sun.tools.javac.util.DefinedBy;
    78 import com.sun.tools.javac.util.DefinedBy;
    79 import com.sun.tools.javac.util.DefinedBy.Api;
    79 import com.sun.tools.javac.util.DefinedBy.Api;
    80 import com.sun.tools.javac.util.Iterators;
    80 import com.sun.tools.javac.util.Iterators;
    81 import com.sun.tools.javac.util.JCDiagnostic;
    81 import com.sun.tools.javac.util.JCDiagnostic;
       
    82 import com.sun.tools.javac.util.JDK9Wrappers.Module;
    82 import com.sun.tools.javac.util.JavacMessages;
    83 import com.sun.tools.javac.util.JavacMessages;
    83 import com.sun.tools.javac.util.List;
    84 import com.sun.tools.javac.util.List;
    84 import com.sun.tools.javac.util.Log;
    85 import com.sun.tools.javac.util.Log;
    85 import com.sun.tools.javac.util.MatchingUtils;
    86 import com.sun.tools.javac.util.MatchingUtils;
    86 import com.sun.tools.javac.util.ModuleHelper;
    87 import com.sun.tools.javac.util.ModuleHelper;
   117     private final JavacMessager messager;
   118     private final JavacMessager messager;
   118     private final JavacElements elementUtils;
   119     private final JavacElements elementUtils;
   119     private final JavacTypes typeUtils;
   120     private final JavacTypes typeUtils;
   120     private final JavaCompiler compiler;
   121     private final JavaCompiler compiler;
   121     private final Modules modules;
   122     private final Modules modules;
   122     private final ModuleHelper moduleHelper;
       
   123     private final Types types;
   123     private final Types types;
   124 
   124 
   125     /**
   125     /**
   126      * Holds relevant state history of which processors have been
   126      * Holds relevant state history of which processors have been
   127      * used.
   127      * used.
   225         symtab = Symtab.instance(context);
   225         symtab = Symtab.instance(context);
   226         names = Names.instance(context);
   226         names = Names.instance(context);
   227         enter = Enter.instance(context);
   227         enter = Enter.instance(context);
   228         initialCompleter = ClassFinder.instance(context).getCompleter();
   228         initialCompleter = ClassFinder.instance(context).getCompleter();
   229         chk = Check.instance(context);
   229         chk = Check.instance(context);
   230         moduleHelper = ModuleHelper.instance(context);
       
   231         initProcessorLoader();
   230         initProcessorLoader();
   232 
   231 
   233         defaultModule = source.allowModules() && options.isUnset("noModules")
   232         defaultModule = source.allowModules() && options.isUnset("noModules")
   234                 ? symtab.unnamedModule : symtab.noModule;
   233                 ? symtab.unnamedModule : symtab.noModule;
   235     }
   234     }
   263                 // If processorpath is not explicitly set, use the classpath.
   262                 // If processorpath is not explicitly set, use the classpath.
   264                 processorClassLoader = fileManager.hasLocation(ANNOTATION_PROCESSOR_PATH)
   263                 processorClassLoader = fileManager.hasLocation(ANNOTATION_PROCESSOR_PATH)
   265                     ? fileManager.getClassLoader(ANNOTATION_PROCESSOR_PATH)
   264                     ? fileManager.getClassLoader(ANNOTATION_PROCESSOR_PATH)
   266                     : fileManager.getClassLoader(CLASS_PATH);
   265                     : fileManager.getClassLoader(CLASS_PATH);
   267 
   266 
   268                 moduleHelper.addExports(processorClassLoader);
   267                 if (options.isSet("accessInternalAPI"))
       
   268                     ModuleHelper.addExports(Module.getModule(getClass()), Module.getUnnamedModule(processorClassLoader));
   269 
   269 
   270                 if (processorClassLoader != null && processorClassLoader instanceof Closeable) {
   270                 if (processorClassLoader != null && processorClassLoader instanceof Closeable) {
   271                     compiler.closeables = compiler.closeables.prepend((Closeable) processorClassLoader);
   271                     compiler.closeables = compiler.closeables.prepend((Closeable) processorClassLoader);
   272                 }
   272                 }
   273             }
   273             }