org.codehaus.janino.util

Class Traverser

public class Traverser extends 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());
Method Summary
Visitor.ComprehensiveVisitorcomprehensiveVisitor()
voidtraverseAbstractTypeBodyDeclaration(Java.AbstractTypeBodyDeclaration atbd)
voidtraverseAbstractTypeDeclaration(Java.AbstractTypeDeclaration atd)
voidtraverseAlternateConstructorInvocation(Java.AlternateConstructorInvocation aci)
voidtraverseAmbiguousName(Java.AmbiguousName an)
voidtraverseAnonymousClassDeclaration(Java.AnonymousClassDeclaration acd)
voidtraverseArrayAccessExpression(Java.ArrayAccessExpression aae)
voidtraverseArrayInitializerOrRvalue(Java.ArrayInitializerOrRvalue aiorv)
voidtraverseArrayLength(Java.ArrayLength al)
voidtraverseArrayType(Java.ArrayType at)
voidtraverseAssignment(Java.Assignment a)
voidtraverseAtom(Java.Atom a)
voidtraverseBasicType(Java.BasicType bt)
voidtraverseBinaryOperation(Java.BinaryOperation bo)
voidtraverseBlock(Java.Block b)
voidtraverseBooleanRvalue(Java.BooleanRvalue brv)
voidtraverseBreakableStatement(Java.BreakableStatement bs)
voidtraverseBreakStatement(Java.BreakStatement bs)
voidtraverseCast(Java.Cast c)
voidtraverseClassDeclaration(Java.ClassDeclaration cd)
voidtraverseClassLiteral(Java.ClassLiteral cl)
voidtraverseCompilationUnit(Java.CompilationUnit cu)
voidtraverseConditionalExpression(Java.ConditionalExpression ce)
voidtraverseConstructorDeclarator(Java.ConstructorDeclarator cd)
voidtraverseConstructorInvocation(Java.ConstructorInvocation ci)
voidtraverseContinuableStatement(Java.ContinuableStatement cs)
voidtraverseContinueStatement(Java.ContinueStatement cs)
voidtraverseCrement(Java.Crement c)
voidtraverseDoStatement(Java.DoStatement ds)
voidtraverseEmptyStatement(Java.EmptyStatement es)
voidtraverseExpressionStatement(Java.ExpressionStatement es)
voidtraverseFieldAccess(Java.FieldAccess fa)
voidtraverseFieldAccessExpression(Java.FieldAccessExpression fae)
voidtraverseFieldDeclaration(Java.FieldDeclaration fd)
voidtraverseForStatement(Java.ForStatement fs)
voidtraverseFunctionDeclarator(Java.FunctionDeclarator fd)
voidtraverseIfStatement(Java.IfStatement is)
voidtraverseImportDeclaration(Java.CompilationUnit.ImportDeclaration id)
voidtraverseInitializer(Java.Initializer i)
voidtraverseInstanceof(Java.Instanceof io)
voidtraverseInterfaceDeclaration(Java.InterfaceDeclaration id)
voidtraverseInvocation(Java.Invocation i)
voidtraverseLabeledStatement(Java.LabeledStatement ls)
voidtraverseLiteral(Java.Literal l)
voidtraverseLocalClassDeclaration(Java.LocalClassDeclaration lcd)
voidtraverseLocalClassDeclarationStatement(Java.LocalClassDeclarationStatement lcds)
voidtraverseLocalVariableAccess(Java.LocalVariableAccess lva)
voidtraverseLocalVariableDeclarationStatement(Java.LocalVariableDeclarationStatement lvds)
voidtraverseLocated(Java.Located l)
voidtraverseLvalue(Java.Lvalue lv)
voidtraverseMemberClassDeclaration(Java.MemberClassDeclaration mcd)
voidtraverseMemberInterfaceDeclaration(Java.MemberInterfaceDeclaration mid)
voidtraverseMethodDeclarator(Java.MethodDeclarator md)
voidtraverseMethodInvocation(Java.MethodInvocation mi)
voidtraverseNamedClassDeclaration(Java.NamedClassDeclaration ncd)
voidtraverseNewAnonymousClassInstance(Java.NewAnonymousClassInstance naci)
voidtraverseNewArray(Java.NewArray na)
voidtraverseNewClassInstance(Java.NewClassInstance nci)
voidtraverseNewInitializedArray(Java.NewInitializedArray nia)
voidtraversePackage(Java.Package p)
voidtraversePackageMemberClassDeclaration(Java.PackageMemberClassDeclaration pmcd)
voidtraversePackageMemberInterfaceDeclaration(Java.PackageMemberInterfaceDeclaration pmid)
voidtraverseParameterAccess(Java.ParameterAccess pa)
voidtraverseParenthesizedExpression(Java.ParenthesizedExpression pe)
voidtraverseQualifiedThisReference(Java.QualifiedThisReference qtr)
voidtraverseReferenceType(Java.ReferenceType rt)
voidtraverseReturnStatement(Java.ReturnStatement rs)
voidtraverseRvalue(Java.Rvalue rv)
voidtraverseRvalueMemberType(Java.RvalueMemberType rmt)
voidtraverseSimpleType(Java.SimpleType st)
voidtraverseSingleStaticImportDeclaration(Java.CompilationUnit.SingleStaticImportDeclaration stid)
voidtraverseSingleTypeImportDeclaration(Java.CompilationUnit.SingleTypeImportDeclaration stid)
voidtraverseStatement(Java.Statement s)
voidtraverseStaticImportOnDemandDeclaration(Java.CompilationUnit.StaticImportOnDemandDeclaration siodd)
voidtraverseSuperclassFieldAccessExpression(Java.SuperclassFieldAccessExpression scfae)
voidtraverseSuperclassMethodInvocation(Java.SuperclassMethodInvocation smi)
voidtraverseSuperConstructorInvocation(Java.SuperConstructorInvocation sci)
voidtraverseSwitchStatement(Java.SwitchStatement ss)
voidtraverseSynchronizedStatement(Java.SynchronizedStatement ss)
voidtraverseThisReference(Java.ThisReference tr)
voidtraverseThrowStatement(Java.ThrowStatement ts)
voidtraverseTryStatement(Java.TryStatement ts)
voidtraverseType(Java.Type t)
voidtraverseTypeImportOnDemandDeclaration(Java.CompilationUnit.TypeImportOnDemandDeclaration tiodd)
voidtraverseUnaryOperation(Java.UnaryOperation uo)
voidtraverseWhileStatement(Java.WhileStatement ws)

Method Detail

comprehensiveVisitor

public Visitor.ComprehensiveVisitor comprehensiveVisitor()

traverseAbstractTypeBodyDeclaration

public void traverseAbstractTypeBodyDeclaration(Java.AbstractTypeBodyDeclaration atbd)

traverseAbstractTypeDeclaration

public void traverseAbstractTypeDeclaration(Java.AbstractTypeDeclaration atd)

traverseAlternateConstructorInvocation

public void traverseAlternateConstructorInvocation(Java.AlternateConstructorInvocation aci)

traverseAmbiguousName

public void traverseAmbiguousName(Java.AmbiguousName an)

traverseAnonymousClassDeclaration

public void traverseAnonymousClassDeclaration(Java.AnonymousClassDeclaration acd)

traverseArrayAccessExpression

public void traverseArrayAccessExpression(Java.ArrayAccessExpression aae)

traverseArrayInitializerOrRvalue

public void traverseArrayInitializerOrRvalue(Java.ArrayInitializerOrRvalue aiorv)

traverseArrayLength

public void traverseArrayLength(Java.ArrayLength al)

traverseArrayType

public void traverseArrayType(Java.ArrayType at)

traverseAssignment

public void traverseAssignment(Java.Assignment a)

traverseAtom

public void traverseAtom(Java.Atom a)

traverseBasicType

public void traverseBasicType(Java.BasicType bt)

traverseBinaryOperation

public void traverseBinaryOperation(Java.BinaryOperation bo)

traverseBlock

public void traverseBlock(Java.Block b)

traverseBooleanRvalue

public void traverseBooleanRvalue(Java.BooleanRvalue brv)

traverseBreakableStatement

public void traverseBreakableStatement(Java.BreakableStatement bs)

traverseBreakStatement

public void traverseBreakStatement(Java.BreakStatement bs)

traverseCast

public void traverseCast(Java.Cast c)

traverseClassDeclaration

public void traverseClassDeclaration(Java.ClassDeclaration cd)

traverseClassLiteral

public void traverseClassLiteral(Java.ClassLiteral cl)

traverseCompilationUnit

public void traverseCompilationUnit(Java.CompilationUnit cu)

traverseConditionalExpression

public void traverseConditionalExpression(Java.ConditionalExpression ce)

traverseConstructorDeclarator

public void traverseConstructorDeclarator(Java.ConstructorDeclarator cd)

traverseConstructorInvocation

public void traverseConstructorInvocation(Java.ConstructorInvocation ci)

traverseContinuableStatement

public void traverseContinuableStatement(Java.ContinuableStatement cs)

traverseContinueStatement

public void traverseContinueStatement(Java.ContinueStatement cs)

traverseCrement

public void traverseCrement(Java.Crement c)

traverseDoStatement

public void traverseDoStatement(Java.DoStatement ds)

traverseEmptyStatement

public void traverseEmptyStatement(Java.EmptyStatement es)

traverseExpressionStatement

public void traverseExpressionStatement(Java.ExpressionStatement es)

traverseFieldAccess

public void traverseFieldAccess(Java.FieldAccess fa)

traverseFieldAccessExpression

public void traverseFieldAccessExpression(Java.FieldAccessExpression fae)

traverseFieldDeclaration

public void traverseFieldDeclaration(Java.FieldDeclaration fd)

traverseForStatement

public void traverseForStatement(Java.ForStatement fs)

traverseFunctionDeclarator

public void traverseFunctionDeclarator(Java.FunctionDeclarator fd)

traverseIfStatement

public void traverseIfStatement(Java.IfStatement is)

traverseImportDeclaration

public void traverseImportDeclaration(Java.CompilationUnit.ImportDeclaration id)

traverseInitializer

public void traverseInitializer(Java.Initializer i)

traverseInstanceof

public void traverseInstanceof(Java.Instanceof io)

traverseInterfaceDeclaration

public void traverseInterfaceDeclaration(Java.InterfaceDeclaration id)

traverseInvocation

public void traverseInvocation(Java.Invocation i)

traverseLabeledStatement

public void traverseLabeledStatement(Java.LabeledStatement ls)

traverseLiteral

public void traverseLiteral(Java.Literal l)

traverseLocalClassDeclaration

public void traverseLocalClassDeclaration(Java.LocalClassDeclaration lcd)

traverseLocalClassDeclarationStatement

public void traverseLocalClassDeclarationStatement(Java.LocalClassDeclarationStatement lcds)

traverseLocalVariableAccess

public void traverseLocalVariableAccess(Java.LocalVariableAccess lva)

traverseLocalVariableDeclarationStatement

public void traverseLocalVariableDeclarationStatement(Java.LocalVariableDeclarationStatement lvds)

traverseLocated

public void traverseLocated(Java.Located l)

traverseLvalue

public void traverseLvalue(Java.Lvalue lv)

traverseMemberClassDeclaration

public void traverseMemberClassDeclaration(Java.MemberClassDeclaration mcd)

traverseMemberInterfaceDeclaration

public void traverseMemberInterfaceDeclaration(Java.MemberInterfaceDeclaration mid)

traverseMethodDeclarator

public void traverseMethodDeclarator(Java.MethodDeclarator md)

traverseMethodInvocation

public void traverseMethodInvocation(Java.MethodInvocation mi)

traverseNamedClassDeclaration

public void traverseNamedClassDeclaration(Java.NamedClassDeclaration ncd)

traverseNewAnonymousClassInstance

public void traverseNewAnonymousClassInstance(Java.NewAnonymousClassInstance naci)

traverseNewArray

public void traverseNewArray(Java.NewArray na)

traverseNewClassInstance

public void traverseNewClassInstance(Java.NewClassInstance nci)

traverseNewInitializedArray

public void traverseNewInitializedArray(Java.NewInitializedArray nia)

traversePackage

public void traversePackage(Java.Package p)

traversePackageMemberClassDeclaration

public void traversePackageMemberClassDeclaration(Java.PackageMemberClassDeclaration pmcd)

traversePackageMemberInterfaceDeclaration

public void traversePackageMemberInterfaceDeclaration(Java.PackageMemberInterfaceDeclaration pmid)

traverseParameterAccess

public void traverseParameterAccess(Java.ParameterAccess pa)

traverseParenthesizedExpression

public void traverseParenthesizedExpression(Java.ParenthesizedExpression pe)

traverseQualifiedThisReference

public void traverseQualifiedThisReference(Java.QualifiedThisReference qtr)

traverseReferenceType

public void traverseReferenceType(Java.ReferenceType rt)

traverseReturnStatement

public void traverseReturnStatement(Java.ReturnStatement rs)

traverseRvalue

public void traverseRvalue(Java.Rvalue rv)

traverseRvalueMemberType

public void traverseRvalueMemberType(Java.RvalueMemberType rmt)

traverseSimpleType

public void traverseSimpleType(Java.SimpleType st)

traverseSingleStaticImportDeclaration

public void traverseSingleStaticImportDeclaration(Java.CompilationUnit.SingleStaticImportDeclaration stid)

traverseSingleTypeImportDeclaration

public void traverseSingleTypeImportDeclaration(Java.CompilationUnit.SingleTypeImportDeclaration stid)

traverseStatement

public void traverseStatement(Java.Statement s)

traverseStaticImportOnDemandDeclaration

public void traverseStaticImportOnDemandDeclaration(Java.CompilationUnit.StaticImportOnDemandDeclaration siodd)

traverseSuperclassFieldAccessExpression

public void traverseSuperclassFieldAccessExpression(Java.SuperclassFieldAccessExpression scfae)

traverseSuperclassMethodInvocation

public void traverseSuperclassMethodInvocation(Java.SuperclassMethodInvocation smi)

traverseSuperConstructorInvocation

public void traverseSuperConstructorInvocation(Java.SuperConstructorInvocation sci)

traverseSwitchStatement

public void traverseSwitchStatement(Java.SwitchStatement ss)

traverseSynchronizedStatement

public void traverseSynchronizedStatement(Java.SynchronizedStatement ss)

traverseThisReference

public void traverseThisReference(Java.ThisReference tr)

traverseThrowStatement

public void traverseThrowStatement(Java.ThrowStatement ts)

traverseTryStatement

public void traverseTryStatement(Java.TryStatement ts)

traverseType

public void traverseType(Java.Type t)

traverseTypeImportOnDemandDeclaration

public void traverseTypeImportOnDemandDeclaration(Java.CompilationUnit.TypeImportOnDemandDeclaration tiodd)

traverseUnaryOperation

public void traverseUnaryOperation(Java.UnaryOperation uo)

traverseWhileStatement

public void traverseWhileStatement(Java.WhileStatement ws)