Class 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 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