Class Advice.Dispatcher.Inlining.Resolved

java.lang.Object
net.bytebuddy.asm.Advice.Dispatcher.Resolved.AbstractBase
net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved
All Implemented Interfaces:
Advice.Dispatcher, Advice.Dispatcher.Resolved
Direct Known Subclasses:
Advice.Dispatcher.Inlining.Resolved.ForMethodEnter, Advice.Dispatcher.Inlining.Resolved.ForMethodExit
Enclosing class:
Advice.Dispatcher.Inlining

protected abstract static class Advice.Dispatcher.Inlining.Resolved extends Advice.Dispatcher.Resolved.AbstractBase
A resolved version of a dispatcher.
  • Field Details

    • adviceMethod

      protected final MethodDescription.InDefinedShape adviceMethod
      The represented advice method.
    • classReader

      protected final AsmClassReader classReader
      A class reader to query for the class file of the advice method.
  • Constructor Details

    • Resolved

      protected Resolved(MethodDescription.InDefinedShape adviceMethod, Advice.PostProcessor postProcessor, List<? extends Advice.OffsetMapping.Factory<?>> factories, TypeDescription throwableType, TypeDescription relocatableType, int relocatableIndex, AsmClassReader classReader)
      Creates a new resolved version of a dispatcher.
      Parameters:
      adviceMethod - The represented advice method.
      postProcessor - The post processor to apply.
      factories - A list of factories to resolve for the parameters of the advice method.
      throwableType - The type to handle by a suppression handler or Advice.NoExceptionHandler to not handle any exceptions.
      relocatableType - The type to trigger a relocation of the method's control flow or void if no relocation should be executed.
      relocatableIndex - The index within an array that is returned by the advice method, indicating the value to consider for relocation.
      classReader - A class reader to query for the class file of the advice method.
  • Method Details

    • resolveInitializationTypes

      protected abstract Map<Integer,TypeDefinition> resolveInitializationTypes(Advice.ArgumentHandler argumentHandler)
      Resolves the initialization types of this advice method.
      Parameters:
      argumentHandler - The argument handler to use for resolving the initialization.
      Returns:
      A mapping of parameter offsets to the type to initialize.
    • apply

      protected abstract org.objectweb.asm.MethodVisitor apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, Assigner assigner, Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler, Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler, Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler, TypeDescription instrumentedType, MethodDescription instrumentedMethod, Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler, Advice.Dispatcher.RelocationHandler.Bound relocationHandler, StackManipulation exceptionHandler)
      Applies a resolution for a given instrumented method.
      Parameters:
      methodVisitor - A method visitor for writing byte code to the instrumented method.
      implementationContext - The implementation context to use.
      assigner - The assigner to use.
      argumentHandler - A handler for accessing values on the local variable array.
      methodSizeHandler - A handler for computing the method size requirements.
      stackMapFrameHandler - A handler for translating and injecting stack map frames.
      instrumentedType - A description of the instrumented type.
      instrumentedMethod - A description of the instrumented method.
      suppressionHandler - A bound suppression handler that is used for suppressing exceptions of this advice method.
      relocationHandler - A bound relocation handler that is responsible for considering a non-standard control flow.
      exceptionHandler - The exception handler that is resolved for the instrumented method.
      Returns:
      A method visitor for visiting the advice method's byte code.