org.codehaus.groovy.transform.powerassert
Class StatementReplacingVisitorSupport

java.lang.Object
  extended by org.codehaus.groovy.ast.CodeVisitorSupport
      extended by org.codehaus.groovy.ast.ClassCodeVisitorSupport
          extended by org.codehaus.groovy.transform.powerassert.StatementReplacingVisitorSupport
All Implemented Interfaces:
GroovyClassVisitor, GroovyCodeVisitor
Direct Known Subclasses:
AssertionRewriter

public abstract class StatementReplacingVisitorSupport
extends ClassCodeVisitorSupport

Adds the ability to replace statements.

Author:
Peter Niederwieser

Constructor Summary
StatementReplacingVisitorSupport()
           
 
Method Summary
 Statement replace(Statement stat)
          Visits the specified statement.
protected
<T extends Statement>
void
replaceAll(List<T> stats)
          Visits the statements in the specified mutable list.
protected  void replaceVisitedStatementWith(Statement other)
          Replaces the currently visited statement with the specified statement.
 void visitBlockStatement(BlockStatement stat)
           
 void visitCaseStatement(CaseStatement stat)
           
 void visitCatchStatement(CatchStatement stat)
           
 void visitDoWhileLoop(DoWhileStatement stat)
           
 void visitForLoop(ForStatement stat)
           
 void visitIfElse(IfStatement stat)
           
 void visitSwitch(SwitchStatement stat)
           
 void visitSynchronizedStatement(SynchronizedStatement stat)
           
 void visitTryCatchFinally(TryCatchStatement stat)
           
 void visitWhileLoop(WhileStatement stat)
           
 
Methods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport
addError, getSourceUnit, visitAnnotations, visitAssertStatement, visitBreakStatement, visitClass, visitClassCodeContainer, visitConstructor, visitConstructorOrMethod, visitContinueStatement, visitExpressionStatement, visitField, visitImports, visitMethod, visitPackage, visitProperty, visitReturnStatement, visitStatement, visitThrowStatement, visitVariableExpression
 
Methods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport
visitArgumentlistExpression, visitArrayExpression, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBooleanExpression, visitBytecodeExpression, visitCastExpression, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitDeclarationExpression, visitEmptyStatement, visitFieldExpression, visitGStringExpression, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitRegexExpression, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitTernaryExpression, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StatementReplacingVisitorSupport

public StatementReplacingVisitorSupport()
Method Detail

replace

public Statement replace(Statement stat)
Visits the specified statement. If the statement's visit method calls replaceVisitedMethodWith(), the statement will be replaced.


replaceAll

protected <T extends Statement> void replaceAll(List<T> stats)
Visits the statements in the specified mutable list. If a statement's visit method calls replaceVisitedMethodWith(), the statement will be replaced.


replaceVisitedStatementWith

protected void replaceVisitedStatementWith(Statement other)
Replaces the currently visited statement with the specified statement.


visitBlockStatement

public void visitBlockStatement(BlockStatement stat)
Specified by:
visitBlockStatement in interface GroovyCodeVisitor
Overrides:
visitBlockStatement in class ClassCodeVisitorSupport

visitForLoop

public void visitForLoop(ForStatement stat)
Specified by:
visitForLoop in interface GroovyCodeVisitor
Overrides:
visitForLoop in class ClassCodeVisitorSupport

visitWhileLoop

public void visitWhileLoop(WhileStatement stat)
Specified by:
visitWhileLoop in interface GroovyCodeVisitor
Overrides:
visitWhileLoop in class ClassCodeVisitorSupport

visitDoWhileLoop

public void visitDoWhileLoop(DoWhileStatement stat)
Specified by:
visitDoWhileLoop in interface GroovyCodeVisitor
Overrides:
visitDoWhileLoop in class ClassCodeVisitorSupport

visitIfElse

public void visitIfElse(IfStatement stat)
Specified by:
visitIfElse in interface GroovyCodeVisitor
Overrides:
visitIfElse in class ClassCodeVisitorSupport

visitTryCatchFinally

public void visitTryCatchFinally(TryCatchStatement stat)
Specified by:
visitTryCatchFinally in interface GroovyCodeVisitor
Overrides:
visitTryCatchFinally in class ClassCodeVisitorSupport

visitSwitch

public void visitSwitch(SwitchStatement stat)
Specified by:
visitSwitch in interface GroovyCodeVisitor
Overrides:
visitSwitch in class ClassCodeVisitorSupport

visitCaseStatement

public void visitCaseStatement(CaseStatement stat)
Specified by:
visitCaseStatement in interface GroovyCodeVisitor
Overrides:
visitCaseStatement in class ClassCodeVisitorSupport

visitSynchronizedStatement

public void visitSynchronizedStatement(SynchronizedStatement stat)
Specified by:
visitSynchronizedStatement in interface GroovyCodeVisitor
Overrides:
visitSynchronizedStatement in class ClassCodeVisitorSupport

visitCatchStatement

public void visitCatchStatement(CatchStatement stat)
Specified by:
visitCatchStatement in interface GroovyCodeVisitor
Overrides:
visitCatchStatement in class ClassCodeVisitorSupport

Copyright © 2003-2009 The Codehaus. All rights reserved.