Uploaded image for project: 'Commons BCEL'
  1. Commons BCEL
  2. BCEL-4

Pass3b Verifier is corrupted

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 5.0
    • None
    • Main
    • None
    • Operating System: All
      Platform: All

    Description

      The Repostiroty method
      public static boolean implementationOf(JavaClass clazz, JavaClass inter);
      Isn't working correctly. Therefore the Cast checks performed in the Pass3b
      verifier are wrong.
      With this simple program the verifcation fails.
      (tested with jdk1.4.0 W32)
      <code>
      class A implements B{
      static C temp;
      public static void main(String[] args)

      { temp = new A(); }

      }
      interface B extends C{
      }
      interface C{
      }
      </code>

      The reason is simple. Interfaces are checked only directly. Interfaces
      inherited indirectly are forgotten.

      There is another version of this bug, where even direct implemented interfaces
      are not recognized, but i wasn't able to reduce it to a simple example.

      Attachments

        Activity

          People

            issues@commons.apache.org Apache Commons Developers
            schneidp@lathanda.de Peter Schneider
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: