harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexey Varlamov (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-6077) [eut][drlvm] Class.getMethod may return method of subtype
Date Mon, 02 Mar 2009 16:38:56 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-6077?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12678032#action_12678032
] 

Alexey Varlamov commented on HARMONY-6077:
------------------------------------------

No, such a fix is incorrect.
Apparently we face a bug in RI. Java Language Specification explicitly mentions similar scenario
(section 8.2.1 of JLS 2nd edition).
My vote is to resolve this as non-bug difference (file a bug against EUT if needed to improve
pass rate).

> [eut][drlvm] Class.getMethod may return method of subtype 
> ----------------------------------------------------------
>
>                 Key: HARMONY-6077
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6077
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>            Reporter: Regis Xu
>             Fix For: 5.0M9
>
>
> test case:
> X.java:
> import java.lang.reflect.*;
> import p.*;
> public class X {
>     static public void main(String args[]) {
>         Y y = new Y();
>         try {
>             Method foo = Y.class.getMethod("foo", (Class[]) null);
>             y.foo();
>             foo.invoke(y, (Object[]) null);
>         } catch (NoSuchMethodException e) {
>             // ignore
>         } catch (InvocationTargetException e) {
>             // ignore
>         } catch (IllegalAccessException e) {
>             System.out.print("FAILURE: IllegalAccessException");
>         }
>     }
> }
> Y.java
> package p;
> public class Y extends Z {
>     /* empty */
> }
> Z.java
> package p;
> class Z {
>     public void foo() {
>         System.out.println("SUCCESS"); //$NON-NLS-1$
>     }
> }
> run class X, RI and classlib with IBM VME has the same output:
> SUCCESS
> FAILURE: IllegalAccessException
> while drlvm output:
> SUCCESS
> SUCCESS
> after debugging, I found foo is public void p.Z.foo()

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message