Package: org.codehaus.groovy.transform.stc

## [Java] Class TypeCheckingDSL

- org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport.TypeCheckingDSL

- 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

- - ### Properties Summary

    Properties
    Type | Name and description
    --- | ---
    `Object` | `property`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `Object` | `getProperty(String property)`
    `` | `Object` | `invokeMethod(String name, Object args)`
    `` | `void` | `setProperty(String property, Object newValue)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Script` | `evaluate, evaluate, getBinding, getProperty, invokeMethod, print, printf, printf, println, println, run, run, setBinding, setProperty`
    `class GroovyObjectSupport` | `getMetaClass, getProperty, invokeMethod, setMetaClass, setProperty`

- - ### Property Detail

    - #### Object property

  - ### Method Detail

    - #### @Override public Object getProperty(String property)

    - #### @Override public Object invokeMethod(String name, Object args)

    - #### @Override public void setProperty(String property, Object newValue)