-
- 参数类型
-
R- 该访问者方法的返回类型。 对不需要返回结果的访问者使用Void。 -
P- 访问者方法的附加参数类型。 对不需要附加参数的访问者使用Void。
- 所有已知实现类:
-
AbstractTypeVisitor6,AbstractTypeVisitor7,AbstractTypeVisitor8,AbstractTypeVisitor9,SimpleTypeVisitor6,SimpleTypeVisitor7,SimpleTypeVisitor8,SimpleTypeVisitor9,TypeKindVisitor6,TypeKindVisitor7,TypeKindVisitor8,TypeKindVisitor9
public interface TypeVisitor<R,P>类型的访客,以访客设计模式的风格。 实现此接口的类用于在编译时类型类型未知时对类型进行操作。 当访问者被传递到类型为accept的方法时,将调用最适用于该类型的visitXyz方法。实现此界面的类可以或可以不抛出
NullPointerException如果附加参数p是null; 有关详细信息,请参阅实施类的文档。警告:可能的方法将添加到此界面以适应未来版本的Java编程语言中添加的新的,当前未知的语言结构。 因此,直接实现此接口的访问者类可能与未来的平台版本不兼容。 为了避免这种源不兼容,我们鼓励访问者实现扩展实现此接口的适当抽象访问类。 然而,API通常应该将此访问接口用作参数,返回类型等的类型,而不是抽象类之一。
请注意,如果添加为默认方法,则可以以源兼容的方式添加适应新语言结构的方法 。 但是,默认方法仅适用于Java SE 8和更高版本,并且Java SE 8中捆绑的
javax.lang.model.*软件包也需要在Java SE 7上运行。因此,在扩展javax.lang.model.*以涵盖Java SE 8语言时, 未使用默认方法特征。 然而,默认方法用于仅需要在Java SE 8和更高版本平台上运行的javax.lang.model.*软件包的后续修订版本。- 从以下版本开始:
- 1.6
-
-
方法摘要
所有方法 接口方法 抽象方法 Default Methods Modifier and Type 方法 描述 default Rvisit(TypeMirror t)方便的方法相当于visit(t, null)。Rvisit(TypeMirror t, P p)访问类型。RvisitArray(ArrayType t, P p)访问数组类型。RvisitDeclared(DeclaredType t, P p)访问已声明的类型。RvisitError(ErrorType t, P p)访问错误类型。RvisitExecutable(ExecutableType t, P p)访问可执行文件类型。RvisitIntersection(IntersectionType t, P p)访问交叉路口类型。RvisitNoType(NoType t, P p)访问一个NoType实例。RvisitNull(NullType t, P p)访问空类型。RvisitPrimitive(PrimitiveType t, P p)访问原始类型。RvisitTypeVariable(TypeVariable t, P p)访问类型变量。RvisitUnion(UnionType t, P p)访问联合类型。RvisitUnknown(TypeMirror t, P p)访问未知类型的类型。RvisitWildcard(WildcardType t, P p)访问通配符类型。
-
-
-
方法详细信息
-
visit
R visit(TypeMirror t, P p)
访问类型。- 参数
-
t- 要访问的类型 -
p- 访客指定的参数 - 结果
- 访客指定的结果
-
visit
default R visit(TypeMirror t)
方便的方法相当于visit(t, null)。- 实现要求:
-
默认实现为
visit(t, null)。 - 参数
-
t- 要访问的元素 - 结果
- 访客指定的结果
-
visitPrimitive
R visitPrimitive(PrimitiveType t, P p)
访问原始类型。- 参数
-
t- 要访问的类型 -
p- 访客指定的参数 - 结果
- 访客指定的结果
-
visitDeclared
R visitDeclared(DeclaredType t, P p)
访问已声明的类型。- 参数
-
t- 要访问的类型 -
p- 访客指定的参数 - 结果
- 访客指定的结果
-
visitTypeVariable
R visitTypeVariable(TypeVariable t, P p)
访问类型变量。- 参数
-
t- 要访问的类型 -
p- 访客指定的参数 - 结果
- 访客指定的结果
-
visitWildcard
R visitWildcard(WildcardType t, P p)
访问通配符类型。- 参数
-
t- 要访问的类型 -
p- 访客指定的参数 - 结果
- 访客指定的结果
-
visitExecutable
R visitExecutable(ExecutableType t, P p)
访问可执行文件类型。- 参数
-
t- 要访问的类型 -
p- 访客指定的参数 - 结果
- 访客指定的结果
-
visitUnknown
R visitUnknown(TypeMirror t, P p)
访问未知类型的类型。 如果语言发展并且将新类型添加到TypeMirror层次结构中,则可能会发生这种情况。- 参数
-
t- 要访问的类型 -
p- 访客指定的参数 - 结果
- 访客指定的结果
- 异常
-
UnknownTypeException- 访客实现可以选择性地抛出此异常
-
visitUnion
R visitUnion(UnionType t, P p)
访问联合类型。- 参数
-
t- 要访问的类型 -
p- 访客指定的参数 - 结果
- 访客指定的结果
- 从以下版本开始:
- 1.7
-
visitIntersection
R visitIntersection(IntersectionType t, P p)
访问交叉路口类型。- 参数
-
t- 要访问的类型 -
p- 访客指定的参数 - 结果
- 访客指定的结果
- 从以下版本开始:
- 1.8
-
-