[Groovy] Class RecursivenessTester
- org.codehaus.groovy.transform.tailrec.RecursivenessTester
Test if a method call is recursive if called within a given method node. Handles static calls as well. Currently known simplifications:
- Does not check for method overloading or overridden methods
- Does not check for matching return types; even void and any object type are considered to be compatible
- Argument type matching could be more specific in case of static compilation
- Method names via a GString are never considered to be recursive
Methods Summary
Type Params | Return Type | Name and description |
---|---|---|
boolean |
isRecursive(def params) | |
boolean |
isRecursive(MethodNode method, MethodCallExpression call) | |
boolean |
isRecursive(MethodNode method, StaticMethodCallExpression call) |
Inherited Methods Summary
Methods inherited from class | Name |
---|---|
class Object | wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
Method Detail
boolean isRecursive(def params)
@SuppressWarnings('Instanceof') boolean isRecursive(MethodNode method, MethodCallExpression call)
boolean isRecursive(MethodNode method, StaticMethodCallExpression call)
© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/2.5.14/html/gapi/org/codehaus/groovy/transform/tailrec/RecursivenessTester.html