org.codehaus.janino.util
Class Traverser
java.lang.Object
org.codehaus.janino.util.Traverser
- Direct Known Subclasses:
- DeclarationCounter
- public class Traverser
- extends java.lang.Object
This class traverses the subnodes of an AST. Derived classes may override
individual methods to process specific nodes, e.g.:
LocalClassDeclaration lcd = ...;
lcd.accept(new Traverser {
int n = 0;
public void traverseMethodDeclarator(Java.MethodDeclarator md) {
++this.n;
super.traverseMethodDeclarator(md);
}
}.comprehensiveVisitor());
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Traverser
public Traverser()
comprehensiveVisitor
public Visitor.ComprehensiveVisitor comprehensiveVisitor()
traverseCompilationUnit
public void traverseCompilationUnit(Java.CompilationUnit cu)
traverseSingleTypeImportDeclaration
public void traverseSingleTypeImportDeclaration(Java.CompilationUnit.SingleTypeImportDeclaration stid)
traverseTypeImportOnDemandDeclaration
public void traverseTypeImportOnDemandDeclaration(Java.CompilationUnit.TypeImportOnDemandDeclaration tiodd)
traverseSingleStaticImportDeclaration
public void traverseSingleStaticImportDeclaration(Java.CompilationUnit.SingleStaticImportDeclaration stid)
traverseStaticImportOnDemandDeclaration
public void traverseStaticImportOnDemandDeclaration(Java.CompilationUnit.StaticImportOnDemandDeclaration siodd)
traverseImportDeclaration
public void traverseImportDeclaration(Java.CompilationUnit.ImportDeclaration id)
traverseAnonymousClassDeclaration
public void traverseAnonymousClassDeclaration(Java.AnonymousClassDeclaration acd)
traverseLocalClassDeclaration
public void traverseLocalClassDeclaration(Java.LocalClassDeclaration lcd)
traversePackageMemberClassDeclaration
public void traversePackageMemberClassDeclaration(Java.PackageMemberClassDeclaration pmcd)
traverseMemberInterfaceDeclaration
public void traverseMemberInterfaceDeclaration(Java.MemberInterfaceDeclaration mid)
traversePackageMemberInterfaceDeclaration
public void traversePackageMemberInterfaceDeclaration(Java.PackageMemberInterfaceDeclaration pmid)
traverseMemberClassDeclaration
public void traverseMemberClassDeclaration(Java.MemberClassDeclaration mcd)
traverseConstructorDeclarator
public void traverseConstructorDeclarator(Java.ConstructorDeclarator cd)
traverseInitializer
public void traverseInitializer(Java.Initializer i)
traverseMethodDeclarator
public void traverseMethodDeclarator(Java.MethodDeclarator md)
traverseFieldDeclaration
public void traverseFieldDeclaration(Java.FieldDeclaration fd)
traverseLabeledStatement
public void traverseLabeledStatement(Java.LabeledStatement ls)
traverseBlock
public void traverseBlock(Java.Block b)
traverseExpressionStatement
public void traverseExpressionStatement(Java.ExpressionStatement es)
traverseIfStatement
public void traverseIfStatement(Java.IfStatement is)
traverseForStatement
public void traverseForStatement(Java.ForStatement fs)
traverseWhileStatement
public void traverseWhileStatement(Java.WhileStatement ws)
traverseTryStatement
public void traverseTryStatement(Java.TryStatement ts)
traverseSwitchStatement
public void traverseSwitchStatement(Java.SwitchStatement ss)
traverseSynchronizedStatement
public void traverseSynchronizedStatement(Java.SynchronizedStatement ss)
traverseDoStatement
public void traverseDoStatement(Java.DoStatement ds)
traverseLocalVariableDeclarationStatement
public void traverseLocalVariableDeclarationStatement(Java.LocalVariableDeclarationStatement lvds)
traverseReturnStatement
public void traverseReturnStatement(Java.ReturnStatement rs)
traverseThrowStatement
public void traverseThrowStatement(Java.ThrowStatement ts)
traverseBreakStatement
public void traverseBreakStatement(Java.BreakStatement bs)
traverseContinueStatement
public void traverseContinueStatement(Java.ContinueStatement cs)
traverseEmptyStatement
public void traverseEmptyStatement(Java.EmptyStatement es)
traverseLocalClassDeclarationStatement
public void traverseLocalClassDeclarationStatement(Java.LocalClassDeclarationStatement lcds)
traversePackage
public void traversePackage(Java.Package p)
traverseArrayLength
public void traverseArrayLength(Java.ArrayLength al)
traverseAssignment
public void traverseAssignment(Java.Assignment a)
traverseUnaryOperation
public void traverseUnaryOperation(Java.UnaryOperation uo)
traverseBinaryOperation
public void traverseBinaryOperation(Java.BinaryOperation bo)
traverseCast
public void traverseCast(Java.Cast c)
traverseClassLiteral
public void traverseClassLiteral(Java.ClassLiteral cl)
traverseConditionalExpression
public void traverseConditionalExpression(Java.ConditionalExpression ce)
traverseConstantValue
public void traverseConstantValue(Java.ConstantValue cv)
traverseCrement
public void traverseCrement(Java.Crement c)
traverseInstanceof
public void traverseInstanceof(Java.Instanceof io)
traverseMethodInvocation
public void traverseMethodInvocation(Java.MethodInvocation mi)
traverseSuperclassMethodInvocation
public void traverseSuperclassMethodInvocation(Java.SuperclassMethodInvocation smi)
traverseLiteral
public void traverseLiteral(Java.Literal l)
traverseNewAnonymousClassInstance
public void traverseNewAnonymousClassInstance(Java.NewAnonymousClassInstance naci)
traverseNewArray
public void traverseNewArray(Java.NewArray na)
traverseNewInitializedArray
public void traverseNewInitializedArray(Java.NewInitializedArray nia)
traverseArrayInitializerOrRvalue
public void traverseArrayInitializerOrRvalue(Java.ArrayInitializerOrRvalue aiorv)
traverseNewClassInstance
public void traverseNewClassInstance(Java.NewClassInstance nci)
traverseParameterAccess
public void traverseParameterAccess(Java.ParameterAccess pa)
traverseQualifiedThisReference
public void traverseQualifiedThisReference(Java.QualifiedThisReference qtr)
traverseThisReference
public void traverseThisReference(Java.ThisReference tr)
traverseArrayType
public void traverseArrayType(Java.ArrayType at)
traverseBasicType
public void traverseBasicType(Java.BasicType bt)
traverseReferenceType
public void traverseReferenceType(Java.ReferenceType rt)
traverseRvalueMemberType
public void traverseRvalueMemberType(Java.RvalueMemberType rmt)
traverseSimpleType
public void traverseSimpleType(Java.SimpleType st)
traverseAlternateConstructorInvocation
public void traverseAlternateConstructorInvocation(Java.AlternateConstructorInvocation aci)
traverseSuperConstructorInvocation
public void traverseSuperConstructorInvocation(Java.SuperConstructorInvocation sci)
traverseAmbiguousName
public void traverseAmbiguousName(Java.AmbiguousName an)
traverseArrayAccessExpression
public void traverseArrayAccessExpression(Java.ArrayAccessExpression aae)
traverseFieldAccess
public void traverseFieldAccess(Java.FieldAccess fa)
traverseFieldAccessExpression
public void traverseFieldAccessExpression(Java.FieldAccessExpression fae)
traverseSuperclassFieldAccessExpression
public void traverseSuperclassFieldAccessExpression(Java.SuperclassFieldAccessExpression scfae)
traverseLocalVariableAccess
public void traverseLocalVariableAccess(Java.LocalVariableAccess lva)
traverseParenthesizedExpression
public void traverseParenthesizedExpression(Java.ParenthesizedExpression pe)
traverseClassDeclaration
public void traverseClassDeclaration(Java.ClassDeclaration cd)
traverseAbstractTypeDeclaration
public void traverseAbstractTypeDeclaration(Java.AbstractTypeDeclaration atd)
traverseNamedClassDeclaration
public void traverseNamedClassDeclaration(Java.NamedClassDeclaration ncd)
traverseInterfaceDeclaration
public void traverseInterfaceDeclaration(Java.InterfaceDeclaration id)
traverseFunctionDeclarator
public void traverseFunctionDeclarator(Java.FunctionDeclarator fd)
traverseAbstractTypeBodyDeclaration
public void traverseAbstractTypeBodyDeclaration(Java.AbstractTypeBodyDeclaration atbd)
traverseStatement
public void traverseStatement(Java.Statement s)
traverseBreakableStatement
public void traverseBreakableStatement(Java.BreakableStatement bs)
traverseContinuableStatement
public void traverseContinuableStatement(Java.ContinuableStatement cs)
traverseRvalue
public void traverseRvalue(Java.Rvalue rv)
traverseBooleanRvalue
public void traverseBooleanRvalue(Java.BooleanRvalue brv)
traverseInvocation
public void traverseInvocation(Java.Invocation i)
traverseConstructorInvocation
public void traverseConstructorInvocation(Java.ConstructorInvocation ci)
traverseLvalue
public void traverseLvalue(Java.Lvalue lv)
traverseType
public void traverseType(Java.Type t)
traverseAtom
public void traverseAtom(Java.Atom a)
traverseLocated
public void traverseLocated(Java.Located l)