ReturnAdderForClosures (groovy 2.4.9 API)
Date: 2017-02-24

Package: org.codehaus.groovy.transform.tailrec

## [Groovy] Class ReturnAdderForClosures

- org.codehaus.groovy.transform.tailrec.ReturnAdderForClosures

- Adds explicit return statements to implicit return points in a closure. This is necessary since tail-recursion is detected by having the recursive call within the return statement.

  Authors:
    Johannes Link

- - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `void` | `visitClosureExpression(ClosureExpression expression)`
    `` | `void` | `visitMethod(MethodNode method)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class CodeVisitorSupport` | `visitPropertyExpression, visitConstantExpression, visitClassExpression, visitReturnStatement, visitListExpression, visitArgumentlistExpression, visitVariableExpression, visitAssertStatement, visitTryCatchFinally, visitContinueStatement, visitBreakStatement, visitThrowStatement, visitSynchronizedStatement, visitBlockStatement, visitTupleExpression, visitMethodCallExpression, visitExpressionStatement, visitCaseStatement, visitClosureExpression, visitFieldExpression, visitBitwiseNegationExpression, visitBytecodeExpression, visitRangeExpression, visitPostfixExpression, visitArrayExpression, visitNotExpression, visitCastExpression, visitBooleanExpression, visitStaticMethodCallExpression, visitTernaryExpression, visitMapExpression, visitSpreadMapExpression, visitCatchStatement, visitDeclarationExpression, visitUnaryPlusExpression, visitSpreadExpression, visitPrefixExpression, visitUnaryMinusExpression, visitShortTernaryExpression, visitConstructorCallExpression, visitMethodPointerExpression, visitGStringExpression, visitClosureListExpression, visitAttributeExpression, visitBinaryExpression, visitMapEntryExpression, visitIfElse, visitSwitch, visitWhileLoop, visitDoWhileLoop, visitForLoop, wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`
    `class Object` | `wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`

- - ### Method Detail

    - #### void visitClosureExpression(ClosureExpression expression)

    - #### void visitMethod(MethodNode method)