• org.codehaus.groovy.control.ResolveVisitor
publicclassResolveVisitorextendsClassCodeExpressionTransformer

Visiteur pour résoudre les types et convertir les VariableExpression en ClassExpressions si nécessaire. Le ResolveVisitor va essayer de trouver la classe pour une ClassExpression et imprime une erreur s'il n'y parvient pas. Les constructions comme C[], foo as C, (C) foo forceront la création d'une ClassExpression pour C

Note : la méthode pour lancer la résolution est startResolving(ClassNode, SourceUnit).

Résumé des champs

Champs
Modificateurs Nom Description
static String[] DEFAULT_IMPORTS
static String[] EMPTY_STRING_ARRAY
static String QUESTION_MARK

Résumé du constructeur

Constructeurs
Constructeur et description
ResolveVisitor
(CompilationUnit compilationUnit)

Résumé des méthodes

Méthodes
Type Params Type de retour Nom et description
protected SourceUnit getSourceUnit()
protected boolean resolve(ClassNode type)
protected boolean resolve(ClassNode type, boolean testModuleImports, boolean testDefaultImports, boolean testStaticInnerClasses)
protected boolean resolveFromCompileUnit(ClassNode type)
protected boolean resolveFromDefaultImports(ClassNode type)
protected boolean resolveFromDefaultImports(ClassNode type, String[] packagePrefixes)
protected boolean resolveFromModule(ClassNode type, boolean testModuleImports)
protected boolean resolveFromStaticInnerClasses(ClassNode type)
protected boolean resolveNestedClass(ClassNode type)
protected boolean resolveToInner(ClassNode type)
protected boolean resolveToOuter(ClassNode type)
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)

Résumé des méthodes héritées

Méthodes héritées
Méthodes héritées de la classe Nom
class ClassCodeExpressionTransformer setSourcePosition, transform, visitAnnotation, visitAssertStatement, visitCaseStatement, visitConstructorOrMethod, visitDoWhileLoop, visitExpressionStatement, visitField, visitForLoop, visitIfElse, visitProperty, visitReturnStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitWhileLoop
class ClassCodeVisitorSupport addError, getSourceUnit, visitAnnotation, 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 afterSwitchConditionExpressionVisited, 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, visitLambdaExpression, visitListExpression, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitMethodReferenceExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitReturnStatement, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitSwitch, visitSynchronizedStatement, visitTernaryExpression, visitThrowStatement, visitTryCatchFinally, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpression, visitWhileLoop

Détail du champ

public static final Chaîne[] DEFAULT_IMPORTS

public static final Chaîne de caractères[] TABLEAU_DE_CHAÎNES_VIDES

public static final Chaîne de caractèresQUESTION_MARK

Détail du constructeur

public ResolveVisitor(CompilationUnit compilationUnit)

Détail de la méthode

@Remplacer protected SourceUnit getSourceUnit()

protégé boolean résoudre(type de ClassNode)

protégé booléen résoudre(ClassNode type, booléen testModuleImports, booléen testDefaultImports, booléen testStaticInnerClasses)

protégé booléen resolveFromCompileUnit(type de ClassNode)

protégé booléen resolveFromDefaultImports(type de ClassNode)

protégé booléen resolveFromDefaultImports(Type de ClassNode, Chaîne[] packagePrefixes)

protégé booléen resolveFromModule(ClassNode type, booléen testModuleImports)

protégé booléen resolveFromStaticInnerClasses(type de ClassNode)

protégé booléen resolveNestedClass(type de ClassNode)

protégé booléen resolveToInner(type de ClassNode)

protégé booléen resolveToOuter(type de ClassNode)

public void setClassNodeResolver(résolveur de classe ClassNodeResolver classNodeResolver)

public void startResolving(ClassNode node, SourceUnit source)

@Remplacement de public Expression transformer(Expression exp)

Expression protégée transformAnnotationConstantExpression(AnnotationConstantExpression ace)

Expression protégée transformBinaryExpression(Expression binaire be)

Expression protégée transformClosureExpression(Expression de fermeture ce)

Expression protégée transformConstructorCallExpression(ConstructorCallExpression cce)

Expression protégée transformDeclarationExpression(Expression de déclaration de)

Expression protégée transformMethodCallExpression(ExpressionMethodCall mce)

Expression protégée transformPropertyExpression(Expression de propriété pe)

Expression protégée transformVariableExpression(ExpressionVariable ve)

@Remplacement de public void visitAnnotations(nœud AnnotatedNode)

@Remplacement de public void visitBlockStatement(BlocStatement bloc)

@Remplacement de public void visitCatchStatement(CatchStatement cs)

@Remplacement de public void visitClass(noeud de classe)

@Remplacement de protected void visitConstructorOrMethod(MethodNode node, boolean isConstructor)

@Remplacement de public void visitField(nœud de champ)

@Remplacer public void visitForLoop(ForStatement forLoop)

@Remplacement de public void visitProperty(PropertyNode noeud)