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 <[EMAIL PROTECTED]>:
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:

     public class FieldRes {
         public static interface FieldResInterface {
             int field = 123;
         }
         public static class FieldResSuperclass implements FieldResInterface {
         }
         public static class FieldResClass extends FieldResSuperclass {
         }
         public static void main(String[] args) throws Exception {
             FieldResClass obj = new FieldResClass();
             System.out.println(obj.getClass().getField("field"));
             System.out.println(obj.field);
         }
     }

-Archie

__________________________________________________________________________
Archie Cobbs      *        CTO, Awarix        *      http://www.awarix.com

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Ivan
Intel Middleware Products Division

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to