public class StaticCompilationVisitor extends StaticTypeCheckingVisitor
StaticTypeCheckingVisitor.SignatureCodec, StaticTypeCheckingVisitor.SignatureCodecFactory| Modifier and Type | Field and Description |
|---|---|
static MethodNode |
ARRAYLIST_ADD_METHOD |
static ClassNode |
ARRAYLIST_CLASSNODE |
static MethodNode |
ARRAYLIST_CONSTRUCTOR |
CLOSURE_CALL_NO_ARG, CLOSURE_CALL_ONE_ARG, CLOSURE_CALL_VARGS| Constructor and Description |
|---|
StaticCompilationVisitor(SourceUnit unit,
ClassNode node,
TypeCheckerPluginFactory pluginFactory) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
existsProperty(PropertyExpression pexp,
boolean checkForReadOnly,
ClassCodeVisitorSupport visitor)
Checks whether a property exists on the receiver, or on any of the possible receiver classes (found in the
temporary type information table)
|
protected MethodNode |
findMethodOrFail(Expression expr,
ClassNode receiver,
java.lang.String name,
ClassNode... args) |
protected ClassNode[] |
getTypeCheckingAnnotations()
Returns the list of type checking annotations class nodes.
|
static boolean |
isStaticallyCompiled(AnnotatedNode node) |
void |
visitClass(ClassNode node)
Visit a ClassNode.
|
void |
visitConstructorCallExpression(ConstructorCallExpression call) |
void |
visitForLoop(ForStatement forLoop) |
void |
visitMethod(MethodNode node)
Visit a MethodNode.
|
void |
visitMethodCallExpression(MethodCallExpression call) |
void |
visitSpreadExpression(SpreadExpression expression) |
addError, addStaticTypeError, addTypeCheckingInfoAnnotation, getSourceUnit, getType, hasSetter, inferComponentType, inferLoopElementType, isSkipMode, performSecondPass, setErrorCollector, setMethodsToBeVisited, shouldSkipClassNode, shouldSkipMethodNode, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitCastExpression, visitClassExpression, visitClosureExpression, visitConstructorOrMethod, visitField, visitIfElse, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitReturnStatement, visitStaticMethodCallExpression, visitTernaryExpression, visitTryCatchFinally, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpression, visitWhileLoopvisitAnnotations, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, visitClassCodeContainer, visitConstructor, visitContinueStatement, visitDeclarationExpression, visitDoWhileLoop, visitExpressionStatement, visitImports, visitObjectInitializerStatements, visitPackage, visitProperty, visitStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatementvisitArgumentlistExpression, visitArrayExpression, visitBooleanExpression, visitBytecodeExpression, visitClosureListExpression, visitConstantExpression, visitEmptyStatement, visitFieldExpression, visitGStringExpression, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, visitMethodPointerExpression, visitNotExpression, visitShortTernaryExpression, visitSpreadMapExpression, visitTupleExpressionpublic static final ClassNode ARRAYLIST_CLASSNODE
public static final MethodNode ARRAYLIST_CONSTRUCTOR
public static final MethodNode ARRAYLIST_ADD_METHOD
public StaticCompilationVisitor(SourceUnit unit, ClassNode node, TypeCheckerPluginFactory pluginFactory)
protected ClassNode[] getTypeCheckingAnnotations()
StaticTypeCheckingVisitorTypeChecked.getTypeCheckingAnnotations in class StaticTypeCheckingVisitorpublic static boolean isStaticallyCompiled(AnnotatedNode node)
public void visitClass(ClassNode node)
GroovyClassVisitorvisitClass in interface GroovyClassVisitorvisitClass in class StaticTypeCheckingVisitorpublic void visitMethod(MethodNode node)
GroovyClassVisitorvisitMethod in interface GroovyClassVisitorvisitMethod in class StaticTypeCheckingVisitorpublic void visitSpreadExpression(SpreadExpression expression)
visitSpreadExpression in interface GroovyCodeVisitorvisitSpreadExpression in class CodeVisitorSupportpublic void visitMethodCallExpression(MethodCallExpression call)
visitMethodCallExpression in interface GroovyCodeVisitorvisitMethodCallExpression in class StaticTypeCheckingVisitorpublic void visitConstructorCallExpression(ConstructorCallExpression call)
visitConstructorCallExpression in interface GroovyCodeVisitorvisitConstructorCallExpression in class StaticTypeCheckingVisitorpublic void visitForLoop(ForStatement forLoop)
visitForLoop in interface GroovyCodeVisitorvisitForLoop in class StaticTypeCheckingVisitorprotected MethodNode findMethodOrFail(Expression expr, ClassNode receiver, java.lang.String name, ClassNode... args)
findMethodOrFail in class StaticTypeCheckingVisitorprotected boolean existsProperty(PropertyExpression pexp, boolean checkForReadOnly, ClassCodeVisitorSupport visitor)
StaticTypeCheckingVisitorexistsProperty in class StaticTypeCheckingVisitorpexp - a property expressioncheckForReadOnly - also lookup for read only propertiesvisitor - if not null, when the property node is found, visit it with the provided visitor