RFR 8u20: JDK-8029674: (reflect) getMethods returns default methods that are not members of the class
Joel Borggrén-Franck
joel.franck at oracle.com
Mon Jun 16 10:57:57 UTC 2014
Hi,
Can I get a review for this almost trivial 8u20 back port. The 9 fix reviewed here: http://mail.openjdk.java.net/pipermail/core-libs-dev/2014-June/027173.html applies cleanly except one hunk fails due to a non-backported change updating a for to a for each:
$ cat src/share/classes/java/lang/Class.java.rej
--- Class.java
+++ Class.java
@@ -2819,7 +2894,7 @@
// the end.
MethodArray inheritedMethods = new MethodArray();
for (Class<?> i : getInterfaces()) {
- inheritedMethods.addAllNonStatic(i.privateGetPublicMethods());
+ inheritedMethods.addInterfaceMethods(i.privateGetPublicMethods());
}
if (!isInterface()) {
Class<?> c = getSuperclass();
In 8u the hunk needs to be:
@@ -2819,9 +2894,8 @@
// out concrete implementations inherited from superclasses at
// the end.
MethodArray inheritedMethods = new MethodArray();
- Class<?>[] interfaces = getInterfaces();
- for (int i = 0; i < interfaces.length; i++) {
- inheritedMethods.addAllNonStatic(interfaces[i].privateGetPublicMethods());
+ for (Class<?> i : getInterfaces()) {
+ inheritedMethods.addInterfaceMethods(i.privateGetPublicMethods());
}
if (!isInterface()) {
Class<?> c = getSuperclass();
8u webrev here: http://cr.openjdk.java.net/~jfranck/8029674/jdk8u/webrev.8u.00/
9 Bug here: http://bugs.openjdk.java.net/browse/JDK-8029674
cheers
/Joel
More information about the core-libs-dev
mailing list