Web Site

org.codehaus.janino.util
Class Traverser

java.lang.Object
  extended byorg.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());


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

Constructor Detail

Traverser

public Traverser()
Method Detail

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)

Web Site