- 类型参数:
-
R
- 此访问者方法的返回类型。对于不需要返回结果的访问者,请使用Void
。 -
P
- 此访问者方法的附加参数的类型。对于不需要附加参数的访问者,请使用Void
。
- 所有已知的实现类:
-
SimpleTreeVisitor
,TreePathScanner
,TreeScanner
public interface TreeVisitor<R,P>
以访问者设计模式的方式访问树。实现此接口的类用于在编译时未知树的种类时操作树。当将访问者传递给树的
accept
方法时,将调用最适用于该树的visitXyz
方法。
实现此接口的类可能会或可能不会在附加参数p
为null
时抛出NullPointerException
;有关详细信息,请参阅实现类的文档。
警告: 可能会向此接口添加方法以适应将来版本的Java编程语言中添加的新的、当前未知的语言结构。因此,直接实现此接口的访问者类可能与平台的将来版本不兼容。
- 自版本:
- 1.6
-
Method Summary
Modifier and TypeMethodDescriptionvisitAnnotatedType
(AnnotatedTypeTree node, P p) 访问AnnotatedTypeTree
节点。visitAnnotation
(AnnotationTree node, P p) 访问AnnotatedTree
节点。visitAnyPattern
(AnyPatternTreePREVIEW node, P p) 预览。访问AnyPatternTree
节点。visitArrayAccess
(ArrayAccessTree node, P p) 访问ArrayAccessTree
节点。visitArrayType
(ArrayTypeTree node, P p) 访问ArrayTypeTree
节点。visitAssert
(AssertTree node, P p) 访问AssertTree
节点。visitAssignment
(AssignmentTree node, P p) 访问AssignmentTree
节点。visitBinary
(BinaryTree node, P p) 访问BinaryTree
节点。visitBindingPattern
(BindingPatternTree node, P p) 访问BindingPatternTree
节点。visitBlock
(BlockTree node, P p) 访问BlockTree
节点。visitBreak
(BreakTree node, P p) 访问BreakTree
节点。访问CaseTree
节点。visitCatch
(CatchTree node, P p) 访问CatchTree
节点。visitClass
(ClassTree node, P p) 访问ClassTree
节点。visitCompilationUnit
(CompilationUnitTree node, P p) 访问CompilationUnitTree
节点。访问CompoundAssignmentTree
节点。访问ConditionalExpressionTree
节点。visitConstantCaseLabel
(ConstantCaseLabelTree node, P p) 访问ConstantCaseLabelTree
节点。visitContinue
(ContinueTree node, P p) 访问ContinueTree
节点。访问DeconstructionPatternTree
节点。visitDefaultCaseLabel
(DefaultCaseLabelTree node, P p) 访问DefaultCaseLabelTree
节点。visitDoWhileLoop
(DoWhileLoopTree node, P p) 访问DoWhileTree
节点。visitEmptyStatement
(EmptyStatementTree node, P p) 访问EmptyStatementTree
节点。visitEnhancedForLoop
(EnhancedForLoopTree node, P p) 访问EnhancedForLoopTree
节点。visitErroneous
(ErroneousTree node, P p) 访问ErroneousTree
节点。visitExports
(ExportsTree node, P p) 访问ExportsTree
节点。访问ExpressionStatementTree
节点。visitForLoop
(ForLoopTree node, P p) 访问ForLoopTree
节点。visitIdentifier
(IdentifierTree node, P p) 访问IdentifierTree
节点。访问IfTree
节点。visitImport
(ImportTree node, P p) 访问ImportTree
节点。visitInstanceOf
(InstanceOfTree node, P p) 访问InstanceOfTree
节点。visitIntersectionType
(IntersectionTypeTree node, P p) 访问IntersectionTypeTree
节点。visitLabeledStatement
(LabeledStatementTree node, P p) 访问LabeledStatementTree
节点。visitLambdaExpression
(LambdaExpressionTree node, P p) 访问LambdaExpressionTree
节点。visitLiteral
(LiteralTree node, P p) 访问LiteralTree
节点。visitMemberReference
(MemberReferenceTree node, P p) 访问MemberReferenceTree
节点。visitMemberSelect
(MemberSelectTree node, P p) 访问MemberSelectTree
节点。visitMethod
(MethodTree node, P p) 访问MethodTree
节点。visitMethodInvocation
(MethodInvocationTree node, P p) 访问MethodInvocationTree
节点。visitModifiers
(ModifiersTree node, P p) 访问ModifiersTree
节点。visitModule
(ModuleTree node, P p) 访问ModuleTree
节点。visitNewArray
(NewArrayTree node, P p) 访问NewArrayTree
节点。visitNewClass
(NewClassTree node, P p) 访问NewClassTree
节点。visitOpens
(OpensTree node, P p) 访问OpensTree
节点。visitOther
(Tree node, P p) 访问未知类型的Tree
节点。visitPackage
(PackageTree node, P p) 访问PackageTree
节点。visitParameterizedType
(ParameterizedTypeTree node, P p) 访问ParameterizedTypeTree
节点。visitParenthesized
(ParenthesizedTree node, P p) 访问ParenthesizedTree
节点。visitPatternCaseLabel
(PatternCaseLabelTree node, P p) 访问PatternCaseLabelTree
节点。visitPrimitiveType
(PrimitiveTypeTree node, P p) 访问PrimitiveTypeTree
节点。visitProvides
(ProvidesTree node, P p) 访问ProvidesTree
节点。visitRequires
(RequiresTree node, P p) 访问RequiresTree
节点。visitReturn
(ReturnTree node, P p) 访问ReturnTree
节点。预览。访问StringTemplateTree节点。visitSwitch
(SwitchTree node, P p) 访问SwitchTree
节点。visitSwitchExpression
(SwitchExpressionTree node, P p) 访问SwitchExpressionTree
节点。visitSynchronized
(SynchronizedTree node, P p) 访问SynchronizedTree
节点。visitThrow
(ThrowTree node, P p) 访问ThrowTree
节点。访问TryTree
节点。visitTypeCast
(TypeCastTree node, P p) 访问TypeCastTree
节点。visitTypeParameter
(TypeParameterTree node, P p) 访问TypeParameterTree
节点。visitUnary
(UnaryTree node, P p) 访问UnaryTree
节点。visitUnionType
(UnionTypeTree node, P p) 访问UnionTypeTree
节点。访问UsesTree
节点。visitVariable
(VariableTree node, P p) 访问VariableTree
节点。visitWhileLoop
(WhileLoopTree node, P p) 访问WhileLoopTree
节点。visitWildcard
(WildcardTree node, P p) 访问WildcardTypeTree
节点。visitYield
(YieldTree node, P p) 访问YieldTree
节点。
-
Method Details
-
visitAnnotatedType
访问AnnotatedTypeTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 一个结果值
-
visitAnnotation
访问AnnotatedTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 一个结果值
-
visitMethodInvocation
访问MethodInvocationTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 一个结果值
-
visitAssert
访问AssertTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 一个结果值
-
visitAssignment
访问AssignmentTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 一个结果值
-
visitCompoundAssignment
访问CompoundAssignmentTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 一个结果值
-
visitBinary
访问BinaryTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 一个结果值
-
visitBlock
访问BlockTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 一个结果值
-
visitBreak
访问BreakTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 一个结果值
-
visitCase
访问CaseTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 一个结果值
-
visitCatch
访问CatchTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 一个结果值
-
visitClass
访问ClassTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 一个结果值
-
visitConditionalExpression
访问ConditionalExpressionTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 一个结果值
-
visitContinue
访问ContinueTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 一个结果值
-
visitDoWhileLoop
访问DoWhileTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 一个结果值
-
visitErroneous
访问ErroneousTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 一个结果值
-
visitExpressionStatement
访问ExpressionStatementTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitEnhancedForLoop
访问一个EnhancedForLoopTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitForLoop
访问一个ForLoopTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitIdentifier
访问一个IdentifierTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitIf
访问一个IfTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitImport
访问一个ImportTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitArrayAccess
访问一个ArrayAccessTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitLabeledStatement
访问一个LabeledStatementTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitLiteral
访问一个LiteralTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitStringTemplate
visitStringTemplate
是Java平台的一个反射预览API。预览功能可能会在将来的版本中被移除,或升级为Java平台的永久功能。访问一个StringTemplateTree节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitAnyPattern
visitAnyPattern
是Java平台的一个预览API。仅当启用预览功能时,程序才能使用visitAnyPattern
。预览功能可能会在将来的版本中被移除,或升级为Java平台的永久功能。访问一个AnyPatternTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
- 自:
- 21
-
visitBindingPattern
访问一个BindingPatternTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
- 自:
- 16
-
visitDefaultCaseLabel
访问一个DefaultCaseLabelTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
- 自:
- 21
-
visitConstantCaseLabel
访问一个ConstantCaseLabelTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
- 自:
- 21
-
visitPatternCaseLabel
访问一个PatternCaseLabelTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
- 自:
- 21
-
visitDeconstructionPattern
访问一个DeconstructionPatternTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
- 自:
- 21
-
visitMethod
访问一个MethodTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitModifiers
访问一个ModifiersTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitNewArray
访问一个NewArrayTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitNewClass
访问一个NewClassTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitLambdaExpression
访问一个LambdaExpressionTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitPackage
访问一个PackageTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitParenthesized
访问一个ParenthesizedTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitReturn
访问一个ReturnTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitMemberSelect
访问一个MemberSelectTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitMemberReference
访问一个MemberReferenceTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitEmptyStatement
访问一个EmptyStatementTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitSwitch
访问一个SwitchTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitSwitchExpression
访问一个SwitchExpressionTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
- 自:
- 12
-
visitSynchronized
访问一个SynchronizedTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitThrow
访问一个ThrowTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitCompilationUnit
访问一个CompilationUnitTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitTry
访问一个TryTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitParameterizedType
访问一个ParameterizedTypeTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitUnionType
访问一个UnionTypeTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值
-
visitIntersectionType
Visits anIntersectionTypeTree
node.- Parameters:
-
node
- the node being visited -
p
- a parameter value - Returns:
- a result value
-
visitArrayType
Visits anArrayTypeTree
node.- Parameters:
-
node
- the node being visited -
p
- a parameter value - Returns:
- a result value
-
visitTypeCast
Visits aTypeCastTree
node.- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitPrimitiveType
访问一个PrimitiveTypeTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitTypeParameter
访问一个TypeParameterTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitInstanceOf
访问一个InstanceOfTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitUnary
访问一个UnaryTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitVariable
访问一个VariableTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitWhileLoop
访问一个WhileLoopTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitWildcard
访问一个WildcardTypeTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitModule
访问一个ModuleTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitExports
访问一个ExportsTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitOpens
访问一个OpensTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitProvides
访问一个ProvidesTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitRequires
访问一个RequiresTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitUses
访问一个UsesTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitOther
访问一个未知类型的Tree
节点。如果语言发展并添加了新类型的节点到Tree
层次结构中,可能会出现这种情况。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
-
visitYield
访问一个YieldTree
节点。- 参数:
-
node
- 正在访问的节点 -
p
- 一个参数值 - 返回:
- 一个结果值
- 自从:
- 13
-