Class 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:
    do_verify()
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      private static class  Pass3bVerifier.InstructionContextQueue
      An InstructionContextQueue is a utility class that holds (InstructionContext, ArrayList) pairs in a Queue data structure.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static boolean DEBUG
      In DEBUG mode, the verification algorithm is not randomized.
      private int method_no
      The method number to verify.
      private Verifier myOwner
      The Verifier that created this.
    • Constructor Summary

      Constructors 
      Constructor Description
      Pass3bVerifier​(Verifier owner, int method_no)
      This class should only be instantiated by a Verifier.
    • Field Detail

      • DEBUG

        private static final boolean DEBUG
        In DEBUG mode, the verification algorithm is not randomized.
        See Also:
        Constant Field Values
      • myOwner

        private final Verifier myOwner
        The Verifier that created this.
      • method_no

        private final int method_no
        The method number to verify.
    • Constructor Detail

      • Pass3bVerifier

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

      • 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
        Throws:
        StructuralCodeConstraintException - always
        Since:
        6.0
      • getMethodNo

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