|
||||||||||
| 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. |
void |
returnOperation(AbstractInsnNode insn,
Value value,
Value expected)
Interprets a bytecode return instruction. |
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 InterpretercopyOperation in class BasicInterpreterinsn - the bytecode instruction to be interpreted.value - the value that must be moved by the instruction.
AnalyzerException - if an error occured during the interpretation.
public Value unaryOperation(AbstractInsnNode insn,
Value value)
throws AnalyzerException
Interpreter
unaryOperation in interface InterpreterunaryOperation in class BasicInterpreterinsn - 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 InterpreterbinaryOperation in class BasicInterpreterinsn - 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 InterpreterternaryOperation in class BasicInterpreterinsn - 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 InterpreternaryOperation in class BasicInterpreterinsn - the bytecode instruction to be interpreted.values - the arguments of the instruction to be interpreted.
AnalyzerException - if an error occured during the interpretation.
public void returnOperation(AbstractInsnNode insn,
Value value,
Value expected)
throws AnalyzerException
Interpreter
returnOperation in interface InterpreterreturnOperation in class BasicInterpreterinsn - the bytecode instruction to be interpreted.value - the argument of the instruction to be interpreted.expected - the expected return type of the analyzed method.
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 | |||||||||