org.apache.bcel.verifier.statics
Class Pass2Verifier
public final
class
Pass2Verifier
extends PassVerifier
implements Constants
This PassVerifier verifies a class file according to
pass 2 as described in The Java Virtual Machine
Specification, 2nd edition.
More detailed information is to be found at the do_verify()
method's documentation.
See Also: do_verify
Method Summary |
VerificationResult | do_verify()
Pass 2 is the pass where static properties of the
class file are checked without looking into "Code"
arrays of methods.
|
LocalVariablesInfo | getLocalVariablesInfo(int method_nr)
Returns a LocalVariablesInfo object containing information
about the usage of the local variables in the Code attribute
of the said method or null if the class file this
Pass2Verifier operates on could not be pass-2-verified correctly.
|
Should only be instantiated by a Verifier.
See Also: Verifier
Pass 2 is the pass where static properties of the
class file are checked without looking into "Code"
arrays of methods.
This verification pass is usually invoked when
a class is resolved; and it may be possible that
this verification pass has to load in other classes
such as superclasses or implemented interfaces.
Therefore, Pass 1 is run on them.
Note that most referenced classes are
not loaded
in for verification or for an existance check by this
pass; only the syntactical correctness of their names
and descriptors (a.k.a. signatures) is checked.
Very few checks that conceptually belong here
are delayed until pass 3a in JustIce. JustIce does
not only check for syntactical correctness but also
for semantical sanity - therefore it needs access to
the "Code" array of methods in a few cases. Please
see the pass 3a documentation, too.
See Also: Pass3aVerifier
Returns a LocalVariablesInfo object containing information
about the usage of the local variables in the Code attribute
of the said method or null if the class file this
Pass2Verifier operates on could not be pass-2-verified correctly.
The method number method_nr is the method you get using
Repository.lookupClass(myOwner.getClassname()).getMethods()[method_nr];.
You should not add own information. Leave that to JustIce.