Community
Participate
Working Groups
Bug 391376 solves a problem that should actually be handled in the VM, see http://bugs.sun.com/view_bug.do?bug_id=8009130 Once that bug is fixed we should revisit our strategy for generating bridges.
This is the test to be updated: InterfaceMethodsTest.testSuperAccess02()
(In reply to Stephan Herrmann from comment #0) > Bug 391376 solves a problem that should actually be handled in the VM, see > > http://bugs.sun.com/view_bug.do?bug_id=8009130 This appears fixed. > > Once that bug is fixed we should revisit our strategy for generating bridges.
(In reply to Stephan Herrmann from comment #1) > This is the test to be updated: InterfaceMethodsTest.testSuperAccess02() The JavacHasABug excuse is no longer needed, cleaned up via bug 422051.
(In reply to Stephan Herrmann from comment #0) > Bug 391376 solves a problem that should actually be handled in the VM, see > > http://bugs.sun.com/view_bug.do?bug_id=8009130 > > Once that bug is fixed we should revisit our strategy for generating bridges. To be specific: it's Bug 391376 comment 3 which fixed generating bridge methods from a public class to a default method in a non-public superinterface. As of bug 288658 we were already generating a bridge for a public method inherited from a non-public super class. -> Javac (incl. 8b115) does the same. As of bug 391376 we do the same if the super method is a default method in a non-public superinterface. -> Javac does not insert this bridge method and as of http://bugs.sun.com/view_bug.do?bug_id=8009130 this has been fixed by more smarts in the JVM. Spec 0.7.0 doesn't seem to make a statement about this. So playing by the reference implementation we should stop generating a bridge method to inherited default methods just for visibility issues.
Released for BETA_JAVA8 via http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/commit/?h=BETA_JAVA8&id=3a2ceaad86457e3ad5d931538b1dbf293c95deb0 With this change we no longer generate a bridge to a default method in a non-public superinterface. With this we seem to be in sync with javac.
*** Bug 421796 has been marked as a duplicate of this bug. ***