# Package org.codehaus.groovy.transform.stc

## Package org.codehaus.groovy.transform.stc Description

Static type checking transformation. Detects type errors at compile time.

- Interface Summary
  Interface | Description
  --- | ---
  SignatureCodec | A signature codec is responsible for encoding and decoding of inferred returned types as stored in bytecode.

- Class Summary
  Class | Description
  --- | ---
  AbstractExtensionMethodCache | Since: 3.0.0
  AbstractTypeCheckingExtension |
  AbstractTypeCheckingExtension.TypeCheckingScope | Map-backed scope used to share data across extension callbacks.
  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.
  EnumTypeCheckingExtension | A type checking extension that will take care of handling errors which are specific to enums.
  ExtensionMethodCache | This class is used to make extension methods lookup faster.
  ExtensionMethodNode | Represents method nodes which are used by the static type checker to virtually add methods coming from DGM-like methods.
  GroovyTypeCheckingExtensionSupport | Base class for type checking extensions written in Groovy.
  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
  Receiver | Describes a method-call receiver together with optional auxiliary data.
  SharedVariableCollector | A visitor which collects the list of variable expressions which are closure shared.
  SignatureCodecVersion1 | First implementation of an inferred type signature codec.
  StaticTypeCheckingSupport | Support methods for StaticTypeCheckingVisitor.
  StaticTypeCheckingSupport.BooleanArrayStaticTypesHelper | DGM-like helpers for `boolean[]` access.
  StaticTypeCheckingSupport.ByteArrayStaticTypesHelper | DGM-like helpers for `byte[]` access.
  StaticTypeCheckingSupport.CharArrayStaticTypesHelper | DGM-like helpers for `char[]` access.
  StaticTypeCheckingSupport.DoubleArrayStaticTypesHelper | DGM-like helpers for `double[]` access.
  StaticTypeCheckingSupport.FloatArrayStaticTypesHelper | DGM-like helpers for `float[]` access.
  StaticTypeCheckingSupport.IntArrayStaticTypesHelper | DGM-like helpers for `int[]` access.
  StaticTypeCheckingSupport.LongArrayStaticTypesHelper | DGM-like helpers for `long[]` access.
  StaticTypeCheckingSupport.ObjectArrayStaticTypesHelper | DGM-like helpers for object arrays.
  StaticTypeCheckingSupport.ShortArrayStaticTypesHelper | DGM-like helpers for `short[]` access.
  StaticTypeCheckingVisitor | The main class code visitor responsible for static type checking.
  StaticTypeCheckingVisitor.SignatureCodecFactory | Creates signature codecs for serialized type checking metadata.
  StaticTypeCheckingVisitor.VariableExpressionTypeMemoizer | Memoizes inferred variable types so they can be restored after temporary rewrites.
  TraitTypeCheckingExtension | An extension that handles field, super and static method calls within a trait.
  TypeCheckingContext | Holds mutable state shared across a static type-checking visit.
  TypeCheckingContext.EnclosingClosure | Represents the context of an enclosing closure.
  TypeCheckingExtension | This interface defines a high-level API for handling type checking errors.

- Enum Summary
  Enum | Description
  --- | ---
  StaticTypesMarker | This enumeration is used by the AST transformations which rely on static type checking, either to store or to retrieve information from AST node metadata.