Package: org.codehaus.groovy.transform.tailrec

## [Groovy] Class AstHelper

- org.codehaus.groovy.transform.tailrec.AstHelper

- Helping to create a few standard AST constructs

  Authors:
    Johannes Link

- - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `static ExpressionStatement` | `createVariableAlias(String aliasName, ClassNode variableType, String variableName)`
    `` | `static ExpressionStatement` | `createVariableDefinition(String variableName, ClassNode variableType, Expression value, boolean variableShouldBeFinal = false )`
    `` | `static VariableExpression` | `createVariableReference(Map variableSpec)`
    `` | `static Statement` | `recurByThrowStatement()` This statement will throw exception which will be caught and redirected to jump to surrounding while loop's start label Also works from within Closures but is a tiny bit slower
    `` | `static Statement` | `recurStatement()` This statement should make the code jump to surrounding while loop's start label Does not work from within Closures

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`

- - ### Method Detail

    - #### static ExpressionStatement createVariableAlias(String aliasName, ClassNode variableType, String variableName)

    - #### static ExpressionStatement createVariableDefinition(String variableName, ClassNode variableType, Expression value, boolean variableShouldBeFinal = false )

    - #### static VariableExpression createVariableReference(Map variableSpec)

    - #### static Statement recurByThrowStatement()

      This statement will throw exception which will be caught and redirected to jump to surrounding while loop's start label Also works from within Closures but is a tiny bit slower

    - #### static Statement recurStatement()

      This statement should make the code jump to surrounding while loop's start label Does not work from within Closures