Class Advice.Dispatcher.Inlining.Resolved

    • Field Detail

      • classReader

        protected final org.objectweb.asm.ClassReader classReader
        A class reader to query for the class file of the advice method.
    • Constructor Detail

      • Resolved

        protected Resolved​(MethodDescription.InDefinedShape adviceMethod,
                           Advice.PostProcessor postProcessor,
                           java.util.List<? extends Advice.OffsetMapping.Factory<?>> factories,
                           TypeDescription throwableType,
                           TypeDescription relocatableType,
                           org.objectweb.asm.ClassReader 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.
        classReader - A class reader to query for the class file of the advice method.
    • Method Detail

      • resolveInitializationTypes

        protected abstract java.util.Map<java.lang.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)
        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.
        Returns:
        A method visitor for visiting the advice method's byte code.