break each Class, Field, and Method into separate classes

In order to facilitate making the VM compatible with multiple class
libraries, it's useful to separate the VM-specific representation of
these classes from the library implementations.  This commit
introduces VMClass, VMField, and VMMethod for that purpose.
This commit is contained in:
Joel Dice
2010-09-01 10:13:52 -06:00
parent 4273ff834c
commit 17c1a552d5
21 changed files with 547 additions and 348 deletions

View File

@ -27,7 +27,11 @@ public class Object {
protected void finalize() throws Throwable { }
public native final Class<? extends Object> getClass();
public final Class<? extends Object> getClass() {
return avian.SystemClassLoader.getClass(getVMClass(this));
}
private static native avian.VMClass getVMClass(Object o);
public native int hashCode();