1 #include "xmlvm.h"
2 #include "java_lang_Class.h"
3 #include "java_lang_Exception.h"
4 #include "java_lang_NullPointerException.h"
5 #include "java_lang_String.h"
6 #include "java_lang_reflect_Method.h"
7 #include "java_security_AccessController.h"
8 #include "org_apache_harmony_luni_internal_nls_Messages.h"
9
10 #include "java_lang_Enum.h"
11
12 #define XMLVM_CURRENT_CLASS_NAME Enum
13 #define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_Enum
14
15 __TIB_DEFINITION_java_lang_Enum __TIB_java_lang_Enum = {
16 0, // classInitializationBegan
17 0, // classInitialized
18 -1, // initializerThreadId
19 __INIT_java_lang_Enum, // classInitializer
20 "java.lang.Enum", // className
21 "java.lang", // package
22 JAVA_NULL, // enclosingClassName
23 JAVA_NULL, // enclosingMethodName
24 "<E:Ljava/lang/Enum<TE;>;>Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/Comparable<TE;>;", // signature
25 (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
26 sizeof(java_lang_Enum), // sizeInstance
27 XMLVM_TYPE_CLASS};
28
29 JAVA_OBJECT __CLASS_java_lang_Enum;
30 JAVA_OBJECT __CLASS_java_lang_Enum_1ARRAY;
31 JAVA_OBJECT __CLASS_java_lang_Enum_2ARRAY;
32 JAVA_OBJECT __CLASS_java_lang_Enum_3ARRAY;
33 //XMLVM_BEGIN_IMPLEMENTATION
34 //XMLVM_END_IMPLEMENTATION
35
36 static JAVA_LONG _STATIC_java_lang_Enum_serialVersionUID;
37
38 #include "xmlvm-reflection.h"
39
40 static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
41 };
42
43 static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
44 };
45
constructor_dispatcher(JAVA_OBJECT constructor,JAVA_OBJECT arguments)46 static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
47 {
48 XMLVM_NOT_IMPLEMENTED();
49 }
50
51 static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
52 };
53
method_dispatcher(JAVA_OBJECT method,JAVA_OBJECT receiver,JAVA_OBJECT arguments)54 static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
55 {
56 XMLVM_NOT_IMPLEMENTED();
57 }
58
__INIT_java_lang_Enum()59 void __INIT_java_lang_Enum()
60 {
61 staticInitializerLock(&__TIB_java_lang_Enum);
62
63 // While the static initializer mutex is locked, locally store the value of
64 // whether class initialization began or not
65 int initBegan = __TIB_java_lang_Enum.classInitializationBegan;
66
67 // Whether or not class initialization had already began, it has begun now
68 __TIB_java_lang_Enum.classInitializationBegan = 1;
69
70 staticInitializerUnlock(&__TIB_java_lang_Enum);
71
72 JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
73 if (initBegan) {
74 if (__TIB_java_lang_Enum.initializerThreadId != curThreadId) {
75 // Busy wait until the other thread finishes initializing this class
76 while (!__TIB_java_lang_Enum.classInitialized) {
77 // do nothing
78 }
79 }
80 } else {
81 __TIB_java_lang_Enum.initializerThreadId = curThreadId;
82 XMLVM_CLASS_USED("java.lang.Enum")
83 __INIT_IMPL_java_lang_Enum();
84 }
85 }
86
__INIT_IMPL_java_lang_Enum()87 void __INIT_IMPL_java_lang_Enum()
88 {
89 // Initialize base class if necessary
90 XMLVM_CLASS_INIT(java_lang_Object)
91 __TIB_java_lang_Enum.newInstanceFunc = __NEW_INSTANCE_java_lang_Enum;
92 // Copy vtable from base class
93 XMLVM_MEMCPY(__TIB_java_lang_Enum.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
94 // Initialize vtable for this class
95 __TIB_java_lang_Enum.vtable[5] = (VTABLE_PTR) &java_lang_Enum_toString__;
96 __TIB_java_lang_Enum.vtable[1] = (VTABLE_PTR) &java_lang_Enum_equals___java_lang_Object;
97 __TIB_java_lang_Enum.vtable[4] = (VTABLE_PTR) &java_lang_Enum_hashCode__;
98 __TIB_java_lang_Enum.vtable[0] = (VTABLE_PTR) &java_lang_Enum_clone__;
99 __TIB_java_lang_Enum.vtable[2] = (VTABLE_PTR) &java_lang_Enum_finalize_java_lang_Enum__;
100 __TIB_java_lang_Enum.vtable[6] = (VTABLE_PTR) &java_lang_Enum_compareTo___java_lang_Object;
101 // Initialize interface information
102 __TIB_java_lang_Enum.numImplementedInterfaces = 2;
103 __TIB_java_lang_Enum.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
104
105 // Initialize interfaces if necessary and assign tib to implementedInterfaces
106
107 XMLVM_CLASS_INIT(java_io_Serializable)
108
109 __TIB_java_lang_Enum.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
110
111 XMLVM_CLASS_INIT(java_lang_Comparable)
112
113 __TIB_java_lang_Enum.implementedInterfaces[0][1] = &__TIB_java_lang_Comparable;
114 // Initialize itable for this class
115 __TIB_java_lang_Enum.itableBegin = &__TIB_java_lang_Enum.itable[0];
116 __TIB_java_lang_Enum.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_java_lang_Enum.vtable[6];
117
118 _STATIC_java_lang_Enum_serialVersionUID = -4300926546619394005;
119
120 __TIB_java_lang_Enum.declaredFields = &__field_reflection_data[0];
121 __TIB_java_lang_Enum.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
122 __TIB_java_lang_Enum.constructorDispatcherFunc = constructor_dispatcher;
123 __TIB_java_lang_Enum.declaredConstructors = &__constructor_reflection_data[0];
124 __TIB_java_lang_Enum.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
125 __TIB_java_lang_Enum.methodDispatcherFunc = method_dispatcher;
126 __TIB_java_lang_Enum.declaredMethods = &__method_reflection_data[0];
127 __TIB_java_lang_Enum.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
128 __CLASS_java_lang_Enum = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Enum);
129 __TIB_java_lang_Enum.clazz = __CLASS_java_lang_Enum;
130 __TIB_java_lang_Enum.baseType = JAVA_NULL;
131 __CLASS_java_lang_Enum_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Enum);
132 __CLASS_java_lang_Enum_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Enum_1ARRAY);
133 __CLASS_java_lang_Enum_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Enum_2ARRAY);
134 //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_Enum]
135 //XMLVM_END_WRAPPER
136
137 __TIB_java_lang_Enum.classInitialized = 1;
138 }
139
__DELETE_java_lang_Enum(void * me,void * client_data)140 void __DELETE_java_lang_Enum(void* me, void* client_data)
141 {
142 //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_Enum]
143 //XMLVM_END_WRAPPER
144 // Call the finalizer
145 (*(void (*)(JAVA_OBJECT)) ((java_lang_Object*) me)->tib->vtable[XMLVM_VTABLE_IDX_java_lang_Object_finalize_java_lang_Object__])(me);
146 }
147
__INIT_INSTANCE_MEMBERS_java_lang_Enum(JAVA_OBJECT me,int derivedClassWillRegisterFinalizer)148 void __INIT_INSTANCE_MEMBERS_java_lang_Enum(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
149 {
150 __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 1 || derivedClassWillRegisterFinalizer);
151 ((java_lang_Enum*) me)->fields.java_lang_Enum.name_ = (java_lang_String*) JAVA_NULL;
152 ((java_lang_Enum*) me)->fields.java_lang_Enum.ordinal_ = 0;
153 //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_Enum]
154 //XMLVM_END_WRAPPER
155 if (!derivedClassWillRegisterFinalizer) {
156 // Tell the GC to finalize us
157 XMLVM_FINALIZE(me, __DELETE_java_lang_Enum);
158 }
159 }
160
__NEW_java_lang_Enum()161 JAVA_OBJECT __NEW_java_lang_Enum()
162 { XMLVM_CLASS_INIT(java_lang_Enum)
163 java_lang_Enum* me = (java_lang_Enum*) XMLVM_MALLOC(sizeof(java_lang_Enum));
164 me->tib = &__TIB_java_lang_Enum;
165 __INIT_INSTANCE_MEMBERS_java_lang_Enum(me, 0);
166 //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_Enum]
167 //XMLVM_END_WRAPPER
168 return me;
169 }
170
__NEW_INSTANCE_java_lang_Enum()171 JAVA_OBJECT __NEW_INSTANCE_java_lang_Enum()
172 {
173 JAVA_OBJECT me = JAVA_NULL;
174 return me;
175 }
176
java_lang_Enum_GET_serialVersionUID()177 JAVA_LONG java_lang_Enum_GET_serialVersionUID()
178 {
179 XMLVM_CLASS_INIT(java_lang_Enum)
180 return _STATIC_java_lang_Enum_serialVersionUID;
181 }
182
java_lang_Enum_PUT_serialVersionUID(JAVA_LONG v)183 void java_lang_Enum_PUT_serialVersionUID(JAVA_LONG v)
184 {
185 XMLVM_CLASS_INIT(java_lang_Enum)
186 _STATIC_java_lang_Enum_serialVersionUID = v;
187 }
188
java_lang_Enum___INIT____java_lang_String_int(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_INT n2)189 void java_lang_Enum___INIT____java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
190 {
191 //XMLVM_BEGIN_WRAPPER[java_lang_Enum___INIT____java_lang_String_int]
192 XMLVM_ENTER_METHOD("java.lang.Enum", "<init>", "?")
193 XMLVMElem _r0;
194 XMLVMElem _r1;
195 XMLVMElem _r2;
196 _r0.o = me;
197 _r1.o = n1;
198 _r2.i = n2;
199 XMLVM_SOURCE_POSITION("Enum.java", 49)
200 XMLVM_CHECK_NPE(0)
201 java_lang_Object___INIT___(_r0.o);
202 XMLVM_SOURCE_POSITION("Enum.java", 50)
203 XMLVM_CHECK_NPE(0)
204 ((java_lang_Enum*) _r0.o)->fields.java_lang_Enum.name_ = _r1.o;
205 XMLVM_SOURCE_POSITION("Enum.java", 51)
206 XMLVM_CHECK_NPE(0)
207 ((java_lang_Enum*) _r0.o)->fields.java_lang_Enum.ordinal_ = _r2.i;
208 XMLVM_SOURCE_POSITION("Enum.java", 52)
209 XMLVM_EXIT_METHOD()
210 return;
211 //XMLVM_END_WRAPPER
212 }
213
java_lang_Enum_name__(JAVA_OBJECT me)214 JAVA_OBJECT java_lang_Enum_name__(JAVA_OBJECT me)
215 {
216 //XMLVM_BEGIN_WRAPPER[java_lang_Enum_name__]
217 XMLVM_ENTER_METHOD("java.lang.Enum", "name", "?")
218 XMLVMElem _r0;
219 XMLVMElem _r1;
220 _r1.o = me;
221 XMLVM_SOURCE_POSITION("Enum.java", 62)
222 XMLVM_CHECK_NPE(1)
223 _r0.o = ((java_lang_Enum*) _r1.o)->fields.java_lang_Enum.name_;
224 XMLVM_EXIT_METHOD()
225 return _r0.o;
226 //XMLVM_END_WRAPPER
227 }
228
java_lang_Enum_ordinal__(JAVA_OBJECT me)229 JAVA_INT java_lang_Enum_ordinal__(JAVA_OBJECT me)
230 {
231 //XMLVM_BEGIN_WRAPPER[java_lang_Enum_ordinal__]
232 XMLVM_ENTER_METHOD("java.lang.Enum", "ordinal", "?")
233 XMLVMElem _r0;
234 XMLVMElem _r1;
235 _r1.o = me;
236 XMLVM_SOURCE_POSITION("Enum.java", 72)
237 XMLVM_CHECK_NPE(1)
238 _r0.i = ((java_lang_Enum*) _r1.o)->fields.java_lang_Enum.ordinal_;
239 XMLVM_EXIT_METHOD()
240 return _r0.i;
241 //XMLVM_END_WRAPPER
242 }
243
java_lang_Enum_toString__(JAVA_OBJECT me)244 JAVA_OBJECT java_lang_Enum_toString__(JAVA_OBJECT me)
245 {
246 //XMLVM_BEGIN_WRAPPER[java_lang_Enum_toString__]
247 XMLVM_ENTER_METHOD("java.lang.Enum", "toString", "?")
248 XMLVMElem _r0;
249 XMLVMElem _r1;
250 _r1.o = me;
251 XMLVM_SOURCE_POSITION("Enum.java", 83)
252 XMLVM_CHECK_NPE(1)
253 _r0.o = ((java_lang_Enum*) _r1.o)->fields.java_lang_Enum.name_;
254 XMLVM_EXIT_METHOD()
255 return _r0.o;
256 //XMLVM_END_WRAPPER
257 }
258
java_lang_Enum_equals___java_lang_Object(JAVA_OBJECT me,JAVA_OBJECT n1)259 JAVA_BOOLEAN java_lang_Enum_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
260 {
261 //XMLVM_BEGIN_WRAPPER[java_lang_Enum_equals___java_lang_Object]
262 XMLVM_ENTER_METHOD("java.lang.Enum", "equals", "?")
263 XMLVMElem _r0;
264 XMLVMElem _r1;
265 XMLVMElem _r2;
266 _r1.o = me;
267 _r2.o = n1;
268 XMLVM_SOURCE_POSITION("Enum.java", 98)
269 if (_r1.o != _r2.o) goto label4;
270 _r0.i = 1;
271 label3:;
272 XMLVM_EXIT_METHOD()
273 return _r0.i;
274 label4:;
275 _r0.i = 0;
276 goto label3;
277 //XMLVM_END_WRAPPER
278 }
279
java_lang_Enum_hashCode__(JAVA_OBJECT me)280 JAVA_INT java_lang_Enum_hashCode__(JAVA_OBJECT me)
281 {
282 //XMLVM_BEGIN_WRAPPER[java_lang_Enum_hashCode__]
283 XMLVM_ENTER_METHOD("java.lang.Enum", "hashCode", "?")
284 XMLVMElem _r0;
285 XMLVMElem _r1;
286 XMLVMElem _r2;
287 _r2.o = me;
288 XMLVM_SOURCE_POSITION("Enum.java", 103)
289 XMLVM_CHECK_NPE(2)
290 _r0.i = ((java_lang_Enum*) _r2.o)->fields.java_lang_Enum.ordinal_;
291 XMLVM_CHECK_NPE(2)
292 _r1.o = ((java_lang_Enum*) _r2.o)->fields.java_lang_Enum.name_;
293 if (_r1.o != JAVA_NULL) goto label9;
294 _r1.i = 0;
295 label7:;
296 _r0.i = _r0.i + _r1.i;
297 XMLVM_EXIT_METHOD()
298 return _r0.i;
299 label9:;
300 XMLVM_CHECK_NPE(2)
301 _r1.o = ((java_lang_Enum*) _r2.o)->fields.java_lang_Enum.name_;
302 //java_lang_String_hashCode__[4]
303 XMLVM_CHECK_NPE(1)
304 _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[4])(_r1.o);
305 goto label7;
306 //XMLVM_END_WRAPPER
307 }
308
java_lang_Enum_clone__(JAVA_OBJECT me)309 JAVA_OBJECT java_lang_Enum_clone__(JAVA_OBJECT me)
310 {
311 //XMLVM_BEGIN_WRAPPER[java_lang_Enum_clone__]
312 XMLVM_ENTER_METHOD("java.lang.Enum", "clone", "?")
313 XMLVMElem _r0;
314 XMLVMElem _r1;
315 XMLVMElem _r2;
316 _r2.o = me;
317 XMLVM_SOURCE_POSITION("Enum.java", 117)
318
319
320 // Red class access removed: java.lang.CloneNotSupportedException::new-instance
321 XMLVM_RED_CLASS_DEPENDENCY();
322 // "luni.4C"
323 _r1.o = xmlvm_create_java_string_from_pool(832);
324 _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String(_r1.o);
325
326
327 // Red class access removed: java.lang.CloneNotSupportedException::<init>
328 XMLVM_RED_CLASS_DEPENDENCY();
329 XMLVM_THROW_CUSTOM(_r0.o)
330 //XMLVM_END_WRAPPER
331 }
332
java_lang_Enum_compareTo___java_lang_Enum(JAVA_OBJECT me,JAVA_OBJECT n1)333 JAVA_INT java_lang_Enum_compareTo___java_lang_Enum(JAVA_OBJECT me, JAVA_OBJECT n1)
334 {
335 //XMLVM_BEGIN_WRAPPER[java_lang_Enum_compareTo___java_lang_Enum]
336 XMLVM_ENTER_METHOD("java.lang.Enum", "compareTo", "?")
337 XMLVMElem _r0;
338 XMLVMElem _r1;
339 XMLVMElem _r2;
340 XMLVMElem _r3;
341 _r2.o = me;
342 _r3.o = n1;
343 XMLVM_SOURCE_POSITION("Enum.java", 135)
344 XMLVM_CHECK_NPE(2)
345 _r0.i = ((java_lang_Enum*) _r2.o)->fields.java_lang_Enum.ordinal_;
346 XMLVM_CHECK_NPE(3)
347 _r1.i = ((java_lang_Enum*) _r3.o)->fields.java_lang_Enum.ordinal_;
348 _r0.i = _r0.i - _r1.i;
349 XMLVM_EXIT_METHOD()
350 return _r0.i;
351 //XMLVM_END_WRAPPER
352 }
353
java_lang_Enum_getDeclaringClass__(JAVA_OBJECT me)354 JAVA_OBJECT java_lang_Enum_getDeclaringClass__(JAVA_OBJECT me)
355 {
356 //XMLVM_BEGIN_WRAPPER[java_lang_Enum_getDeclaringClass__]
357 XMLVM_ENTER_METHOD("java.lang.Enum", "getDeclaringClass", "?")
358 XMLVMElem _r0;
359 XMLVMElem _r1;
360 XMLVMElem _r2;
361 XMLVMElem _r3;
362 _r3.o = me;
363 XMLVM_SOURCE_POSITION("Enum.java", 145)
364 //java_lang_Object_getClass__[3]
365 XMLVM_CHECK_NPE(3)
366 _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r3.o)->tib->vtable[3])(_r3.o);
367 XMLVM_SOURCE_POSITION("Enum.java", 146)
368 XMLVM_CHECK_NPE(0)
369 _r1.o = java_lang_Class_getSuperclass__(_r0.o);
370 XMLVM_SOURCE_POSITION("Enum.java", 147)
371 XMLVM_CLASS_INIT(java_lang_Enum)
372 _r2.o = __CLASS_java_lang_Enum;
373 if (_r2.o != _r1.o) goto label13;
374 label12:;
375 XMLVM_SOURCE_POSITION("Enum.java", 150)
376 XMLVM_EXIT_METHOD()
377 return _r0.o;
378 label13:;
379 _r0 = _r1;
380 goto label12;
381 //XMLVM_END_WRAPPER
382 }
383
java_lang_Enum_valueOf___java_lang_Class_java_lang_String(JAVA_OBJECT n1,JAVA_OBJECT n2)384 JAVA_OBJECT java_lang_Enum_valueOf___java_lang_Class_java_lang_String(JAVA_OBJECT n1, JAVA_OBJECT n2)
385 {
386 XMLVM_CLASS_INIT(java_lang_Enum)
387 //XMLVM_BEGIN_WRAPPER[java_lang_Enum_valueOf___java_lang_Class_java_lang_String]
388 XMLVM_ENTER_METHOD("java.lang.Enum", "valueOf", "?")
389 XMLVMElem _r0;
390 XMLVMElem _r1;
391 XMLVMElem _r2;
392 XMLVMElem _r3;
393 XMLVMElem _r4;
394 XMLVMElem _r5;
395 XMLVMElem _r6;
396 _r5.o = n1;
397 _r6.o = n2;
398 XMLVM_SOURCE_POSITION("Enum.java", 169)
399 if (_r5.o == JAVA_NULL) goto label4;
400 if (_r6.o != JAVA_NULL) goto label16;
401 label4:;
402 XMLVM_SOURCE_POSITION("Enum.java", 171)
403 _r0.o = __NEW_java_lang_NullPointerException();
404 // "luni.4D"
405 _r1.o = xmlvm_create_java_string_from_pool(833);
406 _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String(_r1.o);
407 XMLVM_CHECK_NPE(0)
408 java_lang_NullPointerException___INIT____java_lang_String(_r0.o, _r1.o);
409 XMLVM_THROW_CUSTOM(_r0.o)
410 label16:;
411 XMLVM_SOURCE_POSITION("Enum.java", 173)
412 _r0.o = java_lang_Enum_getValues___java_lang_Class(_r5.o);
413 XMLVM_SOURCE_POSITION("Enum.java", 174)
414 if (_r0.o != JAVA_NULL) goto label34;
415 XMLVM_SOURCE_POSITION("Enum.java", 176)
416
417
418 // Red class access removed: java.lang.IllegalArgumentException::new-instance
419 XMLVM_RED_CLASS_DEPENDENCY();
420 // "luni.4E"
421 _r1.o = xmlvm_create_java_string_from_pool(834);
422 _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object(_r1.o, _r5.o);
423
424
425 // Red class access removed: java.lang.IllegalArgumentException::<init>
426 XMLVM_RED_CLASS_DEPENDENCY();
427 XMLVM_THROW_CUSTOM(_r0.o)
428 label34:;
429 XMLVM_SOURCE_POSITION("Enum.java", 178)
430 _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
431 _r2.i = 0;
432 label36:;
433 if (_r2.i < _r1.i) goto label50;
434 XMLVM_SOURCE_POSITION("Enum.java", 184)
435
436
437 // Red class access removed: java.lang.IllegalArgumentException::new-instance
438 XMLVM_RED_CLASS_DEPENDENCY();
439 // "luni.4F"
440 _r1.o = xmlvm_create_java_string_from_pool(835);
441 XMLVM_SOURCE_POSITION("Enum.java", 185)
442 _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_java_lang_Object(_r1.o, _r6.o, _r5.o);
443
444
445 // Red class access removed: java.lang.IllegalArgumentException::<init>
446 XMLVM_RED_CLASS_DEPENDENCY();
447 XMLVM_THROW_CUSTOM(_r0.o)
448 label50:;
449 XMLVM_CHECK_NPE(0)
450 XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
451 _r3.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
452 XMLVM_SOURCE_POSITION("Enum.java", 179)
453 XMLVM_CHECK_NPE(3)
454 _r4.o = ((java_lang_Enum*) _r3.o)->fields.java_lang_Enum.name_;
455 //java_lang_String_equals___java_lang_Object[1]
456 XMLVM_CHECK_NPE(4)
457 _r4.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r4.o)->tib->vtable[1])(_r4.o, _r6.o);
458 if (_r4.i == 0) goto label61;
459 XMLVM_SOURCE_POSITION("Enum.java", 180)
460 XMLVM_EXIT_METHOD()
461 return _r3.o;
462 label61:;
463 _r2.i = _r2.i + 1;
464 goto label36;
465 //XMLVM_END_WRAPPER
466 }
467
java_lang_Enum_getValues___java_lang_Class(JAVA_OBJECT n1)468 JAVA_OBJECT java_lang_Enum_getValues___java_lang_Class(JAVA_OBJECT n1)
469 {
470 XMLVM_CLASS_INIT(java_lang_Enum)
471 //XMLVM_BEGIN_WRAPPER[java_lang_Enum_getValues___java_lang_Class]
472 XMLVM_ENTER_METHOD("java.lang.Enum", "getValues", "?")
473 volatile XMLVMElem _r0;
474 volatile XMLVMElem _r1;
475 volatile XMLVMElem _r2;
476 volatile XMLVMElem _r3;
477 _r3.o = n1;
478 _r2.o = JAVA_NULL;
479 XMLVM_TRY_BEGIN(w6397aaac13b1b3)
480 // Begin try
481 XMLVM_SOURCE_POSITION("Enum.java", 196)
482
483
484 // Red class access removed: java.lang.Enum$1::new-instance
485 XMLVM_RED_CLASS_DEPENDENCY();
486
487
488 // Red class access removed: java.lang.Enum$1::<init>
489 XMLVM_RED_CLASS_DEPENDENCY();
490 _r0.o = java_security_AccessController_doPrivileged___java_security_PrivilegedExceptionAction(_r0.o);
491 _r0.o = _r0.o;
492 XMLVM_SOURCE_POSITION("Enum.java", 204)
493 _r1.o = JAVA_NULL;
494 //java_lang_reflect_Method_invoke___java_lang_Object_java_lang_Object_1ARRAY[15]
495 XMLVM_CHECK_NPE(0)
496 _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_reflect_Method*) _r0.o)->tib->vtable[15])(_r0.o, _r3.o, _r1.o);
497 _r3.o = _r3.o;
498 // End try
499 XMLVM_TRY_END
500 XMLVM_CATCH_BEGIN(w6397aaac13b1b3)
501 XMLVM_CATCH_SPECIFIC(w6397aaac13b1b3,java_lang_Exception,21)
502 XMLVM_CATCH_END(w6397aaac13b1b3)
503 XMLVM_RESTORE_EXCEPTION_ENV(w6397aaac13b1b3)
504 _r0 = _r3;
505 label20:;
506 XMLVM_SOURCE_POSITION("Enum.java", 206)
507 XMLVM_EXIT_METHOD()
508 return _r0.o;
509 label21:;
510 java_lang_Thread* curThread_w6397aaac13b1b9 = (java_lang_Thread*)java_lang_Thread_currentThread__();
511 _r0.o = curThread_w6397aaac13b1b9->fields.java_lang_Thread.xmlvmException_;
512 _r0 = _r2;
513 goto label20;
514 //XMLVM_END_WRAPPER
515 }
516
java_lang_Enum_finalize_java_lang_Enum__(JAVA_OBJECT me)517 void java_lang_Enum_finalize_java_lang_Enum__(JAVA_OBJECT me)
518 {
519 //XMLVM_BEGIN_WRAPPER[java_lang_Enum_finalize_java_lang_Enum__]
520 XMLVM_ENTER_METHOD("java.lang.Enum", "finalize", "?")
521 XMLVMElem _r0;
522 _r0.o = me;
523 XMLVM_SOURCE_POSITION("Enum.java", 219)
524 XMLVM_EXIT_METHOD()
525 return;
526 //XMLVM_END_WRAPPER
527 }
528
java_lang_Enum_compareTo___java_lang_Object(JAVA_OBJECT me,JAVA_OBJECT n1)529 JAVA_INT java_lang_Enum_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
530 {
531 //XMLVM_BEGIN_WRAPPER[java_lang_Enum_compareTo___java_lang_Object]
532 XMLVM_ENTER_METHOD("java.lang.Enum", "compareTo", "?")
533 XMLVMElem _r0;
534 XMLVMElem _r1;
535 XMLVMElem _r2;
536 _r1.o = me;
537 _r2.o = n1;
538 XMLVM_SOURCE_POSITION("Enum.java", 1)
539 _r2.o = _r2.o;
540 XMLVM_CHECK_NPE(1)
541 _r0.i = java_lang_Enum_compareTo___java_lang_Enum(_r1.o, _r2.o);
542 XMLVM_EXIT_METHOD()
543 return _r0.i;
544 //XMLVM_END_WRAPPER
545 }
546
547