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)`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `protected ClassNode` | `createClosureClass(ClosureExpression expression, int modifiers)`
    `` | `protected ClassNode` | `createLambdaClass(LambdaExpression expression, int modifiers, MethodNode abstractMethod)`
    `` | `public void` | `visit(org.objectweb.asm.MethodVisitor mv)`
    `` | `public void` | `visitConstantExpression(ConstantExpression expression)`
    `` | `public void` | `visitVariableExpression(VariableExpression expression)`
    `` | `public void` | `writeLambda(LambdaExpression expression)`

  - ### 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)

  - ### Method Detail

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

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

    - #### @Override
      public void visit(org.objectweb.asm.MethodVisitor mv)

    - #### @Override
      public void visitConstantExpression(ConstantExpression expression)

    - #### @Override
      public void visitVariableExpression(VariableExpression expression)

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