- 类型参数:
-
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 anIntersectionTypeTreenode.- Parameters:
-
node- the node being visited -
p- a parameter value - Returns:
- a result value
-
visitArrayType
Visits anArrayTypeTreenode.- Parameters:
-
node- the node being visited -
p- a parameter value - Returns:
- a result value
-
visitTypeCast
Visits aTypeCastTreenode.- 参数:
-
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
-