|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.objectweb.asm.tree.analysis.BasicInterpreter
org.objectweb.asm.tree.analysis.BasicVerifier
public class BasicVerifier
An extended BasicInterpreter
that checks that bytecode instructions
are correctly used.
Field Summary |
---|
Constructor Summary | |
---|---|
BasicVerifier()
|
Method Summary | |
---|---|
Value |
binaryOperation(AbstractInsnNode insn,
Value value1,
Value value2)
Interprets a bytecode instruction with two arguments. |
Value |
copyOperation(AbstractInsnNode insn,
Value value)
Interprets a bytecode instruction that moves a value on the stack or to or from local variables. |
protected Value |
getElementValue(Value objectArrayValue)
|
protected boolean |
isArrayValue(Value value)
|
protected boolean |
isSubTypeOf(Value value,
Value expected)
|
Value |
naryOperation(AbstractInsnNode insn,
List values)
Interprets a bytecode instruction with a variable number of arguments. |
Value |
ternaryOperation(AbstractInsnNode insn,
Value value1,
Value value2,
Value value3)
Interprets a bytecode instruction with three arguments. |
Value |
unaryOperation(AbstractInsnNode insn,
Value value)
Interprets a bytecode instruction with a single argument. |
Methods inherited from class org.objectweb.asm.tree.analysis.BasicInterpreter |
---|
merge, newOperation, newValue |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public BasicVerifier()
Method Detail |
---|
public Value copyOperation(AbstractInsnNode insn, Value value) throws AnalyzerException
Interpreter
copyOperation
in interface Interpreter
copyOperation
in class BasicInterpreter
insn
- the bytecode instruction to be interpreted.value
- the value that must be moved by the instruction.
equal
to the given
value.
AnalyzerException
- if an error occured during the interpretation.public Value unaryOperation(AbstractInsnNode insn, Value value) throws AnalyzerException
Interpreter
unaryOperation
in interface Interpreter
unaryOperation
in class BasicInterpreter
insn
- the bytecode instruction to be interpreted.value
- the argument of the instruction to be interpreted.
AnalyzerException
- if an error occured during the interpretation.public Value binaryOperation(AbstractInsnNode insn, Value value1, Value value2) throws AnalyzerException
Interpreter
binaryOperation
in interface Interpreter
binaryOperation
in class BasicInterpreter
insn
- the bytecode instruction to be interpreted.value1
- the first argument of the instruction to be interpreted.value2
- the second argument of the instruction to be interpreted.
AnalyzerException
- if an error occured during the interpretation.public Value ternaryOperation(AbstractInsnNode insn, Value value1, Value value2, Value value3) throws AnalyzerException
Interpreter
ternaryOperation
in interface Interpreter
ternaryOperation
in class BasicInterpreter
insn
- the bytecode instruction to be interpreted.value1
- the first argument of the instruction to be interpreted.value2
- the second argument of the instruction to be interpreted.value3
- the third argument of the instruction to be interpreted.
AnalyzerException
- if an error occured during the interpretation.public Value naryOperation(AbstractInsnNode insn, List values) throws AnalyzerException
Interpreter
naryOperation
in interface Interpreter
naryOperation
in class BasicInterpreter
insn
- the bytecode instruction to be interpreted.values
- the arguments of the instruction to be interpreted.
AnalyzerException
- if an error occured during the interpretation.protected boolean isArrayValue(Value value)
protected Value getElementValue(Value objectArrayValue) throws AnalyzerException
AnalyzerException
protected boolean isSubTypeOf(Value value, Value expected)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |