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`
isLambdaExpression
  Determines if argument is a `LambdaExpression`
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`
isMethodReferenceExpression
  Determines if argument is a `MethodReferenceExpression`
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

  Modifier and Type
  Method
  Description
  `Object`
  `getProperty(String name)`
  Resolves properties against the backing extension before falling back to the script.
  `Object`
  `methodMissing(String name, Object args)`
  Registers DSL event handlers or delegates unknown methods to the extension.
  `void`
  `setProperty(String name, Object value)`
  Writes properties to the backing extension when possible.

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

  `evaluate, evaluate, getBinding, invokeMethod, 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 Details

  - ### TypeCheckingDSL

    public TypeCheckingDSL()

- ## Method Details

  - ### getProperty

    public Object getProperty(String name)
    Resolves properties against the backing extension before falling back to the script.
    Specified by:
      `getProperty` in interface `GroovyObject`
    Overrides:
      `getProperty` in class `Script`
    Parameters:
      `name` - the name of the property of interest
    Returns:
      the given property

  - ### setProperty

    public void setProperty(String name, Object value)
    Writes properties to the backing extension when possible.
    Specified by:
      `setProperty` in interface `GroovyObject`
    Overrides:
      `setProperty` in class `Script`
    Parameters:
      `name` - the name of the property of interest
      `value` - the new value for the property

  - ### methodMissing

    public Object methodMissing(String name, Object args)
    Registers DSL event handlers or delegates unknown methods to the extension.