Package org.codehaus.groovy.control
Class ResolveVisitor
java.lang.Object
org.codehaus.groovy.ast.CodeVisitorSupport
org.codehaus.groovy.ast.ClassCodeVisitorSupport
org.codehaus.groovy.ast.ClassCodeExpressionTransformer
org.codehaus.groovy.control.ResolveVisitor
- All Implemented Interfaces:
ExpressionTransformer
,GroovyClassVisitor
,GroovyCodeVisitor
- Direct Known Subclasses:
JavaAwareResolveVisitor
Visitor to resolve Types and convert VariableExpression to
ClassExpressions if needed. The ResolveVisitor will try to
find the Class for a ClassExpression and prints an error if
it fails to do so. Constructions like C[], foo as C, (C) foo
will force creation of a ClassExpression for C
Note: the method to start the resolving is startResolving(ClassNode, SourceUnit).
- Author:
- Jochen Theodorou, Roshan Dawrani, Alex Tkachman
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected SourceUnit
void
setClassNodeResolver
(ClassNodeResolver classNodeResolver) void
startResolving
(ClassNode node, SourceUnit source) transform
(Expression exp) Transforms the given expression into another expressionprotected Expression
protected Expression
protected Expression
protected Expression
protected Expression
protected Expression
protected Expression
protected Expression
void
void
void
void
visitClass
(ClassNode node) Visit a ClassNode.protected void
visitConstructorOrMethod
(MethodNode node, boolean isConstructor) void
visitField
(FieldNode node) Visit a FieldNode.void
visitForLoop
(ForStatement forLoop) void
visitProperty
(PropertyNode node) Visit a PropertyNode.Methods inherited from class org.codehaus.groovy.ast.ClassCodeExpressionTransformer
visitAssertStatement, visitCaseStatement, visitDoWhileLoop, visitExpressionStatement, visitIfElse, visitReturnStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitWhileLoop
Methods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport
addError, visitBreakStatement, visitClassCodeContainer, visitConstructor, visitContinueStatement, visitDeclarationExpression, visitImports, visitMethod, visitObjectInitializerStatements, visitPackage, visitStatement, visitTryCatchFinally
Methods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport
visitArgumentlistExpression, visitArrayExpression, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBooleanExpression, visitBytecodeExpression, visitCastExpression, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitEmptyStatement, visitFieldExpression, visitGStringExpression, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitTernaryExpression, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpression
-
Field Details
-
DEFAULT_IMPORTS
-
-
Constructor Details
-
ResolveVisitor
-
-
Method Details
-
startResolving
-
visitConstructorOrMethod
- Overrides:
visitConstructorOrMethod
in classClassCodeExpressionTransformer
-
visitField
Description copied from interface:GroovyClassVisitor
Visit a FieldNode.- Specified by:
visitField
in interfaceGroovyClassVisitor
- Overrides:
visitField
in classClassCodeExpressionTransformer
-
visitProperty
Description copied from interface:GroovyClassVisitor
Visit a PropertyNode.- Specified by:
visitProperty
in interfaceGroovyClassVisitor
- Overrides:
visitProperty
in classClassCodeExpressionTransformer
-
transform
Description copied from interface:ExpressionTransformer
Transforms the given expression into another expression- Specified by:
transform
in interfaceExpressionTransformer
- Overrides:
transform
in classClassCodeExpressionTransformer
-
transformPropertyExpression
-
transformVariableExpression
-
transformBinaryExpression
-
transformClosureExpression
-
transformConstructorCallExpression
-
transformMethodCallExpression
-
transformDeclarationExpression
-
transformAnnotationConstantExpression
-
visitAnnotations
- Overrides:
visitAnnotations
in classClassCodeExpressionTransformer
-
visitClass
Description copied from interface:GroovyClassVisitor
Visit a ClassNode.- Specified by:
visitClass
in interfaceGroovyClassVisitor
- Overrides:
visitClass
in classClassCodeVisitorSupport
-
visitCatchStatement
- Specified by:
visitCatchStatement
in interfaceGroovyCodeVisitor
- Overrides:
visitCatchStatement
in classClassCodeVisitorSupport
-
visitForLoop
- Specified by:
visitForLoop
in interfaceGroovyCodeVisitor
- Overrides:
visitForLoop
in classClassCodeExpressionTransformer
-
visitBlockStatement
- Specified by:
visitBlockStatement
in interfaceGroovyCodeVisitor
- Overrides:
visitBlockStatement
in classClassCodeVisitorSupport
-
getSourceUnit
- Specified by:
getSourceUnit
in classClassCodeVisitorSupport
-
setClassNodeResolver
-