Class Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner

  • All Implemented Interfaces:
    Advice.Dispatcher.Bound
    Enclosing class:
    Advice.Dispatcher.Inlining.Resolved

    protected class Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner
    extends org.objectweb.asm.ClassVisitor
    implements Advice.Dispatcher.Bound
    A bound advice method that copies the code by first extracting the exception table and later appending the code of the method without copying any meta data.
    • Field Detail

      • instrumentedType

        protected final TypeDescription instrumentedType
        A description of the instrumented type.
      • instrumentedMethod

        protected final MethodDescription instrumentedMethod
        The instrumented method.
      • methodVisitor

        protected final org.objectweb.asm.MethodVisitor methodVisitor
        The method visitor for writing the instrumented method.
      • implementationContext

        protected final Implementation.Context implementationContext
        The implementation context to use.
      • assigner

        protected final Assigner assigner
        The assigner to use.
      • classReader

        protected final org.objectweb.asm.ClassReader classReader
        A class reader for parsing the class file containing the represented advice method.
      • labels

        protected final java.util.List<org.objectweb.asm.Label> labels
        The labels that were found during parsing the method's exception handler in the order of their discovery.
    • Constructor Detail

      • AdviceMethodInliner

        protected AdviceMethodInliner​(TypeDescription instrumentedType,
                                      MethodDescription instrumentedMethod,
                                      org.objectweb.asm.MethodVisitor methodVisitor,
                                      Implementation.Context implementationContext,
                                      Assigner assigner,
                                      Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
                                      Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
                                      Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
                                      Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
                                      Advice.Dispatcher.RelocationHandler.Bound relocationHandler,
                                      org.objectweb.asm.ClassReader classReader)
        Creates a new advice method inliner.
        Parameters:
        instrumentedType - A description of the instrumented type.
        instrumentedMethod - The instrumented method.
        methodVisitor - The method visitor for writing 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.
        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.
        classReader - A class reader for parsing the class file containing the represented advice method.
    • Method Detail

      • visitMethod

        public org.objectweb.asm.MethodVisitor visitMethod​(int modifiers,
                                                           java.lang.String internalName,
                                                           java.lang.String descriptor,
                                                           java.lang.String signature,
                                                           java.lang.String[] exception)
        Overrides:
        visitMethod in class org.objectweb.asm.ClassVisitor