org.codehaus.groovy.transform.stc
Class StaticTypeCheckingVisitor
java.lang.Object
org.codehaus.groovy.ast.CodeVisitorSupport
org.codehaus.groovy.ast.ClassCodeVisitorSupport
org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor
- All Implemented Interfaces:
- GroovyClassVisitor, GroovyCodeVisitor
public class StaticTypeCheckingVisitor
- extends ClassCodeVisitorSupport
The main class code visitor responsible for static type checking. It will perform various inspections like checking
assignment types, type inference, ... Eventually, class nodes may be annotated with inferred type information.
- Author:
- Cedric Champeau, Jochen Theodorou
| Methods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport |
addError, visitAnnotations, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, visitClassCodeContainer, visitConstructor, visitContinueStatement, visitDeclarationExpression, visitDoWhileLoop, visitExpressionStatement, visitField, visitImports, visitObjectInitializerStatements, visitPackage, visitProperty, visitStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally |
| Methods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport |
visitArgumentlistExpression, visitArrayExpression, visitBooleanExpression, visitBytecodeExpression, visitClassExpression, visitClosureListExpression, visitConstantExpression, visitEmptyStatement, visitFieldExpression, visitGStringExpression, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, visitMethodPointerExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitRangeExpression, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitTupleExpression |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
StaticTypeCheckingVisitor
public StaticTypeCheckingVisitor(SourceUnit source,
ClassNode cn)
getSourceUnit
protected SourceUnit getSourceUnit()
- Specified by:
getSourceUnit in class ClassCodeVisitorSupport
visitClass
public void visitClass(ClassNode node)
- Description copied from interface:
GroovyClassVisitor
- Visit a ClassNode.
- Specified by:
visitClass in interface GroovyClassVisitor- Overrides:
visitClass in class ClassCodeVisitorSupport
visitVariableExpression
public void visitVariableExpression(VariableExpression vexp)
- Specified by:
visitVariableExpression in interface GroovyCodeVisitor- Overrides:
visitVariableExpression in class CodeVisitorSupport
visitPropertyExpression
public void visitPropertyExpression(PropertyExpression pexp)
- Specified by:
visitPropertyExpression in interface GroovyCodeVisitor- Overrides:
visitPropertyExpression in class CodeVisitorSupport
visitAttributeExpression
public void visitAttributeExpression(AttributeExpression expression)
- Specified by:
visitAttributeExpression in interface GroovyCodeVisitor- Overrides:
visitAttributeExpression in class CodeVisitorSupport
visitBinaryExpression
public void visitBinaryExpression(BinaryExpression expression)
- Specified by:
visitBinaryExpression in interface GroovyCodeVisitor- Overrides:
visitBinaryExpression in class CodeVisitorSupport
visitForLoop
public void visitForLoop(ForStatement forLoop)
- Specified by:
visitForLoop in interface GroovyCodeVisitor- Overrides:
visitForLoop in class ClassCodeVisitorSupport
visitWhileLoop
public void visitWhileLoop(WhileStatement loop)
- Specified by:
visitWhileLoop in interface GroovyCodeVisitor- Overrides:
visitWhileLoop in class ClassCodeVisitorSupport
visitBitwiseNegationExpression
public void visitBitwiseNegationExpression(BitwiseNegationExpression expression)
- Specified by:
visitBitwiseNegationExpression in interface GroovyCodeVisitor- Overrides:
visitBitwiseNegationExpression in class CodeVisitorSupport
visitUnaryPlusExpression
public void visitUnaryPlusExpression(UnaryPlusExpression expression)
- Specified by:
visitUnaryPlusExpression in interface GroovyCodeVisitor- Overrides:
visitUnaryPlusExpression in class CodeVisitorSupport
visitUnaryMinusExpression
public void visitUnaryMinusExpression(UnaryMinusExpression expression)
- Specified by:
visitUnaryMinusExpression in interface GroovyCodeVisitor- Overrides:
visitUnaryMinusExpression in class CodeVisitorSupport
visitConstructorOrMethod
protected void visitConstructorOrMethod(MethodNode node,
boolean isConstructor)
- Overrides:
visitConstructorOrMethod in class ClassCodeVisitorSupport
visitReturnStatement
public void visitReturnStatement(ReturnStatement statement)
- Specified by:
visitReturnStatement in interface GroovyCodeVisitor- Overrides:
visitReturnStatement in class ClassCodeVisitorSupport
visitConstructorCallExpression
public void visitConstructorCallExpression(ConstructorCallExpression call)
- Specified by:
visitConstructorCallExpression in interface GroovyCodeVisitor- Overrides:
visitConstructorCallExpression in class CodeVisitorSupport
visitClosureExpression
public void visitClosureExpression(ClosureExpression expression)
- Specified by:
visitClosureExpression in interface GroovyCodeVisitor- Overrides:
visitClosureExpression in class CodeVisitorSupport
visitMethod
public void visitMethod(MethodNode node)
- Description copied from interface:
GroovyClassVisitor
- Visit a MethodNode.
- Specified by:
visitMethod in interface GroovyClassVisitor- Overrides:
visitMethod in class ClassCodeVisitorSupport
visitMethodCallExpression
public void visitMethodCallExpression(MethodCallExpression call)
- Specified by:
visitMethodCallExpression in interface GroovyCodeVisitor- Overrides:
visitMethodCallExpression in class CodeVisitorSupport
visitIfElse
public void visitIfElse(IfStatement ifElse)
- Specified by:
visitIfElse in interface GroovyCodeVisitor- Overrides:
visitIfElse in class ClassCodeVisitorSupport
visitCastExpression
public void visitCastExpression(CastExpression expression)
- Specified by:
visitCastExpression in interface GroovyCodeVisitor- Overrides:
visitCastExpression in class CodeVisitorSupport
visitTernaryExpression
public void visitTernaryExpression(TernaryExpression expression)
- Specified by:
visitTernaryExpression in interface GroovyCodeVisitor- Overrides:
visitTernaryExpression in class CodeVisitorSupport
addStaticTypeError
protected void addStaticTypeError(String msg,
ASTNode expr)
setMethodsToBeVisited
public void setMethodsToBeVisited(Set<MethodNode> methodsToBeVisited)
performSecondPass
public void performSecondPass()