Package org.codehaus.groovy.transform.stc

## Class GroovyTypeCheckingExtensionSupport.TypeCheckingDSL

- java.lang.Object
- - groovy.lang.GroovyObjectSupport
  - - groovy.lang.Script
    - - org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport.TypeCheckingDSL

- All Implemented Interfaces:
    `GroovyObject`
  Enclosing class:
    GroovyTypeCheckingExtensionSupport

      public abstract static class GroovyTypeCheckingExtensionSupport.TypeCheckingDSL
      extends Script

  Event handler registration:
  setup
    Registers closure that runs after the type checker finishes initialization
  finish
    Registers closure that runs after the type checker completes type checking
  beforeVisitClass
    Registers closure that runs before type checking a class
  afterVisitClass
    Registers closure that runs after having finished the visit of a type checked class
  beforeVisitMethod
    Registers closure that runs before type checking a method body
  afterVisitMethod
    Registers closure that runs after type checking a method body
  beforeMethodCall
    Registers closure that runs before the type checker starts type checking a method call
  afterMethodCall
    Registers closure that runs once the type checker has finished type checking a method call
  methodNotFound
    Registers closure that runs when it fails to find an appropriate method for a method call
  ambiguousMethods
    Registers closure that runs when the type checker cannot choose between several candidate methods
  onMethodSelection
    Registers closure that runs when it finds a method appropriate for a method call
  unresolvedVariable
    Registers closure that runs when the type checker finds an unresolved variable
  unresolvedProperty
    Registers closure that runs when the type checker cannot find a property on the receiver
  unresolvedAttribute
    Registers closure that runs when the type checker cannot find an attribute on the receiver
  incompatibleAssignment
    Registers closure that runs when the type checker thinks that the right-hand side of an assignment is incompatible with the left-hand side
  incompatibleReturnType
    Registers closure that runs when the type checker thinks that a return value is incompatibe with the return type
  Expression categorization:
  isAnnotationConstantExpression
    Determines if argument is an `AnnotationConstantExpression`
  isArgumentListExpression
    Determines if argument is an `ArgumentListExpression`
  isArrayExpression
    Determines if argument is an `ArrayExpression`
  isAttributeExpression
    Determines if argument is an `AttributeExpression`
  isBinaryExpression
    Determines if argument is a `BinaryExpression`
  isBitwiseNegationExpression
    Determines if argument is a `BitwiseNegationExpression`
  isBooleanExpression
    Determines if argument is a `BooleanExpression`
  isCastExpression
    Determines if argument is a `CastExpression`
  isClassExpression
    Determines if argument is a `ClassExpression`
  isClosureExpression
    Determines if argument is a `ClosureExpression`
  isConstantExpression
    Determines if argument is a `ConstantExpression`
  isConstructorCallExpression
    Determines if argument is a `ConstructorCallExpression`
  isDeclarationExpression
    Determines if argument is a `DeclarationExpression`
  isElvisOperatorExpression
    Determines if argument is an `ElvisOperatorExpression`
  isEmptyExpression
    Determines if argument is an `EmptyExpression`
  isFieldExpression
    Determines if argument is a `FieldExpression`
  isGStringExpression
    Determines if argument is a `GStringExpression`
  isListExpression
    Determines if argument is a `ListExpression`
  isMapExpression
    Determines if argument is a `MapExpression`
  isMapEntryExpression
    Determines if argument is a `MapEntryExpression`
  isMethodCallExpression
    Determines if argument is a `MethodCallExpression`
  isMethodPointerExpression
    Determines if argument is a `MethodPointerExpression`
  isNamedArgumentListExpression
    Determines if argument is a `NamedArgumentListExpression`
  isNotExpression
    Determines if argument is a `NotExpression`
  isPostfixExpression
    Determines if argument is a `PostfixExpression`
  isPrefixExpression
    Determines if argument is a `PrefixExpression`
  isPropertyExpression
    Determines if argument is a `PropertyExpression`
  isRangeExpression
    Determines if argument is a `RangeExpression`
  isSpreadExpression
    Determines if argument is a `SpreadExpression`
  isSpreadMapExpression
    Determines if argument is a `SpreadMapExpression`
  isStaticMethodCallExpression
    Determines if argument is a `StaticMethodCallExpression`
  isTernaryExpression
    Determines if argument is a `TernaryExpression`
  isTupleExpression
    Determines if argument is a `TupleExpression`
  isUnaryMinusExpression
    Determines if argument is a `UnaryMinusExpression`
  isUnaryPlusExpression
    Determines if argument is a `UnaryPlusExpression`
  isVariableExpression
    Determines if argument is a `VariableExpression`
  General utility:
  - Delegates to `AbstractTypeCheckingExtension`
  - Imports static members of `ClassHelper`
  - Imports static members of `StaticTypeCheckingSupport`
  See Also:
    Groovy Language Documentation

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `TypeCheckingDSL()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.Object` | `getProperty​(java.lang.String property)` | Retrieves a property value.
    `java.lang.Object` | `invokeMethod​(java.lang.String name, java.lang.Object args)` | Invoke a method (or closure in the binding) defined.
    `void` | `setProperty​(java.lang.String property, java.lang.Object newValue)` | Sets the given property to the new value.

    - ### Methods inherited from class groovy.lang.Script

      `evaluate, evaluate, getBinding, print, printf, printf, println, println, run, run, setBinding`

    - ### Methods inherited from class groovy.lang.GroovyObjectSupport

      `getMetaClass, setMetaClass`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### TypeCheckingDSL

          public TypeCheckingDSL()

  - ### Method Detail

    - #### getProperty

          public java.lang.Object getProperty​(java.lang.String property)

      Description copied from interface: `GroovyObject`
      Retrieves a property value.
      Specified by:
        `getProperty` in interface `GroovyObject`
      Overrides:
        `getProperty` in class `Script`
      Parameters:
        `property` - the name of the property of interest
      Returns:
        the given property

    - #### setProperty

          public void setProperty​(java.lang.String property,
                                  java.lang.Object newValue)

      Description copied from interface: `GroovyObject`
      Sets the given property to the new value.
      Specified by:
        `setProperty` in interface `GroovyObject`
      Overrides:
        `setProperty` in class `Script`
      Parameters:
        `property` - the name of the property of interest
        `newValue` - the new value for the property

    - #### invokeMethod

          public java.lang.Object invokeMethod​(java.lang.String name,
                                               java.lang.Object args)

      Description copied from class: `Script`
      Invoke a method (or closure in the binding) defined.
      Specified by:
        `invokeMethod` in interface `GroovyObject`
      Overrides:
        `invokeMethod` in class `Script`
      Parameters:
        `name` - method to call
        `args` - arguments to pass to the method
      Returns:
        value