|
Groovy 2.2.1 | |||||||
FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.codehaus.groovy.transform.stc.TypeCheckingExtension
org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport
public class GroovyTypeCheckingExtensionSupport extends TypeCheckingExtension
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.
Nested Class Summary | |
---|---|
static class |
GroovyTypeCheckingExtensionSupport.TypeCheckingDSL
|
Field Summary |
---|
Fields inherited from class TypeCheckingExtension | |
---|---|
typeCheckingVisitor |
Constructor Summary | |
GroovyTypeCheckingExtensionSupport(StaticTypeCheckingVisitor typeCheckingVisitor, String scriptPath, CompilationUnit compilationUnit)
|
Methods inherited from class Object | |
---|---|
wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
Constructor Detail |
---|
public GroovyTypeCheckingExtensionSupport(StaticTypeCheckingVisitor typeCheckingVisitor, String scriptPath, CompilationUnit compilationUnit)
Method Detail |
---|
@Override@ public void afterMethodCall(MethodCall call)
@Override public void afterVisitClass(ClassNode node)
@Override public void afterVisitMethod(MethodNode node)
public boolean argTypeMatches(ClassNode[] argTypes, int index, Class clazz)
public boolean argTypeMatches(MethodCall call, int index, Class clazz)
public boolean argTypesMatches(ClassNode[] argTypes, Class... classes)
public boolean argTypesMatches(MethodCall call, Class... classes)
@Overridereturn handled; public boolean beforeMethodCall(MethodCall call)
@Overridereturn handled; public boolean beforeVisitClass(ClassNode node)
@Overridereturn handled; public boolean beforeVisitMethod(MethodNode node)
public void delegatesTo(ClassNode type)
public void delegatesTo(ClassNode type, int strategy)
public void delegatesTo(ClassNode type, int strategy, DelegationMetadata parent)
@Override public void finish()
public boolean firstArgTypesMatches(ClassNode[] argTypes, Class... classes)
public boolean firstArgTypesMatches(MethodCall call, Class... classes)
public ArgumentListExpression getArguments(MethodCall call)
public GroovyTypeCheckingExtensionSupport.TypeCheckingScope getCurrentScope()
public BinaryExpression getEnclosingBinaryExpression()
public List getEnclosingBinaryExpressionStack()
public ClassNode getEnclosingClassNode()
public List getEnclosingClassNodes()
public EnclosingClosure getEnclosingClosure()
public List getEnclosingClosureStack()
public MethodNode getEnclosingMethod()
public Expression getEnclosingMethodCall()
public List getEnclosingMethodCalls()
public List getEnclosingMethods()
@OverrideObject result = safeCall(closure, methodList, origin); @SuppressWarningsif (result != null) { public List handleAmbiguousMethods(List nodes, Expression origin)
@Overridereturn handled; public boolean handleIncompatibleAssignment(ClassNode lhsType, ClassNode rhsType, Expression assignmentExpression)
@Overridereturn handled; public boolean handleIncompatibleReturnType(ReturnStatement returnStatement, ClassNode inferredReturnType)
@Overrideif (result instanceof MethodNode) { @SuppressWarningsmethodList.add((MethodNode) result); public List handleMissingMethod(ClassNode receiver, String name, ArgumentListExpression argumentList, ClassNode[] argumentTypes, MethodCall call)
@Overridereturn handled; public boolean handleUnresolvedAttribute(AttributeExpression aexp)
@Overridereturn handled; public boolean handleUnresolvedProperty(PropertyExpression pexp)
@Overridereturn handled; public boolean handleUnresolvedVariableExpression(VariableExpression vexp)
public boolean isAnnotatedBy(ASTNode node, Class annotation)
public boolean isAnnotatedBy(ASTNode node, ClassNode annotation)
public boolean isDynamic(VariableExpression var)
public boolean isExtensionMethod(MethodNode node)
public boolean isGenerated(MethodNode node)
public boolean isMethodCall(Object o)
public void log(String message)
public MethodNode makeDynamic(MethodCall call)
public MethodNode makeDynamic(MethodCall call, ClassNode returnType)
public void makeDynamic(PropertyExpression pexp)
pexp
- the property or attribute expression
public void makeDynamic(PropertyExpression pexp, ClassNode returnType)
public void makeDynamic(VariableExpression vexp)
vexp
- the dynamic variable
public void makeDynamic(VariableExpression vexp, ClassNode returnType)
public MethodNode newMethod(String name, Class returnType)
public MethodNode newMethod(String name, ClassNode returnType)
public MethodNode newMethod(String name, Callable returnType)
public GroovyTypeCheckingExtensionSupport.TypeCheckingScope newScope()
public GroovyTypeCheckingExtensionSupport.TypeCheckingScope newScope(Closure code)
@Override public void onMethodSelection(Expression expression, MethodNode target)
public BinaryExpression popEnclosingBinaryExpression()
public ClassNode popEnclosingClassNode()
public EnclosingClosure popEnclosingClosure()
public MethodNode popEnclosingMethod()
public Expression popEnclosingMethodCall()
public void popTemporaryTypeInfo()
public void pushEnclosingBinaryExpression(BinaryExpression binaryExpression)
public void pushEnclosingClassNode(ClassNode classNode)
public void pushEnclosingClosureExpression(ClosureExpression closureExpression)
public void pushEnclosingMethod(MethodNode methodNode)
public void pushEnclosingMethodCall(Expression call)
public void pushTemporaryTypeInfo()
public GroovyTypeCheckingExtensionSupport.TypeCheckingScope scopeExit()
public GroovyTypeCheckingExtensionSupport.TypeCheckingScope scopeExit(Closure code)
public void setDebug(boolean debug)
public void setHandled(boolean handled)
@Overrideconfig.setScriptBaseClass("org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport.TypeCheckingDSL"); public void setup()
public List unique(MethodNode node)
@SuppressWarnings* Used to instruct the type checker that the call is a dynamic method call. public R withTypeChecker(Closure code)
Copyright © 2003-2013 The Codehaus. All rights reserved.