Package: org.codehaus.groovy.transform.stc

## [Java] Class DefaultTypeCheckingExtension

- org.codehaus.groovy.transform.stc.DefaultTypeCheckingExtension

-     public class DefaultTypeCheckingExtension
      extends TypeCheckingExtension

  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
    --- | --- | ---
    `` | `public void` | `addHandler(TypeCheckingExtension handler)`
    `` | `public void` | `afterMethodCall(MethodCall call)`
    `` | `public void` | `afterVisitClass(ClassNode node)`
    `` | `public void` | `afterVisitMethod(MethodNode node)`
    `` | `public boolean` | `beforeMethodCall(MethodCall call)`
    `` | `public boolean` | `beforeVisitClass(ClassNode node)`
    `` | `public boolean` | `beforeVisitMethod(MethodNode node)`
    `` | `public void` | `finish()`
    `` | `public List<MethodNode>` | `handleAmbiguousMethods(List<MethodNode> nodes, Expression origin)`
    `` | `public boolean` | `handleIncompatibleAssignment(ClassNode lhsType, ClassNode rhsType, Expression assignmentExpression)`
    `` | `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)`
    `` | `public void` | `onMethodSelection(Expression expression, MethodNode target)`
    `` | `public void` | `removeHandler(TypeCheckingExtension handler)`
    `` | `public 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)

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

    - #### @Override
      public boolean handleUnresolvedAttribute(AttributeExpression aexp)

    - #### @Override
      public boolean handleUnresolvedProperty(PropertyExpression pexp)

    - #### @Override
      public boolean handleUnresolvedVariableExpression(VariableExpression vexp)

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

    - #### public void removeHandler(TypeCheckingExtension handler)

    - #### @Override
      public void setup()