Package | Description |
---|---|
javassist.bytecode.analysis |
Bytecode Analysis API.
|
javassist.convert |
Modifier and Type | Field and Description |
---|---|
private Frame[] |
ControlFlow.frames |
private Frame[] |
Analyzer.frames |
Modifier and Type | Method and Description |
---|---|
Frame[] |
Analyzer.analyze(CtClass clazz,
MethodInfo method)
Performs data-flow analysis on a method and returns an array, indexed by
instruction position, containing the starting frame state of all reachable
instructions.
|
Frame[] |
Analyzer.analyze(CtMethod method)
Performs data-flow analysis on a method and returns an array, indexed by
instruction position, containing the starting frame state of all reachable
instructions.
|
Frame |
Frame.copy()
Makes a shallow copy of this frame, i.e.
|
Frame |
Frame.copyStack()
Makes a shallow copy of the stack portion of this frame.
|
private Frame |
Analyzer.firstFrame(MethodInfo method,
int maxLocals,
int maxStack) |
Frame |
ControlFlow.frameAt(int pos)
Returns the types of the local variables and stack frame entries
available at the given position.
|
Modifier and Type | Method and Description |
---|---|
private void |
Executor.evalArrayLoad(Type expectedComponent,
Frame frame) |
private void |
Executor.evalArrayStore(Type expectedComponent,
Frame frame) |
private void |
Executor.evalBinaryMath(Type expected,
Frame frame) |
private void |
Executor.evalGetField(int opcode,
int index,
Frame frame) |
private void |
Executor.evalInvokeDynamic(int opcode,
int index,
Frame frame) |
private void |
Executor.evalInvokeIntfMethod(int opcode,
int index,
Frame frame) |
private void |
Executor.evalInvokeMethod(int opcode,
int index,
Frame frame) |
private void |
Executor.evalLDC(int index,
Frame frame) |
private void |
Executor.evalLoad(Type expected,
int index,
Frame frame,
Subroutine subroutine) |
private void |
Executor.evalNewArray(int pos,
CodeIterator iter,
Frame frame) |
private void |
Executor.evalNewObjectArray(int pos,
CodeIterator iter,
Frame frame) |
private void |
Executor.evalPutField(int opcode,
int index,
Frame frame) |
private void |
Executor.evalShift(Type expected,
Frame frame) |
private void |
Executor.evalStore(Type expected,
int index,
Frame frame,
Subroutine subroutine) |
private void |
Executor.evalWide(int pos,
CodeIterator iter,
Frame frame,
Subroutine subroutine) |
void |
Executor.execute(MethodInfo method,
int pos,
CodeIterator iter,
Frame frame,
Subroutine subroutine)
Execute the instruction, modeling the effects on the specified frame and subroutine.
|
boolean |
Frame.merge(Frame frame)
Merges all types on the stack and local variable table of this frame with that of the specified
type.
|
private void |
Analyzer.merge(IntQueue queue,
Frame frame,
int target) |
private void |
Analyzer.mergeExceptionHandlers(IntQueue queue,
MethodInfo method,
int pos,
Frame frame) |
private void |
Analyzer.mergeJsr(IntQueue queue,
Frame frame,
Subroutine sub,
int pos,
int next) |
private void |
Analyzer.mergeLookupSwitch(IntQueue queue,
int pos,
CodeIterator iter,
Frame frame) |
private void |
Analyzer.mergeRet(IntQueue queue,
CodeIterator iter,
int pos,
Frame frame,
Subroutine subroutine) |
boolean |
Frame.mergeStack(Frame frame)
Merges all types on the stack of this frame instance with that of the specified frame.
|
private void |
Analyzer.mergeTableSwitch(IntQueue queue,
int pos,
CodeIterator iter,
Frame frame) |
private void |
FramePrinter.printLocals(Frame frame) |
private void |
FramePrinter.printStack(Frame frame) |
private Type |
Executor.simplePeek(Frame frame) |
private Type |
Executor.simplePop(Frame frame) |
private void |
Executor.simplePush(Type type,
Frame frame) |
private void |
Executor.simpleSetLocal(int index,
Type type,
Frame frame) |
Modifier and Type | Field and Description |
---|---|
private Frame[] |
TransformAccessArrayField.frames |
Modifier and Type | Method and Description |
---|---|
private Frame |
TransformAccessArrayField.getFrame(int pos) |