Class BuilderASTTransformation

java.lang.Object
org.codehaus.groovy.transform.AbstractASTTransformation
org.codehaus.groovy.transform.BuilderASTTransformation
All Implemented Interfaces:
CompilationUnitAware, ASTTransformation, ErrorCollecting, TransformWithPriority

public class BuilderASTTransformation extends AbstractASTTransformation implements CompilationUnitAware, TransformWithPriority
Handles generation of code for the Builder annotation.
  • Field Details

    • MY_TYPE_NAME

      public static final String MY_TYPE_NAME
      String representation of the @Builder annotation for error reporting.
    • NO_EXCEPTIONS

      public static final ClassNode[] NO_EXCEPTIONS
      Empty array of ClassNode for use in method signatures.
    • NO_PARAMS

      public static final Parameter[] NO_PARAMS
      Empty array of Parameter for use in method signatures.
  • Constructor Details

    • BuilderASTTransformation

      public BuilderASTTransformation()
  • Method Details

    • priority

      public int priority()
      Specified by:
      priority in interface TransformWithPriority
    • setCompilationUnit

      public void setCompilationUnit(CompilationUnit unit)
      Description copied from interface: CompilationUnitAware
      Sets the compilation unit currently applying this transformation.
      Specified by:
      setCompilationUnit in interface CompilationUnitAware
      Parameters:
      unit - the active compilation unit
    • visit

      public void visit(ASTNode[] nodes, SourceUnit source)
      Description copied from interface: ASTTransformation
      The method is invoked when an AST Transformation is active. For local transformations, it is invoked once each time the local annotation is encountered. For global transformations, it is invoked once for every source unit, which is typically a source file.
      Specified by:
      visit in interface ASTTransformation
      Parameters:
      nodes - The ASTnodes when the call was triggered. Element 0 is the AnnotationNode that triggered this annotation to be activated. Element 1 is the AnnotatedNode decorated, such as a MethodNode or ClassNode. For global transformations it is usually safe to ignore this parameter.
      source - The source unit being compiled. The source unit may contain several classes. For global transformations, information about the AST can be retrieved from this object.