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
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).
- 
Field SummaryFields
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected SourceUnitprotected booleanprotected booleanresolve(ClassNode type, boolean testModuleImports, boolean testDefaultImports, boolean testStaticInnerClasses) protected booleanprotected booleanprotected booleanresolveFromDefaultImports(ClassNode type, String[] packagePrefixes) protected booleanresolveFromModule(ClassNode type, boolean testModuleImports) protected booleanprotected booleanresolveNestedClass(ClassNode type) protected booleanresolveToInner(ClassNode type) protected booleanresolveToOuter(ClassNode type) voidsetClassNodeResolver(ClassNodeResolver classNodeResolver) voidstartResolving(ClassNode node, SourceUnit source) transform(Expression exp) NOTE: This method does not visit Expressions within Closures, for performance and historical reasons.protected Expressionprotected Expressionprotected Expressionprotected Expressionprotected Expressionprotected Expressionprotected Expressionprotected Expressionprotected voidvoidvoidvoidvisitClass(ClassNode node) Visit a ClassNode.protected voidvisitConstructorOrMethod(MethodNode node, boolean isConstructor) voidvisitField(FieldNode node) Visit a FieldNode.voidvisitForLoop(ForStatement forLoop) voidvisitProperty(PropertyNode node) Visit a PropertyNode.Methods inherited from class org.codehaus.groovy.ast.ClassCodeExpressionTransformersetSourcePosition, visitAssertStatement, visitCaseStatement, visitDoWhileLoop, visitExpressionStatement, visitIfElse, visitReturnStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitWhileLoopMethods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupportaddError, visitAnnotations, visitAnnotations, visitBreakStatement, visitClassCodeContainer, visitConstructor, visitContinueStatement, visitDeclarationExpression, visitImports, visitMethod, visitObjectInitializerStatements, visitPackage, visitStatement, visitTryCatchFinallyMethods inherited from class org.codehaus.groovy.ast.CodeVisitorSupportafterSwitchConditionExpressionVisited, visitArgumentlistExpression, visitArrayExpression, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBooleanExpression, visitBytecodeExpression, visitCastExpression, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitEmptyStatement, visitFieldExpression, visitGStringExpression, visitLambdaExpression, visitListExpression, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitMethodReferenceExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitTernaryExpression, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpressionMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.codehaus.groovy.ast.GroovyCodeVisitorvisit, visit, visitEmptyExpression, visitListOfExpressions
- 
Field Details- 
DEFAULT_IMPORTS
- 
EMPTY_STRING_ARRAY
- 
QUESTION_MARK- See Also:
 
 
- 
- 
Constructor Details- 
ResolveVisitor
 
- 
- 
Method Details- 
setClassNodeResolver
- 
startResolving
- 
getSourceUnit- Specified by:
- getSourceUnitin class- ClassCodeVisitorSupport
 
- 
visitFieldDescription copied from interface:GroovyClassVisitorVisit a FieldNode.- Specified by:
- visitFieldin interface- GroovyClassVisitor
- Overrides:
- visitFieldin class- ClassCodeExpressionTransformer
 
- 
visitPropertyDescription copied from interface:GroovyClassVisitorVisit a PropertyNode.- Specified by:
- visitPropertyin interface- GroovyClassVisitor
- Overrides:
- visitPropertyin class- ClassCodeExpressionTransformer
 
- 
visitConstructorOrMethod- Overrides:
- visitConstructorOrMethodin class- ClassCodeExpressionTransformer
 
- 
resolveToInner
- 
resolve
- 
resolveprotected boolean resolve(ClassNode type, boolean testModuleImports, boolean testDefaultImports, boolean testStaticInnerClasses) 
- 
resolveNestedClass
- 
resolveFromStaticInnerClasses
- 
resolveFromDefaultImports
- 
resolveFromDefaultImports
- 
resolveFromCompileUnit
- 
resolveFromModule
- 
resolveToOuter
- 
transformDescription copied from class:ClassCodeExpressionTransformerNOTE: This method does not visit Expressions within Closures, for performance and historical reasons. If you want those Expressions to be visited, you can do this:public class YourTransformer extends ClassCodeExpressionTransformer { ... @Override public Expression transform(final Expression expr) { if (expr instanceof ClosureExpression) { expr.visit(this); return expr; } // ... } }- Specified by:
- transformin interface- ExpressionTransformer
- Overrides:
- transformin class- ClassCodeExpressionTransformer
 
- 
transformPropertyExpression
- 
transformVariableExpression
- 
transformBinaryExpression
- 
transformClosureExpression
- 
transformConstructorCallExpression
- 
transformMethodCallExpression
- 
transformDeclarationExpression
- 
transformAnnotationConstantExpression
- 
visitAnnotation- Overrides:
- visitAnnotationin class- ClassCodeExpressionTransformer
 
- 
visitClassDescription copied from interface:GroovyClassVisitorVisit a ClassNode.- Specified by:
- visitClassin interface- GroovyClassVisitor
- Overrides:
- visitClassin class- ClassCodeVisitorSupport
 
- 
visitCatchStatement- Specified by:
- visitCatchStatementin interface- GroovyCodeVisitor
- Overrides:
- visitCatchStatementin class- ClassCodeVisitorSupport
 
- 
visitForLoop- Specified by:
- visitForLoopin interface- GroovyCodeVisitor
- Overrides:
- visitForLoopin class- ClassCodeExpressionTransformer
 
- 
visitBlockStatement- Specified by:
- visitBlockStatementin interface- GroovyCodeVisitor
- Overrides:
- visitBlockStatementin class- ClassCodeVisitorSupport
 
 
-