org.spockframework.compiler
Class ExpressionReplacingVisitorSupport

java.lang.Object
  extended by org.codehaus.groovy.ast.CodeVisitorSupport
      extended by org.codehaus.groovy.ast.ClassCodeVisitorSupport
          extended by org.spockframework.compiler.StatementReplacingVisitorSupport
              extended by org.spockframework.compiler.ExpressionReplacingVisitorSupport
All Implemented Interfaces:
org.codehaus.groovy.ast.GroovyClassVisitor, org.codehaus.groovy.ast.GroovyCodeVisitor

public class ExpressionReplacingVisitorSupport
extends StatementReplacingVisitorSupport

Groovy AST visitor that allows to replace both statements and expressions.

Author:
Peter Niederwieser

Constructor Summary
ExpressionReplacingVisitorSupport()
           
 
Method Summary
protected
<T extends org.codehaus.groovy.ast.expr.Expression>
void
replaceAllExprs(java.util.List<T> exprs)
           
 org.codehaus.groovy.ast.expr.Expression replaceExpr(org.codehaus.groovy.ast.expr.Expression expr)
           
protected  void replaceVisitedExpressionWith(org.codehaus.groovy.ast.expr.Expression other)
           
 void visitArgumentlistExpression(org.codehaus.groovy.ast.expr.ArgumentListExpression expr)
           
 void visitArrayExpression(org.codehaus.groovy.ast.expr.ArrayExpression expr)
           
 void visitAssertStatement(org.codehaus.groovy.ast.stmt.AssertStatement stat)
           
 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 visitBlockStatement(org.codehaus.groovy.ast.stmt.BlockStatement stat)
           
 void visitBooleanExpression(org.codehaus.groovy.ast.expr.BooleanExpression expr)
           
 void visitBreakStatement(org.codehaus.groovy.ast.stmt.BreakStatement stat)
           
 void visitBytecodeExpression(org.codehaus.groovy.classgen.BytecodeExpression expr)
           
 void visitCaseStatement(org.codehaus.groovy.ast.stmt.CaseStatement stat)
           
 void visitCastExpression(org.codehaus.groovy.ast.expr.CastExpression expr)
           
 void visitCatchStatement(org.codehaus.groovy.ast.stmt.CatchStatement stat)
           
 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 visitContinueStatement(org.codehaus.groovy.ast.stmt.ContinueStatement stat)
           
 void visitDeclarationExpression(org.codehaus.groovy.ast.expr.DeclarationExpression expr)
           
 void visitDoWhileLoop(org.codehaus.groovy.ast.stmt.DoWhileStatement stat)
           
 void visitExpressionStatement(org.codehaus.groovy.ast.stmt.ExpressionStatement stat)
           
 void visitFieldExpression(org.codehaus.groovy.ast.expr.FieldExpression expr)
           
 void visitForLoop(org.codehaus.groovy.ast.stmt.ForStatement stat)
           
 void visitGStringExpression(org.codehaus.groovy.ast.expr.GStringExpression expr)
           
 void visitIfElse(org.codehaus.groovy.ast.stmt.IfStatement stat)
           
 void visitListExpression(org.codehaus.groovy.ast.expr.ListExpression expr)
           
protected  void visitListOfExpressions(java.util.List exprs)
           
 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 visitReturnStatement(org.codehaus.groovy.ast.stmt.ReturnStatement stat)
           
 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 visitSwitch(org.codehaus.groovy.ast.stmt.SwitchStatement stat)
           
 void visitSynchronizedStatement(org.codehaus.groovy.ast.stmt.SynchronizedStatement stat)
           
 void visitTernaryExpression(org.codehaus.groovy.ast.expr.TernaryExpression expr)
           
 void visitThrowStatement(org.codehaus.groovy.ast.stmt.ThrowStatement stat)
           
 void visitTryCatchFinally(org.codehaus.groovy.ast.stmt.TryCatchStatement stat)
           
 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)
           
 void visitWhileLoop(org.codehaus.groovy.ast.stmt.WhileStatement stat)
           
 
Methods inherited from class org.spockframework.compiler.StatementReplacingVisitorSupport
getSourceUnit, replace, replaceAll, replaceVisitedStatementWith
 
Methods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport
addError, visitAnnotations, visitClass, visitClassCodeContainer, visitConstructor, visitConstructorOrMethod, visitField, visitImports, visitMethod, visitObjectInitializerStatements, visitPackage, visitProperty, visitStatement
 
Methods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport
visitEmptyStatement
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExpressionReplacingVisitorSupport

public ExpressionReplacingVisitorSupport()
Method Detail

replaceExpr

public org.codehaus.groovy.ast.expr.Expression replaceExpr(org.codehaus.groovy.ast.expr.Expression expr)

replaceAllExprs

protected <T extends org.codehaus.groovy.ast.expr.Expression> void replaceAllExprs(java.util.List<T> exprs)

replaceVisitedExpressionWith

protected void replaceVisitedExpressionWith(org.codehaus.groovy.ast.expr.Expression other)

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

visitForLoop

public void visitForLoop(org.codehaus.groovy.ast.stmt.ForStatement stat)
Specified by:
visitForLoop in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitForLoop in class StatementReplacingVisitorSupport

visitWhileLoop

public void visitWhileLoop(org.codehaus.groovy.ast.stmt.WhileStatement stat)
Specified by:
visitWhileLoop in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitWhileLoop in class StatementReplacingVisitorSupport

visitDoWhileLoop

public void visitDoWhileLoop(org.codehaus.groovy.ast.stmt.DoWhileStatement stat)
Specified by:
visitDoWhileLoop in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitDoWhileLoop in class StatementReplacingVisitorSupport

visitIfElse

public void visitIfElse(org.codehaus.groovy.ast.stmt.IfStatement stat)
Specified by:
visitIfElse in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitIfElse in class StatementReplacingVisitorSupport

visitTryCatchFinally

public void visitTryCatchFinally(org.codehaus.groovy.ast.stmt.TryCatchStatement stat)
Specified by:
visitTryCatchFinally in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitTryCatchFinally in class StatementReplacingVisitorSupport

visitSwitch

public void visitSwitch(org.codehaus.groovy.ast.stmt.SwitchStatement stat)
Specified by:
visitSwitch in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitSwitch in class StatementReplacingVisitorSupport

visitCaseStatement

public void visitCaseStatement(org.codehaus.groovy.ast.stmt.CaseStatement stat)
Specified by:
visitCaseStatement in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitCaseStatement in class StatementReplacingVisitorSupport

visitSynchronizedStatement

public void visitSynchronizedStatement(org.codehaus.groovy.ast.stmt.SynchronizedStatement stat)
Specified by:
visitSynchronizedStatement in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitSynchronizedStatement in class StatementReplacingVisitorSupport

visitCatchStatement

public void visitCatchStatement(org.codehaus.groovy.ast.stmt.CatchStatement stat)
Specified by:
visitCatchStatement in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitCatchStatement in class StatementReplacingVisitorSupport

visitMethodCallExpression

public void visitMethodCallExpression(org.codehaus.groovy.ast.expr.MethodCallExpression expr)
Specified by:
visitMethodCallExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitMethodCallExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitStaticMethodCallExpression

public void visitStaticMethodCallExpression(org.codehaus.groovy.ast.expr.StaticMethodCallExpression expr)
Specified by:
visitStaticMethodCallExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitStaticMethodCallExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitConstructorCallExpression

public void visitConstructorCallExpression(org.codehaus.groovy.ast.expr.ConstructorCallExpression expr)
Specified by:
visitConstructorCallExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitConstructorCallExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitBinaryExpression

public void visitBinaryExpression(org.codehaus.groovy.ast.expr.BinaryExpression expr)
Specified by:
visitBinaryExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitBinaryExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitTernaryExpression

public void visitTernaryExpression(org.codehaus.groovy.ast.expr.TernaryExpression expr)
Specified by:
visitTernaryExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitTernaryExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitShortTernaryExpression

public void visitShortTernaryExpression(org.codehaus.groovy.ast.expr.ElvisOperatorExpression expr)
Specified by:
visitShortTernaryExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitShortTernaryExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitPostfixExpression

public void visitPostfixExpression(org.codehaus.groovy.ast.expr.PostfixExpression expr)
Specified by:
visitPostfixExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitPostfixExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitPrefixExpression

public void visitPrefixExpression(org.codehaus.groovy.ast.expr.PrefixExpression expr)
Specified by:
visitPrefixExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitPrefixExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitBooleanExpression

public void visitBooleanExpression(org.codehaus.groovy.ast.expr.BooleanExpression expr)
Specified by:
visitBooleanExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitBooleanExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitNotExpression

public void visitNotExpression(org.codehaus.groovy.ast.expr.NotExpression expr)
Specified by:
visitNotExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitNotExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitClosureExpression

public void visitClosureExpression(org.codehaus.groovy.ast.expr.ClosureExpression expr)
Specified by:
visitClosureExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitClosureExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitTupleExpression

public void visitTupleExpression(org.codehaus.groovy.ast.expr.TupleExpression expr)
Specified by:
visitTupleExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitTupleExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitListExpression

public void visitListExpression(org.codehaus.groovy.ast.expr.ListExpression expr)
Specified by:
visitListExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitListExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitArrayExpression

public void visitArrayExpression(org.codehaus.groovy.ast.expr.ArrayExpression expr)
Specified by:
visitArrayExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitArrayExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitMapExpression

public void visitMapExpression(org.codehaus.groovy.ast.expr.MapExpression expr)
Specified by:
visitMapExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitMapExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitMapEntryExpression

public void visitMapEntryExpression(org.codehaus.groovy.ast.expr.MapEntryExpression expr)
Specified by:
visitMapEntryExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitMapEntryExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitRangeExpression

public void visitRangeExpression(org.codehaus.groovy.ast.expr.RangeExpression expr)
Specified by:
visitRangeExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitRangeExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitSpreadExpression

public void visitSpreadExpression(org.codehaus.groovy.ast.expr.SpreadExpression expr)
Specified by:
visitSpreadExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitSpreadExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitSpreadMapExpression

public void visitSpreadMapExpression(org.codehaus.groovy.ast.expr.SpreadMapExpression expr)
Specified by:
visitSpreadMapExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitSpreadMapExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitMethodPointerExpression

public void visitMethodPointerExpression(org.codehaus.groovy.ast.expr.MethodPointerExpression expr)
Specified by:
visitMethodPointerExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitMethodPointerExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitUnaryMinusExpression

public void visitUnaryMinusExpression(org.codehaus.groovy.ast.expr.UnaryMinusExpression expr)
Specified by:
visitUnaryMinusExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitUnaryMinusExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitUnaryPlusExpression

public void visitUnaryPlusExpression(org.codehaus.groovy.ast.expr.UnaryPlusExpression expr)
Specified by:
visitUnaryPlusExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitUnaryPlusExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitBitwiseNegationExpression

public void visitBitwiseNegationExpression(org.codehaus.groovy.ast.expr.BitwiseNegationExpression expr)
Specified by:
visitBitwiseNegationExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitBitwiseNegationExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitCastExpression

public void visitCastExpression(org.codehaus.groovy.ast.expr.CastExpression expr)
Specified by:
visitCastExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitCastExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

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

visitPropertyExpression

public void visitPropertyExpression(org.codehaus.groovy.ast.expr.PropertyExpression expr)
Specified by:
visitPropertyExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitPropertyExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitAttributeExpression

public void visitAttributeExpression(org.codehaus.groovy.ast.expr.AttributeExpression expr)
Specified by:
visitAttributeExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitAttributeExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitGStringExpression

public void visitGStringExpression(org.codehaus.groovy.ast.expr.GStringExpression expr)
Specified by:
visitGStringExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitGStringExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitArgumentlistExpression

public void visitArgumentlistExpression(org.codehaus.groovy.ast.expr.ArgumentListExpression expr)
Specified by:
visitArgumentlistExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitArgumentlistExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitClosureListExpression

public void visitClosureListExpression(org.codehaus.groovy.ast.expr.ClosureListExpression expr)
Specified by:
visitClosureListExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitClosureListExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

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

visitExpressionStatement

public void visitExpressionStatement(org.codehaus.groovy.ast.stmt.ExpressionStatement stat)
Specified by:
visitExpressionStatement in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitExpressionStatement in class org.codehaus.groovy.ast.ClassCodeVisitorSupport

visitReturnStatement

public void visitReturnStatement(org.codehaus.groovy.ast.stmt.ReturnStatement stat)
Specified by:
visitReturnStatement in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitReturnStatement in class org.codehaus.groovy.ast.ClassCodeVisitorSupport

visitThrowStatement

public void visitThrowStatement(org.codehaus.groovy.ast.stmt.ThrowStatement stat)
Specified by:
visitThrowStatement in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitThrowStatement in class org.codehaus.groovy.ast.ClassCodeVisitorSupport

visitListOfExpressions

protected void visitListOfExpressions(java.util.List exprs)
Overrides:
visitListOfExpressions in class org.codehaus.groovy.ast.CodeVisitorSupport

visitBreakStatement

public void visitBreakStatement(org.codehaus.groovy.ast.stmt.BreakStatement stat)
Specified by:
visitBreakStatement in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitBreakStatement in class org.codehaus.groovy.ast.ClassCodeVisitorSupport

visitContinueStatement

public void visitContinueStatement(org.codehaus.groovy.ast.stmt.ContinueStatement stat)
Specified by:
visitContinueStatement in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitContinueStatement in class org.codehaus.groovy.ast.ClassCodeVisitorSupport

visitConstantExpression

public void visitConstantExpression(org.codehaus.groovy.ast.expr.ConstantExpression expr)
Specified by:
visitConstantExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitConstantExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitClassExpression

public void visitClassExpression(org.codehaus.groovy.ast.expr.ClassExpression expr)
Specified by:
visitClassExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitClassExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitVariableExpression

public void visitVariableExpression(org.codehaus.groovy.ast.expr.VariableExpression expr)
Specified by:
visitVariableExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitVariableExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitFieldExpression

public void visitFieldExpression(org.codehaus.groovy.ast.expr.FieldExpression expr)
Specified by:
visitFieldExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitFieldExpression in class org.codehaus.groovy.ast.CodeVisitorSupport

visitBytecodeExpression

public void visitBytecodeExpression(org.codehaus.groovy.classgen.BytecodeExpression expr)
Specified by:
visitBytecodeExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
Overrides:
visitBytecodeExpression in class org.codehaus.groovy.ast.CodeVisitorSupport


Copyright © 2013. All rights reserved