Frame<V>[] |
Analyzer.analyze(java.lang.String owner,
MethodNode method) |
Analyzes the given method.
|
Frame<V>[] |
Analyzer.analyzeAndComputeMaxs(java.lang.String owner,
MethodNode method) |
Analyzes the given method and computes and sets its maximum stack size and maximum number of
local variables.
|
BasicValue |
BasicInterpreter.binaryOperation(AbstractInsnNode insn,
BasicValue value1,
BasicValue value2) |
|
BasicValue |
BasicVerifier.binaryOperation(AbstractInsnNode insn,
BasicValue value1,
BasicValue value2) |
|
abstract V |
Interpreter.binaryOperation(AbstractInsnNode insn,
V value1,
V value2) |
Interprets a bytecode instruction with two arguments.
|
BasicValue |
BasicInterpreter.copyOperation(AbstractInsnNode insn,
BasicValue value) |
|
BasicValue |
BasicVerifier.copyOperation(AbstractInsnNode insn,
BasicValue value) |
|
abstract V |
Interpreter.copyOperation(AbstractInsnNode insn,
V value) |
Interprets a bytecode instruction that moves a value on the stack or to or from local
variables.
|
void |
Frame.execute(AbstractInsnNode insn,
Interpreter<V> interpreter) |
Simulates the execution of the given instruction on this execution stack frame.
|
private boolean |
Frame.executeDupX2(AbstractInsnNode insn,
V value1,
Interpreter<V> interpreter) |
|
private void |
Frame.executeInvokeInsn(AbstractInsnNode insn,
java.lang.String methodDescriptor,
Interpreter<V> interpreter) |
|
private void |
Analyzer.findSubroutine(int insnIndex,
Subroutine subroutine,
java.util.List<AbstractInsnNode> jsrInsns) |
Follows the control flow graph of the currently analyzed method, starting at the given
instruction index, and stores a copy of the given subroutine in Analyzer.subroutines for each
encountered instruction.
|
private void |
Analyzer.findSubroutines(int maxLocals) |
|
protected BasicValue |
BasicVerifier.getElementValue(BasicValue objectArrayValue) |
Returns the value corresponding to the type of the elements of the given array reference value.
|
protected BasicValue |
SimpleVerifier.getElementValue(BasicValue objectArrayValue) |
|
protected void |
Analyzer.init(java.lang.String owner,
MethodNode method) |
Initializes this analyzer.
|
private void |
Analyzer.merge(int insnIndex,
Frame<V> frameBeforeJsr,
Frame<V> frameAfterRet,
Subroutine subroutineBeforeJsr,
boolean[] localsUsed) |
Merges the given frame and subroutine into the frame and subroutines at the given instruction
index (case of a RET instruction).
|
private void |
Analyzer.merge(int insnIndex,
Frame<V> frame,
Subroutine subroutine) |
Merges the given frame and subroutine into the frame and subroutines at the given instruction
index.
|
boolean |
Frame.merge(Frame<? extends V> frame,
Interpreter<V> interpreter) |
Merges the given frame into this frame.
|
BasicValue |
BasicInterpreter.naryOperation(AbstractInsnNode insn,
java.util.List<? extends BasicValue> values) |
|
BasicValue |
BasicVerifier.naryOperation(AbstractInsnNode insn,
java.util.List<? extends BasicValue> values) |
|
abstract V |
Interpreter.naryOperation(AbstractInsnNode insn,
java.util.List<? extends V> values) |
Interprets a bytecode instruction with a variable number of arguments.
|
BasicValue |
BasicInterpreter.newOperation(AbstractInsnNode insn) |
|
abstract V |
Interpreter.newOperation(AbstractInsnNode insn) |
Interprets a bytecode instruction without arguments.
|
void |
BasicInterpreter.returnOperation(AbstractInsnNode insn,
BasicValue value,
BasicValue expected) |
|
void |
BasicVerifier.returnOperation(AbstractInsnNode insn,
BasicValue value,
BasicValue expected) |
|
abstract void |
Interpreter.returnOperation(AbstractInsnNode insn,
V value,
V expected) |
Interprets a bytecode return instruction.
|
BasicValue |
BasicInterpreter.ternaryOperation(AbstractInsnNode insn,
BasicValue value1,
BasicValue value2,
BasicValue value3) |
|
BasicValue |
BasicVerifier.ternaryOperation(AbstractInsnNode insn,
BasicValue value1,
BasicValue value2,
BasicValue value3) |
|
abstract V |
Interpreter.ternaryOperation(AbstractInsnNode insn,
V value1,
V value2,
V value3) |
Interprets a bytecode instruction with three arguments.
|
BasicValue |
BasicInterpreter.unaryOperation(AbstractInsnNode insn,
BasicValue value) |
|
BasicValue |
BasicVerifier.unaryOperation(AbstractInsnNode insn,
BasicValue value) |
|
abstract V |
Interpreter.unaryOperation(AbstractInsnNode insn,
V value) |
Interprets a bytecode instruction with a single argument.
|