Package org.codehaus.janino.util
Class AbstractTraverser<EX extends Throwable>
java.lang.Object
org.codehaus.janino.util.AbstractTraverser<EX>
- Type Parameters:
EX- The exception that the "traverse*()" and "visit*()" methods may throw
- All Implemented Interfaces:
Traverser<EX>
- Direct Known Subclasses:
DeclarationCounter
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
FieldsModifier and TypeFieldDescriptionprivate final Visitor.AbstractCompilationUnitVisitor<Void,EX> Invokes the "traverse*()" method for the concreteJava.AbstractCompilationUnit.private final Visitor.AnnotationVisitor<Void,EX> Invokes the "traverse*()" method for the concreteJava.Annotation.private final Visitor.ArrayInitializerOrRvalueVisitor<Void,EX> private final Visitor.AtomVisitor<Void,EX> Invokes the "traverse*()" method for the concreteJava.Atom.private final Visitor.BlockStatementVisitor<Void,EX> Invokes the "traverse*()" method for the concreteJava.BlockStatement.private final Visitor.ElementValueVisitor<Void,EX> Invokes the "traverse*()" method for the concreteJava.ElementValue.private final Visitor.ImportVisitor<Void,EX> Invokes the "traverse*()" method for the concreteJava.AbstractCompilationUnit.ImportDeclaration.private final Visitor.TryStatementResourceVisitor<Void,EX> private final Visitor.RvalueVisitor<Void,EX> Invokes the "traverse*()" method for the concreteJava.Rvalue.private final Visitor.TypeBodyDeclarationVisitor<Void,EX> Invokes the "traverse*()" method for the concreteJava.TypeBodyDeclaration.private final Visitor.TypeDeclarationVisitor<Void,EX> Invokes the "traverse*()" method for the concreteJava.TypeDeclaration. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidtraverseFormalParameter(Java.FunctionDeclarator.FormalParameter formalParameter) voidtraverseFormalParameters(Java.FunctionDeclarator.FormalParameters formalParameters) voidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidtraverseSingleStaticImportDeclaration(Java.AbstractCompilationUnit.SingleStaticImportDeclaration stid) voidvoidvoidtraverseStaticImportOnDemandDeclaration(Java.AbstractCompilationUnit.StaticImportOnDemandDeclaration siodd) voidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidtraverseTypeImportOnDemandDeclaration(Java.AbstractCompilationUnit.TypeImportOnDemandDeclaration tiodd) voidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoid
-
Field Details
-
delegate
-
abstractCompilationUnitTraverser
private final Visitor.AbstractCompilationUnitVisitor<Void,EX extends Throwable> abstractCompilationUnitTraverserInvokes the "traverse*()" method for the concreteJava.AbstractCompilationUnit. -
importTraverser
Invokes the "traverse*()" method for the concreteJava.AbstractCompilationUnit.ImportDeclaration. -
typeDeclarationTraverser
Invokes the "traverse*()" method for the concreteJava.TypeDeclaration. -
rvalueTraverser
Invokes the "traverse*()" method for the concreteJava.Rvalue. -
typeBodyDeclarationTraverser
private final Visitor.TypeBodyDeclarationVisitor<Void,EX extends Throwable> typeBodyDeclarationTraverserInvokes the "traverse*()" method for the concreteJava.TypeBodyDeclaration. -
blockStatementTraverser
Invokes the "traverse*()" method for the concreteJava.BlockStatement. -
atomTraverser
Invokes the "traverse*()" method for the concreteJava.Atom. -
arrayInitializerOrRvalueTraverser
private final Visitor.ArrayInitializerOrRvalueVisitor<Void,EX extends Throwable> arrayInitializerOrRvalueTraverser -
elementValueTraverser
Invokes the "traverse*()" method for the concreteJava.ElementValue. -
annotationTraverser
Invokes the "traverse*()" method for the concreteJava.Annotation. -
resourceTraverser
-
-
Constructor Details
-
AbstractTraverser
public AbstractTraverser() -
AbstractTraverser
-
-
Method Details
-
visitAbstractCompilationUnit
-
visitImportDeclaration
-
visitTypeDeclaration
-
visitTypeBodyDeclaration
-
visitBlockStatement
-
visitAtom
-
visitElementValue
-
visitAnnotation
-
traverseAbstractCompilationUnit
-
traverseCompilationUnit
-
traverseModularCompilationUnit
-
traverseSingleTypeImportDeclaration
public void traverseSingleTypeImportDeclaration(Java.AbstractCompilationUnit.SingleTypeImportDeclaration stid) throws EX -
traverseTypeImportOnDemandDeclaration
public void traverseTypeImportOnDemandDeclaration(Java.AbstractCompilationUnit.TypeImportOnDemandDeclaration tiodd) throws EX -
traverseSingleStaticImportDeclaration
public void traverseSingleStaticImportDeclaration(Java.AbstractCompilationUnit.SingleStaticImportDeclaration stid) throws EX -
traverseStaticImportOnDemandDeclaration
public void traverseStaticImportOnDemandDeclaration(Java.AbstractCompilationUnit.StaticImportOnDemandDeclaration siodd) throws EX -
traverseImportDeclaration
-
traverseAnonymousClassDeclaration
-
traverseLocalClassDeclaration
-
traversePackageMemberClassDeclaration
public void traversePackageMemberClassDeclaration(Java.PackageMemberClassDeclaration pmcd) throws EX -
traverseMemberInterfaceDeclaration
-
traversePackageMemberInterfaceDeclaration
public void traversePackageMemberInterfaceDeclaration(Java.PackageMemberInterfaceDeclaration pmid) throws EX -
traverseMemberClassDeclaration
-
traverseConstructorDeclarator
-
traverseInitializer
-
traverseMethodDeclarator
-
traverseFieldDeclaration
-
traverseLabeledStatement
-
traverseBlock
-
traverseExpressionStatement
-
traverseIfStatement
-
traverseForStatement
-
traverseForEachStatement
-
traverseWhileStatement
-
traverseTryStatement
-
traverseSwitchStatement
-
traverseSynchronizedStatement
-
traverseDoStatement
-
traverseLocalVariableDeclarationStatement
public void traverseLocalVariableDeclarationStatement(Java.LocalVariableDeclarationStatement lvds) throws EX -
traverseReturnStatement
-
traverseThrowStatement
-
traverseBreakStatement
-
traverseContinueStatement
-
traverseAssertStatement
-
traverseEmptyStatement
-
traverseLocalClassDeclarationStatement
public void traverseLocalClassDeclarationStatement(Java.LocalClassDeclarationStatement lcds) throws EX -
traversePackage
-
traverseArrayLength
-
traverseAssignment
-
traverseUnaryOperation
-
traverseBinaryOperation
-
traverseCast
-
traverseClassLiteral
-
traverseConditionalExpression
-
traverseCrement
-
traverseInstanceof
-
traverseMethodInvocation
-
traverseSuperclassMethodInvocation
-
traverseLiteral
-
traverseIntegerLiteral
-
traverseFloatingPointLiteral
-
traverseBooleanLiteral
-
traverseCharacterLiteral
-
traverseStringLiteral
-
traverseNullLiteral
-
traverseSimpleLiteral
-
traverseNewAnonymousClassInstance
-
traverseNewArray
-
traverseNewInitializedArray
-
traverseArrayInitializerOrRvalue
-
traverseNewClassInstance
-
traverseParameterAccess
-
traverseQualifiedThisReference
-
traverseThisReference
-
traverseLambdaExpression
-
traverseMethodReference
-
traverseClassInstanceCreationReference
public void traverseClassInstanceCreationReference(Java.ClassInstanceCreationReference cicr) throws EX -
traverseArrayCreationReference
-
traverseArrayType
-
traversePrimitiveType
-
traverseReferenceType
-
traverseRvalueMemberType
-
traverseSimpleType
-
traverseAlternateConstructorInvocation
public void traverseAlternateConstructorInvocation(Java.AlternateConstructorInvocation aci) throws EX -
traverseSuperConstructorInvocation
-
traverseAmbiguousName
-
traverseArrayAccessExpression
-
traverseFieldAccess
-
traverseFieldAccessExpression
-
traverseSuperclassFieldAccessExpression
public void traverseSuperclassFieldAccessExpression(Java.SuperclassFieldAccessExpression scfae) throws EX -
traverseLocalVariableAccess
-
traverseParenthesizedExpression
-
traverseElementValueArrayInitializer
-
traverseElementValue
- Specified by:
traverseElementValuein interfaceTraverser<EX extends Throwable>- Throws:
EX- See Also:
-
traverseSingleElementAnnotation
-
traverseAnnotation
- Specified by:
traverseAnnotationin interfaceTraverser<EX extends Throwable>- Throws:
EX- See Also:
-
traverseNormalAnnotation
-
traverseMarkerAnnotation
-
traverseClassDeclaration
-
traverseAbstractTypeDeclaration
-
traverseNamedClassDeclaration
-
traverseInterfaceDeclaration
-
traverseFunctionDeclarator
-
traverseFormalParameters
public void traverseFormalParameters(Java.FunctionDeclarator.FormalParameters formalParameters) throws EX -
traverseFormalParameter
public void traverseFormalParameter(Java.FunctionDeclarator.FormalParameter formalParameter) throws EX -
traverseAbstractTypeBodyDeclaration
-
traverseStatement
-
traverseBreakableStatement
-
traverseContinuableStatement
-
traverseRvalue
-
traverseBooleanRvalue
-
traverseInvocation
-
traverseConstructorInvocation
-
traverseEnumConstant
-
traversePackageMemberEnumDeclaration
-
traverseMemberEnumDeclaration
-
traversePackageMemberAnnotationTypeDeclaration
public void traversePackageMemberAnnotationTypeDeclaration(Java.PackageMemberAnnotationTypeDeclaration pmatd) throws EX -
traverseMemberAnnotationTypeDeclaration
public void traverseMemberAnnotationTypeDeclaration(Java.MemberAnnotationTypeDeclaration matd) throws EX -
traverseLvalue
-
traverseType
-
traverseAtom
-
traverseLocated
-
traverseLocalVariableDeclaratorResource
public void traverseLocalVariableDeclaratorResource(Java.TryStatement.LocalVariableDeclaratorResource lvdr) throws EX -
traverseVariableAccessResource
-