2
#include "java_lang_Class.h"
3
#include "java_lang_Object.h"
4
#include "java_lang_String.h"
5
#include "java_lang_reflect_Type.h"
7
#include "java_lang_reflect_Method.h"
9
#define XMLVM_CURRENT_CLASS_NAME Method
10
#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_reflect_Method
12
__TIB_DEFINITION_java_lang_reflect_Method __TIB_java_lang_reflect_Method = {
13
0, // classInitializationBegan
14
0, // classInitialized
15
-1, // initializerThreadId
16
__INIT_java_lang_reflect_Method, // classInitializer
17
"java.lang.reflect.Method", // className
18
"java.lang.reflect", // package
19
JAVA_NULL, // enclosingClassName
20
JAVA_NULL, // enclosingMethodName
21
"<T:Ljava/lang/Object;>Ljava/lang/reflect/AccessibleObject;Ljava/lang/reflect/GenericDeclaration;Ljava/lang/reflect/Member;", // signature
22
(__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_reflect_AccessibleObject, // extends
23
sizeof(java_lang_reflect_Method), // sizeInstance
26
JAVA_OBJECT __CLASS_java_lang_reflect_Method;
27
JAVA_OBJECT __CLASS_java_lang_reflect_Method_1ARRAY;
28
JAVA_OBJECT __CLASS_java_lang_reflect_Method_2ARRAY;
29
JAVA_OBJECT __CLASS_java_lang_reflect_Method_3ARRAY;
30
//XMLVM_BEGIN_IMPLEMENTATION
31
//XMLVM_END_IMPLEMENTATION
34
#include "xmlvm-reflection.h"
36
static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
39
static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
42
static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
44
XMLVM_NOT_IMPLEMENTED();
47
static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
50
static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
52
XMLVM_NOT_IMPLEMENTED();
55
void __INIT_java_lang_reflect_Method()
57
staticInitializerLock(&__TIB_java_lang_reflect_Method);
59
// While the static initializer mutex is locked, locally store the value of
60
// whether class initialization began or not
61
int initBegan = __TIB_java_lang_reflect_Method.classInitializationBegan;
63
// Whether or not class initialization had already began, it has begun now
64
__TIB_java_lang_reflect_Method.classInitializationBegan = 1;
66
staticInitializerUnlock(&__TIB_java_lang_reflect_Method);
68
JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
70
if (__TIB_java_lang_reflect_Method.initializerThreadId != curThreadId) {
71
// Busy wait until the other thread finishes initializing this class
72
while (!__TIB_java_lang_reflect_Method.classInitialized) {
77
__TIB_java_lang_reflect_Method.initializerThreadId = curThreadId;
78
XMLVM_CLASS_USED("java.lang.reflect.Method")
79
__INIT_IMPL_java_lang_reflect_Method();
83
void __INIT_IMPL_java_lang_reflect_Method()
85
// Initialize base class if necessary
86
XMLVM_CLASS_INIT(java_lang_reflect_AccessibleObject)
87
__TIB_java_lang_reflect_Method.newInstanceFunc = __NEW_INSTANCE_java_lang_reflect_Method;
88
// Copy vtable from base class
89
XMLVM_MEMCPY(__TIB_java_lang_reflect_Method.vtable, __TIB_java_lang_reflect_AccessibleObject.vtable, sizeof(__TIB_java_lang_reflect_AccessibleObject.vtable));
90
// Initialize vtable for this class
91
__TIB_java_lang_reflect_Method.vtable[14] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
92
__TIB_java_lang_reflect_Method.vtable[16] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
93
__TIB_java_lang_reflect_Method.vtable[1] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
94
__TIB_java_lang_reflect_Method.vtable[12] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
95
__TIB_java_lang_reflect_Method.vtable[9] = (VTABLE_PTR) &java_lang_reflect_Method_getModifiers__;
96
__TIB_java_lang_reflect_Method.vtable[13] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
97
__TIB_java_lang_reflect_Method.vtable[4] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
98
__TIB_java_lang_reflect_Method.vtable[15] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
99
__TIB_java_lang_reflect_Method.vtable[5] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
100
xmlvm_init_native_java_lang_reflect_Method();
101
// Initialize interface information
102
__TIB_java_lang_reflect_Method.numImplementedInterfaces = 3;
103
__TIB_java_lang_reflect_Method.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 3);
105
// Initialize interfaces if necessary and assign tib to implementedInterfaces
107
XMLVM_CLASS_INIT(java_lang_reflect_AnnotatedElement)
109
__TIB_java_lang_reflect_Method.implementedInterfaces[0][0] = &__TIB_java_lang_reflect_AnnotatedElement;
111
XMLVM_CLASS_INIT(java_lang_reflect_GenericDeclaration)
113
__TIB_java_lang_reflect_Method.implementedInterfaces[0][1] = &__TIB_java_lang_reflect_GenericDeclaration;
115
XMLVM_CLASS_INIT(java_lang_reflect_Member)
117
__TIB_java_lang_reflect_Method.implementedInterfaces[0][2] = &__TIB_java_lang_reflect_Member;
118
// Initialize itable for this class
119
__TIB_java_lang_reflect_Method.itableBegin = &__TIB_java_lang_reflect_Method.itable[0];
120
__TIB_java_lang_reflect_Method.itable[XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_getAnnotation___java_lang_Class] = __TIB_java_lang_reflect_Method.vtable[6];
121
__TIB_java_lang_reflect_Method.itable[XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_getAnnotations__] = __TIB_java_lang_reflect_Method.vtable[7];
122
__TIB_java_lang_reflect_Method.itable[XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_getDeclaredAnnotations__] = __TIB_java_lang_reflect_Method.vtable[8];
123
__TIB_java_lang_reflect_Method.itable[XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_isAnnotationPresent___java_lang_Class] = __TIB_java_lang_reflect_Method.vtable[11];
124
__TIB_java_lang_reflect_Method.itable[XMLVM_ITABLE_IDX_java_lang_reflect_GenericDeclaration_getTypeParameters__] = __TIB_java_lang_reflect_Method.vtable[14];
125
__TIB_java_lang_reflect_Method.itable[XMLVM_ITABLE_IDX_java_lang_reflect_Member_getDeclaringClass__] = __TIB_java_lang_reflect_Method.vtable[12];
126
__TIB_java_lang_reflect_Method.itable[XMLVM_ITABLE_IDX_java_lang_reflect_Member_getModifiers__] = __TIB_java_lang_reflect_Method.vtable[9];
127
__TIB_java_lang_reflect_Method.itable[XMLVM_ITABLE_IDX_java_lang_reflect_Member_getName__] = __TIB_java_lang_reflect_Method.vtable[13];
128
__TIB_java_lang_reflect_Method.itable[XMLVM_ITABLE_IDX_java_lang_reflect_Member_isSynthetic__] = __TIB_java_lang_reflect_Method.vtable[16];
131
__TIB_java_lang_reflect_Method.declaredFields = &__field_reflection_data[0];
132
__TIB_java_lang_reflect_Method.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
133
__TIB_java_lang_reflect_Method.constructorDispatcherFunc = constructor_dispatcher;
134
__TIB_java_lang_reflect_Method.declaredConstructors = &__constructor_reflection_data[0];
135
__TIB_java_lang_reflect_Method.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
136
__TIB_java_lang_reflect_Method.methodDispatcherFunc = method_dispatcher;
137
__TIB_java_lang_reflect_Method.declaredMethods = &__method_reflection_data[0];
138
__TIB_java_lang_reflect_Method.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
139
__CLASS_java_lang_reflect_Method = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_reflect_Method);
140
__TIB_java_lang_reflect_Method.clazz = __CLASS_java_lang_reflect_Method;
141
__TIB_java_lang_reflect_Method.baseType = JAVA_NULL;
142
__CLASS_java_lang_reflect_Method_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_Method);
143
__CLASS_java_lang_reflect_Method_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_Method_1ARRAY);
144
__CLASS_java_lang_reflect_Method_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_Method_2ARRAY);
145
//XMLVM_BEGIN_WRAPPER[__INIT_java_lang_reflect_Method]
148
__TIB_java_lang_reflect_Method.classInitialized = 1;
151
void __DELETE_java_lang_reflect_Method(void* me, void* client_data)
153
//XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_reflect_Method]
157
void __INIT_INSTANCE_MEMBERS_java_lang_reflect_Method(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
159
__INIT_INSTANCE_MEMBERS_java_lang_reflect_AccessibleObject(me, 0 || derivedClassWillRegisterFinalizer);
160
((java_lang_reflect_Method*) me)->fields.java_lang_reflect_Method.name_ = (java_lang_String*) JAVA_NULL;
161
((java_lang_reflect_Method*) me)->fields.java_lang_reflect_Method.clazz_ = (java_lang_Class*) JAVA_NULL;
162
((java_lang_reflect_Method*) me)->fields.java_lang_reflect_Method.address_ = (java_lang_Object*) JAVA_NULL;
163
((java_lang_reflect_Method*) me)->fields.java_lang_reflect_Method.slot_ = 0;
164
((java_lang_reflect_Method*) me)->fields.java_lang_reflect_Method.parameterTypes_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
165
((java_lang_reflect_Method*) me)->fields.java_lang_reflect_Method.exceptionTypes_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
166
((java_lang_reflect_Method*) me)->fields.java_lang_reflect_Method.modifiers_ = 0;
167
((java_lang_reflect_Method*) me)->fields.java_lang_reflect_Method.signature_ = (java_lang_String*) JAVA_NULL;
168
((java_lang_reflect_Method*) me)->fields.java_lang_reflect_Method.annotations_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
169
((java_lang_reflect_Method*) me)->fields.java_lang_reflect_Method.parameterAnnotations_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
170
//XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_reflect_Method]
174
JAVA_OBJECT __NEW_java_lang_reflect_Method()
175
{ XMLVM_CLASS_INIT(java_lang_reflect_Method)
176
java_lang_reflect_Method* me = (java_lang_reflect_Method*) XMLVM_MALLOC(sizeof(java_lang_reflect_Method));
177
me->tib = &__TIB_java_lang_reflect_Method;
178
__INIT_INSTANCE_MEMBERS_java_lang_reflect_Method(me, 0);
179
//XMLVM_BEGIN_WRAPPER[__NEW_java_lang_reflect_Method]
184
JAVA_OBJECT __NEW_INSTANCE_java_lang_reflect_Method()
186
JAVA_OBJECT me = JAVA_NULL;
190
void java_lang_reflect_Method___INIT___(JAVA_OBJECT me)
192
//XMLVM_BEGIN_WRAPPER[java_lang_reflect_Method___INIT___]
193
XMLVM_ENTER_METHOD("java.lang.reflect.Method", "<init>", "?")
196
XMLVM_SOURCE_POSITION("Method.java", 49)
198
java_lang_reflect_AccessibleObject___INIT___(_r0.o);
199
XMLVM_SOURCE_POSITION("Method.java", 51)
205
void 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(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_OBJECT n4, JAVA_INT n5, JAVA_OBJECT n6, JAVA_INT n7, JAVA_OBJECT n8, JAVA_OBJECT n9, JAVA_OBJECT n10)
207
//XMLVM_BEGIN_WRAPPER[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]
208
XMLVM_ENTER_METHOD("java.lang.reflect.Method", "<init>", "?")
231
XMLVM_SOURCE_POSITION("Method.java", 55)
233
java_lang_reflect_AccessibleObject___INIT___(_r0.o);
234
XMLVM_SOURCE_POSITION("Method.java", 56)
236
((java_lang_reflect_Method*) _r0.o)->fields.java_lang_reflect_Method.name_ = _r1.o;
237
XMLVM_SOURCE_POSITION("Method.java", 57)
239
((java_lang_reflect_Method*) _r0.o)->fields.java_lang_reflect_Method.clazz_ = _r2.o;
240
XMLVM_SOURCE_POSITION("Method.java", 58)
242
((java_lang_reflect_Method*) _r0.o)->fields.java_lang_reflect_Method.parameterTypes_ = _r3.o;
243
XMLVM_SOURCE_POSITION("Method.java", 59)
245
((java_lang_reflect_Method*) _r0.o)->fields.java_lang_reflect_Method.exceptionTypes_ = _r4.o;
246
XMLVM_SOURCE_POSITION("Method.java", 60)
248
((java_lang_reflect_Method*) _r0.o)->fields.java_lang_reflect_Method.modifiers_ = _r5.i;
249
XMLVM_SOURCE_POSITION("Method.java", 61)
251
((java_lang_reflect_Method*) _r0.o)->fields.java_lang_reflect_Method.address_ = _r6.o;
252
XMLVM_SOURCE_POSITION("Method.java", 62)
254
((java_lang_reflect_Method*) _r0.o)->fields.java_lang_reflect_Method.slot_ = _r7.i;
255
XMLVM_SOURCE_POSITION("Method.java", 63)
257
((java_lang_reflect_Method*) _r0.o)->fields.java_lang_reflect_Method.signature_ = _r8.o;
258
XMLVM_SOURCE_POSITION("Method.java", 64)
260
((java_lang_reflect_Method*) _r0.o)->fields.java_lang_reflect_Method.annotations_ = _r9.o;
261
XMLVM_SOURCE_POSITION("Method.java", 65)
263
((java_lang_reflect_Method*) _r0.o)->fields.java_lang_reflect_Method.parameterAnnotations_ = _r10.o;
264
XMLVM_SOURCE_POSITION("Method.java", 66)
270
//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Method_getTypeParameters__(JAVA_OBJECT me)]
272
//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Method_toGenericString__(JAVA_OBJECT me)]
274
//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Method_getGenericParameterTypes__(JAVA_OBJECT me)]
276
//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Method_getGenericExceptionTypes__(JAVA_OBJECT me)]
278
//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Method_getGenericReturnType__(JAVA_OBJECT me)]
280
//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Method_getParameterAnnotations__(JAVA_OBJECT me)]
282
//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_reflect_Method_isVarArgs__(JAVA_OBJECT me)]
284
//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_reflect_Method_isBridge__(JAVA_OBJECT me)]
286
//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_reflect_Method_isSynthetic__(JAVA_OBJECT me)]
288
//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Method_getDefaultValue__(JAVA_OBJECT me)]
290
//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_reflect_Method_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)]
292
//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Method_getDeclaringClass__(JAVA_OBJECT me)]
294
//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Method_getExceptionTypes__(JAVA_OBJECT me)]
296
JAVA_INT java_lang_reflect_Method_getModifiers__(JAVA_OBJECT me)
298
//XMLVM_BEGIN_WRAPPER[java_lang_reflect_Method_getModifiers__]
299
XMLVM_ENTER_METHOD("java.lang.reflect.Method", "getModifiers", "?")
303
XMLVM_SOURCE_POSITION("Method.java", 216)
305
_r0.i = ((java_lang_reflect_Method*) _r1.o)->fields.java_lang_reflect_Method.modifiers_;
311
//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Method_getName__(JAVA_OBJECT me)]
313
JAVA_OBJECT java_lang_reflect_Method_getParameterTypes__(JAVA_OBJECT me)
315
//XMLVM_BEGIN_WRAPPER[java_lang_reflect_Method_getParameterTypes__]
316
XMLVM_ENTER_METHOD("java.lang.reflect.Method", "getParameterTypes", "?")
320
XMLVM_SOURCE_POSITION("Method.java", 235)
322
_r0.o = ((java_lang_reflect_Method*) _r1.o)->fields.java_lang_reflect_Method.parameterTypes_;
328
JAVA_OBJECT java_lang_reflect_Method_getReturnType__(JAVA_OBJECT me)
330
//XMLVM_BEGIN_WRAPPER[java_lang_reflect_Method_getReturnType__]
331
XMLVM_ENTER_METHOD("java.lang.reflect.Method", "getReturnType", "?")
337
XMLVM_SOURCE_POSITION("Method.java", 245)
340
// Red class access removed: org.apache.harmony.luni.lang.reflect.GenericSignatureParser::new-instance
341
XMLVM_RED_CLASS_DEPENDENCY();
345
// Red class access removed: org.apache.harmony.luni.lang.reflect.GenericSignatureParser::<init>
346
XMLVM_RED_CLASS_DEPENDENCY();
347
XMLVM_SOURCE_POSITION("Method.java", 246)
349
_r1.o = ((java_lang_reflect_Method*) _r3.o)->fields.java_lang_reflect_Method.signature_;
351
_r2.o = ((java_lang_reflect_Method*) _r3.o)->fields.java_lang_reflect_Method.exceptionTypes_;
354
// Red class access removed: org.apache.harmony.luni.lang.reflect.GenericSignatureParser::parseForMethod
355
XMLVM_RED_CLASS_DEPENDENCY();
356
XMLVM_SOURCE_POSITION("Method.java", 247)
359
// Red class access removed: org.apache.harmony.luni.lang.reflect.GenericSignatureParser,java.lang.reflect.Type::returnType
360
XMLVM_RED_CLASS_DEPENDENCY();
363
// Red class access removed: org.apache.harmony.luni.lang.reflect.Types::getType
364
XMLVM_RED_CLASS_DEPENDENCY();
371
//XMLVM_NATIVE[JAVA_INT java_lang_reflect_Method_hashCode__(JAVA_OBJECT me)]
373
//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Method_invoke___java_lang_Object_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)]
375
//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Method_toString__(JAVA_OBJECT me)]