Documentation of 'org.apache.bcel.verifier.statics.Pass3aVerifier' Java class
Pass3aVerifier
org.apache.bcel.verifier.statics

Class Pass3aVerifier



  • public final class Pass3aVerifier
    extends PassVerifier
    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.
    See Also:
    do_verify()
    • Constructor Summary

      Constructors 
      Constructor and Description
      Pass3aVerifier(Verifier owner, int methodNo)
      Should only be instantiated by a Verifier.
    • Constructor Detail

      • Pass3aVerifier

        public Pass3aVerifier(Verifier owner,
                              int methodNo)
        Should only be instantiated by a Verifier.
    • Method Detail

      • do_verify

        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. 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.
        Specified by:
        do_verify in class PassVerifier
        Throws:
        InvalidMethodException - if the method to verify does not exist.
      • getMethodNo

        public int getMethodNo()
        Returns the method number as supplied when instantiating.

DataMelt 3.0 © DataMelt by jWork.ORG

Ads help maintain this website.