|
Compiler Tree API | ||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectcom.sun.source.util.TreeScanner<R,P>
public class TreeScanner<R,P>
すべての子ツリーノードを巡回する TreeVisitor です。特定の型のノードを巡回するには、対応する visitXYZ メソッドを単にオーバーライドします。独自のメソッド内では、super.visitXYZ を呼び出して、下位ノードを巡回します。
visitXYZ メソッドのデフォルトの実装では、次の結果になります。
scan
を呼び出した結果と同じになります。子は、単一のノードでも、ノードのリストでもかまいません。
scan
を呼び出し、2 番目以降の各スキャンの結果を、それまでの累積的な結果と結合することで結果が得られます。これは、reduce(R, R)
メソッドによる結果と同様です。それぞれの子は、単一のノードでも、ノードのリストでもかまいません。reduce
メソッドのデフォルトの動作では、visitXYZ メソッドの結果は、最後にスキャンされた子の結果になります。
ツリー内の識別子ノードの数をカウントする例を次に示します。
class CountIdentifiers extends TreeScanner{ @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()
|
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
public TreeScanner()
メソッドの詳細 |
---|
public R scan(Tree node, P p)
public R scan(Iterable<? extends Tree> nodes, P p)
public R reduce(R r1, R r2)
public R visitCompilationUnit(CompilationUnitTree node, P p)
TreeVisitor<R,P>
内の visitCompilationUnit
public R visitImport(ImportTree node, P p)
TreeVisitor<R,P>
内の visitImport
public R visitClass(ClassTree node, P p)
TreeVisitor<R,P>
内の visitClass
public R visitMethod(MethodTree node, P p)
TreeVisitor<R,P>
内の visitMethod
public R visitVariable(VariableTree node, P p)
TreeVisitor<R,P>
内の visitVariable
public R visitEmptyStatement(EmptyStatementTree node, P p)
TreeVisitor<R,P>
内の visitEmptyStatement
public R visitBlock(BlockTree node, P p)
TreeVisitor<R,P>
内の visitBlock
public R visitDoWhileLoop(DoWhileLoopTree node, P p)
TreeVisitor<R,P>
内の visitDoWhileLoop
public R visitWhileLoop(WhileLoopTree node, P p)
TreeVisitor<R,P>
内の visitWhileLoop
public R visitForLoop(ForLoopTree node, P p)
TreeVisitor<R,P>
内の visitForLoop
public R visitEnhancedForLoop(EnhancedForLoopTree node, P p)
TreeVisitor<R,P>
内の visitEnhancedForLoop
public R visitLabeledStatement(LabeledStatementTree node, P p)
TreeVisitor<R,P>
内の visitLabeledStatement
public R visitSwitch(SwitchTree node, P p)
TreeVisitor<R,P>
内の visitSwitch
public R visitCase(CaseTree node, P p)
TreeVisitor<R,P>
内の visitCase
public R visitSynchronized(SynchronizedTree node, P p)
TreeVisitor<R,P>
内の visitSynchronized
public R visitTry(TryTree node, P p)
TreeVisitor<R,P>
内の visitTry
public R visitCatch(CatchTree node, P p)
TreeVisitor<R,P>
内の visitCatch
public R visitConditionalExpression(ConditionalExpressionTree node, P p)
TreeVisitor<R,P>
内の visitConditionalExpression
public R visitIf(IfTree node, P p)
TreeVisitor<R,P>
内の visitIf
public R visitExpressionStatement(ExpressionStatementTree node, P p)
TreeVisitor<R,P>
内の visitExpressionStatement
public R visitBreak(BreakTree node, P p)
TreeVisitor<R,P>
内の visitBreak
public R visitContinue(ContinueTree node, P p)
TreeVisitor<R,P>
内の visitContinue
public R visitReturn(ReturnTree node, P p)
TreeVisitor<R,P>
内の visitReturn
public R visitThrow(ThrowTree node, P p)
TreeVisitor<R,P>
内の visitThrow
public R visitAssert(AssertTree node, P p)
TreeVisitor<R,P>
内の visitAssert
public R visitMethodInvocation(MethodInvocationTree node, P p)
TreeVisitor<R,P>
内の visitMethodInvocation
public R visitNewClass(NewClassTree node, P p)
TreeVisitor<R,P>
内の visitNewClass
public R visitNewArray(NewArrayTree node, P p)
TreeVisitor<R,P>
内の visitNewArray
public R visitParenthesized(ParenthesizedTree node, P p)
TreeVisitor<R,P>
内の visitParenthesized
public R visitAssignment(AssignmentTree node, P p)
TreeVisitor<R,P>
内の visitAssignment
public R visitCompoundAssignment(CompoundAssignmentTree node, P p)
TreeVisitor<R,P>
内の visitCompoundAssignment
public R visitUnary(UnaryTree node, P p)
TreeVisitor<R,P>
内の visitUnary
public R visitBinary(BinaryTree node, P p)
TreeVisitor<R,P>
内の visitBinary
public R visitTypeCast(TypeCastTree node, P p)
TreeVisitor<R,P>
内の visitTypeCast
public R visitInstanceOf(InstanceOfTree node, P p)
TreeVisitor<R,P>
内の visitInstanceOf
public R visitArrayAccess(ArrayAccessTree node, P p)
TreeVisitor<R,P>
内の visitArrayAccess
public R visitMemberSelect(MemberSelectTree node, P p)
TreeVisitor<R,P>
内の visitMemberSelect
public R visitIdentifier(IdentifierTree node, P p)
TreeVisitor<R,P>
内の visitIdentifier
public R visitLiteral(LiteralTree node, P p)
TreeVisitor<R,P>
内の visitLiteral
public R visitPrimitiveType(PrimitiveTypeTree node, P p)
TreeVisitor<R,P>
内の visitPrimitiveType
public R visitArrayType(ArrayTypeTree node, P p)
TreeVisitor<R,P>
内の visitArrayType
public R visitParameterizedType(ParameterizedTypeTree node, P p)
TreeVisitor<R,P>
内の visitParameterizedType
public R visitTypeParameter(TypeParameterTree node, P p)
TreeVisitor<R,P>
内の visitTypeParameter
public R visitWildcard(WildcardTree node, P p)
TreeVisitor<R,P>
内の visitWildcard
public R visitModifiers(ModifiersTree node, P p)
TreeVisitor<R,P>
内の visitModifiers
public R visitAnnotation(AnnotationTree node, P p)
TreeVisitor<R,P>
内の visitAnnotation
public R visitOther(Tree node, P p)
TreeVisitor<R,P>
内の visitOther
public R visitErroneous(ErroneousTree node, P p)
TreeVisitor<R,P>
内の visitErroneous
|
Compiler Tree API | ||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |