org.codehaus.groovy.control
Class ResolveVisitor
java.lang.Object
org.codehaus.groovy.ast.CodeVisitorSupport
org.codehaus.groovy.ast.ClassCodeVisitorSupport
org.codehaus.groovy.control.ResolveVisitor
- All Implemented Interfaces:
- ExpressionTransformer, GroovyClassVisitor, GroovyCodeVisitor
public class ResolveVisitor
- extends ClassCodeVisitorSupport
- implements ExpressionTransformer
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 ClasssExpression for C
Note: the method to start the resolving is startResolving(ClassNode, SourceUnit).
- Author:
- Jochen Theodorou
Methods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport |
visitArgumentlistExpression, visitArrayExpression, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegExpression, visitBooleanExpression, visitCastExpression, visitClassExpression, visitClosureExpression, visitConstantExpression, visitConstructorCallExpression, visitDeclarationExpression, visitFieldExpression, visitGStringExpression, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitNegationExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitRegexExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitTernaryExpression, visitTupleExpression, visitVariableExpression |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ResolveVisitor
public ResolveVisitor(CompilationUnit cu)
startResolving
public void startResolving(ClassNode node,
SourceUnit source)
visitConstructor
public void visitConstructor(ConstructorNode node)
- Specified by:
visitConstructor
in interface GroovyClassVisitor
- Overrides:
visitConstructor
in class ClassCodeVisitorSupport
visitSwitch
public void visitSwitch(SwitchStatement statement)
- Specified by:
visitSwitch
in interface GroovyCodeVisitor
- Overrides:
visitSwitch
in class ClassCodeVisitorSupport
visitMethod
public void visitMethod(MethodNode node)
- Specified by:
visitMethod
in interface GroovyClassVisitor
- Overrides:
visitMethod
in class ClassCodeVisitorSupport
visitField
public void visitField(FieldNode node)
- Specified by:
visitField
in interface GroovyClassVisitor
- Overrides:
visitField
in class ClassCodeVisitorSupport
visitProperty
public void visitProperty(PropertyNode node)
- Specified by:
visitProperty
in interface GroovyClassVisitor
- Overrides:
visitProperty
in class ClassCodeVisitorSupport
visitIfElse
public void visitIfElse(IfStatement ifElse)
- Specified by:
visitIfElse
in interface GroovyCodeVisitor
- Overrides:
visitIfElse
in class ClassCodeVisitorSupport
transform
public Expression transform(Expression exp)
- Description copied from interface:
ExpressionTransformer
- Transforms the given expression into another expression
- Specified by:
transform
in interface ExpressionTransformer
transformPropertyExpression
protected Expression transformPropertyExpression(PropertyExpression pe)
transformVariableExpression
protected Expression transformVariableExpression(VariableExpression ve)
transformBinaryExpression
protected Expression transformBinaryExpression(BinaryExpression be)
transformClosureExpression
protected Expression transformClosureExpression(ClosureExpression ce)
transformConstructorCallExpression
protected Expression transformConstructorCallExpression(ConstructorCallExpression cce)
transformMethodCallExpression
protected Expression transformMethodCallExpression(MethodCallExpression mce)
transformDeclarationExpression
protected Expression transformDeclarationExpression(DeclarationExpression de)
visitAnnotations
public void visitAnnotations(AnnotatedNode node)
- Overrides:
visitAnnotations
in class ClassCodeVisitorSupport
visitClass
public void visitClass(ClassNode node)
- Specified by:
visitClass
in interface GroovyClassVisitor
- Overrides:
visitClass
in class ClassCodeVisitorSupport
visitReturnStatement
public void visitReturnStatement(ReturnStatement statement)
- Specified by:
visitReturnStatement
in interface GroovyCodeVisitor
- Overrides:
visitReturnStatement
in class ClassCodeVisitorSupport
visitAssertStatement
public void visitAssertStatement(AssertStatement as)
- Specified by:
visitAssertStatement
in interface GroovyCodeVisitor
- Overrides:
visitAssertStatement
in class ClassCodeVisitorSupport
visitCaseStatement
public void visitCaseStatement(CaseStatement statement)
- Specified by:
visitCaseStatement
in interface GroovyCodeVisitor
- Overrides:
visitCaseStatement
in class ClassCodeVisitorSupport
visitCatchStatement
public void visitCatchStatement(CatchStatement cs)
- Specified by:
visitCatchStatement
in interface GroovyCodeVisitor
- Overrides:
visitCatchStatement
in class ClassCodeVisitorSupport
visitDoWhileLoop
public void visitDoWhileLoop(DoWhileStatement loop)
- Specified by:
visitDoWhileLoop
in interface GroovyCodeVisitor
- Overrides:
visitDoWhileLoop
in class ClassCodeVisitorSupport
visitForLoop
public void visitForLoop(ForStatement forLoop)
- Specified by:
visitForLoop
in interface GroovyCodeVisitor
- Overrides:
visitForLoop
in class ClassCodeVisitorSupport
visitSynchronizedStatement
public void visitSynchronizedStatement(SynchronizedStatement sync)
- Specified by:
visitSynchronizedStatement
in interface GroovyCodeVisitor
- Overrides:
visitSynchronizedStatement
in class ClassCodeVisitorSupport
visitThrowStatement
public void visitThrowStatement(ThrowStatement ts)
- Specified by:
visitThrowStatement
in interface GroovyCodeVisitor
- Overrides:
visitThrowStatement
in class ClassCodeVisitorSupport
visitWhileLoop
public void visitWhileLoop(WhileStatement loop)
- Specified by:
visitWhileLoop
in interface GroovyCodeVisitor
- Overrides:
visitWhileLoop
in class ClassCodeVisitorSupport
visitExpressionStatement
public void visitExpressionStatement(ExpressionStatement es)
- Specified by:
visitExpressionStatement
in interface GroovyCodeVisitor
- Overrides:
visitExpressionStatement
in class ClassCodeVisitorSupport
visitBlockStatement
public void visitBlockStatement(BlockStatement block)
- Specified by:
visitBlockStatement
in interface GroovyCodeVisitor
- Overrides:
visitBlockStatement
in class ClassCodeVisitorSupport
getSourceUnit
protected SourceUnit getSourceUnit()
- Specified by:
getSourceUnit
in class ClassCodeVisitorSupport
Copyright © 2003-2011 The Codehaus. All Rights Reserved.