Package org.codehaus.groovy.ast
Class MethodInvocationTrap
java.lang.Object
org.codehaus.groovy.ast.CodeVisitorSupport
org.codehaus.groovy.ast.MethodInvocationTrap
- All Implemented Interfaces:
GroovyCodeVisitor
public abstract class MethodInvocationTrap extends CodeVisitorSupport
-
Field Summary
Fields Modifier and Type Field Description protected ReaderSource
source
protected SourceUnit
sourceUnit
-
Constructor Summary
Constructors Constructor Description MethodInvocationTrap(ReaderSource source, SourceUnit sourceUnit)
-
Method Summary
Modifier and Type Method Description protected void
addError(String msg, ASTNode expr)
Reports an error back to the source unit.protected String
convertClosureToSource(ClosureExpression expression)
Converts a ClosureExpression into the String source.protected abstract boolean
handleTargetMethodCallExpression(MethodCallExpression call)
protected abstract boolean
isBuildInvocation(MethodCallExpression call)
void
visitMethodCallExpression(MethodCallExpression call)
Attempts to find AstBuilder 'from code' invocations.Methods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport
afterSwitchConditionExpressionVisited, visitArgumentlistExpression, visitArrayExpression, visitAssertStatement, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBlockStatement, visitBooleanExpression, visitBreakStatement, visitBytecodeExpression, visitCaseStatement, visitCastExpression, visitCatchStatement, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitContinueStatement, visitDeclarationExpression, visitDoWhileLoop, visitEmptyStatement, visitExpressionStatement, visitFieldExpression, visitForLoop, visitGStringExpression, visitIfElse, visitLambdaExpression, visitListExpression, visitMapEntryExpression, visitMapExpression, visitMethodPointerExpression, visitMethodReferenceExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitReturnStatement, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitSwitch, visitSynchronizedStatement, visitTernaryExpression, visitThrowStatement, visitTryCatchFinally, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpression, visitWhileLoop
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.codehaus.groovy.ast.GroovyCodeVisitor
visitEmptyExpression, visitListOfExpressions
-
Field Details
-
source
-
sourceUnit
-
-
Constructor Details
-
MethodInvocationTrap
-
-
Method Details
-
visitMethodCallExpression
Attempts to find AstBuilder 'from code' invocations. When found, converts them into calls to the 'from string' approach.- Specified by:
visitMethodCallExpression
in interfaceGroovyCodeVisitor
- Overrides:
visitMethodCallExpression
in classCodeVisitorSupport
- Parameters:
call
- the method call expression that may or may not be an AstBuilder 'from code' invocation.
-
addError
Reports an error back to the source unit.- Parameters:
msg
- the error messageexpr
- the expression that caused the error message.
-
convertClosureToSource
Converts a ClosureExpression into the String source.- Parameters:
expression
- a closure- Returns:
- the source the closure was created from
-
handleTargetMethodCallExpression
-
isBuildInvocation
-