Class Pass3bVerifier

java.lang.Object
org.apache.bcel.verifier.PassVerifier
org.apache.bcel.verifier.structurals.Pass3bVerifier

public final class Pass3bVerifier extends PassVerifier
This PassVerifier verifies a method of class file according to pass 3, so-called structural verification 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:
  • Constructor Details

    • Pass3bVerifier

      public Pass3bVerifier(Verifier owner, int method_no)
      This class should only be instantiated by a Verifier.
      See Also:
  • Method Details

    • invalidReturnTypeError

      public void invalidReturnTypeError(Type returnedType, MethodGen m)
      Throws an exception indicating the returned type is not compatible with the return type of the given method.
      Parameters:
      returnedType - the type of the returned expression
      m - the method we are processing
      Throws:
      StructuralCodeConstraintException - always
      Since:
      6.0
    • do_verify

      public VerificationResult do_verify()
      Pass 3b implements the data flow analysis as described in the Java Virtual Machine Specification, Second Edition. Later versions will use LocalVariablesInfo objects to verify if the verifier-inferred types and the class file's debug information (LocalVariables attributes) match [TODO].
      Specified by:
      do_verify in class PassVerifier
      See Also:
    • getMethodNo

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