Class AstBuilderTransformation

java.lang.Object
org.codehaus.groovy.ast.MethodCallTransformation
org.apache.groovy.ast.builder.AstBuilderTransformation
All Implemented Interfaces:
org.codehaus.groovy.transform.ASTTransformation

public class AstBuilderTransformation extends org.codehaus.groovy.ast.MethodCallTransformation
Transformation to capture ASTBuilder from code statements.

The AstBuilder "from code" approach is used with a single Closure parameter. This transformation converts the ClosureExpression back into source code and rewrites the AST so that the "from string" builder is invoked on the source. In order for this to work, the closure source must be given a goto label. It is the "from string" approach's responsibility to remove the BlockStatement created by the label.

  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected org.codehaus.groovy.ast.GroovyCodeVisitor
    getTransformer(org.codehaus.groovy.ast.ASTNode[] nodes, org.codehaus.groovy.control.SourceUnit sourceUnit)
     

    Methods inherited from class org.codehaus.groovy.ast.MethodCallTransformation

    visit

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • AstBuilderTransformation

      public AstBuilderTransformation()
  • Method Details

    • getTransformer

      protected org.codehaus.groovy.ast.GroovyCodeVisitor getTransformer(org.codehaus.groovy.ast.ASTNode[] nodes, org.codehaus.groovy.control.SourceUnit sourceUnit)
      Specified by:
      getTransformer in class org.codehaus.groovy.ast.MethodCallTransformation