@Exported public class TreeScanner<R,P> extends Object implements TreeVisitor<R,P>
visitXYZメソッドのデフォルトの実装では、次の結果になります。
scanを呼び出した結果と同じになります。 子は、単一のノードでも、ノードのリストでもかまいません。 
 scanを呼び出し、2番目以降の各スキャンの結果を、それまでの累積的な結果と結合することで結果が得られます。これは、reduce(R, R)メソッドによる結果と同様です。 それぞれの子は、単一のノードでも、ノードのリストでもかまいません。 reduceメソッドのデフォルトの動作では、visitXYZメソッドの結果は、最後にスキャンされた子の結果になります。 
 ツリー内の識別子ノードの数をカウントする例を次に示します。
   class CountIdentifiers extends TreeScanner<Integer,Void> {
       @Override
      public Integer visitIdentifier(IdentifierTree node, Void p) {
          return 1;
      }
       @Override
      public Integer reduce(Integer r1, Integer r2) {
          return (r1 == null ? 0 : r1) + (r2 == null ? 0 : r2);
      }
   }
 | コンストラクタ | 説明 | 
|---|---|
| TreeScanner() | 
public R reduce(R r1, R r2)
public R visitCompilationUnit(CompilationUnitTree node, P p)
visitCompilationUnit、インタフェースTreeVisitor<R,P>public R visitImport(ImportTree node, P p)
visitImport、インタフェースTreeVisitor<R,P>public R visitClass(ClassTree node, P p)
visitClass、インタフェースTreeVisitor<R,P>public R visitMethod(MethodTree node, P p)
visitMethod、インタフェースTreeVisitor<R,P>public R visitVariable(VariableTree node, P p)
visitVariable、インタフェースTreeVisitor<R,P>public R visitEmptyStatement(EmptyStatementTree node, P p)
visitEmptyStatement、インタフェースTreeVisitor<R,P>public R visitBlock(BlockTree node, P p)
visitBlock、インタフェースTreeVisitor<R,P>public R visitDoWhileLoop(DoWhileLoopTree node, P p)
visitDoWhileLoop、インタフェースTreeVisitor<R,P>public R visitWhileLoop(WhileLoopTree node, P p)
visitWhileLoop、インタフェースTreeVisitor<R,P>public R visitForLoop(ForLoopTree node, P p)
visitForLoop、インタフェースTreeVisitor<R,P>public R visitEnhancedForLoop(EnhancedForLoopTree node, P p)
visitEnhancedForLoop、インタフェースTreeVisitor<R,P>public R visitLabeledStatement(LabeledStatementTree node, P p)
visitLabeledStatement、インタフェースTreeVisitor<R,P>public R visitSwitch(SwitchTree node, P p)
visitSwitch、インタフェースTreeVisitor<R,P>public R visitSynchronized(SynchronizedTree node, P p)
visitSynchronized、インタフェースTreeVisitor<R,P>public R visitCatch(CatchTree node, P p)
visitCatch、インタフェースTreeVisitor<R,P>public R visitConditionalExpression(ConditionalExpressionTree node, P p)
visitConditionalExpression、インタフェースTreeVisitor<R,P>public R visitExpressionStatement(ExpressionStatementTree node, P p)
visitExpressionStatement、インタフェースTreeVisitor<R,P>public R visitBreak(BreakTree node, P p)
visitBreak、インタフェースTreeVisitor<R,P>public R visitContinue(ContinueTree node, P p)
visitContinue、インタフェースTreeVisitor<R,P>public R visitReturn(ReturnTree node, P p)
visitReturn、インタフェースTreeVisitor<R,P>public R visitThrow(ThrowTree node, P p)
visitThrow、インタフェースTreeVisitor<R,P>public R visitAssert(AssertTree node, P p)
visitAssert、インタフェースTreeVisitor<R,P>public R visitMethodInvocation(MethodInvocationTree node, P p)
visitMethodInvocation、インタフェースTreeVisitor<R,P>public R visitNewClass(NewClassTree node, P p)
visitNewClass、インタフェースTreeVisitor<R,P>public R visitNewArray(NewArrayTree node, P p)
visitNewArray、インタフェースTreeVisitor<R,P>public R visitLambdaExpression(LambdaExpressionTree node, P p)
visitLambdaExpression、インタフェースTreeVisitor<R,P>public R visitParenthesized(ParenthesizedTree node, P p)
visitParenthesized、インタフェースTreeVisitor<R,P>public R visitAssignment(AssignmentTree node, P p)
visitAssignment、インタフェースTreeVisitor<R,P>public R visitCompoundAssignment(CompoundAssignmentTree node, P p)
visitCompoundAssignment、インタフェースTreeVisitor<R,P>public R visitUnary(UnaryTree node, P p)
visitUnary、インタフェースTreeVisitor<R,P>public R visitBinary(BinaryTree node, P p)
visitBinary、インタフェースTreeVisitor<R,P>public R visitTypeCast(TypeCastTree node, P p)
visitTypeCast、インタフェースTreeVisitor<R,P>public R visitInstanceOf(InstanceOfTree node, P p)
visitInstanceOf、インタフェースTreeVisitor<R,P>public R visitArrayAccess(ArrayAccessTree node, P p)
visitArrayAccess、インタフェースTreeVisitor<R,P>public R visitMemberSelect(MemberSelectTree node, P p)
visitMemberSelect、インタフェースTreeVisitor<R,P>public R visitMemberReference(MemberReferenceTree node, P p)
visitMemberReference、インタフェースTreeVisitor<R,P>public R visitIdentifier(IdentifierTree node, P p)
visitIdentifier、インタフェースTreeVisitor<R,P>public R visitLiteral(LiteralTree node, P p)
visitLiteral、インタフェースTreeVisitor<R,P>public R visitPrimitiveType(PrimitiveTypeTree node, P p)
visitPrimitiveType、インタフェースTreeVisitor<R,P>public R visitArrayType(ArrayTypeTree node, P p)
visitArrayType、インタフェースTreeVisitor<R,P>public R visitParameterizedType(ParameterizedTypeTree node, P p)
visitParameterizedType、インタフェースTreeVisitor<R,P>public R visitUnionType(UnionTypeTree node, P p)
visitUnionType、インタフェースTreeVisitor<R,P>public R visitIntersectionType(IntersectionTypeTree node, P p)
visitIntersectionType、インタフェースTreeVisitor<R,P>public R visitTypeParameter(TypeParameterTree node, P p)
visitTypeParameter、インタフェースTreeVisitor<R,P>public R visitWildcard(WildcardTree node, P p)
visitWildcard、インタフェースTreeVisitor<R,P>public R visitModifiers(ModifiersTree node, P p)
visitModifiers、インタフェースTreeVisitor<R,P>public R visitAnnotation(AnnotationTree node, P p)
visitAnnotation、インタフェースTreeVisitor<R,P>public R visitAnnotatedType(AnnotatedTypeTree node, P p)
visitAnnotatedType、インタフェースTreeVisitor<R,P>public R visitOther(Tree node, P p)
visitOther、インタフェースTreeVisitor<R,P>public R visitErroneous(ErroneousTree node, P p)
visitErroneous、インタフェースTreeVisitor<R,P>
 Copyright © 2005, 2025, Oracle and/or its affiliates.  All rights reserved.