A special visitor for working with the structure of a class.
An implementation of the visitor pattern for working with ASTNodes
An interface to mark a node being able to handle metadata
interface to mark a AstNode as Variable.
Base class for any AST node which is capable of being annotated
Represents an annotation which can be attached to interfaces, classes, methods and fields.
Base class for any AST node.
Helper class for converting AST into text.
Visitor to transform expressions in a whole class.
This class is a Helper for ClassNode and classes handling ClassNodes.
Represents a class in the AST.
Abstract base class for any GroovyCodeVisitor which by default just walks the code and expression tree
Represents the entire contents of a compilation step which consists of one or more
Represents a resolved type as a placeholder, SEE GROOVY-7812
Represents a constructor declaration
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
Represents a field (member variable)
This class is used to describe generic type signatures for ClassNodes.
Represents GenericsType name TODO In order to distinguish GenericsType with same name(See GROOVY-8409), we should add a property to keep the declaring class.
Represents an import statement of a single class
Represents an inner class declaration
Represents an inner class defined as helper for an interface
Represents a method declaration
static mixins have been deprecated in favour of traits (trait keyword).
Represents a mixin which can be applied to any ClassNode to implement mixins
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
Represents a package in the AST.
Represents a parameter on a constructor or method call.
Represents a property (member variable, a getter and setter)
Represents a variable scope.
Groovy AST nodes for the syntax of the language