Package: org.codehaus.groovy.transform.tailrec

## [Java] Class TailRecursiveASTTransformation

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

-     @GroovyASTTransformation(phase = CompilePhase.SEMANTIC_ANALYSIS)
      public class TailRecursiveASTTransformation
      extends AbstractASTTransformation

  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`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public Boolean` | `doCall(ASTNode node)`
    `` | `public Statement` | `doCall(ReturnStatement statement)`
    `` | `public Boolean` | `doCall(Statement statement, boolean inClosure)`
    `` | `public Statement` | `doCall(ReturnStatement statement)`
    `` | `public Boolean` | `doCall(Statement statement, boolean inClosure)`
    `` | `public Statement` | `doCall(ReturnStatement statement)`
    `` | `public static String` | `getMY_TYPE_NAME()`
    `` | `public Map<String, Map>` | `name2VariableMappingFor(MethodNode method)`
    `` | `public Map<Integer, Map>` | `position2VariableMappingFor(MethodNode method)`
    `` | `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, deemedInternalName, getAnnotationName, getMemberClassList, getMemberClassValue, getMemberClassValue, getMemberIntValue, getMemberStringList, getMemberStringValue, getMemberStringValue, getMemberValue, hasAnnotation, init, memberHasValue, shouldSkip, shouldSkip, shouldSkipOnDescriptorUndefinedAware, shouldSkipUndefinedAware, shouldSkipUndefinedAware, tokenize`

- - ### Method Detail

    - #### public Boolean doCall(ASTNode node)

    - #### public Statement doCall(ReturnStatement statement)

    - #### public Boolean doCall(Statement statement, boolean inClosure)

    - #### public Statement doCall(ReturnStatement statement)

    - #### public Boolean doCall(Statement statement, boolean inClosure)

    - #### public Statement doCall(ReturnStatement statement)

    - #### public static String getMY_TYPE_NAME()

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

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

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