- 类型参数:
R- 此访问者方法的返回类型。对不需要返回结果的访问者使用Void。P- 此访问者方法的附加参数的类型。Void用于不需要额外参数的访问者。
- 封闭接口:
ModuleElement
public static interface ModuleElement.DirectiveVisitor<R,P>
模块指令的访问者,采用访问者设计模式的风格。当编译时指令的种类未知时,实现此接口的类用于对指令进行操作。当访问者传递给指令的
accept 方法时,将调用适用于该指令的 visitXyz 方法。
如果附加参数 p 是 null ,则实现此接口的类可能会或可能不会抛出 NullPointerException ;有关详细信息,请参阅实现类的文档。
WARNING:有可能将方法添加到此接口以适应新的、当前未知的、添加到 Java 编程语言的未来版本中的语言结构。将使用 default methods 以源 compatible 方式添加适应新语言构造的方法。
- 自从:
- 9
-
方法详情
-
visit
访问任何指令,就好像通过将自身传递给该指令的accept方法并将null传递给附加参数一样。- 实现要求:
-
默认实现是
d.accept(v, null)。 - 参数:
d- 访问指令- 返回:
- 访问者指定的结果
-
visit
访问任何指令,就好像通过将自身传递给该指令的accept方法一样。- 实现要求:
-
默认实现是
d.accept(v, p)。 - 参数:
d- 访问指令p- 访问者指定的参数- 返回:
- 访问者指定的结果
-
visitRequires
访问requires指令。- 参数:
d- 访问指令p- 访问者指定的参数- 返回:
- 访问者指定的结果
-
visitExports
访问exports指令。- 参数:
d- 访问指令p- 访问者指定的参数- 返回:
- 访问者指定的结果
-
visitOpens
访问opens指令。- 参数:
d- 访问指令p- 访问者指定的参数- 返回:
- 访问者指定的结果
-
visitUses
访问uses指令。- 参数:
d- 访问指令p- 访问者指定的参数- 返回:
- 访问者指定的结果
-
visitProvides
访问provides指令。- 参数:
d- 访问指令p- 访问者指定的参数- 返回:
- 访问者指定的结果
-
visitUnknown
访问未知指令。如果语言发展并添加了新类型的指令,就会发生这种情况。- 实现要求:
-
默认实现抛出
new UnknownDirectiveException(d, p)。 - 参数:
d- 访问指令p- 访问者指定的参数- 返回:
- 访问者指定的结果
- 抛出:
UnknownDirectiveException- 访问者实现可以选择抛出此异常
-