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

## [Java] Class StaticTypesLambdaWriter

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

- All Implemented Interfaces and Traits:
    AbstractFunctionalInterfaceWriter

      public class StaticTypesLambdaWriter
      extends LambdaWriter
      implements AbstractFunctionalInterfaceWriter

  Writer responsible for generating lambda classes in statically compiled mode.

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

  - ### Constructor Summary

    Constructors
    Constructor and description
    `StaticTypesLambdaWriter(WriterController controller)` Creates a lambda writer for statically compiled code generation.

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `protected ClassNode` | `createClosureClass(ClosureExpression expression, int modifiers)` * 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 ClassNode` | `createLambdaClass(LambdaExpression expression, int modifiers, MethodNode abstractMethod)` Creates the synthetic inner class that backs a statically compiled lambda expression.
    `` | `public void` | `writeLambda(LambdaExpression expression)` * Generates bytecode for a lambda expression. * * Parameters: `expression` - the lambda expression to generate bytecode for

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class LambdaWriter` | `getLambdaSharedVariables, writeLambda`
    `class ClosureWriter` | `addConstructor, addFieldsForLocalVariables, addGeneratedClosureConstructorCall, addSerialVersionUIDField, createBlockStatementForConstructor, createClosureClass, getClosureSharedVariables, getOrAddClosureClass, loadReference, loadThis, removeInitialValues, writeClosure`

- - ### Constructor Detail

    - #### public StaticTypesLambdaWriter(WriterController controller)

      Creates a lambda writer for statically compiled code generation.

  - ### Method Detail

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

      * 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 ClassNode createLambdaClass(LambdaExpression expression, int modifiers, MethodNode abstractMethod)

      Creates the synthetic inner class that backs a statically compiled lambda expression.

    - #### public void writeLambda(LambdaExpression expression)

      * Generates bytecode for a lambda expression. * *

      Parameters:
        `expression` - the lambda expression to generate bytecode for