Base class for type checking extensions written in Groovy. Compared to its superclass, TypeCheckingExtension, this class adds a number of utility methods aimed at leveraging the syntax of the Groovy language to improve expressivity and conciseness.
Modifiers | Name | Description |
---|---|---|
static class |
GroovyTypeCheckingExtensionSupport.TypeCheckingDSL |
Fields inherited from class | Fields |
---|---|
class AbstractTypeCheckingExtension |
context, debug, handled |
class TypeCheckingExtension |
typeCheckingVisitor |
Constructor and description |
---|
GroovyTypeCheckingExtensionSupport
(StaticTypeCheckingVisitor typeCheckingVisitor, String scriptPath, CompilationUnit compilationUnit) Builds a type checking extension relying on a Groovy script (type checking DSL). |
Type | Name and description |
---|---|
void |
afterMethodCall(MethodCall call) |
void |
afterVisitClass(ClassNode node) |
void |
afterVisitMethod(MethodNode node) |
boolean |
beforeMethodCall(MethodCall call) |
boolean |
beforeVisitClass(ClassNode node) |
boolean |
beforeVisitMethod(MethodNode node) |
void |
finish() |
List |
handleAmbiguousMethods(List nodes, Expression origin) |
boolean |
handleIncompatibleAssignment(ClassNode lhsType, ClassNode rhsType, Expression assignmentExpression) |
boolean |
handleIncompatibleReturnType(ReturnStatement returnStatement, ClassNode inferredReturnType) |
List |
handleMissingMethod(ClassNode receiver, String name, ArgumentListExpression argumentList, ClassNode[] argumentTypes, MethodCall call) |
boolean |
handleUnresolvedAttribute(AttributeExpression aexp) |
boolean |
handleUnresolvedProperty(PropertyExpression pexp) |
boolean |
handleUnresolvedVariableExpression(VariableExpression vexp) |
void |
onMethodSelection(Expression expression, MethodNode target) |
void |
setDebug(boolean debug) |
void |
setup() |
Builds a type checking extension relying on a Groovy script (type checking DSL).
typeCheckingVisitor
- the type checking visitorscriptPath
- the path to the type checking script (in classpath)Copyright © 2003-2014 The Codehaus. All rights reserved.