com.sun.tools.javac.tree
Class TreeScanner
java.lang.Object
com.sun.tools.javac.tree.JCTree.Visitor
com.sun.tools.javac.tree.TreeScanner
- Direct Known Subclasses:
- Apt.AptTreeScanner, Flow, JavacProcessingEnvironment.AnnotationCollector, Lower.ClassMap, Lower.FreeVarCollector
public class TreeScanner
- extends JCTree.Visitor
A subclass of Tree.Visitor, this class defines
a general tree scanner pattern. Translation proceeds recursively in
left-to-right order down a tree. There is one visitor method in this class
for every possible kind of tree node. To obtain a specific
scanner, it suffices to override those visitor methods which
do some interesting work. The scanner class itself takes care of all
navigational aspects.
This is NOT part of any API supported by Sun Microsystems. If
you write code that depends on this, you do so at your own risk.
This code and its internal interfaces are subject to change or
deletion without notice.
TreeScanners do not descend into brackets.
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TreeScanner
public TreeScanner()
scan
public void scan(JCTree tree)
- Visitor method: Scan a single node.
scan
public void scan(List<? extends JCTree> trees)
- Visitor method: scan a list of nodes.
visitTopLevel
public void visitTopLevel(JCTree.JCCompilationUnit tree)
- Overrides:
visitTopLevel in class JCTree.Visitor
visitImport
public void visitImport(JCTree.JCImport tree)
- Overrides:
visitImport in class JCTree.Visitor
visitClassDef
public void visitClassDef(JCTree.JCClassDecl tree)
- Overrides:
visitClassDef in class JCTree.Visitor
visitMethodDef
public void visitMethodDef(JCTree.JCMethodDecl tree)
- Overrides:
visitMethodDef in class JCTree.Visitor
visitVarDef
public void visitVarDef(JCTree.JCVariableDecl tree)
- Overrides:
visitVarDef in class JCTree.Visitor
visitSkip
public void visitSkip(JCTree.JCSkip tree)
- Overrides:
visitSkip in class JCTree.Visitor
visitBlock
public void visitBlock(JCTree.JCBlock tree)
- Overrides:
visitBlock in class JCTree.Visitor
visitBracketExpr
public void visitBracketExpr(JCTree.JCBracketExpr that)
- Overrides:
visitBracketExpr in class JCTree.Visitor
visitDoLoop
public void visitDoLoop(JCTree.JCDoWhileLoop tree)
- Overrides:
visitDoLoop in class JCTree.Visitor
visitWhileLoop
public void visitWhileLoop(JCTree.JCWhileLoop tree)
- Overrides:
visitWhileLoop in class JCTree.Visitor
visitForLoop
public void visitForLoop(JCTree.JCForLoop tree)
- Overrides:
visitForLoop in class JCTree.Visitor
visitForeachLoop
public void visitForeachLoop(JCTree.JCEnhancedForLoop tree)
- Overrides:
visitForeachLoop in class JCTree.Visitor
visitLabelled
public void visitLabelled(JCTree.JCLabeledStatement tree)
- Overrides:
visitLabelled in class JCTree.Visitor
visitSwitch
public void visitSwitch(JCTree.JCSwitch tree)
- Overrides:
visitSwitch in class JCTree.Visitor
visitCase
public void visitCase(JCTree.JCCase tree)
- Overrides:
visitCase in class JCTree.Visitor
visitSynchronized
public void visitSynchronized(JCTree.JCSynchronized tree)
- Overrides:
visitSynchronized in class JCTree.Visitor
visitTry
public void visitTry(JCTree.JCTry tree)
- Overrides:
visitTry in class JCTree.Visitor
visitCatch
public void visitCatch(JCTree.JCCatch tree)
- Overrides:
visitCatch in class JCTree.Visitor
visitConditional
public void visitConditional(JCTree.JCConditional tree)
- Overrides:
visitConditional in class JCTree.Visitor
visitIf
public void visitIf(JCTree.JCIf tree)
- Overrides:
visitIf in class JCTree.Visitor
visitExec
public void visitExec(JCTree.JCExpressionStatement tree)
- Overrides:
visitExec in class JCTree.Visitor
visitBreak
public void visitBreak(JCTree.JCBreak tree)
- Overrides:
visitBreak in class JCTree.Visitor
visitContinue
public void visitContinue(JCTree.JCContinue tree)
- Overrides:
visitContinue in class JCTree.Visitor
visitReturn
public void visitReturn(JCTree.JCReturn tree)
- Overrides:
visitReturn in class JCTree.Visitor
visitThrow
public void visitThrow(JCTree.JCThrow tree)
- Overrides:
visitThrow in class JCTree.Visitor
visitAssert
public void visitAssert(JCTree.JCAssert tree)
- Overrides:
visitAssert in class JCTree.Visitor
visitApply
public void visitApply(JCTree.JCMethodInvocation tree)
- Overrides:
visitApply in class JCTree.Visitor
visitNewClass
public void visitNewClass(JCTree.JCNewClass tree)
- Overrides:
visitNewClass in class JCTree.Visitor
visitNewArray
public void visitNewArray(JCTree.JCNewArray tree)
- Overrides:
visitNewArray in class JCTree.Visitor
visitParens
public void visitParens(JCTree.JCParens tree)
- Overrides:
visitParens in class JCTree.Visitor
visitAssign
public void visitAssign(JCTree.JCAssign tree)
- Overrides:
visitAssign in class JCTree.Visitor
visitAssignop
public void visitAssignop(JCTree.JCAssignOp tree)
- Overrides:
visitAssignop in class JCTree.Visitor
visitUnary
public void visitUnary(JCTree.JCUnary tree)
- Overrides:
visitUnary in class JCTree.Visitor
visitBinary
public void visitBinary(JCTree.JCBinary tree)
- Overrides:
visitBinary in class JCTree.Visitor
visitTypeCast
public void visitTypeCast(JCTree.JCTypeCast tree)
- Overrides:
visitTypeCast in class JCTree.Visitor
visitTypeTest
public void visitTypeTest(JCTree.JCInstanceOf tree)
- Overrides:
visitTypeTest in class JCTree.Visitor
visitIndexed
public void visitIndexed(JCTree.JCArrayAccess tree)
- Overrides:
visitIndexed in class JCTree.Visitor
visitSelect
public void visitSelect(JCTree.JCFieldAccess tree)
- Overrides:
visitSelect in class JCTree.Visitor
visitIdent
public void visitIdent(JCTree.JCIdent tree)
- Overrides:
visitIdent in class JCTree.Visitor
visitLiteral
public void visitLiteral(JCTree.JCLiteral tree)
- Overrides:
visitLiteral in class JCTree.Visitor
visitTypeIdent
public void visitTypeIdent(JCTree.JCPrimitiveTypeTree tree)
- Overrides:
visitTypeIdent in class JCTree.Visitor
visitTypeArray
public void visitTypeArray(JCTree.JCArrayTypeTree tree)
- Overrides:
visitTypeArray in class JCTree.Visitor
visitTypeApply
public void visitTypeApply(JCTree.JCTypeApply tree)
- Overrides:
visitTypeApply in class JCTree.Visitor
visitTypeParameter
public void visitTypeParameter(JCTree.JCTypeParameter tree)
- Overrides:
visitTypeParameter in class JCTree.Visitor
visitWildcard
public void visitWildcard(JCTree.JCWildcard tree)
- Overrides:
visitWildcard in class JCTree.Visitor
visitTypeBoundKind
public void visitTypeBoundKind(JCTree.TypeBoundKind that)
- Overrides:
visitTypeBoundKind in class JCTree.Visitor
visitModifiers
public void visitModifiers(JCTree.JCModifiers tree)
- Overrides:
visitModifiers in class JCTree.Visitor
visitAnnotation
public void visitAnnotation(JCTree.JCAnnotation tree)
- Overrides:
visitAnnotation in class JCTree.Visitor
visitErroneous
public void visitErroneous(JCTree.JCErroneous tree)
- Overrides:
visitErroneous in class JCTree.Visitor
visitLetExpr
public void visitLetExpr(JCTree.LetExpr tree)
- Overrides:
visitLetExpr in class JCTree.Visitor
visitTree
public void visitTree(JCTree tree)
- Overrides:
visitTree in class JCTree.Visitor