R
- 这个访问者的方法的返回类型。
对于不需要返回结果的访问者,请使用Void
。
P
- 访问者方法的附加参数的类型。
对不需要Void
的访问者使用Void。
@SupportedSourceVersion(value=RELEASE_7) public class TypeKindVisitor7<R,P> extends TypeKindVisitor6<R,P>
RELEASE_7
源版本。
对于types XYZ可能有不止一种,则visitXYZ种方法在这个类委托给对应于第一个参数的那种visitXYZKind方法。
visitXYZKind方法调用defaultAction
,将其参数传递给defaultAction
的相应参数。
本课程中的方法可能会因其总体合同而被覆盖。 需要注意的是注释方法,具体子类与@Override
将有助于确定那些打算重写的方法。
警告: TypeVisitor
实现的TypeVisitor接口可能会在以后添加方法,以适应未来版本的Java编程语言中添加的新的,当前未知的语言结构。 因此,以"visit"
开头的"visit"
可能会在以后添加到这个类中; 为了避免不兼容,扩展此类的类不应声明任何以"visit"
实例方法。
当添加这种新的访问方法时,此类中的默认实现将是调用visitUnknown
方法。 还将引入一种新型的访客类,以符合新的语言水平; 该访问者对于访问方法将具有不同的默认行为。 当新访客被介绍时,全部或部分访问者可能会被弃用。
请注意,在访问者类中添加新的访问方法的默认实现将发生,而不是直接在访问者界面中添加默认方法 ,因为Java SE 8语言功能不能用于此版本的API,因为此版本需要可以在Java SE 7实现中运行。 仅在Java SE 8及更高版本上运行的API的未来版本可能会在这种情况下利用默认方法。
TypeKindVisitor6
, TypeKindVisitor8
DEFAULT_VALUE
Modifier | Constructor and Description |
---|---|
protected |
TypeKindVisitor7()
具体子类调用的构造方法
使用 null 作为默认值。
|
protected |
TypeKindVisitor7(R defaultValue)
具体子类调用的构造方法
使用参数作为默认值。
|
Modifier and Type | Method and Description |
---|---|
R |
visitUnion(UnionType t, P p)
此实现访问一个
UnionType 通过调用
defaultAction 。
|
visitNoType, visitNoTypeAsNone, visitNoTypeAsPackage, visitNoTypeAsVoid, visitPrimitive, visitPrimitiveAsBoolean, visitPrimitiveAsByte, visitPrimitiveAsChar, visitPrimitiveAsDouble, visitPrimitiveAsFloat, visitPrimitiveAsInt, visitPrimitiveAsLong, visitPrimitiveAsShort
defaultAction, visitArray, visitDeclared, visitError, visitExecutable, visitNull, visitTypeVariable, visitWildcard
visit, visit, visitIntersection, visitUnknown
protected TypeKindVisitor7()
null
作为默认值。
protected TypeKindVisitor7(R defaultValue)
defaultValue
- 要分配给
SimpleTypeVisitor6.DEFAULT_VALUE
的值
public R visitUnion(UnionType t, P p)
UnionType
通过调用
defaultAction
。
visitUnion
在界面
TypeVisitor<R,P>
visitUnion
在类别
AbstractTypeVisitor6<R,P>
t
- 要访问的类型
p
- 访客指定的参数
defaultAction
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.