Class MethodEditor.Visitor

  • Enclosing class:
    MethodEditor

    public static class MethodEditor.Visitor
    extends IInstruction.Visitor
    A specialized Instruction.Visitor providing convenience methods for inserting patches. In particular it maintains a notion of the "current position" in the code array.
    • Constructor Detail

      • Visitor

        public Visitor()
    • Method Detail

      • setIndex

        public final void setIndex​(MethodEditor e,
                                   int i)
        Set the current editor and instruction index for this visitor.
      • getIndex

        public final int getIndex()
        Returns:
        the index of the current instruction in the code array
      • insertAfter

        public final void insertAfter​(MethodEditor.Patch p)
        Insert a patch after the current instruction in the code.
      • insertBefore

        public final void insertBefore​(MethodEditor.Patch p)
        Insert a patch before the current instruction in the code.
      • replaceWith

        public final void replaceWith​(MethodEditor.Patch p)
        Replace the current instruction in the code with a patch.
      • addInstructionExceptionHandler

        public final void addInstructionExceptionHandler​(String catchClass,
                                                         MethodEditor.Patch p)
        Add an exception handler to the current instruction.
        Parameters:
        catchClass - the JVM type for the exception to be caught (e.g., Ljava.io.IOException;), or null to catch all exceptions
        p - the code to handle the exception