[Java] Class ResolveVisitor

  • org.codehaus.groovy.control.ResolveVisitor

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).

Authors:
Jochen Theodorou
Roshan Dawrani
Alex Tkachman

Field Summary

Fields
Modifiers Name Description
static String[] DEFAULT_IMPORTS

Methods Summary

Methods
Type Params Return Type Name and description
def ResolveVisitor(CompilationUnit cu)
protected SourceUnit getSourceUnit()
void setClassNodeResolver(ClassNodeResolver classNodeResolver)
void startResolving(ClassNode node, SourceUnit source)
Expression transform(Expression exp)
protected Expression transformAnnotationConstantExpression(AnnotationConstantExpression ace)
protected Expression transformBinaryExpression(BinaryExpression be)
protected Expression transformClosureExpression(ClosureExpression ce)
protected Expression transformConstructorCallExpression(ConstructorCallExpression cce)
protected Expression transformDeclarationExpression(DeclarationExpression de)
protected Expression transformMethodCallExpression(MethodCallExpression mce)
protected Expression transformPropertyExpression(PropertyExpression pe)
protected Expression transformVariableExpression(VariableExpression ve)
void visitAnnotations(AnnotatedNode node)
void visitBlockStatement(BlockStatement block)
void visitCatchStatement(CatchStatement cs)
void visitClass(ClassNode node)
protected void visitConstructorOrMethod(MethodNode node, boolean isConstructor)
void visitField(FieldNode node)
void visitForLoop(ForStatement forLoop)
void visitProperty(PropertyNode node)

Inherited Methods Summary

Inherited Methods
Methods inherited from class Name
class ClassCodeExpressionTransformer transform, visitAnnotations, visitAssertStatement, visitCaseStatement, visitConstructorOrMethod, visitDoWhileLoop, visitExpressionStatement, visitField, visitForLoop, visitIfElse, visitProperty, visitReturnStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitWhileLoop
class ClassCodeVisitorSupport addError, getSourceUnit, visitAnnotations, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, visitClass, visitClassCodeContainer, visitConstructor, visitConstructorOrMethod, visitContinueStatement, visitDeclarationExpression, visitDoWhileLoop, visitExpressionStatement, visitField, visitForLoop, visitIfElse, visitImports, visitMethod, visitObjectInitializerStatements, visitPackage, visitProperty, visitReturnStatement, visitStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally, visitWhileLoop
class 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, visitMethodCallExpression, visitMethodPointerExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitReturnStatement, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitSwitch, visitSynchronizedStatement, visitTernaryExpression, visitThrowStatement, visitTryCatchFinally, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpression, visitWhileLoop
class Object wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll

Field Detail

public static final String[] DEFAULT_IMPORTS

Method Detail

public def ResolveVisitor(CompilationUnit cu)

protected SourceUnit getSourceUnit()

public void setClassNodeResolver(ClassNodeResolver classNodeResolver)

public void startResolving(ClassNode node, SourceUnit source)

public Expression transform(Expression exp)

protected Expression transformAnnotationConstantExpression(AnnotationConstantExpression ace)

protected Expression transformBinaryExpression(BinaryExpression be)

protected Expression transformClosureExpression(ClosureExpression ce)

protected Expression transformConstructorCallExpression(ConstructorCallExpression cce)

protected Expression transformDeclarationExpression(DeclarationExpression de)

protected Expression transformMethodCallExpression(MethodCallExpression mce)

protected Expression transformPropertyExpression(PropertyExpression pe)

protected Expression transformVariableExpression(VariableExpression ve)

public void visitAnnotations(AnnotatedNode node)

public void visitBlockStatement(BlockStatement block)

public void visitCatchStatement(CatchStatement cs)

public void visitClass(ClassNode node)

protected void visitConstructorOrMethod(MethodNode node, boolean isConstructor)

public void visitField(FieldNode node)

public void visitForLoop(ForStatement forLoop)

public void visitProperty(PropertyNode node)

© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/2.4.21/html/gapi/org/codehaus/groovy/control/ResolveVisitor.html