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

  Modifier and Type | Method | Description
  --- | --- | ---
  `default ClassNode` | `convertParameterType​(ClassNode targetType, 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 Details

  - ### ORIGINAL_PARAMETERS_WITH_EXACT_TYPE

    static final String ORIGINAL_PARAMETERS_WITH_EXACT_TYPE
    See Also:
      Constant Field Values

- ## Method Details

  - ### 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 targetType, ClassNode parameterType, ClassNode inferredType)

  - ### prependParameter

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