org.spockframework.compiler
Class ConditionRewriter

java.lang.Object
  extended by org.spockframework.util.AbstractExpressionConverter<org.codehaus.groovy.ast.expr.Expression>
      extended by org.spockframework.compiler.ConditionRewriter
All Implemented Interfaces:
org.codehaus.groovy.ast.GroovyCodeVisitor

public class ConditionRewriter
extends AbstractExpressionConverter<org.codehaus.groovy.ast.expr.Expression>

Rewrites explicit ("assert x > 3") and implicit ("x > 3") condition statements. Replacing the original statement with the rewritten one is up to clients.

Author:
Peter Niederwieser

Field Summary
 
Fields inherited from class org.spockframework.util.AbstractExpressionConverter
result
 
Method Summary
static org.codehaus.groovy.ast.stmt.Statement rewriteExplicitCondition(org.codehaus.groovy.ast.stmt.AssertStatement stat, IRewriteResources resources)
           
static org.codehaus.groovy.ast.stmt.Statement rewriteImplicitCondition(org.codehaus.groovy.ast.stmt.ExpressionStatement stat, IRewriteResources resources)
           
 void visitArgumentlistExpression(org.codehaus.groovy.ast.expr.ArgumentListExpression expr)
           
 void visitArrayExpression(org.codehaus.groovy.ast.expr.ArrayExpression expr)
           
 void visitAttributeExpression(org.codehaus.groovy.ast.expr.AttributeExpression expr)
           
 void visitBinaryExpression(org.codehaus.groovy.ast.expr.BinaryExpression expr)
           
 void visitBitwiseNegationExpression(org.codehaus.groovy.ast.expr.BitwiseNegationExpression expr)
           
 void visitBooleanExpression(org.codehaus.groovy.ast.expr.BooleanExpression expr)
           
 void visitBytecodeExpression(org.codehaus.groovy.classgen.BytecodeExpression expr)
           
 void visitCastExpression(org.codehaus.groovy.ast.expr.CastExpression expr)
           
 void visitClassExpression(org.codehaus.groovy.ast.expr.ClassExpression expr)
           
 void visitClosureExpression(org.codehaus.groovy.ast.expr.ClosureExpression expr)
           
 void visitClosureListExpression(org.codehaus.groovy.ast.expr.ClosureListExpression expr)
           
 void visitConstantExpression(org.codehaus.groovy.ast.expr.ConstantExpression expr)
           
 void visitConstructorCallExpression(org.codehaus.groovy.ast.expr.ConstructorCallExpression expr)
           
 void visitDeclarationExpression(org.codehaus.groovy.ast.expr.DeclarationExpression expr)
           
 void visitFieldExpression(org.codehaus.groovy.ast.expr.FieldExpression expr)
           
 void visitGStringExpression(org.codehaus.groovy.ast.expr.GStringExpression expr)
           
 void visitListExpression(org.codehaus.groovy.ast.expr.ListExpression expr)
           
 void visitMapEntryExpression(org.codehaus.groovy.ast.expr.MapEntryExpression expr)
           
 void visitMapExpression(org.codehaus.groovy.ast.expr.MapExpression expr)
           
 void visitMethodCallExpression(org.codehaus.groovy.ast.expr.MethodCallExpression expr)
           
 void visitMethodPointerExpression(org.codehaus.groovy.ast.expr.MethodPointerExpression expr)
           
 void visitNotExpression(org.codehaus.groovy.ast.expr.NotExpression expr)
           
 void visitPostfixExpression(org.codehaus.groovy.ast.expr.PostfixExpression expr)
           
 void visitPrefixExpression(org.codehaus.groovy.ast.expr.PrefixExpression expr)
           
 void visitPropertyExpression(org.codehaus.groovy.ast.expr.PropertyExpression expr)
           
 void visitRangeExpression(org.codehaus.groovy.ast.expr.RangeExpression expr)
           
 void visitShortTernaryExpression(org.codehaus.groovy.ast.expr.ElvisOperatorExpression expr)
           
 void visitSpreadExpression(org.codehaus.groovy.ast.expr.SpreadExpression expr)
           
 void visitSpreadMapExpression(org.codehaus.groovy.ast.expr.SpreadMapExpression expr)
           
 void visitStaticMethodCallExpression(org.codehaus.groovy.ast.expr.StaticMethodCallExpression expr)
           
 void visitTernaryExpression(org.codehaus.groovy.ast.expr.TernaryExpression expr)
           
 void visitTupleExpression(org.codehaus.groovy.ast.expr.TupleExpression expr)
           
 void visitUnaryMinusExpression(org.codehaus.groovy.ast.expr.UnaryMinusExpression expr)
           
 void visitUnaryPlusExpression(org.codehaus.groovy.ast.expr.UnaryPlusExpression expr)
           
 void visitVariableExpression(org.codehaus.groovy.ast.expr.VariableExpression expr)
           
 
Methods inherited from class org.spockframework.util.AbstractExpressionConverter
convert, convertAll, unsupported, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, visitContinueStatement, visitDoWhileLoop, visitExpressionStatement, visitForLoop, visitIfElse, visitReturnStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally, visitWhileLoop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

rewriteExplicitCondition

public static org.codehaus.groovy.ast.stmt.Statement rewriteExplicitCondition(org.codehaus.groovy.ast.stmt.AssertStatement stat,
                                                                              IRewriteResources resources)

rewriteImplicitCondition

public static org.codehaus.groovy.ast.stmt.Statement rewriteImplicitCondition(org.codehaus.groovy.ast.stmt.ExpressionStatement stat,
                                                                              IRewriteResources resources)

visitMethodCallExpression

public void visitMethodCallExpression(org.codehaus.groovy.ast.expr.MethodCallExpression expr)

visitStaticMethodCallExpression

public void visitStaticMethodCallExpression(org.codehaus.groovy.ast.expr.StaticMethodCallExpression expr)

visitBytecodeExpression

public void visitBytecodeExpression(org.codehaus.groovy.classgen.BytecodeExpression expr)

visitArgumentlistExpression

public void visitArgumentlistExpression(org.codehaus.groovy.ast.expr.ArgumentListExpression expr)

visitPropertyExpression

public void visitPropertyExpression(org.codehaus.groovy.ast.expr.PropertyExpression expr)

visitAttributeExpression

public void visitAttributeExpression(org.codehaus.groovy.ast.expr.AttributeExpression expr)

visitFieldExpression

public void visitFieldExpression(org.codehaus.groovy.ast.expr.FieldExpression expr)

visitMethodPointerExpression

public void visitMethodPointerExpression(org.codehaus.groovy.ast.expr.MethodPointerExpression expr)

visitVariableExpression

public void visitVariableExpression(org.codehaus.groovy.ast.expr.VariableExpression expr)

visitDeclarationExpression

public void visitDeclarationExpression(org.codehaus.groovy.ast.expr.DeclarationExpression expr)

visitBinaryExpression

public void visitBinaryExpression(org.codehaus.groovy.ast.expr.BinaryExpression expr)

visitConstantExpression

public void visitConstantExpression(org.codehaus.groovy.ast.expr.ConstantExpression expr)

visitClassExpression

public void visitClassExpression(org.codehaus.groovy.ast.expr.ClassExpression expr)

visitUnaryMinusExpression

public void visitUnaryMinusExpression(org.codehaus.groovy.ast.expr.UnaryMinusExpression expr)

visitUnaryPlusExpression

public void visitUnaryPlusExpression(org.codehaus.groovy.ast.expr.UnaryPlusExpression expr)

visitBitwiseNegationExpression

public void visitBitwiseNegationExpression(org.codehaus.groovy.ast.expr.BitwiseNegationExpression expr)

visitCastExpression

public void visitCastExpression(org.codehaus.groovy.ast.expr.CastExpression expr)

visitClosureListExpression

public void visitClosureListExpression(org.codehaus.groovy.ast.expr.ClosureListExpression expr)

visitNotExpression

public void visitNotExpression(org.codehaus.groovy.ast.expr.NotExpression expr)

visitListExpression

public void visitListExpression(org.codehaus.groovy.ast.expr.ListExpression expr)

visitRangeExpression

public void visitRangeExpression(org.codehaus.groovy.ast.expr.RangeExpression expr)

visitMapExpression

public void visitMapExpression(org.codehaus.groovy.ast.expr.MapExpression expr)

visitMapEntryExpression

public void visitMapEntryExpression(org.codehaus.groovy.ast.expr.MapEntryExpression expr)

visitConstructorCallExpression

public void visitConstructorCallExpression(org.codehaus.groovy.ast.expr.ConstructorCallExpression expr)

visitGStringExpression

public void visitGStringExpression(org.codehaus.groovy.ast.expr.GStringExpression expr)

visitArrayExpression

public void visitArrayExpression(org.codehaus.groovy.ast.expr.ArrayExpression expr)

visitSpreadExpression

public void visitSpreadExpression(org.codehaus.groovy.ast.expr.SpreadExpression expr)

visitSpreadMapExpression

public void visitSpreadMapExpression(org.codehaus.groovy.ast.expr.SpreadMapExpression expr)

visitTernaryExpression

public void visitTernaryExpression(org.codehaus.groovy.ast.expr.TernaryExpression expr)

visitShortTernaryExpression

public void visitShortTernaryExpression(org.codehaus.groovy.ast.expr.ElvisOperatorExpression expr)

visitPrefixExpression

public void visitPrefixExpression(org.codehaus.groovy.ast.expr.PrefixExpression expr)

visitPostfixExpression

public void visitPostfixExpression(org.codehaus.groovy.ast.expr.PostfixExpression expr)

visitBooleanExpression

public void visitBooleanExpression(org.codehaus.groovy.ast.expr.BooleanExpression expr)

visitClosureExpression

public void visitClosureExpression(org.codehaus.groovy.ast.expr.ClosureExpression expr)

visitTupleExpression

public void visitTupleExpression(org.codehaus.groovy.ast.expr.TupleExpression expr)


Copyright © 2013. All rights reserved