Package org.spockframework.compiler
Class ExpressionReplacingVisitorSupport
java.lang.Object
org.codehaus.groovy.ast.CodeVisitorSupport
org.codehaus.groovy.ast.ClassCodeVisitorSupport
org.spockframework.compiler.StatementReplacingVisitorSupport
org.spockframework.compiler.ExpressionReplacingVisitorSupport
- All Implemented Interfaces:
org.codehaus.groovy.ast.GroovyClassVisitor,org.codehaus.groovy.ast.GroovyCodeVisitor
Groovy AST visitor that allows to replace both statements and expressions.
- Author:
- Peter Niederwieser
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected <T extends org.codehaus.groovy.ast.expr.Expression>
voidreplaceAllExprs(List<T> exprs) org.codehaus.groovy.ast.expr.ExpressionreplaceExpr(org.codehaus.groovy.ast.expr.Expression expr) protected voidreplaceVisitedExpressionWith(org.codehaus.groovy.ast.expr.Expression other) voidvisitArgumentlistExpression(org.codehaus.groovy.ast.expr.ArgumentListExpression expr) voidvisitArrayExpression(org.codehaus.groovy.ast.expr.ArrayExpression expr) voidvisitAssertStatement(org.codehaus.groovy.ast.stmt.AssertStatement stat) voidvisitAttributeExpression(org.codehaus.groovy.ast.expr.AttributeExpression expr) voidvisitBinaryExpression(org.codehaus.groovy.ast.expr.BinaryExpression expr) voidvisitBitwiseNegationExpression(org.codehaus.groovy.ast.expr.BitwiseNegationExpression expr) voidvisitBlockStatement(org.codehaus.groovy.ast.stmt.BlockStatement stat) voidvisitBooleanExpression(org.codehaus.groovy.ast.expr.BooleanExpression expr) voidvisitBreakStatement(org.codehaus.groovy.ast.stmt.BreakStatement stat) voidvisitBytecodeExpression(org.codehaus.groovy.classgen.BytecodeExpression expr) voidvisitCaseStatement(org.codehaus.groovy.ast.stmt.CaseStatement stat) voidvisitCastExpression(org.codehaus.groovy.ast.expr.CastExpression expr) voidvisitCatchStatement(org.codehaus.groovy.ast.stmt.CatchStatement stat) voidvisitClassExpression(org.codehaus.groovy.ast.expr.ClassExpression expr) voidvisitClosureExpression(org.codehaus.groovy.ast.expr.ClosureExpression expr) voidvisitClosureListExpression(org.codehaus.groovy.ast.expr.ClosureListExpression expr) voidvisitConstantExpression(org.codehaus.groovy.ast.expr.ConstantExpression expr) voidvisitConstructorCallExpression(org.codehaus.groovy.ast.expr.ConstructorCallExpression expr) voidvisitContinueStatement(org.codehaus.groovy.ast.stmt.ContinueStatement stat) voidvisitDeclarationExpression(org.codehaus.groovy.ast.expr.DeclarationExpression expr) voidvisitDoWhileLoop(org.codehaus.groovy.ast.stmt.DoWhileStatement stat) voidvisitExpressionStatement(org.codehaus.groovy.ast.stmt.ExpressionStatement stat) voidvisitFieldExpression(org.codehaus.groovy.ast.expr.FieldExpression expr) voidvisitForLoop(org.codehaus.groovy.ast.stmt.ForStatement stat) voidvisitGStringExpression(org.codehaus.groovy.ast.expr.GStringExpression expr) voidvisitIfElse(org.codehaus.groovy.ast.stmt.IfStatement stat) voidvisitListExpression(org.codehaus.groovy.ast.expr.ListExpression expr) protected voidvisitListOfExpressions(List exprs) voidvisitMapEntryExpression(org.codehaus.groovy.ast.expr.MapEntryExpression expr) voidvisitMapExpression(org.codehaus.groovy.ast.expr.MapExpression expr) voidvisitMethodCallExpression(org.codehaus.groovy.ast.expr.MethodCallExpression expr) voidvisitMethodPointerExpression(org.codehaus.groovy.ast.expr.MethodPointerExpression expr) voidvisitNotExpression(org.codehaus.groovy.ast.expr.NotExpression expr) voidvisitPostfixExpression(org.codehaus.groovy.ast.expr.PostfixExpression expr) voidvisitPrefixExpression(org.codehaus.groovy.ast.expr.PrefixExpression expr) voidvisitPropertyExpression(org.codehaus.groovy.ast.expr.PropertyExpression expr) voidvisitRangeExpression(org.codehaus.groovy.ast.expr.RangeExpression expr) voidvisitReturnStatement(org.codehaus.groovy.ast.stmt.ReturnStatement stat) voidvisitShortTernaryExpression(org.codehaus.groovy.ast.expr.ElvisOperatorExpression expr) voidvisitSpreadExpression(org.codehaus.groovy.ast.expr.SpreadExpression expr) voidvisitSpreadMapExpression(org.codehaus.groovy.ast.expr.SpreadMapExpression expr) voidvisitStaticMethodCallExpression(org.codehaus.groovy.ast.expr.StaticMethodCallExpression expr) voidvisitSwitch(org.codehaus.groovy.ast.stmt.SwitchStatement stat) voidvisitSynchronizedStatement(org.codehaus.groovy.ast.stmt.SynchronizedStatement stat) voidvisitTernaryExpression(org.codehaus.groovy.ast.expr.TernaryExpression expr) voidvisitThrowStatement(org.codehaus.groovy.ast.stmt.ThrowStatement stat) voidvisitTryCatchFinally(org.codehaus.groovy.ast.stmt.TryCatchStatement stat) voidvisitTupleExpression(org.codehaus.groovy.ast.expr.TupleExpression expr) voidvisitUnaryMinusExpression(org.codehaus.groovy.ast.expr.UnaryMinusExpression expr) voidvisitUnaryPlusExpression(org.codehaus.groovy.ast.expr.UnaryPlusExpression expr) voidvisitVariableExpression(org.codehaus.groovy.ast.expr.VariableExpression expr) voidvisitWhileLoop(org.codehaus.groovy.ast.stmt.WhileStatement stat) Methods inherited from class org.spockframework.compiler.StatementReplacingVisitorSupport
getSourceUnit, replace, replaceAll, replaceVisitedStatementWithMethods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport
addError, visitAnnotations, visitClass, visitClassCodeContainer, visitConstructor, visitConstructorOrMethod, visitField, visitImports, visitMethod, visitObjectInitializerStatements, visitPackage, visitProperty, visitStatementMethods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport
visitEmptyStatement
-
Constructor Details
-
ExpressionReplacingVisitorSupport
public ExpressionReplacingVisitorSupport()
-
-
Method Details
-
replaceExpr
public org.codehaus.groovy.ast.expr.Expression replaceExpr(org.codehaus.groovy.ast.expr.Expression expr) -
replaceAllExprs
-
replaceVisitedExpressionWith
protected void replaceVisitedExpressionWith(org.codehaus.groovy.ast.expr.Expression other) -
visitBlockStatement
public void visitBlockStatement(org.codehaus.groovy.ast.stmt.BlockStatement stat) - Specified by:
visitBlockStatementin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitBlockStatementin classStatementReplacingVisitorSupport
-
visitForLoop
public void visitForLoop(org.codehaus.groovy.ast.stmt.ForStatement stat) - Specified by:
visitForLoopin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitForLoopin classStatementReplacingVisitorSupport
-
visitWhileLoop
public void visitWhileLoop(org.codehaus.groovy.ast.stmt.WhileStatement stat) - Specified by:
visitWhileLoopin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitWhileLoopin classStatementReplacingVisitorSupport
-
visitDoWhileLoop
public void visitDoWhileLoop(org.codehaus.groovy.ast.stmt.DoWhileStatement stat) - Specified by:
visitDoWhileLoopin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitDoWhileLoopin classStatementReplacingVisitorSupport
-
visitIfElse
public void visitIfElse(org.codehaus.groovy.ast.stmt.IfStatement stat) - Specified by:
visitIfElsein interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitIfElsein classStatementReplacingVisitorSupport
-
visitTryCatchFinally
public void visitTryCatchFinally(org.codehaus.groovy.ast.stmt.TryCatchStatement stat) - Specified by:
visitTryCatchFinallyin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitTryCatchFinallyin classStatementReplacingVisitorSupport
-
visitSwitch
public void visitSwitch(org.codehaus.groovy.ast.stmt.SwitchStatement stat) - Specified by:
visitSwitchin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitSwitchin classStatementReplacingVisitorSupport
-
visitCaseStatement
public void visitCaseStatement(org.codehaus.groovy.ast.stmt.CaseStatement stat) - Specified by:
visitCaseStatementin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitCaseStatementin classStatementReplacingVisitorSupport
-
visitSynchronizedStatement
public void visitSynchronizedStatement(org.codehaus.groovy.ast.stmt.SynchronizedStatement stat) - Specified by:
visitSynchronizedStatementin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitSynchronizedStatementin classStatementReplacingVisitorSupport
-
visitCatchStatement
public void visitCatchStatement(org.codehaus.groovy.ast.stmt.CatchStatement stat) - Specified by:
visitCatchStatementin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitCatchStatementin classStatementReplacingVisitorSupport
-
visitMethodCallExpression
public void visitMethodCallExpression(org.codehaus.groovy.ast.expr.MethodCallExpression expr) - Specified by:
visitMethodCallExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitMethodCallExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitStaticMethodCallExpression
public void visitStaticMethodCallExpression(org.codehaus.groovy.ast.expr.StaticMethodCallExpression expr) - Specified by:
visitStaticMethodCallExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitStaticMethodCallExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitConstructorCallExpression
public void visitConstructorCallExpression(org.codehaus.groovy.ast.expr.ConstructorCallExpression expr) - Specified by:
visitConstructorCallExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitConstructorCallExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitBinaryExpression
public void visitBinaryExpression(org.codehaus.groovy.ast.expr.BinaryExpression expr) - Specified by:
visitBinaryExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitBinaryExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitTernaryExpression
public void visitTernaryExpression(org.codehaus.groovy.ast.expr.TernaryExpression expr) - Specified by:
visitTernaryExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitTernaryExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitShortTernaryExpression
public void visitShortTernaryExpression(org.codehaus.groovy.ast.expr.ElvisOperatorExpression expr) - Specified by:
visitShortTernaryExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitShortTernaryExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitPostfixExpression
public void visitPostfixExpression(org.codehaus.groovy.ast.expr.PostfixExpression expr) - Specified by:
visitPostfixExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitPostfixExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitPrefixExpression
public void visitPrefixExpression(org.codehaus.groovy.ast.expr.PrefixExpression expr) - Specified by:
visitPrefixExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitPrefixExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitBooleanExpression
public void visitBooleanExpression(org.codehaus.groovy.ast.expr.BooleanExpression expr) - Specified by:
visitBooleanExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitBooleanExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitNotExpression
public void visitNotExpression(org.codehaus.groovy.ast.expr.NotExpression expr) - Specified by:
visitNotExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitNotExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitClosureExpression
public void visitClosureExpression(org.codehaus.groovy.ast.expr.ClosureExpression expr) - Specified by:
visitClosureExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitClosureExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitTupleExpression
public void visitTupleExpression(org.codehaus.groovy.ast.expr.TupleExpression expr) - Specified by:
visitTupleExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitTupleExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitListExpression
public void visitListExpression(org.codehaus.groovy.ast.expr.ListExpression expr) - Specified by:
visitListExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitListExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitArrayExpression
public void visitArrayExpression(org.codehaus.groovy.ast.expr.ArrayExpression expr) - Specified by:
visitArrayExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitArrayExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitMapExpression
public void visitMapExpression(org.codehaus.groovy.ast.expr.MapExpression expr) - Specified by:
visitMapExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitMapExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitMapEntryExpression
public void visitMapEntryExpression(org.codehaus.groovy.ast.expr.MapEntryExpression expr) - Specified by:
visitMapEntryExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitMapEntryExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitRangeExpression
public void visitRangeExpression(org.codehaus.groovy.ast.expr.RangeExpression expr) - Specified by:
visitRangeExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitRangeExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitSpreadExpression
public void visitSpreadExpression(org.codehaus.groovy.ast.expr.SpreadExpression expr) - Specified by:
visitSpreadExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitSpreadExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitSpreadMapExpression
public void visitSpreadMapExpression(org.codehaus.groovy.ast.expr.SpreadMapExpression expr) - Specified by:
visitSpreadMapExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitSpreadMapExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitMethodPointerExpression
public void visitMethodPointerExpression(org.codehaus.groovy.ast.expr.MethodPointerExpression expr) - Specified by:
visitMethodPointerExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitMethodPointerExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitUnaryMinusExpression
public void visitUnaryMinusExpression(org.codehaus.groovy.ast.expr.UnaryMinusExpression expr) - Specified by:
visitUnaryMinusExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitUnaryMinusExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitUnaryPlusExpression
public void visitUnaryPlusExpression(org.codehaus.groovy.ast.expr.UnaryPlusExpression expr) - Specified by:
visitUnaryPlusExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitUnaryPlusExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitBitwiseNegationExpression
public void visitBitwiseNegationExpression(org.codehaus.groovy.ast.expr.BitwiseNegationExpression expr) - Specified by:
visitBitwiseNegationExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitBitwiseNegationExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitCastExpression
public void visitCastExpression(org.codehaus.groovy.ast.expr.CastExpression expr) - Specified by:
visitCastExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitCastExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitDeclarationExpression
public void visitDeclarationExpression(org.codehaus.groovy.ast.expr.DeclarationExpression expr) - Specified by:
visitDeclarationExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitDeclarationExpressionin classorg.codehaus.groovy.ast.ClassCodeVisitorSupport
-
visitPropertyExpression
public void visitPropertyExpression(org.codehaus.groovy.ast.expr.PropertyExpression expr) - Specified by:
visitPropertyExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitPropertyExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitAttributeExpression
public void visitAttributeExpression(org.codehaus.groovy.ast.expr.AttributeExpression expr) - Specified by:
visitAttributeExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitAttributeExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitGStringExpression
public void visitGStringExpression(org.codehaus.groovy.ast.expr.GStringExpression expr) - Specified by:
visitGStringExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitGStringExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitArgumentlistExpression
public void visitArgumentlistExpression(org.codehaus.groovy.ast.expr.ArgumentListExpression expr) - Specified by:
visitArgumentlistExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitArgumentlistExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitClosureListExpression
public void visitClosureListExpression(org.codehaus.groovy.ast.expr.ClosureListExpression expr) - Specified by:
visitClosureListExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitClosureListExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitAssertStatement
public void visitAssertStatement(org.codehaus.groovy.ast.stmt.AssertStatement stat) - Specified by:
visitAssertStatementin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitAssertStatementin classorg.codehaus.groovy.ast.ClassCodeVisitorSupport
-
visitExpressionStatement
public void visitExpressionStatement(org.codehaus.groovy.ast.stmt.ExpressionStatement stat) - Specified by:
visitExpressionStatementin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitExpressionStatementin classorg.codehaus.groovy.ast.ClassCodeVisitorSupport
-
visitReturnStatement
public void visitReturnStatement(org.codehaus.groovy.ast.stmt.ReturnStatement stat) - Specified by:
visitReturnStatementin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitReturnStatementin classorg.codehaus.groovy.ast.ClassCodeVisitorSupport
-
visitThrowStatement
public void visitThrowStatement(org.codehaus.groovy.ast.stmt.ThrowStatement stat) - Specified by:
visitThrowStatementin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitThrowStatementin classorg.codehaus.groovy.ast.ClassCodeVisitorSupport
-
visitListOfExpressions
- Overrides:
visitListOfExpressionsin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitBreakStatement
public void visitBreakStatement(org.codehaus.groovy.ast.stmt.BreakStatement stat) - Specified by:
visitBreakStatementin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitBreakStatementin classorg.codehaus.groovy.ast.ClassCodeVisitorSupport
-
visitContinueStatement
public void visitContinueStatement(org.codehaus.groovy.ast.stmt.ContinueStatement stat) - Specified by:
visitContinueStatementin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitContinueStatementin classorg.codehaus.groovy.ast.ClassCodeVisitorSupport
-
visitConstantExpression
public void visitConstantExpression(org.codehaus.groovy.ast.expr.ConstantExpression expr) - Specified by:
visitConstantExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitConstantExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitClassExpression
public void visitClassExpression(org.codehaus.groovy.ast.expr.ClassExpression expr) - Specified by:
visitClassExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitClassExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitVariableExpression
public void visitVariableExpression(org.codehaus.groovy.ast.expr.VariableExpression expr) - Specified by:
visitVariableExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitVariableExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitFieldExpression
public void visitFieldExpression(org.codehaus.groovy.ast.expr.FieldExpression expr) - Specified by:
visitFieldExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitFieldExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-
visitBytecodeExpression
public void visitBytecodeExpression(org.codehaus.groovy.classgen.BytecodeExpression expr) - Specified by:
visitBytecodeExpressionin interfaceorg.codehaus.groovy.ast.GroovyCodeVisitor- Overrides:
visitBytecodeExpressionin classorg.codehaus.groovy.ast.CodeVisitorSupport
-