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

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

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 1.4.2, 5.0
    • Fix Version/s: 5.0
    • Component/s: core-libs
    • Labels:
    • Subcomponent:
    • Resolved In Build:
      tiger
    • CPU:
      generic, x86
    • OS:
      solaris_8, windows_2000

      Description

      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

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              gafter Neal Gafter
              Reporter:
              gafter Neal Gafter
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: