Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4811083

oldjavac (used by rmic) assertion invalidated by generics or 4175911 fix

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 5.0
    • 1.4.2, 5.0
    • core-libs
    • tiger
    • generic, x86
    • solaris_8, windows_2000

      The generic Java compiler generates bridge methods, which are synthetic
      overriders. oldjavac has an assertion that an overriding method is never
      synthetic. This assertion is tripped when rmic (which uses oldjavac
      classes) is run.

      the needed fix is in src/share/classes/sun/tools/java/MemberDefinition.java

      ---
      This assertion can also be tripped up when the 1.4.2 javac is used with the "-target 1.1" option, because with the fix for 4175911 in 1.4.2, javac marks "miranda methods" (which are only generated in the "-target 1.1" case) as synthetic. Miranda methods, by their nature, "override" interface methods, and so as synthetic methods they trip up this assertion in rmic. Thus, the assertion is invalid in 1.4.2 as well.

      For more details and a workaround, see the Evaluation of 5035300.

      ###@###.### 2004-06-02

            gafter Neal Gafter (Inactive)
            gafter Neal Gafter (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: