mirror of
https://github.com/corda/corda.git
synced 2025-06-13 04:38:19 +00:00
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:
@ -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() {
|
||||
|
Reference in New Issue
Block a user