Package com.ibm.wala.shrikeBT
Class MethodEditor.Visitor
- java.lang.Object
-
- com.ibm.wala.shrikeBT.IInstruction.Visitor
-
- com.ibm.wala.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 Summary
Constructors Constructor Description Visitor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addInstructionExceptionHandler(String catchClass, MethodEditor.Patch p)
Add an exception handler to the current instruction.int
getIndex()
void
insertAfter(MethodEditor.Patch p)
Insert a patch after the current instruction in the code.void
insertBefore(MethodEditor.Patch p)
Insert a patch before the current instruction in the code.void
replaceWith(MethodEditor.Patch p)
Replace the current instruction in the code with a patch.void
setIndex(MethodEditor e, int i)
Set the current editor and instruction index for this visitor.-
Methods inherited from class com.ibm.wala.shrikeBT.IInstruction.Visitor
visitArrayLength, visitArrayLoad, visitArrayStore, visitBinaryOp, visitCheckCast, visitComparison, visitConditionalBranch, visitConstant, visitConversion, visitDup, visitGet, visitGoto, visitInstanceof, visitInvoke, visitLoadIndirect, visitLocalLoad, visitLocalStore, visitMonitor, visitNew, visitPop, visitPut, visitReturn, visitShift, visitStoreIndirect, visitSwap, visitSwitch, visitThrow, visitUnaryOp
-
-
-
-
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 exceptionsp
- the code to handle the exception
-
-