Class MethodEditor.Visitor

java.lang.Object
com.ibm.wala.shrike.shrikeBT.IInstruction.Visitor
com.ibm.wala.shrike.shrikeBT.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 Details

    • Visitor

      public Visitor()
  • Method Details

    • 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