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

  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, convertParameterType, createBootstrapMethod, createBootstrapMethodArguments, createBootstrapMethodArguments, createMethodDescriptor, getFunctionalInterfaceType, prependParameter`

- ## Constructor Details

  - ### StaticTypesLambdaWriter

    public StaticTypesLambdaWriter(WriterController controller)

- ## Method Details

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