[Groovy] Class ReturnStatementToIterationConverter
- org.codehaus.groovy.transform.tailrec.ReturnStatementToIterationConverter
@CompileStatic class ReturnStatementToIterationConverter extends Object
Translates all return statements into an invocation of the next iteration. This can be either - "continue LOOP_LABEL": Outside closures - "throw LOOP_EXCEPTION": Inside closures Moreover, before adding the recur statement the iteration parameters (originally the method args) are set to their new value. To prevent variable aliasing parameters will be copied into temp vars before they are changes so that their current iteration value can be used when setting other params. There's probably place for optimizing the amount of variable copying being done, e.g. parameters that are only handed through must not be copied at all.
Properties Summary
Type | Name and description |
---|---|
Statement |
recurStatement |
Constructor Summary
Constructor and description |
---|
ReturnStatementToIterationConverter
() |
Methods Summary
Type Params | Return Type | Name and description |
---|---|---|
Statement |
convert(ReturnStatement statement, Map<Integer, Map> positionMapping) |
Inherited Methods Summary
Methods inherited from class | Name |
---|---|
class Object | wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
Property Detail
Statement recurStatement
Constructor Detail
ReturnStatementToIterationConverter()
Method Detail
Statement convert(ReturnStatement statement, Map<Integer, Map> positionMapping)
© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/3.0.7/html/gapi/org/codehaus/groovy/transform/tailrec/ReturnStatementToIterationConverter.html