| |
|
| java.lang.Object org.apache.bcel.verifier.PassVerifier org.apache.bcel.verifier.statics.Pass3aVerifier
Pass3aVerifier | final public class Pass3aVerifier extends PassVerifier (Code) | | This PassVerifier verifies a class file according to
pass 3, static part as described in The Java Virtual
Machine Specification, 2nd edition.
More detailed information is to be found at the do_verify()
method's documentation.
version: $Id: Pass3aVerifier.java 386056 2006-03-15 11:31:56Z tcurdt $ author: Enver Haase See Also: Pass3aVerifier.do_verify() |
Field Summary | |
Code | code The one and only Code object used by an instance of this class. | InstructionList | instructionList The one and only InstructionList object used by an instance of this class. |
Constructor Summary | |
public | Pass3aVerifier(Verifier owner, int method_no) Should only be instantiated by a Verifier. |
Method Summary | |
public VerificationResult | do_verify() Pass 3a is the verification of static constraints of
JVM code (such as legal targets of branch instructions).
This is the part of pass 3 where you do not need data
flow analysis.
JustIce also delays the checks for a correct exception
table of a Code attribute and correct line number entries
in a LineNumberTable attribute of a Code attribute (which
conceptually belong to pass 2) to this pass. | public int | getMethodNo() Returns the method number as supplied when instantiating. |
code | Code code(Code) | | The one and only Code object used by an instance of this class. It's here for performance reasons by do_verify() and its callees.
|
instructionList | InstructionList instructionList(Code) | | The one and only InstructionList object used by an instance of this class. It's here for performance reasons by do_verify() and its callees.
|
Pass3aVerifier | public Pass3aVerifier(Verifier owner, int method_no)(Code) | | Should only be instantiated by a Verifier.
|
do_verify | public VerificationResult do_verify()(Code) | | Pass 3a is the verification of static constraints of
JVM code (such as legal targets of branch instructions).
This is the part of pass 3 where you do not need data
flow analysis.
JustIce also delays the checks for a correct exception
table of a Code attribute and correct line number entries
in a LineNumberTable attribute of a Code attribute (which
conceptually belong to pass 2) to this pass. Also, most
of the check for valid local variable entries in a
LocalVariableTable attribute of a Code attribute is
delayed until this pass.
All these checks need access to the code array of the
Code attribute.
throws: InvalidMethodException - if the method to verify does not exist. |
getMethodNo | public int getMethodNo()(Code) | | Returns the method number as supplied when instantiating.
|
|
|
|