public class TailRecursiveASTTransformation
extends AbstractASTTransformation
Handles generation of code for the
It's doing its work in the earliest possible compile phase
| Fields inherited from class | Fields |
|---|---|
class AbstractASTTransformation |
RETENTION_CLASSNODE, sourceUnit |
| Type Params | Return Type | Name and description |
|---|---|---|
|
public static String |
getMY_TYPE_NAME()Returns the annotation name used in diagnostics emitted by this transformation. |
|
public Map<String, Map> |
name2VariableMappingFor(MethodNode method)Builds the parameter-to-iteration-variable mapping used during transformation. |
|
public Map<Integer, Map> |
position2VariableMappingFor(MethodNode method)Builds the argument-position mapping used during recursive return conversion. |
|
public void |
visit(ASTNode[] nodes, SourceUnit source)* The method is invoked when an AST Transformation is active. For local transformations, it is invoked once * each time the local annotation is encountered. For global transformations, it is invoked once for every source * unit, which is typically a source file. * *
|
Returns the annotation name used in diagnostics emitted by this transformation.
@Builds the parameter-to-iteration-variable mapping used during transformation.
method - the method being transformedBuilds the argument-position mapping used during recursive return conversion.
method - the method being transformed* The method is invoked when an AST Transformation is active. For local transformations, it is invoked once * each time the local annotation is encountered. For global transformations, it is invoked once for every source * unit, which is typically a source file. * *
nodes - The ASTnodes when the call was triggered. Element 0 is the AnnotationNode that triggered this
* annotation to be activated. Element 1 is the AnnotatedNode decorated, such as a MethodNode or ClassNode. For
* global transformations it is usually safe to ignore this parameter.
*source - The source unit being compiled. The source unit may contain several classes. For global transformations,
* information about the AST can be retrieved from this object.