summaryrefslogtreecommitdiff
path: root/tests/nbody-java/native_java_lang_Class.c
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-05-08 16:06:26 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-05-08 16:06:26 -0700
commit693682fc225e60c9c335ee910fb3c8bb5cf85470 (patch)
treeb2c1285adf65b68a7b20aa231c4c5665966b2c18 /tests/nbody-java/native_java_lang_Class.c
parentb41b535aeac53740dec416f617378ec4e4e382ce (diff)
add nbody-java code
Diffstat (limited to 'tests/nbody-java/native_java_lang_Class.c')
-rw-r--r--tests/nbody-java/native_java_lang_Class.c899
1 files changed, 899 insertions, 0 deletions
diff --git a/tests/nbody-java/native_java_lang_Class.c b/tests/nbody-java/native_java_lang_Class.c
new file mode 100644
index 00000000..f04c95e5
--- /dev/null
+++ b/tests/nbody-java/native_java_lang_Class.c
@@ -0,0 +1,899 @@
+
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+
+#include "java_lang_reflect_Field.h"
+#include "java_lang_reflect_Constructor.h"
+#include "java_lang_reflect_Method.h"
+#include "org_xmlvm_runtime_XMLVMArray.h"
+#include "java_lang_ClassNotFoundException.h"
+#include "xmlvm-util.h"
+
+
+__TIB_DEFINITION_boolean __TIB_boolean;
+__TIB_DEFINITION_byte __TIB_byte;
+__TIB_DEFINITION_char __TIB_char;
+__TIB_DEFINITION_short __TIB_short;
+__TIB_DEFINITION_int __TIB_int;
+__TIB_DEFINITION_long __TIB_long;
+__TIB_DEFINITION_float __TIB_float;
+__TIB_DEFINITION_double __TIB_double;
+__TIB_DEFINITION_void __TIB_void;
+
+JAVA_OBJECT __CLASS_boolean;
+JAVA_OBJECT __CLASS_byte;
+JAVA_OBJECT __CLASS_char;
+JAVA_OBJECT __CLASS_short;
+JAVA_OBJECT __CLASS_int;
+JAVA_OBJECT __CLASS_long;
+JAVA_OBJECT __CLASS_float;
+JAVA_OBJECT __CLASS_double;
+JAVA_OBJECT __CLASS_void;
+
+
+JAVA_OBJECT __CLASS_boolean_1ARRAY;
+JAVA_OBJECT __CLASS_byte_1ARRAY;
+JAVA_OBJECT __CLASS_char_1ARRAY;
+JAVA_OBJECT __CLASS_short_1ARRAY;
+JAVA_OBJECT __CLASS_int_1ARRAY;
+JAVA_OBJECT __CLASS_long_1ARRAY;
+JAVA_OBJECT __CLASS_float_1ARRAY;
+JAVA_OBJECT __CLASS_double_1ARRAY;
+
+JAVA_OBJECT __CLASS_boolean_2ARRAY;
+JAVA_OBJECT __CLASS_byte_2ARRAY;
+JAVA_OBJECT __CLASS_char_2ARRAY;
+JAVA_OBJECT __CLASS_short_2ARRAY;
+JAVA_OBJECT __CLASS_int_2ARRAY;
+JAVA_OBJECT __CLASS_long_2ARRAY;
+JAVA_OBJECT __CLASS_float_2ARRAY;
+JAVA_OBJECT __CLASS_double_2ARRAY;
+
+JAVA_OBJECT __CLASS_boolean_3ARRAY;
+JAVA_OBJECT __CLASS_byte_3ARRAY;
+JAVA_OBJECT __CLASS_char_3ARRAY;
+JAVA_OBJECT __CLASS_short_3ARRAY;
+JAVA_OBJECT __CLASS_int_3ARRAY;
+JAVA_OBJECT __CLASS_long_3ARRAY;
+JAVA_OBJECT __CLASS_float_3ARRAY;
+JAVA_OBJECT __CLASS_double_3ARRAY;
+
+
+void init_primitive_class(void* clazz, const char* name)
+{
+ __TIB_DEFINITION_TEMPLATE* c = (__TIB_DEFINITION_TEMPLATE*) clazz;
+ //TODO who is initializing this class?
+ c->classInitializationBegan = 1;
+ c->classInitialized = 1;
+ c->initializerThreadId = -1;
+ c->className = name;
+ c->extends = (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Class;
+ c->flags = XMLVM_TYPE_PRIMITIVE;
+ XMLVM_MEMCPY(c->vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+}
+
+void __INIT_boolean()
+{
+ init_primitive_class(&__TIB_boolean, "boolean");
+}
+
+void __INIT_byte()
+{
+ init_primitive_class(&__TIB_byte, "byte");
+}
+
+void __INIT_char()
+{
+ init_primitive_class(&__TIB_char, "char");
+}
+
+void __INIT_short()
+{
+ init_primitive_class(&__TIB_short, "short");
+}
+
+void __INIT_int()
+{
+ init_primitive_class(&__TIB_int, "int");
+}
+
+void __INIT_long()
+{
+ init_primitive_class(&__TIB_long, "long");
+}
+
+void __INIT_float()
+{
+ init_primitive_class(&__TIB_float, "float");
+}
+
+void __INIT_double()
+{
+ init_primitive_class(&__TIB_double, "double");
+}
+
+void __INIT_void()
+{
+ init_primitive_class(&__TIB_void, "void");
+}
+
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+void java_lang_Class_initNativeLayer__()
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_initNativeLayer__]
+ __INIT_boolean();
+ __INIT_byte();
+ __INIT_char();
+ __INIT_short();
+ __INIT_int();
+ __INIT_long();
+ __INIT_float();
+ __INIT_double();
+ __INIT_void();
+
+ __CLASS_boolean = XMLVM_CREATE_CLASS_OBJECT(&__TIB_boolean);
+ __CLASS_byte = XMLVM_CREATE_CLASS_OBJECT(&__TIB_byte);
+ __CLASS_char = XMLVM_CREATE_CLASS_OBJECT(&__TIB_char);
+ __CLASS_short = XMLVM_CREATE_CLASS_OBJECT(&__TIB_short);
+ __CLASS_int = XMLVM_CREATE_CLASS_OBJECT(&__TIB_int);
+ __CLASS_long = XMLVM_CREATE_CLASS_OBJECT(&__TIB_long);
+ __CLASS_float = XMLVM_CREATE_CLASS_OBJECT(&__TIB_float);
+ __CLASS_double = XMLVM_CREATE_CLASS_OBJECT(&__TIB_double);
+ __CLASS_void = XMLVM_CREATE_CLASS_OBJECT(&__TIB_void);
+
+ __CLASS_boolean_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_boolean);
+ __CLASS_byte_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_byte);
+ __CLASS_char_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_char);
+ __CLASS_short_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_short);
+ __CLASS_int_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_int);
+ __CLASS_long_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_long);
+ __CLASS_float_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_float);
+ __CLASS_double_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_double);
+
+ __CLASS_boolean_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_boolean_1ARRAY);
+ __CLASS_byte_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_byte_1ARRAY);
+ __CLASS_char_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_char_1ARRAY);
+ __CLASS_short_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_short_1ARRAY);
+ __CLASS_int_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_int_1ARRAY);
+ __CLASS_long_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_long_1ARRAY);
+ __CLASS_float_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_float_1ARRAY);
+ __CLASS_double_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_double_1ARRAY);
+
+ __CLASS_boolean_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_boolean_2ARRAY);
+ __CLASS_byte_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_byte_2ARRAY);
+ __CLASS_char_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_char_2ARRAY);
+ __CLASS_short_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_short_2ARRAY);
+ __CLASS_int_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_int_2ARRAY);
+ __CLASS_long_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_long_2ARRAY);
+ __CLASS_float_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_float_2ARRAY);
+ __CLASS_double_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_double_2ARRAY);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getStackClasses___int_boolean(JAVA_INT n1, JAVA_BOOLEAN n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getStackClasses___int_boolean]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_forName___java_lang_String_boolean_java_lang_ClassLoader(JAVA_OBJECT n1, JAVA_BOOLEAN n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_forName___java_lang_String_boolean_java_lang_ClassLoader]
+ static JAVA_OBJECT classMap = JAVA_NULL;
+ if (classMap == JAVA_NULL) {
+ classMap = XMLVMUtil_NEW_HashMap();
+ }
+ java_lang_Class* clazz = XMLVMUtil_HashMap_get(classMap, n1);
+ if (clazz != JAVA_NULL) {
+ return clazz;
+ }
+ int i = 0;
+ __TIB_DEFINITION_TEMPLATE* tib;
+ for (i = 0; i < __xmlvm_num_tib; i++) {
+ tib = __xmlvm_tib_list[i];
+ if (xmlvm_java_string_cmp(n1, tib->className)) {
+ XMLVM_REFLECTION_USED(tib->className)
+ break;
+ }
+ }
+ if (i == __xmlvm_num_tib) {
+ // Class not found
+ XMLVM_THROW(java_lang_ClassNotFoundException)
+ }
+ if (!tib->classInitialized) {
+ Func_V initFunc = tib->classInitializer;
+ initFunc();
+ //TODO: static initializers should only be run if n2==true
+ //but can't skip initFunf here, since that initializes the core data structues
+ }
+ clazz = tib->clazz;
+ XMLVMUtil_HashMap_put(classMap, n1, clazz);
+ return clazz;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getClasses__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getClasses__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_Class_verify__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_verify__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getAnnotation___java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getAnnotation___java_lang_Class]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getAnnotations__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getAnnotations__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getComponentType__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getComponentType__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ if ((tib->flags & XMLVM_TYPE_ARRAY) == 0) {
+ // This is not an array
+ return JAVA_NULL;
+ }
+ return tib->baseType;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getConstructors__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getConstructors__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getDeclaredAnnotations__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getDeclaredAnnotations__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getDeclaredClasses__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getDeclaredClasses__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getDeclaredConstructors__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getDeclaredConstructors__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ int numConstructors = tib->numDeclaredConstructors;
+ Func_OOO dispatcher = tib->constructorDispatcherFunc;
+ if (!__TIB_java_lang_reflect_Constructor.classInitialized) __INIT_java_lang_reflect_Constructor();
+ org_xmlvm_runtime_XMLVMArray* constructors = XMLVMArray_createSingleDimension(__CLASS_java_lang_reflect_Constructor, numConstructors);
+ JAVA_ARRAY_OBJECT* constructorArray = (JAVA_ARRAY_OBJECT*) constructors->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ JAVA_INT slot = 0;
+ for (slot = 0; slot < numConstructors; slot++) {
+ java_lang_reflect_Constructor* constructor = __NEW_java_lang_reflect_Constructor();
+ XMLVM_CONSTRUCTOR_REFLECTION_DATA* currentConstructor = (tib->declaredConstructors) + slot;
+ int numParameters = currentConstructor->numParameterTypes;
+ org_xmlvm_runtime_XMLVMArray* parameters = XMLVMArray_createSingleDimension(__CLASS_java_lang_Class, numParameters);
+ JAVA_ARRAY_OBJECT* parameterArray = (JAVA_ARRAY_OBJECT*) parameters->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ int j = 0;
+ JAVA_OBJECT** paramTypes = currentConstructor->parameterTypes;
+ for (j = 0; j < numParameters; j++) {
+ parameterArray[j] = *(paramTypes[j]);
+ }
+ JAVA_OBJECT* checkedExceptions = JAVA_NULL;
+ int numCheckedExceptions = 0;
+ int modifiers = 0;
+ java_lang_String* signature = xmlvm_create_java_string(currentConstructor->signature);
+ JAVA_OBJECT annotations = JAVA_NULL;
+ JAVA_OBJECT parameterAnnotations = JAVA_NULL;
+ java_lang_reflect_Constructor___INIT____java_lang_Class_java_lang_Class_1ARRAY_java_lang_Class_1ARRAY_int_java_lang_Object_int_java_lang_String_byte_1ARRAY_byte_1ARRAY(constructor, tib->clazz, parameters, checkedExceptions, modifiers, dispatcher, slot, signature, annotations, parameterAnnotations);
+ constructorArray[slot] = constructor;
+ }
+ return constructors;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getDeclaredField___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getDeclaredField___java_lang_String]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ int numFields = tib->numDeclaredFields;
+ if (!__TIB_java_lang_reflect_Field.classInitialized) __INIT_java_lang_reflect_Field();
+ int i = 0;
+ for (i = 0; i < numFields; i++) {
+ XMLVM_FIELD_REFLECTION_DATA* currentField = (tib->declaredFields) + i;
+ java_lang_String* name = xmlvm_create_java_string(currentField->name);
+ if(java_lang_Object_equals___java_lang_Object(name, n1))
+ {
+ java_lang_reflect_Field* field = __NEW_java_lang_reflect_Field();
+ java_lang_Class* declaringClass = tib->clazz;
+ java_lang_Class* type = *(currentField->type);
+ JAVA_INT modifiers = currentField->modifiers;
+ JAVA_INT offset = currentField->offset;
+ JAVA_OBJECT* address = currentField->address;
+ java_lang_String* signature = xmlvm_create_java_string(currentField->signature);
+ org_xmlvm_runtime_XMLVMArray* annotations = currentField->annotations;
+ java_lang_reflect_Field___INIT____java_lang_Class_java_lang_String_java_lang_Class_int_int_java_lang_Object_java_lang_String_byte_1ARRAY(field, declaringClass, name, type, modifiers, offset, address, signature, annotations);
+
+ return field;
+ }
+ }
+
+ XMLVM_THROW(java_lang_NoSuchFieldException)
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getDeclaredFields__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getDeclaredFields__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ int numFields = tib->numDeclaredFields;
+ if (!__TIB_java_lang_reflect_Field.classInitialized) __INIT_java_lang_reflect_Field();
+ org_xmlvm_runtime_XMLVMArray* fields = XMLVMArray_createSingleDimension(__CLASS_java_lang_reflect_Field, numFields);
+ JAVA_ARRAY_OBJECT* fieldsArray = (JAVA_ARRAY_OBJECT*) fields->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ int i = 0;
+ for (i = 0; i < numFields; i++) {
+ java_lang_reflect_Field* field = __NEW_java_lang_reflect_Field();
+ XMLVM_FIELD_REFLECTION_DATA* currentField = (tib->declaredFields) + i;
+ java_lang_Class* declaringClass = tib->clazz;
+ java_lang_String* name = xmlvm_create_java_string(currentField->name);
+ java_lang_Class* type = *(currentField->type);
+ JAVA_INT modifiers = currentField->modifiers;
+ JAVA_INT offset = currentField->offset;
+ JAVA_OBJECT* address = currentField->address;
+ java_lang_String* signature = xmlvm_create_java_string(currentField->signature);
+ org_xmlvm_runtime_XMLVMArray* annotations = currentField->annotations;
+ java_lang_reflect_Field___INIT____java_lang_Class_java_lang_String_java_lang_Class_int_int_java_lang_Object_java_lang_String_byte_1ARRAY(field, declaringClass, name, type, modifiers, offset, address, signature, annotations);
+ fieldsArray[i] = field;
+ }
+ return fields;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getDeclaredMethods__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getDeclaredMethods__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ int numMethods = tib->numDeclaredMethods;
+ Func_OOOO dispatcher = tib->methodDispatcherFunc;
+ if (!__TIB_java_lang_reflect_Method.classInitialized) __INIT_java_lang_reflect_Method();
+ org_xmlvm_runtime_XMLVMArray* methods = XMLVMArray_createSingleDimension(__CLASS_java_lang_reflect_Method, numMethods);
+ JAVA_ARRAY_OBJECT* methodArray = (JAVA_ARRAY_OBJECT*) methods->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ JAVA_INT slot = 0;
+ for (slot = 0; slot < numMethods; slot++) {
+ java_lang_reflect_Method* method = __NEW_java_lang_reflect_Method();
+ XMLVM_METHOD_REFLECTION_DATA* currentMethod = (tib->declaredMethods) + slot;
+ int numParameters = currentMethod->numParameterTypes;
+ org_xmlvm_runtime_XMLVMArray* parameters = XMLVMArray_createSingleDimension(__CLASS_java_lang_Class, numParameters);
+ JAVA_ARRAY_OBJECT* parameterArray = (JAVA_ARRAY_OBJECT*) parameters->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ int j = 0;
+ JAVA_OBJECT** paramTypes = currentMethod->parameterTypes;
+ for (j = 0; j < numParameters; j++) {
+ parameterArray[j] = *(paramTypes[j]);
+ }
+ java_lang_String* name = xmlvm_create_java_string(currentMethod->name);
+ JAVA_OBJECT* checkedExceptions = JAVA_NULL;
+ int numCheckedExceptions = 0;
+ int modifiers = 0;
+ java_lang_String* signature = xmlvm_create_java_string(currentMethod->signature);
+ JAVA_OBJECT annotations = JAVA_NULL;
+ JAVA_OBJECT parameterAnnotations = JAVA_NULL;
+ java_lang_reflect_Method___INIT____java_lang_String_java_lang_Class_java_lang_Class_1ARRAY_java_lang_Class_1ARRAY_int_java_lang_Object_int_java_lang_String_byte_1ARRAY_byte_1ARRAY(method, name, tib->clazz, parameters, checkedExceptions, modifiers, dispatcher, slot, signature, annotations, parameterAnnotations);
+ methodArray[slot] = method;
+ }
+ return methods;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getEnclosingClass__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getEnclosingClass__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_java_lang_Object* tib = (__TIB_DEFINITION_java_lang_Object*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ if(!tib->enclosingClassName)
+ return JAVA_NULL;
+ else
+ return java_lang_Class_forName___java_lang_String(xmlvm_create_java_string(tib->enclosingClassName));
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getEnclosingConstructor__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getEnclosingConstructor__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getEnclosingMethod__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getEnclosingMethod__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_java_lang_Class* tib = (__TIB_DEFINITION_java_lang_Class*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ java_lang_Class* enclosingClass=java_lang_Class_getEnclosingClass__(me);
+
+ if(enclosingClass!=JAVA_NULL)
+ {
+ if(tib->enclosingMethodName!=JAVA_NULL)
+ {
+ org_xmlvm_runtime_XMLVMArray* methods=java_lang_Class_getDeclaredMethods__(enclosingClass);
+ JAVA_ARRAY_OBJECT* methodArray = (JAVA_ARRAY_OBJECT*) methods->fields.org_xmlvm_runtime_XMLVMArray.array_;
+
+ for (int i=0;i<methods->fields.org_xmlvm_runtime_XMLVMArray.length_;i++)
+ {
+ java_lang_reflect_Method* method=methodArray[i];
+
+ java_lang_String* methodName=java_lang_reflect_Method_getName__(method);
+
+ //this is just a quick hack, we need to check for parameters etc...
+ if(strstr(tib->enclosingMethodName, xmlvm_java_string_to_const_char(methodName)))
+ {
+ return method;
+ }
+ }
+ }
+ }
+ return JAVA_NULL;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getEnumConstants__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getEnumConstants__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getField___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getField___java_lang_String]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getFields__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getFields__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getInterfaces__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getInterfaces__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT java_lang_Class_getModifiers__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getModifiers__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getName__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getName__]
+ //TODO not quite correct
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ return xmlvm_create_java_string(tib->className);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getSimpleName__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getSimpleName__]
+ //TODO not quite correct
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ return xmlvm_create_java_string(tib->className);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getProtectionDomain__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getProtectionDomain__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getPDImpl__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getPDImpl__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getSigners__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getSigners__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getSuperclass__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getSuperclass__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ __TIB_DEFINITION_TEMPLATE* baseTIP = tib->extends;
+ if (baseTIP == JAVA_NULL) {
+ return JAVA_NULL;
+ }
+ return baseTIP->clazz;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_isAnnotation__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_isAnnotation__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_isAnnotationPresent___java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_isAnnotationPresent___java_lang_Class]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_isAnonymousClass__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_isAnonymousClass__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ //TODO correct check for anonymous
+ return 0;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_isArray__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_isArray__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ return (tib->flags & XMLVM_TYPE_ARRAY) != 0;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_isAssignableFrom___java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_isAssignableFrom___java_lang_Class]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ java_lang_Class* that = (java_lang_Class*) n1;
+
+ // check parameters
+ if (!that)
+ {
+ XMLVM_THROW_WITH_CSTRING(java_lang_NullPointerException, "fromClazz argument");
+ }
+
+ // if primitive class
+ if (java_lang_Class_isPrimitive__(thiz))
+ return thiz==that;
+
+ // if non primitive
+ java_lang_Class* compareTo=thiz;
+ while(compareTo!=JAVA_NULL)
+ {
+ if (compareTo==that)
+ return 1;
+ compareTo = java_lang_Class_getSuperclass__(compareTo);
+ }
+ return 0;
+
+
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_isEnum__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_isEnum__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ return (tib->flags & XMLVM_TYPE_ENUM) != 0;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_isInstance___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_isInstance___java_lang_Object]
+ return XMLVM_ISA(n1, me);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_isInterface__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_isInterface__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ return (tib->flags & XMLVM_TYPE_INTERFACE) != 0;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_isLocalClass__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_isLocalClass__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ //TODO correct check for local
+ return 0;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_isMemberClass__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_isMemberClass__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_isPrimitive__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_isPrimitive__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ return (tib->flags & XMLVM_TYPE_PRIMITIVE) != 0;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_isSynthetic__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_isSynthetic__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_newInstance__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_newInstance__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ Func_O func = tib->newInstanceFunc;
+ return (*func)();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getPackageString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getPackageString__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ return tib->packageName?xmlvm_create_java_string(tib->packageName):JAVA_NULL;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_desiredAssertionStatus__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_desiredAssertionStatus__]
+ return 0;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_asSubclass___java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_asSubclass___java_lang_Class]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getSignatureAttribute__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getSignatureAttribute__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ return tib->signature?xmlvm_create_java_string(tib->signature):JAVA_NULL;
+ //XMLVM_END_NATIVE
+}
+
+
+void xmlvm_init_native_java_lang_Class()
+{
+ //XMLVM_BEGIN_NATIVE_IMPLEMENTATION_INIT
+ //XMLVM_END_NATIVE_IMPLEMENTATION_INIT
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getClasses__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getClasses__] =
+ (VTABLE_PTR) java_lang_Class_getClasses__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_verify__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_verify__] =
+ (VTABLE_PTR) java_lang_Class_verify__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getAnnotation___java_lang_Class
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getAnnotation___java_lang_Class] =
+ (VTABLE_PTR) java_lang_Class_getAnnotation___java_lang_Class;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getAnnotations__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getAnnotations__] =
+ (VTABLE_PTR) java_lang_Class_getAnnotations__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getComponentType__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getComponentType__] =
+ (VTABLE_PTR) java_lang_Class_getComponentType__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getConstructors__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getConstructors__] =
+ (VTABLE_PTR) java_lang_Class_getConstructors__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getDeclaredAnnotations__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getDeclaredAnnotations__] =
+ (VTABLE_PTR) java_lang_Class_getDeclaredAnnotations__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getDeclaredClasses__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getDeclaredClasses__] =
+ (VTABLE_PTR) java_lang_Class_getDeclaredClasses__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getDeclaredConstructors__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getDeclaredConstructors__] =
+ (VTABLE_PTR) java_lang_Class_getDeclaredConstructors__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getDeclaredField___java_lang_String
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getDeclaredField___java_lang_String] =
+ (VTABLE_PTR) java_lang_Class_getDeclaredField___java_lang_String;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getDeclaredFields__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getDeclaredFields__] =
+ (VTABLE_PTR) java_lang_Class_getDeclaredFields__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getDeclaredMethods__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getDeclaredMethods__] =
+ (VTABLE_PTR) java_lang_Class_getDeclaredMethods__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getEnclosingClass__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getEnclosingClass__] =
+ (VTABLE_PTR) java_lang_Class_getEnclosingClass__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getEnclosingConstructor__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getEnclosingConstructor__] =
+ (VTABLE_PTR) java_lang_Class_getEnclosingConstructor__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getEnclosingMethod__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getEnclosingMethod__] =
+ (VTABLE_PTR) java_lang_Class_getEnclosingMethod__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getEnumConstants__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getEnumConstants__] =
+ (VTABLE_PTR) java_lang_Class_getEnumConstants__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getField___java_lang_String
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getField___java_lang_String] =
+ (VTABLE_PTR) java_lang_Class_getField___java_lang_String;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getFields__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getFields__] =
+ (VTABLE_PTR) java_lang_Class_getFields__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getInterfaces__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getInterfaces__] =
+ (VTABLE_PTR) java_lang_Class_getInterfaces__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getModifiers__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getModifiers__] =
+ (VTABLE_PTR) java_lang_Class_getModifiers__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getName__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getName__] =
+ (VTABLE_PTR) java_lang_Class_getName__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getSimpleName__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getSimpleName__] =
+ (VTABLE_PTR) java_lang_Class_getSimpleName__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getProtectionDomain__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getProtectionDomain__] =
+ (VTABLE_PTR) java_lang_Class_getProtectionDomain__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getPDImpl__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getPDImpl__] =
+ (VTABLE_PTR) java_lang_Class_getPDImpl__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getSigners__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getSigners__] =
+ (VTABLE_PTR) java_lang_Class_getSigners__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getSuperclass__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getSuperclass__] =
+ (VTABLE_PTR) java_lang_Class_getSuperclass__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_isAnnotation__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_isAnnotation__] =
+ (VTABLE_PTR) java_lang_Class_isAnnotation__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_isAnnotationPresent___java_lang_Class
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_isAnnotationPresent___java_lang_Class] =
+ (VTABLE_PTR) java_lang_Class_isAnnotationPresent___java_lang_Class;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_isAnonymousClass__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_isAnonymousClass__] =
+ (VTABLE_PTR) java_lang_Class_isAnonymousClass__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_isArray__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_isArray__] =
+ (VTABLE_PTR) java_lang_Class_isArray__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_isAssignableFrom___java_lang_Class
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_isAssignableFrom___java_lang_Class] =
+ (VTABLE_PTR) java_lang_Class_isAssignableFrom___java_lang_Class;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_isEnum__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_isEnum__] =
+ (VTABLE_PTR) java_lang_Class_isEnum__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_isInstance___java_lang_Object
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_isInstance___java_lang_Object] =
+ (VTABLE_PTR) java_lang_Class_isInstance___java_lang_Object;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_isInterface__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_isInterface__] =
+ (VTABLE_PTR) java_lang_Class_isInterface__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_isLocalClass__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_isLocalClass__] =
+ (VTABLE_PTR) java_lang_Class_isLocalClass__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_isMemberClass__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_isMemberClass__] =
+ (VTABLE_PTR) java_lang_Class_isMemberClass__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_isPrimitive__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_isPrimitive__] =
+ (VTABLE_PTR) java_lang_Class_isPrimitive__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_isSynthetic__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_isSynthetic__] =
+ (VTABLE_PTR) java_lang_Class_isSynthetic__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_newInstance__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_newInstance__] =
+ (VTABLE_PTR) java_lang_Class_newInstance__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_desiredAssertionStatus__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_desiredAssertionStatus__] =
+ (VTABLE_PTR) java_lang_Class_desiredAssertionStatus__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_asSubclass___java_lang_Class
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_asSubclass___java_lang_Class] =
+ (VTABLE_PTR) java_lang_Class_asSubclass___java_lang_Class;
+#endif
+}