Package: org.codehaus.groovy.transform

## [Java] Class TupleConstructorASTTransformation

- org.codehaus.groovy.transform.TupleConstructorASTTransformation

- All Implemented Interfaces and Traits:
    CompilationUnitAware, TransformWithPriority

      @GroovyASTTransformation(phase = CompilePhase.CANONICALIZATION)
      public class TupleConstructorASTTransformation
      extends AbstractASTTransformation
      implements CompilationUnitAware, TransformWithPriority

  Handles generation of code for the

  TupleConstructor:
    annotation.

- - ### Nested Class Summary

    Nested classes
    Modifiers | Name | Description
    --- | --- | ---
    `record` | `TupleConstructorASTTransformation.SelectedTupleProperties` | Result of selectTupleProperties: the super-class properties and self properties that pass the annotation's filters (includes / excludes / allNames / includeProperties / includeFields / includeSuperProperties / includeSuperFields / allProperties).

  - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class AbstractASTTransformation` | `RETENTION_CLASSNODE, sourceUnit`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public static void` | `addSpecialMapConstructors(int modifiers, ClassNode cNode, String message, boolean addNoArg)`
    `` | `public String` | `getAnnotationName()`
    `` | `public int` | `priority()`
    `` | `public static TupleConstructorASTTransformation.SelectedTupleProperties` | `selectTupleProperties(AbstractASTTransformation xform, ClassNode cNode, AnnotationNode anno)` Resolves the property nodes the `@TupleConstructor` runtime transform would use as constructor parameters.
    `` | `public void` | `setCompilationUnit(CompilationUnit unit)`
    `` | `public void` | `visit(ASTNode[] nodes, SourceUnit source)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class AbstractASTTransformation` | `addError, checkIncludeExcludeUndefinedAware, checkIncludeExcludeUndefinedAware, checkNotInterface, checkPropertyList, checkPropertyList, checkPropertyList, copyAnnotatedNodeAnnotations, copyAnnotatedNodeAnnotations, deemedInternal, deemedInternalName, getAnnotationName, getMemberClassList, getMemberClassValue, getMemberClassValue, getMemberIntValue, getMemberStringList, getMemberStringValue, getMemberStringValue, getMemberValue, hasAnnotation, init, markAsInternal, memberHasValue, shouldSkip, shouldSkip, shouldSkip, shouldSkipOnDescriptorUndefinedAware, shouldSkipUndefinedAware, shouldSkipUndefinedAware, shouldSkipUndefinedAware, tokenize`

- - ### Method Detail

    - #### public static void addSpecialMapConstructors(int modifiers, ClassNode cNode, String message, boolean addNoArg)

    - #### public String getAnnotationName()

    - #### public int priority()

    - #### public static TupleConstructorASTTransformation.SelectedTupleProperties selectTupleProperties(AbstractASTTransformation xform, ClassNode cNode, AnnotationNode anno)

      Resolves the property nodes the `@TupleConstructor` runtime transform would use as constructor parameters. Honours `includes`, `excludes`, `allNames`, `includeProperties`, `includeFields`, `includeSuperProperties`, `includeSuperFields`, and `allProperties` attributes the same way the full transform does so the joint-compilation stubber stays in lockstep.

      Since:
        6.0.0

    - #### public void setCompilationUnit(CompilationUnit unit)

    - #### public void visit(ASTNode[] nodes, SourceUnit source)