[Java] Class DefaultTypeCheckingExtension

  • org.codehaus.groovy.transform.stc.DefaultTypeCheckingExtension

The default type checking handler is used by the standard type checker and doesn't handle any of the type checking errors by default. This just means that whenever a type checking error is detected, there's no additional information available to the type checker that could help it. The default handler is also capable of handling a collection of delegate handlers. If a list of delegates is set, then the type checker will try all the delegates until one is capable of handling an error.

Since:
2.1.0

Field Summary

Fields
Modifiers Name Description
protected List<TypeCheckingExtension> handlers
Inherited fields
Fields inherited from class Fields
class TypeCheckingExtension typeCheckingVisitor

Constructor Summary

Constructors
Constructor and description
DefaultTypeCheckingExtension (StaticTypeCheckingVisitor typeCheckingVisitor)

Methods Summary

Methods
Type Params Return Type Name and description
void addHandler(TypeCheckingExtension handler)
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<MethodNode> handleAmbiguousMethods(List<MethodNode> nodes, Expression origin)
boolean handleIncompatibleAssignment(ClassNode lhsType, ClassNode rhsType, Expression assignmentExpression)
boolean handleIncompatibleReturnType(ReturnStatement returnStatement, ClassNode inferredReturnType)
List<MethodNode> 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 removeHandler(TypeCheckingExtension handler)
void setup()

Inherited Methods Summary

Inherited Methods
Methods inherited from class Name
class TypeCheckingExtension addStaticTypeError, afterMethodCall, afterVisitClass, afterVisitMethod, beforeMethodCall, beforeVisitClass, beforeVisitMethod, buildListType, buildMapType, classNodeFor, classNodeFor, existsProperty, existsProperty, extractStaticReceiver, finish, getArgumentTypes, getTargetMethod, getType, handleAmbiguousMethods, handleIncompatibleAssignment, handleIncompatibleReturnType, handleMissingMethod, handleUnresolvedAttribute, handleUnresolvedProperty, handleUnresolvedVariableExpression, isStaticMethodCallOnClass, lookupClassNodeFor, onMethodSelection, parameterizedType, setup, storeType

Field Detail

protected final List<TypeCheckingExtension> handlers

Constructor Detail

public DefaultTypeCheckingExtension(StaticTypeCheckingVisitor typeCheckingVisitor)

Method Detail

public void addHandler(TypeCheckingExtension handler)

@Override public void afterMethodCall(MethodCall call)

@Override public void afterVisitClass(ClassNode node)

@Override public void afterVisitMethod(MethodNode node)

@Override public boolean beforeMethodCall(MethodCall call)

@Override public boolean beforeVisitClass(ClassNode node)

@Override public boolean beforeVisitMethod(MethodNode node)

@Override public void finish()

@Override public List<MethodNode> handleAmbiguousMethods(List<MethodNode> nodes, Expression origin)

@Override public boolean handleIncompatibleAssignment(ClassNode lhsType, ClassNode rhsType, Expression assignmentExpression)

@Override public boolean handleIncompatibleReturnType(ReturnStatement returnStatement, ClassNode inferredReturnType)

public List<MethodNode> handleMissingMethod(ClassNode receiver, String name, ArgumentListExpression argumentList, ClassNode[] argumentTypes, MethodCall call)

public boolean handleUnresolvedAttribute(AttributeExpression aexp)

public boolean handleUnresolvedProperty(PropertyExpression pexp)

public boolean handleUnresolvedVariableExpression(VariableExpression vexp)

@Override public void onMethodSelection(Expression expression, MethodNode target)

public void removeHandler(TypeCheckingExtension handler)

@Override public void setup()

© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/2.5.14/html/gapi/org/codehaus/groovy/transform/stc/DefaultTypeCheckingExtension.html