Groovy AST nodes for the syntax of the language
Interface Summary Interface Description GroovyClassVisitorA special visitor for working with the structure of a class. GroovyCodeVisitorAn implementation of the visitor pattern for working with ASTNodes. NodeMetaDataHandlerAn interface to mark a node being able to handle metadata. Variableinterface to mark a AstNode as Variable.
Class Summary Class Description AnnotatedNodeBase class for any AST node which is capable of being annotated AnnotationNodeRepresents an annotation which can be attached to interfaces, classes, methods, fields, parameters, and other places. ASTNodeBase class for any AST node. AstToTextHelperHelper class for converting AST into text. ClassCodeExpressionTransformerTransforms expressions in a whole class. ClassCodeVisitorSupport ClassHelperHelper for
ClassNodeand classes handling them.
ClassNodeRepresents a class in the AST. CodeVisitorSupportAbstract base class for any GroovyCodeVisitor which by default just walks the code and expression tree CompileUnitRepresents the entire contents of a compilation step which consists of one or more
CompileUnit.ConstructedOuterNestedClassNodeRepresents a resolved type as a placeholder. ConstructorNodeRepresents a constructor declaration DynamicVariable EnumConstantClassNodeRepresents 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 FieldNodeRepresents a field (member variable) GenericsTypeThis class is used to describe generic type signatures for ClassNodes. GenericsType.GenericsTypeNameRepresents GenericsType name TODO In order to distinguish GenericsType with same name(See GROOVY-8409), we should add a property to keep the declaring class. ImportNodeRepresents an import statement. InnerClassNodeRepresents an inner class declaration InterfaceHelperClassNodeRepresents an inner class defined as helper for an interface MethodCallTransformation MethodInvocationTrap MethodNodeRepresents a method declaration. MixinASTTransformation Deprecated.static mixins have been deprecated in favour of traits (trait keyword). MixinNodeRepresents a mixin which can be applied to any ClassNode to implement mixins ModifierNodeRepresents a modifier ModuleNodeRepresents 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 PackageNodeRepresents a package in the AST. ParameterRepresents a parameter on a constructor or method call. PropertyNodeRepresents a property (member variable, a getter and setter) TransformingCodeVisitor VariableScopeRecords declared and referenced variabes for a given scope.