|
Groovy Documentation | |||||||
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, java.lang.String scriptPath, CompilationUnit compilationUnit)
|
Methods inherited from class java.lang.Object | |
---|---|
java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() |
Constructor Detail |
---|
public GroovyTypeCheckingExtensionSupport(StaticTypeCheckingVisitor typeCheckingVisitor, java.lang.String scriptPath, CompilationUnit compilationUnit)
Method Detail |
---|
@java.lang.Override} public void afterMethodCall(MethodCall call)
@java.lang.Override} public void afterVisitClass(ClassNode node)
@java.lang.Override} public void afterVisitMethod(MethodNode node)
public boolean argTypeMatches(ClassNode[] argTypes, int index, java.lang.Class clazz)
public boolean argTypeMatches(MethodCall call, int index, java.lang.Class clazz)
public boolean argTypesMatches(ClassNode[] argTypes, java.lang.Class... classes)
public boolean argTypesMatches(MethodCall call, java.lang.Class... classes)
@java.lang.Override} public boolean beforeMethodCall(MethodCall call)
@java.lang.Override} public boolean beforeVisitClass(ClassNode node)
@java.lang.Override} 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)
@java.lang.Override} public void finish()
public boolean firstArgTypesMatches(ClassNode[] argTypes, java.lang.Class... classes)
public boolean firstArgTypesMatches(MethodCall call, java.lang.Class... classes)
public ArgumentListExpression getArguments(MethodCall call)
public GroovyTypeCheckingExtensionSupport.TypeCheckingScope getCurrentScope()
public BinaryExpression getEnclosingBinaryExpression()
public java.util.List getEnclosingBinaryExpressionStack()
public ClassNode getEnclosingClassNode()
public java.util.List getEnclosingClassNodes()
public EnclosingClosure getEnclosingClosure()
public java.util.List getEnclosingClosureStack()
public MethodNode getEnclosingMethod()
public Expression getEnclosingMethodCall()
public java.util.List getEnclosingMethodCalls()
public java.util.List getEnclosingMethods()
@java.lang.Override} public boolean handleIncompatibleAssignment(ClassNode lhsType, ClassNode rhsType, Expression assignmentExpression)
@java.lang.OverrideObject result = safeCall(closure, receiver, name, argumentList, argumentTypes, call); @java.lang.SuppressWarningsif (result != null) { public java.util.List handleMissingMethod(ClassNode receiver, java.lang.String name, ArgumentListExpression argumentList, ClassNode[] argumentTypes, MethodCall call)
@java.lang.Override} public boolean handleUnresolvedAttribute(AttributeExpression aexp)
@java.lang.Override} public boolean handleUnresolvedProperty(PropertyExpression pexp)
@java.lang.Override} public boolean handleUnresolvedVariableExpression(VariableExpression vexp)
public boolean isAnnotatedBy(ASTNode node, java.lang.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(java.lang.Object o)
public MethodNode newMethod(java.lang.String name, java.lang.Class returnType)
public MethodNode newMethod(java.lang.String name, ClassNode returnType)
public MethodNode newMethod(java.lang.String name, java.util.concurrent.Callable returnType)
public GroovyTypeCheckingExtensionSupport.TypeCheckingScope newScope()
public GroovyTypeCheckingExtensionSupport.TypeCheckingScope newScope(Closure code)
@java.lang.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 setHandled(boolean handled)
@java.lang.Overrideconfig.setScriptBaseClass("org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport.TypeCheckingDSL"); public void setup()
public java.util.List unique(MethodNode node)
@java.lang.SuppressWarnings public R withTypeChecker(Closure code)
Groovy Documentation