Class MethodCall.Appender

    • Constructor Detail

      • 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 Detail

      • 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.