# Package org.codehaus.groovy.ast

## Package org.codehaus.groovy.ast Description

Groovy AST nodes for the syntax of the language

- Interface Summary
  Interface | Description
  --- | ---
  GroovyClassVisitor | A special visitor for working with the structure of a class.
  GroovyCodeVisitor | Defines the visitor interface for traversing and processing Groovy AST nodes using the visitor pattern.
  NodeMetaDataHandler | An interface to mark a node being able to handle metadata.
  Variable | Interface marking an AST node as representing a variable in Groovy/Java scope.

- Class Summary
  Class | Description
  --- | ---
  ASTNode | Base class for any AST node.
  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, fields, parameters, and other places.
  AstToTextHelper | Helper class for converting AST into text.
  ClassCodeExpressionTransformer | Transforms expressions in a whole class.
  ClassCodeVisitorSupport | Abstract base class for visitors that process class nodes and their members, extending the default visitor traversal with class-specific and annotation processing.
  ClassHelper | Helper for ClassNode creation and type management.
  ClassNode | Represents a class in the AST.
  CodeVisitorSupport | Abstract base class for implementing the GroovyCodeVisitor interface, providing default implementations for all visit methods that perform depth-first traversal of the AST.
  CompileUnit | Represents a complete compilation step involving one or more ModuleNode instances.
  ConstructorNode | Represents a constructor declaration
  DynamicVariable |
  EnumConstantClassNode | Represents the anonymous inner class for an enum constant.
  FieldNode | Represents a field (member variable)
  GenericsType | Represents generic type information for parameterized types in Groovy/Java, including type variables, wildcard types, and type bounds.
  GenericsType.GenericsTypeName | Represents the name of a GenericsType for use as a map key.
  GroovyCodeVisitorAdapter | Adapter class providing default no-op implementations of all methods in the GroovyCodeVisitor interface.
  ImportNode | Represents an import statement in Groovy source code, supporting single-type imports, wildcard imports, and static imports.
  InnerClassNode | Represents a nested (inner) class definition within an outer class.
  InterfaceHelperClassNode | Represents an inner class defined as helper for an interface.
  IntersectionTypeClassNode | Represents a user-written intersection type used as the target of a cast expression or `as` coercion, e.g.
  MethodCallTransformation |
  MethodInvocationTrap | Abstract base class for AST visitors that trap and intercept specific method invocations.
  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
  ModifierNode | Represents a modifier keyword or annotation in Groovy source code.
  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 in a method or constructor declaration.
  PropertyNode | Represents a property (member variable, a getter and setter)
  RecordComponentNode | Represents a component (field) of a record class definition introduced in Java 16.
  TransformingCodeVisitor | Code visitor that combines depth-first traversal with expression transformation, delegating both to an underlying ClassCodeExpressionTransformer.
  VariableScope | Manages variable scope tracking for a given code block, tracking declared and referenced variables to determine variable sharing patterns across closure and method boundaries.

- Enum Summary
  Enum | Description
  --- | ---
  MultipleAssignmentMetadata | AST node metadata keys used by the multi-assignment destructuring pipeline introduced in GEP-20.