| Interface | Description | 
|---|---|
| GroovyClassVisitor | 
 A special visitor for working with the structure of a class. 
 | 
| GroovyCodeVisitor | 
 An implementation of the visitor pattern for working with ASTNodes 
 | 
| Variable | 
 interface to mark a AstNode as Variable. 
 | 
| Class | Description | 
|---|---|
| AnnotatedNode | 
 Base class for any AST node which is capable of being annotated 
 | 
| AnnotationNode | 
 Represents an annotation which can be attached to interfaces, classes, methods and fields. 
 | 
| ASTNode | 
 Base class for any AST node. 
 | 
| AstToTextHelper | 
 Helper class for converting AST into text. 
 | 
| ClassCodeExpressionTransformer | 
 Visitor to transform expressions in a whole class. 
 | 
| ClassCodeVisitorSupport | |
| ClassHelper | 
 This class is a Helper for ClassNode and classes handling ClassNodes. 
 | 
| ClassNode | 
 Represents a class in the AST. 
 | 
| CodeVisitorSupport | 
 Abstract base class for any GroovyCodeVisitor which by default
 just walks the code and expression tree 
 | 
| CompileUnit | 
 Represents the entire contents of a compilation step which consists of one or more
  
ModuleNode instances. | 
| ConstructorNode | 
 Represents a constructor declaration 
 | 
| DynamicVariable | |
| EnumConstantClassNode | 
 Represents the anonymous inner class for an enum constant
 This subtype is needed so that EnumVisitor can differentiate between the scenarios when a InnerClassNode
 represents anonymous inner class for an enu constant and when it represents an enum class defined inside
 another class 
 | 
| FieldNode | 
 Represents a field (member variable) 
 | 
| GenericsType | 
 This class is used to describe generic type signatures for ClassNodes. 
 | 
| ImportNode | 
 Represents an import statement of a single class 
 | 
| InnerClassNode | 
 Represents an inner class declaration 
 | 
| InterfaceHelperClassNode | 
 Represents an inner class defined as helper for an interface 
 | 
| MethodNode | 
 Represents a method declaration 
 | 
| MixinASTTransformation | Deprecated
 static mixins have been deprecated in favour of traits (trait keyword). 
 | 
| MixinNode | 
 Represents a mixin which can be applied to any ClassNode to implement mixins 
 | 
| ModuleNode | 
 Represents a module, which consists typically of a class declaration
 but could include some imports, some statements and multiple classes
 intermixed with statements like scripts in Python or Ruby 
 | 
| PackageNode | 
 Represents a package in the AST. 
 | 
| Parameter | 
 Represents a parameter on a constructor or method call. 
 | 
| PropertyNode | 
 Represents a property (member variable, a getter and setter) 
 | 
| VariableScope | 
 Represents a variable scope. 
 | 
Groovy AST nodes for the syntax of the language