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 final String`
  `ORIGINAL_PARAMETERS_WITH_EXACT_TYPE`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default ClassNode`
  `convertParameterType(ClassNode parameterType, ClassNode inferredType)`
  Deprecated.
  use `convertParameterType(ClassNode, ClassNode, ClassNode)` instead
  `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 methodOwner, 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 methodOwner, MethodNode methodNode, boolean serializable)

  - ### convertParameterType

    default ClassNode convertParameterType(ClassNode targetType, ClassNode parameterType, ClassNode inferredType)

  - ### convertParameterType

    @Deprecated default ClassNode convertParameterType(ClassNode parameterType, ClassNode inferredType)
    Deprecated.
    use `convertParameterType(ClassNode, ClassNode, ClassNode)` instead

  - ### prependParameter

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