当前位置: 首页>>代码示例>>Java>>正文


Java MultiTaskListener.instance方法代码示例

本文整理汇总了Java中com.sun.tools.javac.api.MultiTaskListener.instance方法的典型用法代码示例。如果您正苦于以下问题:Java MultiTaskListener.instance方法的具体用法?Java MultiTaskListener.instance怎么用?Java MultiTaskListener.instance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.sun.tools.javac.api.MultiTaskListener的用法示例。


在下文中一共展示了MultiTaskListener.instance方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: JavacProcessingEnvironment

import com.sun.tools.javac.api.MultiTaskListener; //导入方法依赖的package包/类
protected JavacProcessingEnvironment(Context context) {
    this.context = context;
    context.put(JavacProcessingEnvironment.class, this);
    log = Log.instance(context);
    source = Source.instance(context);
    diags = JCDiagnostic.Factory.instance(context);
    options = Options.instance(context);
    printProcessorInfo = options.isSet(XPRINTPROCESSORINFO);
    printRounds = options.isSet(XPRINTROUNDS);
    verbose = options.isSet(VERBOSE);
    lint = Lint.instance(context).isEnabled(PROCESSING);
    if (options.isSet(PROC, "only") || options.isSet(XPRINT)) {
        JavaCompiler compiler = JavaCompiler.instance(context);
        compiler.shouldStopPolicyIfNoError = CompileState.PROCESS;
    }
    fatalErrors = options.isSet("fatalEnterError");
    showResolveErrors = options.isSet("showResolveErrors");
    werror = options.isSet(WERROR);
    platformAnnotations = initPlatformAnnotations();

    // Initialize services before any processors are initialized
    // in case processors use them.
    filer = new JavacFiler(context);
    messager = new JavacMessager(context, this);
    elementUtils = JavacElements.instance(context);
    typeUtils = JavacTypes.instance(context);
    processorOptions = initProcessorOptions(context);
    unmatchedProcessorOptions = initUnmatchedProcessorOptions();
    messages = JavacMessages.instance(context);
    taskListener = MultiTaskListener.instance(context);
    initProcessorClassLoader();
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:33,代码来源:JavacProcessingEnvironment.java

示例2: JavacProcessingEnvironment

import com.sun.tools.javac.api.MultiTaskListener; //导入方法依赖的package包/类
protected JavacProcessingEnvironment(Context context) {
    this.context = context;
    context.put(JavacProcessingEnvironment.class, this);
    log = Log.instance(context);
    source = Source.instance(context);
    diags = JCDiagnostic.Factory.instance(context);
    options = Options.instance(context);
    printProcessorInfo = options.isSet(Option.XPRINTPROCESSORINFO);
    printRounds = options.isSet(Option.XPRINTROUNDS);
    verbose = options.isSet(Option.VERBOSE);
    lint = Lint.instance(context).isEnabled(PROCESSING);
    compiler = JavaCompiler.instance(context);
    if (options.isSet(Option.PROC, "only") || options.isSet(Option.XPRINT)) {
        compiler.shouldStopPolicyIfNoError = CompileState.PROCESS;
    }
    fatalErrors = options.isSet("fatalEnterError");
    showResolveErrors = options.isSet("showResolveErrors");
    werror = options.isSet(Option.WERROR);
    fileManager = context.get(JavaFileManager.class);
    platformAnnotations = initPlatformAnnotations();

    // Initialize services before any processors are initialized
    // in case processors use them.
    filer = new JavacFiler(context);
    messager = new JavacMessager(context, this);
    elementUtils = JavacElements.instance(context);
    typeUtils = JavacTypes.instance(context);
    modules = Modules.instance(context);
    types = Types.instance(context);
    annotate = Annotate.instance(context);
    processorOptions = initProcessorOptions();
    unmatchedProcessorOptions = initUnmatchedProcessorOptions();
    messages = JavacMessages.instance(context);
    taskListener = MultiTaskListener.instance(context);
    symtab = Symtab.instance(context);
    names = Names.instance(context);
    enter = Enter.instance(context);
    initialCompleter = ClassFinder.instance(context).getCompleter();
    chk = Check.instance(context);
    initProcessorLoader();

    allowModules = source.allowModules();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:44,代码来源:JavacProcessingEnvironment.java

示例3: JavacProcessingEnvironment

import com.sun.tools.javac.api.MultiTaskListener; //导入方法依赖的package包/类
protected JavacProcessingEnvironment(Context context) {
    this.context = context;
    context.put(JavacProcessingEnvironment.class, this);
    log = Log.instance(context);
    source = Source.instance(context);
    diags = JCDiagnostic.Factory.instance(context);
    options = Options.instance(context);
    printProcessorInfo = options.isSet(XPRINTPROCESSORINFO);
    printRounds = options.isSet(XPRINTROUNDS);
    verbose = options.isSet(VERBOSE);
    lint = Lint.instance(context).isEnabled(PROCESSING);
    compiler = JavaCompiler.instance(context);
    if (options.isSet(PROC, "only") || options.isSet(XPRINT)) {
        compiler.shouldStopPolicyIfNoError = CompileState.PROCESS;
    }
    fatalErrors = options.isSet("fatalEnterError");
    showResolveErrors = options.isSet("showResolveErrors");
    werror = options.isSet(WERROR);
    fileManager = context.get(JavaFileManager.class);
    platformAnnotations = initPlatformAnnotations();

    // Initialize services before any processors are initialized
    // in case processors use them.
    filer = new JavacFiler(context);
    messager = new JavacMessager(context, this);
    elementUtils = JavacElements.instance(context);
    typeUtils = JavacTypes.instance(context);
    modules = Modules.instance(context);
    types = Types.instance(context);
    processorOptions = initProcessorOptions();
    unmatchedProcessorOptions = initUnmatchedProcessorOptions();
    messages = JavacMessages.instance(context);
    taskListener = MultiTaskListener.instance(context);
    symtab = Symtab.instance(context);
    names = Names.instance(context);
    enter = Enter.instance(context);
    initialCompleter = ClassFinder.instance(context).getCompleter();
    chk = Check.instance(context);
    moduleHelper = ModuleHelper.instance(context);
    initProcessorLoader();

    defaultModule = source.allowModules() && options.isUnset("noModules")
            ? symtab.unnamedModule : symtab.noModule;
}
 
开发者ID:campolake,项目名称:openjdk9,代码行数:45,代码来源:JavacProcessingEnvironment.java

示例4: clearPendingUnits

import com.sun.tools.javac.api.MultiTaskListener; //导入方法依赖的package包/类
protected void clearPendingUnits(BasicJavacTask task) {
  List<CompilationUnitTaskList> missing = new ArrayList<>();
  cups.values()
      .stream()
      .filter(pcu -> pcu.getUnit() == null)
      .forEach(missing::add);
  if (!missing.isEmpty()) {
    Context ctx = new Context(task.getContext());
    ctx.put(JavacService.class, service);
    MultiTaskListener tasks = MultiTaskListener.instance(ctx);
    tasks.add(getTaskListener(task));
    JavacProcessingEnvironment env = JavacProcessingEnvironment.instance(ctx);
    try (
        JavacFileManager jfm = new JavacFileManager(ctx, false, Charset.forName("UTF-8"))
    ) {
      List<JavaFileObject> missingFiles = new ArrayList<>();
      missing.forEach(pcu -> {
        String name = pcu.getName();
        TypeElement element = task.getElements().getTypeElement(name);
        if (element == null) {
          X_Log.info(getClass(), "No element found for ", name);
        } else {
          final javax.lang.model.element.Name qualified = element.getQualifiedName();
          Name binary = env.getElementUtils().getBinaryName(element);
          String relativeName = binary.toString().split("[$]")[0];// TODO check for enclosing types instead of this nasty hack
          JavaFileObject javaFile;
          try {
            javaFile = jfm.getJavaFileForInput(StandardLocation.SOURCE_OUTPUT, relativeName, JavaFileObject.Kind.SOURCE);
            if (javaFile == null) {
              javaFile = jfm.getJavaFileForInput(StandardLocation.SOURCE_PATH, relativeName, JavaFileObject.Kind.SOURCE);
              if (javaFile == null) {
                javaFile = jfm.getJavaFileForInput(StandardLocation.CLASS_PATH, relativeName, JavaFileObject.Kind.SOURCE);
                if (javaFile == null) {
                  X_Log.warn(getClass(), "Unable to find file ", relativeName, " to recompile...");
                }
              }
            }
            if (javaFile != null){
              missingFiles.add(javaFile);
            }
          } catch (Throwable e) {
            X_Log.warn(getClass(), "Unable to compile source for "+binary, e);
            throw X_Debug.rethrow(e);
          }
          //            pcu.setUnit(cu);
          //            pcu.finish();
        }
      });
      JavaCompiler compiler = JavaCompiler.instance(ctx);
      final com.sun.tools.javac.util.List<JavaFileObject> javaFiles = com.sun.tools.javac.util.List.from(missingFiles.toArray(new JavaFileObject[missingFiles.size()]));
      compiler.compile(javaFiles);
    } catch (Throwable throwable) {
      throw X_Debug.rethrow(throwable);
    }
  }
  doFinish();
}
 
开发者ID:WeTheInternet,项目名称:xapi,代码行数:58,代码来源:CompilerServiceImpl.java


注:本文中的com.sun.tools.javac.api.MultiTaskListener.instance方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。