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

## Class StaticTypesLambdaWriter

- java.lang.Object
- - org.codehaus.groovy.classgen.asm.ClosureWriter
  - - org.codehaus.groovy.classgen.asm.LambdaWriter
    - - org.codehaus.groovy.classgen.asm.sc.StaticTypesLambdaWriter

- All Implemented Interfaces:
    `AbstractFunctionalInterfaceWriter`

      public class StaticTypesLambdaWriter
      extends LambdaWriter
      implements AbstractFunctionalInterfaceWriter

  Writer responsible for generating lambda classes in statically compiled mode.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.codehaus.groovy.classgen.asm.ClosureWriter

      `ClosureWriter.CorrectAccessedVariableVisitor, ClosureWriter.UseExistingReference`

  - ### Field Summary

    - ### Fields inherited from class org.codehaus.groovy.classgen.asm.ClosureWriter

      `controller, OUTER_INSTANCE, THIS_OBJECT`

    - ### Fields inherited from interface org.codehaus.groovy.classgen.asm.sc.AbstractFunctionalInterfaceWriter

      `ORIGINAL_PARAMETERS_WITH_EXACT_TYPE`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `StaticTypesLambdaWriter​(WriterController controller)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected ClassNode` | `createClosureClass​(ClosureExpression expression, int modifiers)` |
    `protected ClassNode` | `createLambdaClass​(LambdaExpression expression, int modifiers, MethodNode abstractMethod)` |
    `void` | `writeLambda​(LambdaExpression expression)` |

    - ### Methods inherited from class org.codehaus.groovy.classgen.asm.LambdaWriter

      `getLambdaSharedVariables`

    - ### Methods inherited from class org.codehaus.groovy.classgen.asm.ClosureWriter

      `addConstructor, addFieldsAndGettersForLocalVariables, addGeneratedClosureConstructorCall, createBlockStatementForConstructor, getClosureSharedVariables, getOrAddClosureClass, loadReference, loadThis, removeInitialValues, writeClosure`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.codehaus.groovy.classgen.asm.sc.AbstractFunctionalInterfaceWriter

      `convertParameterType, createBootstrapMethod, createBootstrapMethodArguments, createMethodDescriptor, getFunctionalInterfaceType, prependParameter`

- - ### Constructor Detail

    - #### StaticTypesLambdaWriter

          public StaticTypesLambdaWriter​(WriterController controller)

  - ### Method Detail

    - #### writeLambda

          public void writeLambda​(LambdaExpression expression)

      Overrides:
        `writeLambda` in class `LambdaWriter`

    - #### createClosureClass

          protected ClassNode createClosureClass​(ClosureExpression expression,
                                                 int modifiers)

      Overrides:
        `createClosureClass` in class `ClosureWriter`

    - #### createLambdaClass

          protected ClassNode createLambdaClass​(LambdaExpression expression,
                                                int modifiers,
                                                MethodNode abstractMethod)