RFR 8040167: JDWP spec for ClassType#InvokeMethod contradicts JLS
Staffan Larsen
staffan.larsen at oracle.com
Tue Apr 15 09:21:26 UTC 2014
Looks good!
Thanks,
/Staffan
On 15 apr 2014, at 10:21, Jaroslav Bachorik <jaroslav.bachorik at oracle.com> wrote:
> Please, review this simple doc change.
>
> Issue : https://bugs.openjdk.java.net/browse/JDK-8040167
> Webrev: http://cr.openjdk.java.net/~jbachorik/8040167/webrev.00/
>
> Currently, the generated JDWP documentation falsely states that the InvokeMethod command
> "Invokes a static method. The method must be member of the class type or one of its superclasses,
> *superinterfaces*, or implemented interfaces."
>
> Up till JDK8 this was almost non-problem since interfaces could not specify static methods. For JDK8 this brings in ambiguity and contradicts JLS.
>
> The JDI docs (http://docs.oracle.com/javase/8/docs/jdk/api/jpda/jdi/com/sun/jdi/ClassType.html#invokeMethod-com.sun.jdi.ThreadReference-com.sun.jdi.Method-java.util.List-int-) state correctly that the InvokeMethod can be uses only on static methods from the class or its superclasses (no mention of interface) - following the JLS (http://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.4.8) rules.
>
> The fix is to change the line to read
> "Invokes a static method. The method must be member of the class type or one of its superclasses." instead.
>
> Thanks,
>
> -JB-
More information about the serviceability-dev
mailing list