Class DeepBlockRewriter

java.lang.Object
org.codehaus.groovy.ast.CodeVisitorSupport
org.codehaus.groovy.ast.ClassCodeVisitorSupport
All Implemented Interfaces:
org.codehaus.groovy.ast.GroovyClassVisitor, org.codehaus.groovy.ast.GroovyCodeVisitor

public class DeepBlockRewriter extends AbstractDeepBlockRewriter
Walks the statement and expression tree to: - rewrite explicit conditions, - rewrite interactions, - rewrite core language primitives (members of class Specification) - Forbid Also records whether conditions and interactions were found.
Author:
Peter Niederwieser
  • Constructor Details

  • Method Details

    • visit

      public void visit(Block block)
      Overrides:
      visit in class AbstractDeepBlockRewriter
    • visitAssertStatement

      public void visitAssertStatement(org.codehaus.groovy.ast.stmt.AssertStatement stat)
      Specified by:
      visitAssertStatement in interface org.codehaus.groovy.ast.GroovyCodeVisitor
      Overrides:
      visitAssertStatement in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
    • doVisitExpressionStatement

      protected void doVisitExpressionStatement(org.codehaus.groovy.ast.stmt.ExpressionStatement stat)
      Overrides:
      doVisitExpressionStatement in class AbstractDeepBlockRewriter
    • doVisitClosureExpression

      protected void doVisitClosureExpression(org.codehaus.groovy.ast.expr.ClosureExpression expr)
      Overrides:
      doVisitClosureExpression in class AbstractDeepBlockRewriter
    • visitBlockStatement

      public void visitBlockStatement(org.codehaus.groovy.ast.stmt.BlockStatement stat)
      Specified by:
      visitBlockStatement in interface org.codehaus.groovy.ast.GroovyCodeVisitor
      Overrides:
      visitBlockStatement in class StatementReplacingVisitorSupport
    • visitDeclarationExpression

      public void visitDeclarationExpression(org.codehaus.groovy.ast.expr.DeclarationExpression expr)
      Specified by:
      visitDeclarationExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
      Overrides:
      visitDeclarationExpression in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
    • doVisitMethodCallExpression

      protected void doVisitMethodCallExpression(org.codehaus.groovy.ast.expr.MethodCallExpression expr)
      Overrides:
      doVisitMethodCallExpression in class AbstractDeepBlockRewriter
    • isImplicitCondition

      public static boolean isImplicitCondition(org.codehaus.groovy.ast.stmt.Statement stat)