ReturnAdderForClosures (groovy 2.4.6 API)
Date: 2016-02-18

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 | Name and description
    --- | ---
    `void` | `visitClosureExpression(ClosureExpression expression)`
    `void` | `visitMethod(MethodNode method)`

  - ### Inherited Methods Summary

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