模块 jdk.compiler

类 JavacTask

java.lang.Object
com.sun.source.util.JavacTask
所有已实现的接口:
Callable<Boolean> , JavaCompiler.CompilationTask

public abstract class JavacTask extends Object implements JavaCompiler.CompilationTask
提供对特定于 JDK Java 编译器 javac 的功能的访问。
自从:
1.6
  • 构造方法详细信息

    • JavacTask

      public JavacTask()
      子类调用的构造方法。
  • 方法详情

    • instance

      public static JavacTask  instance(ProcessingEnvironment  processingEnvironment)
      ProcessingEnvironment 返回 JavacTask。如果使用 CompilationTask 调用编译器,则将返回该任务。
      参数:
      processingEnvironment - 加工环境
      返回:
      JavacTaskProcessingEnvironment
      自从:
      1.8
    • parse

      public abstract Iterable <? extends CompilationUnitTree > parse() throws IOException
      解析返回抽象语法树列表的指定文件。
      返回:
      抽象语法树列表
      抛出:
      IOException - 如果编译器中发生未处理的 I/O 错误。
      IllegalStateException - 如果此时无法执行操作。
    • analyze

      public abstract Iterable <? extends Element > analyze() throws IOException
      完成所有分析。
      返回:
      分析的元素列表
      抛出:
      IOException - 如果编译器中发生未处理的 I/O 错误。
      IllegalStateException - 如果此时无法执行操作。
    • generate

      public abstract Iterable <? extends JavaFileObject > generate() throws IOException
      生成代码。
      返回:
      生成的文件列表
      抛出:
      IOException - 如果编译器中发生未处理的 I/O 错误。
      IllegalStateException - 如果此时无法执行操作。
    • setTaskListener

      public abstract void setTaskListener(TaskListener  taskListener)
      设置指定的监听器以接收描述此编译任务进度的事件通知。如果另一个监听器由于先前调用此方法而正在接收通知,则该监听器将不再接收通知。非正式地,此方法等效于为之前设置的任何监听器调用 removeTaskListener,然后为新监听器调用 addTaskListener
      参数:
      taskListener - 任务监听器
      抛出:
      IllegalStateException - 如果已添加指定的监听器。
    • addTaskListener

      public abstract void addTaskListener(TaskListener  taskListener)
      添加指定的监听,以便它接收描述此编译任务进度的事件通知。可以在编译之前或期间随时调用此方法。
      参数:
      taskListener - 任务监听器
      抛出:
      IllegalStateException - 如果已添加指定的监听器。
      自从:
      1.8
    • removeTaskListener

      public abstract void removeTaskListener(TaskListener  taskListener)
      删除指定的监听,使其不再接收描述此编译任务进度的事件通知。可以在编译之前或期间随时调用此方法。
      参数:
      taskListener - 任务监听器
      自从:
      1.8
    • setParameterNameProvider

      public void setParameterNameProvider(ParameterNameProvider  provider)
      设置指定的 ParameterNameProvider 。当为未找到权威名称的方法参数调用 VariableElement.getSimpleName() 时,可以使用它。给定的 ParameterNameProvider 可以为方法参数推断出一个用户友好的名称。设置一个新的 ParameterNameProvider 将清除任何以前设置的 ParameterNameProvider ,将不再查询。当没有设置 ParameterNameProvider 时,或者当它从 ParameterNameProvider.getParameterName(javax.lang.model.element.VariableElement) 返回 null 时,从 VariableElement.getSimpleName() 返回一个自动合成的名称。
      实现要求:
      此方法的默认实现不执行任何操作。
      参数:
      provider - 供应商
      自从:
      13
    • getTypeMirror

      public abstract TypeMirror  getTypeMirror(Iterable <? extends Tree > path)
      返回由指定路径确定的树节点的类型镜像。此方法已被 Trees 上的方法取代。
      参数:
      path - 路径
      返回:
      镜像类型
      参见:
    • getElements

      public abstract Elements  getElements()
      返回用于处理程序元素的实用程序对象。
      返回:
      用于处理程序元素的实用对象
    • getTypes

      public abstract Types  getTypes()
      返回用于处理类型镜像的实用程序对象。
      返回:
      处理类型镜像的实用对象