#include "xmlvm.h"
#include "java_io_File.h"
#include "java_io_IOException.h"
#include "java_lang_ClassLoader.h"
#include "java_lang_RuntimeException.h"
#include "java_lang_String.h"
#include "java_lang_StringBuilder.h"
#include "java_lang_System.h"
#include "java_lang_Throwable.h"
#include "java_lang_reflect_Constructor.h"
#include "java_lang_reflect_Field.h"
#include "java_lang_reflect_Method.h"
#include "org_xmlvm_runtime_XMLVMClassLoader.h"
#include "java_lang_Class.h"
#define XMLVM_CURRENT_CLASS_NAME Class
#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_Class
__TIB_DEFINITION_java_lang_Class __TIB_java_lang_Class = {
0, // classInitializationBegan
0, // classInitialized
-1, // initializerThreadId
__INIT_java_lang_Class, // classInitializer
"java.lang.Class", // className
"java.lang", // package
JAVA_NULL, // enclosingClassName
JAVA_NULL, // enclosingMethodName
"<T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/reflect/AnnotatedElement;Ljava/lang/reflect/GenericDeclaration;Ljava/lang/reflect/Type;", // signature
(__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
sizeof(java_lang_Class), // sizeInstance
XMLVM_TYPE_CLASS};
JAVA_OBJECT __CLASS_java_lang_Class;
JAVA_OBJECT __CLASS_java_lang_Class_1ARRAY;
JAVA_OBJECT __CLASS_java_lang_Class_2ARRAY;
JAVA_OBJECT __CLASS_java_lang_Class_3ARRAY;
//XMLVM_BEGIN_IMPLEMENTATION
//XMLVM_END_IMPLEMENTATION
static JAVA_LONG _STATIC_java_lang_Class_serialVersionUID;
static JAVA_OBJECT _STATIC_java_lang_Class_classLoader;
#include "xmlvm-reflection.h"
static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
};
static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
};
static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
{
XMLVM_NOT_IMPLEMENTED();
}
static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
};
static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
{
XMLVM_NOT_IMPLEMENTED();
}
void __INIT_java_lang_Class()
{
staticInitializerLock(&__TIB_java_lang_Class);
// While the static initializer mutex is locked, locally store the value of
// whether class initialization began or not
int initBegan = __TIB_java_lang_Class.classInitializationBegan;
// Whether or not class initialization had already began, it has begun now
__TIB_java_lang_Class.classInitializationBegan = 1;
staticInitializerUnlock(&__TIB_java_lang_Class);
JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
if (initBegan) {
if (__TIB_java_lang_Class.initializerThreadId != curThreadId) {
// Busy wait until the other thread finishes initializing this class
while (!__TIB_java_lang_Class.classInitialized) {
// do nothing
}
}
} else {
__TIB_java_lang_Class.initializerThreadId = curThreadId;
XMLVM_CLASS_USED("java.lang.Class")
__INIT_IMPL_java_lang_Class();
}
}
void __INIT_IMPL_java_lang_Class()
{
// Initialize base class if necessary
XMLVM_CLASS_INIT(java_lang_Object)
__TIB_java_lang_Class.newInstanceFunc = __NEW_INSTANCE_java_lang_Class;
// Copy vtable from base class
XMLVM_MEMCPY(__TIB_java_lang_Class.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
// Initialize vtable for this class
__TIB_java_lang_Class.vtable[6] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
__TIB_java_lang_Class.vtable[7] = (VTABLE_PTR