harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ivan Volosyuk" <ivan.volos...@gmail.com>
Subject Re: jchevm status?
Date Mon, 05 Jun 2006 22:08:54 GMT
Archie,

This test seems to pass ok, any way the problem in eclipse was fixed
by following change. (Sorry, do not have enough time to write the
test)

--------------------
--- a/libjc/resolve.c
+++ b/libjc/resolve.c
@@ -222,17 +222,12 @@ _jc_resolve_field(_jc_env *env, _jc_type
                        return field;
        }

-       /* Search for field in superclasses */
-       while (JNI_TRUE) {
-               if ((type = type->superclass) == NULL)
-                       break;
-               if ((field = _jc_get_declared_field(env,
-                   type, name, sig, is_static)) != NULL)
-                       return field;
-       }
+    if (!type->superclass)
+        return NULL;

-       /* Not found */
-       return NULL;
+       /* Search for field in superclasses */
+    return _jc_resolve_field(env,
+            type->superclass, name, sig, is_static);
 }

 /*
-----------------


2006/6/5, Ivan Volosyuk <ivan.volosyuk@gmail.com>:
> The difference is that access to that field should be done without
> reflection. I don't have the jchevm at hand, but I think the
> problematic code should look like:
>
> interface I {
>     static final int field = 123;
> }
>
> class S implements I {
> }
>
> public static C extends S {
>    public static void main(String[] args) {
>        System.out.println(field);
>    }
> }
>
> I didn't tested wether it fails. I will check it when get home.
> --
> Ivan
>
> 2006/6/5, Archie Cobbs <archie@dellroad.org>:
> > Ivan Volosyuk wrote:
> > > Btw, I have found problem is classloader in jchevm.
> > > Resolution of field in interface of superclass of some class fails.
> > > Reproducible at eclipse. I have a patch with fix. It's quite simple. I
> > > can send it at evening too.
> >
> > Do you have a simple test case? This one seems to work OK:

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Mime
View raw message