diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-05-08 16:06:26 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-05-08 16:06:26 -0700 |
commit | 693682fc225e60c9c335ee910fb3c8bb5cf85470 (patch) | |
tree | b2c1285adf65b68a7b20aa231c4c5665966b2c18 /tests/nbody-java/native_java_lang_Class.c | |
parent | b41b535aeac53740dec416f617378ec4e4e382ce (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.c | 899 |
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 +} |