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
All Methods Instance Methods Abstract Methods Concrete Methods 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
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, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, visitMethodPointerExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitReturnStatement, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitSwitch, visitSynchronizedStatement, visitTernaryExpression, visitThrowStatement, visitTryCatchFinally, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpression, visitWhileLoop
-
-
-
-
Field Detail
-
source
protected final ReaderSource source
-
sourceUnit
protected final SourceUnit sourceUnit
-
-
Constructor Detail
-
MethodInvocationTrap
public MethodInvocationTrap(ReaderSource source, SourceUnit sourceUnit)
-
-
Method Detail
-
visitMethodCallExpression
public void visitMethodCallExpression(MethodCallExpression call)
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
protected void addError(String msg, ASTNode expr)
Reports an error back to the source unit.- Parameters:
msg
- the error messageexpr
- the expression that caused the error message.
-
convertClosureToSource
protected String convertClosureToSource(ClosureExpression expression)
Converts a ClosureExpression into the String source.- Parameters:
expression
- a closure- Returns:
- the source the closure was created from
-
handleTargetMethodCallExpression
protected abstract boolean handleTargetMethodCallExpression(MethodCallExpression call)
-
isBuildInvocation
protected abstract boolean isBuildInvocation(MethodCallExpression call)
-
-