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

## Interface AbstractFunctionalInterfaceWriter

- All Known Implementing Classes:
    `StaticTypesLambdaWriter`, `StaticTypesMethodReferenceExpressionWriter`

      public interface AbstractFunctionalInterfaceWriter

  Represents functional interface writer which contains some common methods to complete generating bytecode
  Since:
    3.0.0

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static String` | `ORIGINAL_PARAMETERS_WITH_EXACT_TYPE` |

  - ### Method Summary

    All Methods Instance Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `default ClassNode` | `convertParameterType​(ClassNode parameterType, ClassNode inferredType)` |
    `default org.objectweb.asm.Handle` | `createBootstrapMethod​(boolean isInterface, boolean serializable)` |
    `default Object[]` | `createBootstrapMethodArguments​(String abstractMethodDesc, int insn, ClassNode methodOwnerClassNode, MethodNode methodNode, boolean serializable)` |
    `default String` | `createMethodDescriptor​(MethodNode abstractMethodNode)` |
    `default ClassNode` | `getFunctionalInterfaceType​(Expression expression)` |
    `default Parameter` | `prependParameter​(List<Parameter> methodParameterList, String parameterName, ClassNode parameterType)` |

- - ### Field Detail

    - #### ORIGINAL_PARAMETERS_WITH_EXACT_TYPE

          static final String ORIGINAL_PARAMETERS_WITH_EXACT_TYPE

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getFunctionalInterfaceType

          default ClassNode getFunctionalInterfaceType​(Expression expression)

    - #### createMethodDescriptor

          default String createMethodDescriptor​(MethodNode abstractMethodNode)

    - #### createBootstrapMethod

          default org.objectweb.asm.Handle createBootstrapMethod​(boolean isInterface,
                                                                 boolean serializable)

    - #### createBootstrapMethodArguments

          default Object[] createBootstrapMethodArguments​(String abstractMethodDesc,
                                                          int insn,
                                                          ClassNode methodOwnerClassNode,
                                                          MethodNode methodNode,
                                                          boolean serializable)

    - #### convertParameterType

          default ClassNode convertParameterType​(ClassNode parameterType,
                                                 ClassNode inferredType)

    - #### prependParameter

          default Parameter prependParameter​(List<Parameter> methodParameterList,
                                             String parameterName,
                                             ClassNode parameterType)