# Package org.codehaus.groovy.transform

## Package org.codehaus.groovy.transform Description

AST transformation framework. Base classes and utilities for implementing transformations. Includes both Java and Groovy implementations.

- Interface Summary
  Interface | Description
  --- | ---
  ASTTransformation | This class is instantiated and invoked when an AST transformation is activated.
  BuilderASTTransformation.BuilderStrategy | Strategy interface for builder code generation.
  ErrorCollecting | An AST transform with the ability to report errors.
  LogASTTransformation.LoggingStrategy | A LoggingStrategy defines how to wire a new logger instance into an existing class.
  LogASTTransformation.LoggingStrategyV2 | A LoggingStrategy defines how to wire a new logger instance into an existing class.
  TransformWithPriority | AST transforms may optionally implement this interface and return a priority value.

- Class Summary
  Class | Description
  --- | ---
  ASTTestTransformation | Implements ASTTest by scheduling the supplied test closure across compilation phases.
  ASTTransformationCollectorCodeVisitor | Walks the AST and collects references to annotations that are annotated themselves by GroovyASTTransformation.
  ASTTransformationVisitor | This class handles the invocation of the ASTAnnotationTransformation when it is encountered by a tree walk.
  AbstractASTTransformation | Abstract base class for AST transformations.
  AbstractInterruptibleASTTransformation | Base class for AST Transformations which will automatically throw an InterruptedException when some conditions are met.
  ActiveObjectASTTransformation | Handles the ActiveObject annotation, transforming ActiveMethod-annotated methods to route through an internal actor for serialized execution.
  AnnotationCollectorTransform | This class is the base for any annotation alias processor.
  AnnotationCollectorTransform.ClassChanger | Class used by CompilationUnit to transform the alias class into what is needed by the compiler.
  AsyncTransformHelper | Shared AST utilities for the `async`/`await`/`defer` language features.
  AutoCloneASTStubber | Joint-compilation stubber for AutoClone.
  AutoCloneASTTransformation | Handles generation of code for the AutoClone: annotation.
  AutoFinalASTTransformation | Handles generation of code for the AutoFinal annotation.
  AutoImplementASTStubber | Joint-compilation stubber for AutoImplement.
  AutoImplementASTTransformation | Generates code for the `@AutoImplement` annotation.
  BaseScriptASTTransformation | Handles transformation for the BaseScript: annotation.
  BuilderASTTransformation | Handles generation of code for the Builder annotation.
  BuilderASTTransformation.AbstractBuilderStrategy | Base class for builder generation strategies.
  BuilderASTTransformation.AbstractBuilderStrategy.PropertyInfo | Holds information about a builder property.
  CategoryASTTransformation | Handles generation of code for the Category: annotation.
  CompileDynamicProcessor |
  ConditionalInterruptibleASTTransformation | Allows "interrupt-safe" executions of scripts by adding a custom conditional check on loops (for, while, do) and first statement of closures.
  DelegateASTStubber | Joint-compilation stubber for Delegate.
  DelegateASTTransformation | Handles generation of code for the `@Delegate` annotation
  EqualsAndHashCodeASTStubber | Joint-compilation stubber for EqualsAndHashCode.
  EqualsAndHashCodeASTTransformation | Handles generation of equals() and hashCode() methods via the EqualsAndHashCode annotation.
  ExternalizeMethodsASTStubber | Joint-compilation stubber for ExternalizeMethods.
  ExternalizeMethodsASTTransformation | Handles generation of code for the ExternalizeMethods: annotation.
  ExternalizeVerifierASTTransformation |
  FieldASTTransformation | Handles transformation for the Field: annotation.
  FinalASTStubber | Joint-compilation stubber for Final.
  FinalASTTransformation | Handles generation of code for the Final annotation.
  ImmutableASTTransformation | Handles generation of code for the Immutable: annotation.
  IndexedPropertyASTStubber | Joint-compilation stubber for IndexedProperty.
  IndexedPropertyASTTransformation | Handles generation of code for the `@`IndexedProperty annotation.
  InheritConstructorsASTStubber | Joint-compilation stubber for InheritConstructors.
  InheritConstructorsASTTransformation | Handles generation of code for the `@`InheritConstructors annotation.
  LazyASTStubber | Joint-compilation stubber for Lazy.
  LazyASTTransformation | Handles generation of code for the Lazy: annotation
  LogASTTransformation | This class provides an AST Transformation to add a log field to a class.
  LogASTTransformation.AbstractLoggingStrategy | Base class for logging strategy implementations.
  LogASTTransformation.AbstractLoggingStrategyV2 | Base class for logging strategy implementations supporting the v2 logging API.
  MapConstructorASTStubber | Joint-compilation stubber for MapConstructor.
  MapConstructorASTTransformation | Handles generation of code for the MapConstructor: annotation.
  MemoizedASTTransformation | Handles generation of code for the Memoized annotation.
  NamedVariantASTStubber | Joint-compilation stubber for NamedVariant.
  NamedVariantASTTransformation | Handles generation of variant methods with named parameters via the NamedVariant annotation.
  NewifyASTTransformation | Handles generation of code for the `@Newify` AST transform.
  NonSealedASTTransformation | Handles generation of code for the Sealed: annotation.
  NullCheckASTTransformation | Handles generation of code for the NullCheck: annotation.
  OperatorRenameASTTransformation | Handles transformation for the OperatorRename: annotation.
  PackageScopeASTTransformation | Handles transformation for the PackageScope: annotation.
  ParallelASTTransformation | Local AST transform for Parallel: rewrites annotated `for-in` loops into `collection.eachParallel { item -> body }`.
  ReadWriteLockASTTransformation | Handles generation of code for the `@`WithReadLock and `@`WithWriteLock annotation.
  RecordBaseASTStubber | Joint-compilation stubber for RecordBase.
  RecordCompletionASTTransformation | Handles completion of code for the RecordType: annotation.
  RecordTypeASTTransformation | Handles generation of code for the RecordType: annotation.
  SafeRegexASTTransformation | Handles transformation for the SafeRegex: annotation: rewrites the regex operators within the annotated scope to deadline-guarded RegexGuard calls.
  SealedASTTransformation | Handles generation of code for the Sealed: annotation.
  SealedCompletionASTTransformation | Handles sealed class permitted subclass detection.
  SingletonASTStubber | Joint-compilation stubber for Singleton.
  SingletonASTTransformation | Handles generation of code for the Singleton: annotation
  SortableASTStubber | Adds a minimal `Comparable` surface for Sortable classes in an earlier phase so joint compilation can evolve independently from full Sortable codegen.
  SortableASTTransformation | Injects a set of Comparators and sort methods.
  SourceURIASTTransformation | Handles transformation for the SourceURI: annotation.
  StaticTypesTransformation | Handles the implementation of the TypeChecked transformation.
  StubberSupport | Utilities for GEP-21 Shape C joint-compilation stubbers.
  SynchronizedASTTransformation | Handles generation of code for the `@Synchronized` annotation.
  ThreadInterruptibleASTTransformation | Allows "interrupt-safe" executions of scripts by adding Thread.currentThread().isInterrupted() checks on loops (for, while, do) and first statement of closures.
  TimedInterruptibleASTTransformation | Allows "interrupt-safe" executions of scripts by adding timer expiration checks on loops (for, while, do) and first statement of closures.
  ToStringASTStubber | Joint-compilation stubber for ToString.
  ToStringASTTransformation | Handles generation of code for the ToString: annotation.
  TupleConstructorASTStubber | Adds a placeholder tuple-style constructor surface for TupleConstructor classes during joint compilation.
  TupleConstructorASTTransformation | Handles generation of code for the TupleConstructor: annotation.

- Annotation Type Summary
  Annotation Type | Description
  --- | ---
  GroovyASTTransformation | This is an annotation on a class, currently just ASTTransformation.
  GroovyASTTransformationClass |