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