## org.apache.bcel.verifier.statics
Class Pass3aVerifier

    java.lang.Object
      org.apache.bcel.verifier.PassVerifier
          org.apache.bcel.verifier.statics.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.

Version:
  $Id: Pass3aVerifier.java 386056 2006-03-15 11:31:56Z tcurdt $
See Also:
  `do_verify()`

Constructor Summary
`Pass3aVerifier(Verifier owner, int method_no)` Should only be instantiated by a Verifier.

Method Summary
`VerificationResult` `do_verify()` Pass 3a is the verification of static constraints of JVM code (such as legal targets of branch instructions).
`int` `getMethodNo()` Returns the method number as supplied when instantiating.

Methods inherited from class org.apache.bcel.verifier.PassVerifier
`addMessage, getMessages, verify`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Pass3aVerifier

    public Pass3aVerifier(Verifier owner,
                          int method_no)

  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.

Copyright © 2002-2006 Apache Software Foundation. All Rights Reserved.