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

@ -46,7 +46,8 @@ public abstract class ClassLoader {
throw new IndexOutOfBoundsException();
}
return avian.SystemClassLoader.defineClass(this, b, offset, length);
return avian.SystemClassLoader.getClass
(avian.SystemClassLoader.defineVMClass(this, b, offset, length));
}
protected Class findClass(String name) throws ClassNotFoundException {
@ -87,7 +88,7 @@ public abstract class ClassLoader {
}
protected void resolveClass(Class c) {
avian.SystemClassLoader.link(c, this);
avian.SystemClassLoader.link(c.vmClass, this);
}
private ClassLoader getParent() {