Package: org.codehaus.groovy.transform.tailrec

## [Groovy] Class TailRecursiveASTTransformation

- org.codehaus.groovy.transform.tailrec.TailRecursiveASTTransformation

- Handles generation of code for the

  TailRecursive:
    annotation. It's doing its work in the earliest possible compile phase

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

  - ### Properties Summary

    Properties
    Type | Name and description
    --- | ---
    `static String` | `MY_TYPE_NAME`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `Map<String, Map>` | `name2VariableMappingFor(MethodNode method)`
    `` | `Map<Integer, Map>` | `position2VariableMappingFor(MethodNode method)`
    `` | `void` | `visit(ASTNode[] nodes, SourceUnit source)`

  - ### Inherited Methods Summary

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

- - ### Property Detail

    - #### static final String MY_TYPE_NAME

  - ### Method Detail

    - #### Map<String, Map> name2VariableMappingFor(MethodNode method)

    - #### Map<Integer, Map> position2VariableMappingFor(MethodNode method)

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