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,ErrorCollecting
- Direct Known Subclasses:
JavaAwareResolveVisitor
public class ResolveVisitor extends ClassCodeExpressionTransformer
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 CNote: the method to start the resolving is startResolving(ClassNode, SourceUnit).
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String[]DEFAULT_IMPORTSstatic java.lang.String[]EMPTY_STRING_ARRAYstatic java.lang.StringQUESTION_MARK
-
Constructor Summary
Constructors Constructor Description ResolveVisitor(CompilationUnit cu)
-
Method Summary
-
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 Detail
-
DEFAULT_IMPORTS
public static final java.lang.String[] DEFAULT_IMPORTS
-
QUESTION_MARK
public static final java.lang.String QUESTION_MARK
- See Also:
- Constant Field Values
-
EMPTY_STRING_ARRAY
public static final java.lang.String[] EMPTY_STRING_ARRAY
-
-
Constructor Detail
-
ResolveVisitor
public ResolveVisitor(CompilationUnit cu)
-
-
Method Detail
-
startResolving
public void startResolving(ClassNode node, SourceUnit source)
-
visitConstructorOrMethod
protected void visitConstructorOrMethod(MethodNode node, boolean isConstructor)
- Overrides:
visitConstructorOrMethodin classClassCodeExpressionTransformer
-
visitField
public void visitField(FieldNode node)
Description copied from interface:GroovyClassVisitorVisit a FieldNode.- Specified by:
visitFieldin interfaceGroovyClassVisitor- Overrides:
visitFieldin classClassCodeExpressionTransformer
-
visitProperty
public void visitProperty(PropertyNode node)
Description copied from interface:GroovyClassVisitorVisit a PropertyNode.- Specified by:
visitPropertyin interfaceGroovyClassVisitor- Overrides:
visitPropertyin classClassCodeExpressionTransformer
-
transform
public Expression transform(Expression exp)
Description copied from interface:ExpressionTransformerTransforms the given expression into another expression- Specified by:
transformin interfaceExpressionTransformer- Overrides:
transformin classClassCodeExpressionTransformer
-
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)
-
transformAnnotationConstantExpression
protected Expression transformAnnotationConstantExpression(AnnotationConstantExpression ace)
-
visitAnnotations
public void visitAnnotations(AnnotatedNode node)
- Overrides:
visitAnnotationsin classClassCodeExpressionTransformer
-
visitClass
public void visitClass(ClassNode node)
Description copied from interface:GroovyClassVisitorVisit a ClassNode.- Specified by:
visitClassin interfaceGroovyClassVisitor- Overrides:
visitClassin classClassCodeVisitorSupport
-
visitCatchStatement
public void visitCatchStatement(CatchStatement cs)
- Specified by:
visitCatchStatementin interfaceGroovyCodeVisitor- Overrides:
visitCatchStatementin classClassCodeVisitorSupport
-
visitForLoop
public void visitForLoop(ForStatement forLoop)
- Specified by:
visitForLoopin interfaceGroovyCodeVisitor- Overrides:
visitForLoopin classClassCodeExpressionTransformer
-
visitBlockStatement
public void visitBlockStatement(BlockStatement block)
- Specified by:
visitBlockStatementin interfaceGroovyCodeVisitor- Overrides:
visitBlockStatementin classClassCodeVisitorSupport
-
getSourceUnit
protected SourceUnit getSourceUnit()
- Specified by:
getSourceUnitin classClassCodeVisitorSupport
-
setClassNodeResolver
public void setClassNodeResolver(ClassNodeResolver classNodeResolver)
-
-