RFR 8u20: JDK-8029674: (reflect) getMethods returns default methods that are not members of the class
Joe Darcy
joe.darcy at oracle.com
Mon Jun 16 17:38:56 UTC 2014
Hi Joel,
The 8u version looks fine; thanks,
-Joe
On 06/16/2014 03:57 AM, Joel Borggrén-Franck wrote:
> 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