default methods in super interfaces and serial version id calculation
Mike Duigou
mike.duigou at oracle.com
Thu Jan 24 16:23:41 PST 2013
A jdk regression test, java/util/EnumSet/BogusEnumSet, fails when combined with the 8001647 Collections default methods patch.
I investigated the root cause with Stuart Marks' knowledgeable assistance and have come up with a unit test which demonstrates the problem.
The broken bit in BogusEnumSet is that interfaces containing default methods currently cause different default serial version ids to generated in Serializable child classes. The root cause is default methods appearing in the Class.getDeclaredMethods() results.
I have pushed the test to the lambda repo in : http://hg.openjdk.java.net/lambda/lambda/jdk/rev/703ad3145ab2
The actual test is located at: jdk/test/java/io/Serializable/DefaultSVID.java
Mike
More information about the lambda-dev
mailing list