模块 java.compiler

接口 ModuleElement.DirectiveVisitor<R,P>

类型参数:
R - 此访问者方法的返回类型。对不需要返回结果的访问者使用Void
P - 此访问者方法的附加参数的类型。 Void 用于不需要额外参数的访问者。
封闭接口:
ModuleElement

public static interface ModuleElement.DirectiveVisitor<R,P>
模块指令的访问者,采用访问者设计模式的风格。当编译时指令的种类未知时,实现此接口的类用于对指令进行操作。当访问者传递给指令的 accept 方法时,将调用适用于该指令的 visitXyz 方法。

如果附加参数 pnull ,则实现此接口的类可能会或可能不会抛出 NullPointerException ;有关详细信息,请参阅实现类的文档。

WARNING:有可能将方法添加到此接口以适应新的、当前未知的、添加到 Java 编程语言的未来版本中的语言结构。将使用 default methods 以源 compatible 方式添加适应新语言构造的方法。

自从:
9
  • 方法详情

    • visit

      default R  visit(ModuleElement.Directive  d)
      访问任何指令,就好像通过将自身传递给该指令的 accept 方法并将 null 传递给附加参数一样。
      实现要求:
      默认实现是 d.accept(v, null)
      参数:
      d - 访问指令
      返回:
      访问者指定的结果
    • visit

      default R  visit(ModuleElement.Directive  d, P  p)
      访问任何指令,就好像通过将自身传递给该指令的 accept 方法一样。
      实现要求:
      默认实现是 d.accept(v, p)
      参数:
      d - 访问指令
      p - 访问者指定的参数
      返回:
      访问者指定的结果
    • visitRequires

      R  visitRequires(ModuleElement.RequiresDirective  d, P  p)
      访问 requires 指令。
      参数:
      d - 访问指令
      p - 访问者指定的参数
      返回:
      访问者指定的结果
    • visitExports

      R  visitExports(ModuleElement.ExportsDirective  d, P  p)
      访问 exports 指令。
      参数:
      d - 访问指令
      p - 访问者指定的参数
      返回:
      访问者指定的结果
    • visitOpens

      R  visitOpens(ModuleElement.OpensDirective  d, P  p)
      访问 opens 指令。
      参数:
      d - 访问指令
      p - 访问者指定的参数
      返回:
      访问者指定的结果
    • visitUses

      R  visitUses(ModuleElement.UsesDirective  d, P  p)
      访问 uses 指令。
      参数:
      d - 访问指令
      p - 访问者指定的参数
      返回:
      访问者指定的结果
    • visitProvides

      R  visitProvides(ModuleElement.ProvidesDirective  d, P  p)
      访问 provides 指令。
      参数:
      d - 访问指令
      p - 访问者指定的参数
      返回:
      访问者指定的结果
    • visitUnknown

      default R  visitUnknown(ModuleElement.Directive  d, P  p)
      访问未知指令。如果语言发展并添加了新类型的指令,就会发生这种情况。
      实现要求:
      默认实现抛出 new UnknownDirectiveException(d, p)
      参数:
      d - 访问指令
      p - 访问者指定的参数
      返回:
      访问者指定的结果
      抛出:
      UnknownDirectiveException - 访问者实现可以选择抛出此异常