# Package org.codehaus.groovy.transform

- Interface Summary
  Interface | Description
  --- | ---
  ASTTransformation | This class is instantiated and invoked when an AST transformation is activated.
  BuilderASTTransformation.BuilderStrategy |
  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.

- Class Summary
  Class | Description
  --- | ---
  AbstractASTTransformation |
  AbstractASTTransformUtil | Deprecated. use org.codehaus.groovy.ast.tools.GeneralUtils
  AbstractInterruptibleASTTransformation | Base class for AST Transformations which will automatically throw an `InterruptedException` when some conditions are met.
  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.
  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.
  AutoCloneASTTransformation | Handles generation of code for the @AutoClone annotation.
  AutoFinalASTTransformation | Handles generation of code for the `AutoFinal` annotation.
  AutoImplementASTTransformation | Handles generation of code for the @AutoImplement annotation.
  BaseScriptASTTransformation | Handles transformation for the @BaseScript annotation.
  BuilderASTTransformation | Handles generation of code for the `Builder` annotation.
  BuilderASTTransformation.AbstractBuilderStrategy |
  BuilderASTTransformation.AbstractBuilderStrategy.PropertyInfo |
  CategoryASTTransformation | Handles generation of code for the @Category annotation.
  CompileDynamicProcessor |
  DelegateASTTransformation | Handles generation of code for the `@Delegate` annotation
  EqualsAndHashCodeASTTransformation |
  ExternalizeMethodsASTTransformation | Handles generation of code for the @ExternalizeMethods annotation.
  ExternalizeVerifierASTTransformation |
  FieldASTTransformation | Handles transformation for the @Field annotation.
  ImmutableASTTransformation | Handles generation of code for the @Immutable annotation.
  IndexedPropertyASTTransformation | Handles generation of code for the `@`IndexedProperty annotation.
  InheritConstructorsASTTransformation | Handles generation of code for the `@`InheritConstructors annotation.
  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 |
  LogASTTransformation.AbstractLoggingStrategyV2 |
  MapConstructorASTTransformation | Handles generation of code for the @MapConstructor annotation.
  MemoizedASTTransformation | Handles generation of code for the `Memoized` annotation.
  NamedVariantASTTransformation |
  NewifyASTTransformation | Handles generation of code for the `@Newify` AST transform.
  NullCheckASTTransformation | Handles generation of code for the @NullCheck annotation.
  PackageScopeASTTransformation | Handles transformation for the @PackageScope annotation.
  ReadWriteLockASTTransformation | Handles generation of code for the `@`WithReadLock and `@`WithWriteLock annotation. This transformation adds an instance of ReentrantReadWriteLock to the class. Any method annotated with `@`WithReadLock will obtain a read lock and release it in a finally block. Any method annotated with `@`WithWriteLock will obtain a write lock and release it in a finally block. For more information see `WithReadLock` and `WithWriteLock`
  SingletonASTTransformation | Handles generation of code for the @Singleton annotation
  SortableASTTransformation | Injects a set of Comparators and sort methods.
  SourceURIASTTransformation | Handles transformation for the @SourceURI annotation.
  StaticTypesTransformation | Handles the implementation of the `TypeChecked` transformation.
  SynchronizedASTTransformation | Handles generation of code for the `@Synchronized` annotation.
  ToStringASTTransformation | Handles generation of code for the @ToString annotation.
  TupleConstructorASTTransformation | Handles generation of code for the @TupleConstructor annotation.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  GroovyASTTransformation | This is an annotation on a class, currently just `ASTTransformation`.
  GroovyASTTransformationClass | This is an annotation on some item that indicates that an associated transform classes should be executed.