Top Description Fields Constructors Methods
org.codehaus.janino.util

public Class AbstractTraverser<EX extends java.lang.Throwable>

extends Object
implements Traverser<EX extends Throwable>
Class Inheritance
All Implemented Interfaces
org.codehaus.janino.util.Traverser
Known Direct Subclasses
org.codehaus.janino.samples.DeclarationCounter
Type Parameters
<EX>
The exception that the "traverse*()" and "visit*()" methods may throw
Imports
org.codehaus.commons.nullanalysis.Nullable, org.codehaus.janino.Java.AbstractClassDeclaration, .Java.AbstractCompilationUnit, .Java.AbstractCompilationUnit.ImportDeclaration, .Java.AbstractTypeBodyDeclaration, .Java.AbstractTypeDeclaration, .Java.AlternateConstructorInvocation, .Java.AmbiguousName, .Java.Annotation, .Java.AnonymousClassDeclaration, .Java.ArrayAccessExpression, .Java.ArrayCreationReference, .Java.ArrayInitializer, .Java.ArrayInitializerOrRvalue, .Java.ArrayLength, .Java.ArrayType, .Java.AssertStatement, .Java.Assignment, .Java.Atom, .Java.BinaryOperation, .Java.Block, .Java.BlockStatement, .Java.BooleanLiteral, .Java.BooleanRvalue, .Java.BreakStatement, .Java.BreakableStatement, .Java.Cast, .Java.CatchClause, .Java.CharacterLiteral, .Java.ClassInstanceCreationReference, .Java.ClassLiteral, .Java.CompilationUnit, .Java.ConditionalExpression, .Java.ConstructorDeclarator, .Java.ConstructorInvocation, .Java.ContinuableStatement, .Java.ContinueStatement, .Java.Crement, .Java.DoStatement, .Java.ElementValue, .Java.ElementValueArrayInitializer, .Java.ElementValuePair, .Java.EmptyStatement, .Java.EnumConstant, .Java.ExpressionStatement, .Java.FieldAccess, .Java.FieldAccessExpression, .Java.FieldDeclaration, .Java.FloatingPointLiteral, .Java.ForEachStatement, .Java.ForStatement, .Java.FunctionDeclarator, .Java.IfStatement, .Java.Initializer, .Java.Instanceof, .Java.IntegerLiteral, .Java.InterfaceDeclaration, .Java.Invocation, .Java.LabeledStatement, .Java.LambdaExpression, .Java.Literal, .Java.LocalClassDeclaration, .Java.LocalClassDeclarationStatement, .Java.LocalVariableAccess, .Java.LocalVariableDeclarationStatement, .Java.Located, .Java.Lvalue, .Java.MarkerAnnotation, .Java.MemberAnnotationTypeDeclaration, .Java.MemberClassDeclaration, .Java.MemberEnumDeclaration, .Java.MemberInterfaceDeclaration, .Java.MethodDeclarator, .Java.MethodInvocation, .Java.MethodReference, .Java.ModularCompilationUnit, .Java.NamedClassDeclaration, .Java.NamedTypeDeclaration, .Java.NewAnonymousClassInstance, .Java.NewArray, .Java.NewClassInstance, .Java.NewInitializedArray, .Java.NormalAnnotation, .Java.NullLiteral, .Java.Package, .Java.PackageMemberAnnotationTypeDeclaration, .Java.PackageMemberClassDeclaration, .Java.PackageMemberEnumDeclaration, .Java.PackageMemberInterfaceDeclaration, .Java.PackageMemberTypeDeclaration, .Java.ParameterAccess, .Java.ParenthesizedExpression, .Java.PrimitiveType, .Java.QualifiedThisReference, .Java.ReferenceType, .Java.ReturnStatement, .Java.Rvalue, .Java.RvalueMemberType, .Java.SimpleConstant, .Java.SimpleType, .Java.SingleElementAnnotation, .Java.Statement, .Java.StringLiteral, .Java.SuperConstructorInvocation, .Java.SuperclassFieldAccessExpression, .Java.SuperclassMethodInvocation, .Java.SwitchStatement, .Java.SynchronizedStatement, .Java.TextBlock, .Java.ThisReference, .Java.ThrowStatement, .Java.TryStatement, .Java.TryStatement.LocalVariableDeclaratorResource, .Java.TryStatement.VariableAccessResource, .Java.Type, .Java.TypeBodyDeclaration, .Java.TypeDeclaration, .Java.UnaryOperation, .Java.VariableDeclarator, .Java.WhileStatement, .Visitor.AbstractCompilationUnitVisitor, .Visitor.AnnotationVisitor, .Visitor.ArrayInitializerOrRvalueVisitor, .Visitor.AtomVisitor, .Visitor.BlockStatementVisitor, .Visitor.ConstructorInvocationVisitor, .Visitor.ElementValueVisitor, .Visitor.FunctionDeclaratorVisitor, .Visitor.ImportVisitor, .Visitor.LvalueVisitor, .Visitor.RvalueVisitor, .Visitor.TryStatementResourceVisitor, .Visitor.TypeBodyDeclarationVisitor, .Visitor.TypeDeclarationVisitor, .Visitor.TypeVisitor

A basic implementation of Traverser; each traverse*(s) method invokes the traverse*() methods of all Java elements subordinate to x.

Example:

    LocalClassDeclaration lcd = ...;

    new AbstractTraverser() {

        int n = 0;

        public void
        traverseMethodDeclarator(MethodDeclarator md) {
            ++this.n;
            super.traverseMethodDeclarator(md);
        }
    }.visitTypeDeclaration(lcd);
See Also
visitAnnotation(Java.Annotation), visitAtom(Java.Atom), visitBlockStatement(Java.BlockStatement), visitElementValue(Java.ElementValue), visitImportDeclaration(Java.AbstractCompilationUnit.ImportDeclaration), visitTypeBodyDeclaration(Java.TypeBodyDeclaration), visitTypeDeclaration(Java.TypeDeclaration), visitAbstractCompilationUnit(Java.AbstractCompilationUnit)

Field Summary

Modifier and TypeField and Description
private final Visitor.AbstractCompilationUnitVisitor<Void, EX>
abstractCompilationUnitTraverser

Invokes the "traverse*()" method for the concrete AbstractCompilationUnit.

private final Visitor.AnnotationVisitor<Void, EX>
annotationTraverser

Invokes the "traverse*()" method for the concrete Annotation.

private final Visitor.ArrayInitializerOrRvalueVisitor<Void, EX>
private final Visitor.AtomVisitor<Void, EX>
atomTraverser

Invokes the "traverse*()" method for the concrete Atom.

private final Visitor.BlockStatementVisitor<Void, EX>
blockStatementTraverser

Invokes the "traverse*()" method for the concrete BlockStatement.

private final Traverser<EX>
private final Visitor.ElementValueVisitor<Void, EX>
elementValueTraverser

Invokes the "traverse*()" method for the concrete ElementValue.

private final Visitor.ImportVisitor<Void, EX>
importTraverser

Invokes the "traverse*()" method for the concrete ImportDeclaration.

private final Visitor.TryStatementResourceVisitor<Void, EX>
private final Visitor.RvalueVisitor<Void, EX>
rvalueTraverser

Invokes the "traverse*()" method for the concrete Rvalue.

private final Visitor.TypeBodyDeclarationVisitor<Void, EX>
typeBodyDeclarationTraverser

Invokes the "traverse*()" method for the concrete TypeBodyDeclaration.

private final Visitor.TypeDeclarationVisitor<Void, EX>
typeDeclarationTraverser

Invokes the "traverse*()" method for the concrete TypeDeclaration.

Constructor Summary

AccessConstructor and Description
public
public

Method Summary

Modifier and TypeMethod and Description
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait