ReturnAdderForClosures (groovy 2.4.10 API)
Date: 2017-03-14

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` | `visitConstantExpression, visitPropertyExpression, visitListExpression, visitReturnStatement, visitClassExpression, visitBreakStatement, visitContinueStatement, visitThrowStatement, visitCaseStatement, visitExpressionStatement, visitSynchronizedStatement, visitArgumentlistExpression, visitClosureExpression, visitMethodCallExpression, visitTupleExpression, visitBlockStatement, visitVariableExpression, visitAssertStatement, visitTryCatchFinally, visitPrefixExpression, visitCatchStatement, visitShortTernaryExpression, visitRangeExpression, visitCastExpression, visitStaticMethodCallExpression, visitSpreadExpression, visitUnaryPlusExpression, visitGStringExpression, visitClosureListExpression, visitFieldExpression, visitDeclarationExpression, visitBinaryExpression, visitMapEntryExpression, visitConstructorCallExpression, visitPostfixExpression, visitBooleanExpression, visitArrayExpression, visitNotExpression, visitTernaryExpression, visitUnaryMinusExpression, visitAttributeExpression, visitMapExpression, visitMethodPointerExpression, visitBitwiseNegationExpression, visitSpreadMapExpression, visitBytecodeExpression, visitSwitch, visitWhileLoop, visitForLoop, visitIfElse, visitDoWhileLoop, 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)