Class MethodCall.Appender

java.lang.Object
net.bytebuddy.implementation.MethodCall.Appender
All Implemented Interfaces:
ByteCodeAppender
Enclosing class:
MethodCall

@Enhance(includeSyntheticFields=true) protected class MethodCall.Appender extends Object implements ByteCodeAppender
The appender being used to implement a MethodCall.
  • Field Details

  • Constructor Details

    • Appender

      protected Appender(Implementation.Target implementationTarget, MethodCall.TerminationHandler terminationHandler)
      Creates a new appender.
      Parameters:
      implementationTarget - The implementation target.
      terminationHandler - The termination handler to use.
  • Method Details

    • apply

      public ByteCodeAppender.Size apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, MethodDescription instrumentedMethod)
      Applies this byte code appender to a type creation process.
      Specified by:
      apply in interface ByteCodeAppender
      Parameters:
      methodVisitor - The method visitor to which the byte code appender writes its code to.
      implementationContext - The implementation context of the current type creation process.
      instrumentedMethod - The method that is the target of the instrumentation.
      Returns:
      The required size for the applied byte code to run.
    • toInvokedMethod

      protected MethodDescription toInvokedMethod(MethodDescription instrumentedMethod, MethodCall.TargetHandler.Resolved targetHandler)
      Resolves this appender to the method being invoked.
      Parameters:
      instrumentedMethod - The instrumented method.
      targetHandler - The resolved target handler to base the stack manipulation upon.
      Returns:
      The invoked method.
    • toStackManipulation

      protected StackManipulation toStackManipulation(MethodDescription instrumentedMethod, MethodDescription invokedMethod, MethodCall.TargetHandler.Resolved targetHandler)
      Resolves this appender to a stack manipulation.
      Parameters:
      instrumentedMethod - The instrumented method.
      invokedMethod - The invoked method.
      targetHandler - The resolved target handler to base the stack manipulation upon.
      Returns:
      A stack manipulation that represents this method call.