Package: org.codehaus.groovy.classgen.asm.sc

## [Java] Class StaticTypesClosureWriter

- org.codehaus.groovy.classgen.asm.sc.StaticTypesClosureWriter

-     public class StaticTypesClosureWriter
      extends ClosureWriter

  Writer responsible for generating closure classes in statically compiled mode.

- - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class ClosureWriter` | `GENERATED_CLOSURE_CLASS, OUTER_INSTANCE, PACKED_METHOD_PREFIX, THIS_OBJECT, controller`

  - ### Constructor Summary

    Constructors
    Constructor and description
    `StaticTypesClosureWriter(WriterController wc)` Creates a closure writer for statically compiled code generation.

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `protected ClassNode` | `createClosureClass(ClosureExpression expression, int mods)` * Creates a new inner class node representing the compiled form of a closure expression. * * Parameters: `expression` - the closure expression to compile * `modifiers` - the access modifiers for the generated class * Returns: the newly created closure class node
    `` | `protected boolean` | `isPackTriggered(ClosureExpression expression, boolean annotated)`
    `` | `protected void` | `markHoistedBody(MethodNode hoisted)`
    `` | `protected boolean` | `packedClosureUsesDelegateGuard()`
    `` | `protected ClassNode` | `readOnlyCaptureType(String name, ClassNode declaredType, Variable variable)`
    `` | `protected String` | `triggerDeclineReason(ClosureExpression expression)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class ClosureWriter` | `addConstructor, addFieldsForLocalVariables, addGeneratedClosureConstructorCall, addSerialVersionUIDField, createBlockStatementForConstructor, createClosureClass, getClosureSharedVariables, getOrAddClosureClass, isPackTriggered, loadReference, loadThis, markHoistedBody, packedClosureUsesDelegateGuard, readOnlyCaptureType, removeInitialValues, triggerDeclineReason, writeClosure, writePackedDispatcher`

- - ### Constructor Detail

    - #### public StaticTypesClosureWriter(WriterController wc)

      Creates a closure writer for statically compiled code generation.

  - ### Method Detail

    - #### protected ClassNode createClosureClass(ClosureExpression expression, int mods)

      * Creates a new inner class node representing the compiled form of a closure expression. * *

      Parameters:
        `expression` - the closure expression to compile *
        `modifiers` - the access modifiers for the generated class *
      Returns:
        the newly created closure class node

    - #### protected boolean isPackTriggered(ClosureExpression expression, boolean annotated)

    - #### protected void markHoistedBody(MethodNode hoisted)

    - #### protected boolean packedClosureUsesDelegateGuard()

    - #### protected ClassNode readOnlyCaptureType(String name, ClassNode declaredType, Variable variable)

    - #### protected String triggerDeclineReason(ClosureExpression expression)