-
- 参数类型
-
R- 这个访问者的方法的返回类型。 对不需要返回结果的访问者使用Void。 -
P- 此访问者方法的附加参数类型。 对不需要附加参数的访问者使用Void。
- Enclosing interface:
- ModuleElement
public static interface ModuleElement.DirectiveVisitor<R,P>模块指令的访问者,以访客设计模式的风格。 实现此接口的类用于在指令类型在编译时未知时对指令进行操作。 当访问者被传递到指令的accept方法时,将调用适用于该指令的visitXyz方法。实现此界面的类可以或可以不抛出
NullPointerException如果附加参数p是null; 有关详细信息,请参阅实施类的文档。警告:可能的方法将添加到此界面以适应未来版本的Java编程语言中添加的新的,当前未知的语言结构。 使用默认方法将以源兼容方式添加适应新语言结构的方法 。
- 从以下版本开始:
- 9
-
-
方法摘要
所有方法 接口方法 抽象方法 Default Methods Modifier and Type 方法 描述 default Rvisit(ModuleElement.Directive d)访问任何指令,好像通过传递该指令的accept方法并传递null作为附加参数。default Rvisit(ModuleElement.Directive d, P p)访问任何指令,好像通过传递自己的指令的accept方法。RvisitExports(ModuleElement.ExportsDirective d, P p)访问exports指令。RvisitOpens(ModuleElement.OpensDirective d, P p)访问opens指令。RvisitProvides(ModuleElement.ProvidesDirective d, P p)访问provides指令。RvisitRequires(ModuleElement.RequiresDirective d, P p)访问requires指令。default RvisitUnknown(ModuleElement.Directive d, P p)访问未知的指令。RvisitUses(ModuleElement.UsesDirective d, P p)访问uses指令。
-
-
-
方法详细信息
-
visit
default R visit(ModuleElement.Directive d)
访问任何指令,好像通过传递自己的指令的accept方法,并通过null的附加参数。 调用v.visit(d)相当于d.accept(v, null)。- 实现要求:
-
这个实现是
visit(d, null) - 参数
-
d- 访问指令 - 结果
- 访客指定的结果
-
visit
default R visit(ModuleElement.Directive d, P p)
访问任何指令,好像通过传递自己的指令的accept方法。 调用v.visit(d, p)相当于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- 访问者实现可以可选地抛出该异常
-
-