Package org.codehaus.janino

# Class Visitor

java.lang.Object
org.codehaus.janino.Visitor

public final class Visitor extends Object
The basis for the "visitor" pattern as described in "Gamma, Helm, Johnson, Vlissides: Design Patterns".

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static interface`
`Visitor.AbstractCompilationUnitVisitor<R,EX extends Throwable>`
The visitor for the different kinds of `Java.AbstractCompilationUnit`s.
`static interface`
`Visitor.AnnotationVisitor<R,EX extends Throwable>`
The visitor for all kinds of `Java.Annotation`s.
`static interface`
`Visitor.ArrayInitializerOrRvalueVisitor<R,EX extends Throwable>`
The visitor for `Java.ArrayInitializerOrRvalue`.
`static interface`
`Visitor.AtomVisitor<R,EX extends Throwable>`
The visitor for all kinds of `Java.Atom`s.
`static interface`
`Visitor.BlockStatementVisitor<R,EX extends Throwable>`
The visitor for all kinds of `Java.BlockStatement`s (statements that may appear with a block).
`static interface`
`Visitor.ConstructorInvocationVisitor<R,EX extends Throwable>`
The visitor for all kinds of `Java.ConstructorInvocation`s.
`static interface`
`Visitor.ElementValueVisitor<R,EX extends Throwable>`
`static interface`
`Visitor.FieldDeclarationOrInitializerVisitor<R,EX extends Throwable>`
The visitor for all kinds of `Java.BlockStatement`s (statements that may appear with a block).
`static interface`
`Visitor.FunctionDeclaratorVisitor<R,EX extends Throwable>`
The visitor for all kinds of `Java.FunctionDeclarator`s.
`static interface`
`Visitor.ImportVisitor<R,EX extends Throwable>`
The visitor for all kinds of `Java.AbstractCompilationUnit.ImportDeclaration`s.
`static interface`
`Visitor.LambdaBodyVisitor<R,EX extends Throwable>`
The visitor for the different kinds of `Java.LambdaBody`s.
`static interface`
`Visitor.LambdaParametersVisitor<R,EX extends Throwable>`
The visitor for the different kinds of `Java.LambdaParameters` styles.
`static interface`
`Visitor.LvalueVisitor<R,EX extends Throwable>`
The visitor for all kinds of `Java.Lvalue`s.
`static interface`
`Visitor.ModifierVisitor<R,EX extends Throwable>`
The visitor for the different kinds of `Java.Modifier`s.
`static interface`
`Visitor.ModuleDirectiveVisitor<R,EX extends Throwable>`
The visitor for the different kinds of `Java.ModuleDirective`s.
`static interface`
`Visitor.RvalueVisitor<R,EX extends Throwable>`
The visitor for all kinds of `Java.Rvalue`s.
`static interface`
`Visitor.TryStatementResourceVisitor<R,EX extends Throwable>`
The visitor for all kinds of `Java.TryStatement.Resource`s.
`static interface`
`Visitor.TypeArgumentVisitor<R,EX extends Throwable>`
The visitor for all kinds of `Java.TypeArgument`s.
`static interface`
`Visitor.TypeBodyDeclarationVisitor<R,EX extends Throwable>`
The visitor for all kinds of `Java.TypeBodyDeclaration`s (declarations that may appear in the body of a type declaration).
`static interface`
`Visitor.TypeDeclarationVisitor<R,EX extends Throwable>`
The visitor for all kinds of `Java.TypeDeclaration`s.
`static interface`
`Visitor.TypeVisitor<R,EX extends Throwable>`
The visitor for all kinds of `Java.Type`s.

## Method Summary

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`