Interface InvokeDynamic.InvocationProvider

All Known Implementing Classes:
InvokeDynamic.InvocationProvider.Default
Enclosing class:
InvokeDynamic

protected static interface InvokeDynamic.InvocationProvider
An invocation provider is responsible for loading the arguments of the invoked method onto the operand stack and for creating the actual invoke dynamic instruction.
  • Method Details

    • make

      Creates a target for the invocation.
      Parameters:
      methodDescription - The method that is being intercepted.
      Returns:
      The target for the invocation.
    • appendArguments

      Appends the given arguments to the invocation to be loaded onto the operand stack.
      Parameters:
      argumentProviders - The next arguments to be loaded onto the operand stack.
      Returns:
      An invocation provider for this target that loads the given arguments onto the operand stack.
    • appendArgument

      Appends the given argument to the invocation to be loaded onto the operand stack.
      Parameters:
      argumentProvider - The next argument to be loaded onto the operand stack.
      Returns:
      An invocation provider for this target that loads the given arguments onto the operand stack.
    • withoutArguments

      Returns a copy of this invocation provider that does not add any arguments.
      Returns:
      A copy of this invocation provider that does not add any arguments.
    • withNameProvider

      Returns a copy of this invocation provider that applies the given name provider.
      Parameters:
      nameProvider - The name provider to be used.
      Returns:
      A copy of this invocation provider that applies the given name provider.
    • withReturnTypeProvider

      Returns a copy of this invocation provider that applies the given return type provider.
      Parameters:
      returnTypeProvider - The return type provider to be used.
      Returns:
      A copy of this invocation provider that applies the given return type provider.
    • prepare

      InstrumentedType prepare(InstrumentedType instrumentedType)
      Prepares the instrumented type.
      Parameters:
      instrumentedType - The instrumented type to prepare.
      Returns:
      The prepared instrumented type.