1 #include "xmlvm.h"
2 #include "java_lang_NullPointerException.h"
3 #include "java_lang_String.h"
4 
5 #include "java_util_StringTokenizer.h"
6 
7 #define XMLVM_CURRENT_CLASS_NAME StringTokenizer
8 #define XMLVM_CURRENT_PKG_CLASS_NAME java_util_StringTokenizer
9 
10 __TIB_DEFINITION_java_util_StringTokenizer __TIB_java_util_StringTokenizer = {
11     0, // classInitializationBegan
12     0, // classInitialized
13     -1, // initializerThreadId
14     __INIT_java_util_StringTokenizer, // classInitializer
15     "java.util.StringTokenizer", // className
16     "java.util", // package
17     JAVA_NULL, // enclosingClassName
18     JAVA_NULL, // enclosingMethodName
19     "Ljava/lang/Object;Ljava/util/Enumeration<Ljava/lang/Object;>;", // signature
20     (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
21     sizeof(java_util_StringTokenizer), // sizeInstance
22     XMLVM_TYPE_CLASS};
23 
24 JAVA_OBJECT __CLASS_java_util_StringTokenizer;
25 JAVA_OBJECT __CLASS_java_util_StringTokenizer_1ARRAY;
26 JAVA_OBJECT __CLASS_java_util_StringTokenizer_2ARRAY;
27 JAVA_OBJECT __CLASS_java_util_StringTokenizer_3ARRAY;
28 //XMLVM_BEGIN_IMPLEMENTATION
29 //XMLVM_END_IMPLEMENTATION
30 
31 
32 #include "xmlvm-reflection.h"
33 
34 static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
35 };
36 
37 static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
38 };
39 
constructor_dispatcher(JAVA_OBJECT constructor,JAVA_OBJECT arguments)40 static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
41 {
42     XMLVM_NOT_IMPLEMENTED();
43 }
44 
45 static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
46 };
47 
method_dispatcher(JAVA_OBJECT method,JAVA_OBJECT receiver,JAVA_OBJECT arguments)48 static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
49 {
50     XMLVM_NOT_IMPLEMENTED();
51 }
52 
__INIT_java_util_StringTokenizer()53 void __INIT_java_util_StringTokenizer()
54 {
55     staticInitializerLock(&__TIB_java_util_StringTokenizer);
56 
57     // While the static initializer mutex is locked, locally store the value of
58     // whether class initialization began or not
59     int initBegan = __TIB_java_util_StringTokenizer.classInitializationBegan;
60 
61     // Whether or not class initialization had already began, it has begun now
62     __TIB_java_util_StringTokenizer.classInitializationBegan = 1;
63 
64     staticInitializerUnlock(&__TIB_java_util_StringTokenizer);
65 
66     JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
67     if (initBegan) {
68         if (__TIB_java_util_StringTokenizer.initializerThreadId != curThreadId) {
69             // Busy wait until the other thread finishes initializing this class
70             while (!__TIB_java_util_StringTokenizer.classInitialized) {
71                 // do nothing
72             }
73         }
74     } else {
75         __TIB_java_util_StringTokenizer.initializerThreadId = curThreadId;
76         XMLVM_CLASS_USED("java.util.StringTokenizer")
77         __INIT_IMPL_java_util_StringTokenizer();
78     }
79 }
80 
__INIT_IMPL_java_util_StringTokenizer()81 void __INIT_IMPL_java_util_StringTokenizer()
82 {
83     // Initialize base class if necessary
84     XMLVM_CLASS_INIT(java_lang_Object)
85     __TIB_java_util_StringTokenizer.newInstanceFunc = __NEW_INSTANCE_java_util_StringTokenizer;
86     // Copy vtable from base class
87     XMLVM_MEMCPY(__TIB_java_util_StringTokenizer.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
88     // Initialize vtable for this class
89     __TIB_java_util_StringTokenizer.vtable[6] = (VTABLE_PTR) &java_util_StringTokenizer_hasMoreElements__;
90     __TIB_java_util_StringTokenizer.vtable[7] = (VTABLE_PTR) &java_util_StringTokenizer_nextElement__;
91     // Initialize interface information
92     __TIB_java_util_StringTokenizer.numImplementedInterfaces = 1;
93     __TIB_java_util_StringTokenizer.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
94 
95     // Initialize interfaces if necessary and assign tib to implementedInterfaces
96 
97     XMLVM_CLASS_INIT(java_util_Enumeration)
98 
99     __TIB_java_util_StringTokenizer.implementedInterfaces[0][0] = &__TIB_java_util_Enumeration;
100     // Initialize itable for this class
101     __TIB_java_util_StringTokenizer.itableBegin = &__TIB_java_util_StringTokenizer.itable[0];
102     __TIB_java_util_StringTokenizer.itable[XMLVM_ITABLE_IDX_java_util_Enumeration_hasMoreElements__] = __TIB_java_util_StringTokenizer.vtable[6];
103     __TIB_java_util_StringTokenizer.itable[XMLVM_ITABLE_IDX_java_util_Enumeration_nextElement__] = __TIB_java_util_StringTokenizer.vtable[7];
104 
105 
106     __TIB_java_util_StringTokenizer.declaredFields = &__field_reflection_data[0];
107     __TIB_java_util_StringTokenizer.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
108     __TIB_java_util_StringTokenizer.constructorDispatcherFunc = constructor_dispatcher;
109     __TIB_java_util_StringTokenizer.declaredConstructors = &__constructor_reflection_data[0];
110     __TIB_java_util_StringTokenizer.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
111     __TIB_java_util_StringTokenizer.methodDispatcherFunc = method_dispatcher;
112     __TIB_java_util_StringTokenizer.declaredMethods = &__method_reflection_data[0];
113     __TIB_java_util_StringTokenizer.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
114     __CLASS_java_util_StringTokenizer = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_StringTokenizer);
115     __TIB_java_util_StringTokenizer.clazz = __CLASS_java_util_StringTokenizer;
116     __TIB_java_util_StringTokenizer.baseType = JAVA_NULL;
117     __CLASS_java_util_StringTokenizer_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_StringTokenizer);
118     __CLASS_java_util_StringTokenizer_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_StringTokenizer_1ARRAY);
119     __CLASS_java_util_StringTokenizer_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_StringTokenizer_2ARRAY);
120     //XMLVM_BEGIN_WRAPPER[__INIT_java_util_StringTokenizer]
121     //XMLVM_END_WRAPPER
122 
123     __TIB_java_util_StringTokenizer.classInitialized = 1;
124 }
125 
__DELETE_java_util_StringTokenizer(void * me,void * client_data)126 void __DELETE_java_util_StringTokenizer(void* me, void* client_data)
127 {
128     //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_StringTokenizer]
129     //XMLVM_END_WRAPPER
130 }
131 
__INIT_INSTANCE_MEMBERS_java_util_StringTokenizer(JAVA_OBJECT me,int derivedClassWillRegisterFinalizer)132 void __INIT_INSTANCE_MEMBERS_java_util_StringTokenizer(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
133 {
134     __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
135     ((java_util_StringTokenizer*) me)->fields.java_util_StringTokenizer.string_ = (java_lang_String*) JAVA_NULL;
136     ((java_util_StringTokenizer*) me)->fields.java_util_StringTokenizer.delimiters_ = (java_lang_String*) JAVA_NULL;
137     ((java_util_StringTokenizer*) me)->fields.java_util_StringTokenizer.returnDelimiters_ = 0;
138     ((java_util_StringTokenizer*) me)->fields.java_util_StringTokenizer.position_ = 0;
139     //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_StringTokenizer]
140     //XMLVM_END_WRAPPER
141 }
142 
__NEW_java_util_StringTokenizer()143 JAVA_OBJECT __NEW_java_util_StringTokenizer()
144 {    XMLVM_CLASS_INIT(java_util_StringTokenizer)
145 java_util_StringTokenizer* me = (java_util_StringTokenizer*) XMLVM_MALLOC(sizeof(java_util_StringTokenizer));
146     me->tib = &__TIB_java_util_StringTokenizer;
147     __INIT_INSTANCE_MEMBERS_java_util_StringTokenizer(me, 0);
148     //XMLVM_BEGIN_WRAPPER[__NEW_java_util_StringTokenizer]
149     //XMLVM_END_WRAPPER
150     return me;
151 }
152 
__NEW_INSTANCE_java_util_StringTokenizer()153 JAVA_OBJECT __NEW_INSTANCE_java_util_StringTokenizer()
154 {
155     JAVA_OBJECT me = JAVA_NULL;
156     return me;
157 }
158 
java_util_StringTokenizer___INIT____java_lang_String(JAVA_OBJECT me,JAVA_OBJECT n1)159 void java_util_StringTokenizer___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
160 {
161     //XMLVM_BEGIN_WRAPPER[java_util_StringTokenizer___INIT____java_lang_String]
162     XMLVM_ENTER_METHOD("java.util.StringTokenizer", "<init>", "?")
163     XMLVMElem _r0;
164     XMLVMElem _r1;
165     XMLVMElem _r2;
166     XMLVMElem _r3;
167     _r2.o = me;
168     _r3.o = n1;
169     XMLVM_SOURCE_POSITION("StringTokenizer.java", 123)
170     // " \011\012\015\014"
171     _r0.o = xmlvm_create_java_string_from_pool(649);
172     _r1.i = 0;
173     XMLVM_CHECK_NPE(2)
174     java_util_StringTokenizer___INIT____java_lang_String_java_lang_String_boolean(_r2.o, _r3.o, _r0.o, _r1.i);
175     XMLVM_SOURCE_POSITION("StringTokenizer.java", 124)
176     XMLVM_EXIT_METHOD()
177     return;
178     //XMLVM_END_WRAPPER
179 }
180 
java_util_StringTokenizer___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_OBJECT n2)181 void java_util_StringTokenizer___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
182 {
183     //XMLVM_BEGIN_WRAPPER[java_util_StringTokenizer___INIT____java_lang_String_java_lang_String]
184     XMLVM_ENTER_METHOD("java.util.StringTokenizer", "<init>", "?")
185     XMLVMElem _r0;
186     XMLVMElem _r1;
187     XMLVMElem _r2;
188     XMLVMElem _r3;
189     _r1.o = me;
190     _r2.o = n1;
191     _r3.o = n2;
192     XMLVM_SOURCE_POSITION("StringTokenizer.java", 139)
193     _r0.i = 0;
194     XMLVM_CHECK_NPE(1)
195     java_util_StringTokenizer___INIT____java_lang_String_java_lang_String_boolean(_r1.o, _r2.o, _r3.o, _r0.i);
196     XMLVM_SOURCE_POSITION("StringTokenizer.java", 140)
197     XMLVM_EXIT_METHOD()
198     return;
199     //XMLVM_END_WRAPPER
200 }
201 
java_util_StringTokenizer___INIT____java_lang_String_java_lang_String_boolean(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_OBJECT n2,JAVA_BOOLEAN n3)202 void java_util_StringTokenizer___INIT____java_lang_String_java_lang_String_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_BOOLEAN n3)
203 {
204     //XMLVM_BEGIN_WRAPPER[java_util_StringTokenizer___INIT____java_lang_String_java_lang_String_boolean]
205     XMLVM_ENTER_METHOD("java.util.StringTokenizer", "<init>", "?")
206     XMLVMElem _r0;
207     XMLVMElem _r1;
208     XMLVMElem _r2;
209     XMLVMElem _r3;
210     XMLVMElem _r4;
211     _r1.o = me;
212     _r2.o = n1;
213     _r3.o = n2;
214     _r4.i = n3;
215     XMLVM_SOURCE_POSITION("StringTokenizer.java", 156)
216     XMLVM_CHECK_NPE(1)
217     java_lang_Object___INIT___(_r1.o);
218     XMLVM_SOURCE_POSITION("StringTokenizer.java", 158)
219     if (_r2.o == JAVA_NULL) goto label15;
220     XMLVM_SOURCE_POSITION("StringTokenizer.java", 159)
221     XMLVM_CHECK_NPE(1)
222     ((java_util_StringTokenizer*) _r1.o)->fields.java_util_StringTokenizer.string_ = _r2.o;
223     XMLVM_SOURCE_POSITION("StringTokenizer.java", 160)
224     XMLVM_CHECK_NPE(1)
225     ((java_util_StringTokenizer*) _r1.o)->fields.java_util_StringTokenizer.delimiters_ = _r3.o;
226     XMLVM_SOURCE_POSITION("StringTokenizer.java", 161)
227     XMLVM_CHECK_NPE(1)
228     ((java_util_StringTokenizer*) _r1.o)->fields.java_util_StringTokenizer.returnDelimiters_ = _r4.i;
229     XMLVM_SOURCE_POSITION("StringTokenizer.java", 162)
230     _r0.i = 0;
231     XMLVM_CHECK_NPE(1)
232     ((java_util_StringTokenizer*) _r1.o)->fields.java_util_StringTokenizer.position_ = _r0.i;
233     XMLVM_SOURCE_POSITION("StringTokenizer.java", 165)
234     XMLVM_EXIT_METHOD()
235     return;
236     label15:;
237     XMLVM_SOURCE_POSITION("StringTokenizer.java", 164)
238     _r0.o = __NEW_java_lang_NullPointerException();
239     XMLVM_CHECK_NPE(0)
240     java_lang_NullPointerException___INIT___(_r0.o);
241     XMLVM_THROW_CUSTOM(_r0.o)
242     //XMLVM_END_WRAPPER
243 }
244 
java_util_StringTokenizer_countTokens__(JAVA_OBJECT me)245 JAVA_INT java_util_StringTokenizer_countTokens__(JAVA_OBJECT me)
246 {
247     //XMLVM_BEGIN_WRAPPER[java_util_StringTokenizer_countTokens__]
248     XMLVM_ENTER_METHOD("java.util.StringTokenizer", "countTokens", "?")
249     XMLVMElem _r0;
250     XMLVMElem _r1;
251     XMLVMElem _r2;
252     XMLVMElem _r3;
253     XMLVMElem _r4;
254     XMLVMElem _r5;
255     XMLVMElem _r6;
256     XMLVMElem _r7;
257     _r7.o = me;
258     _r6.i = 0;
259     XMLVM_SOURCE_POSITION("StringTokenizer.java", 174)
260     XMLVM_SOURCE_POSITION("StringTokenizer.java", 176)
261     XMLVM_CHECK_NPE(7)
262     _r0.i = ((java_util_StringTokenizer*) _r7.o)->fields.java_util_StringTokenizer.position_;
263     XMLVM_CHECK_NPE(7)
264     _r1.o = ((java_util_StringTokenizer*) _r7.o)->fields.java_util_StringTokenizer.string_;
265     //java_lang_String_length__[8]
266     XMLVM_CHECK_NPE(1)
267     _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
268     _r2 = _r6;
269     _r3 = _r6;
270     label11:;
271     if (_r0.i < _r1.i) goto label18;
272     XMLVM_SOURCE_POSITION("StringTokenizer.java", 188)
273     if (_r2.i == 0) goto label49;
274     XMLVM_SOURCE_POSITION("StringTokenizer.java", 189)
275     _r0.i = _r3.i + 1;
276     label17:;
277     XMLVM_SOURCE_POSITION("StringTokenizer.java", 190)
278     XMLVM_EXIT_METHOD()
279     return _r0.i;
280     label18:;
281     XMLVM_SOURCE_POSITION("StringTokenizer.java", 177)
282     XMLVM_CHECK_NPE(7)
283     _r4.o = ((java_util_StringTokenizer*) _r7.o)->fields.java_util_StringTokenizer.delimiters_;
284     XMLVM_CHECK_NPE(7)
285     _r5.o = ((java_util_StringTokenizer*) _r7.o)->fields.java_util_StringTokenizer.string_;
286     //java_lang_String_charAt___int[6]
287     XMLVM_CHECK_NPE(5)
288     _r5.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r5.o)->tib->vtable[6])(_r5.o, _r0.i);
289     XMLVM_CHECK_NPE(4)
290     _r4.i = java_lang_String_indexOf___int_int(_r4.o, _r5.i, _r6.i);
291     if (_r4.i < 0) goto label47;
292     XMLVM_SOURCE_POSITION("StringTokenizer.java", 178)
293     XMLVM_CHECK_NPE(7)
294     _r4.i = ((java_util_StringTokenizer*) _r7.o)->fields.java_util_StringTokenizer.returnDelimiters_;
295     if (_r4.i == 0) goto label38;
296     XMLVM_SOURCE_POSITION("StringTokenizer.java", 179)
297     _r3.i = _r3.i + 1;
298     label38:;
299     XMLVM_SOURCE_POSITION("StringTokenizer.java", 180)
300     if (_r2.i == 0) goto label44;
301     XMLVM_SOURCE_POSITION("StringTokenizer.java", 181)
302     _r2.i = _r3.i + 1;
303     _r3 = _r2;
304     _r2 = _r6;
305     label44:;
306     XMLVM_SOURCE_POSITION("StringTokenizer.java", 182)
307     _r0.i = _r0.i + 1;
308     goto label11;
309     label47:;
310     XMLVM_SOURCE_POSITION("StringTokenizer.java", 185)
311     _r2.i = 1;
312     goto label44;
313     label49:;
314     _r0 = _r3;
315     goto label17;
316     //XMLVM_END_WRAPPER
317 }
318 
java_util_StringTokenizer_hasMoreElements__(JAVA_OBJECT me)319 JAVA_BOOLEAN java_util_StringTokenizer_hasMoreElements__(JAVA_OBJECT me)
320 {
321     //XMLVM_BEGIN_WRAPPER[java_util_StringTokenizer_hasMoreElements__]
322     XMLVM_ENTER_METHOD("java.util.StringTokenizer", "hasMoreElements", "?")
323     XMLVMElem _r0;
324     XMLVMElem _r1;
325     _r1.o = me;
326     XMLVM_SOURCE_POSITION("StringTokenizer.java", 200)
327     XMLVM_CHECK_NPE(1)
328     _r0.i = java_util_StringTokenizer_hasMoreTokens__(_r1.o);
329     XMLVM_EXIT_METHOD()
330     return _r0.i;
331     //XMLVM_END_WRAPPER
332 }
333 
java_util_StringTokenizer_hasMoreTokens__(JAVA_OBJECT me)334 JAVA_BOOLEAN java_util_StringTokenizer_hasMoreTokens__(JAVA_OBJECT me)
335 {
336     //XMLVM_BEGIN_WRAPPER[java_util_StringTokenizer_hasMoreTokens__]
337     XMLVM_ENTER_METHOD("java.util.StringTokenizer", "hasMoreTokens", "?")
338     XMLVMElem _r0;
339     XMLVMElem _r1;
340     XMLVMElem _r2;
341     XMLVMElem _r3;
342     XMLVMElem _r4;
343     XMLVMElem _r5;
344     XMLVMElem _r6;
345     _r6.o = me;
346     _r5.i = 1;
347     _r4.i = 0;
348     XMLVM_SOURCE_POSITION("StringTokenizer.java", 209)
349     XMLVM_CHECK_NPE(6)
350     _r0.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.delimiters_;
351     if (_r0.o != JAVA_NULL) goto label12;
352     XMLVM_SOURCE_POSITION("StringTokenizer.java", 210)
353     _r0.o = __NEW_java_lang_NullPointerException();
354     XMLVM_CHECK_NPE(0)
355     java_lang_NullPointerException___INIT___(_r0.o);
356     XMLVM_THROW_CUSTOM(_r0.o)
357     label12:;
358     XMLVM_SOURCE_POSITION("StringTokenizer.java", 212)
359     XMLVM_CHECK_NPE(6)
360     _r0.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.string_;
361     //java_lang_String_length__[8]
362     XMLVM_CHECK_NPE(0)
363     _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[8])(_r0.o);
364     XMLVM_SOURCE_POSITION("StringTokenizer.java", 213)
365     XMLVM_CHECK_NPE(6)
366     _r1.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
367     if (_r1.i >= _r0.i) goto label32;
368     XMLVM_SOURCE_POSITION("StringTokenizer.java", 214)
369     XMLVM_CHECK_NPE(6)
370     _r1.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.returnDelimiters_;
371     if (_r1.i == 0) goto label28;
372     _r0 = _r5;
373     label27:;
374     XMLVM_SOURCE_POSITION("StringTokenizer.java", 215)
375     XMLVM_SOURCE_POSITION("StringTokenizer.java", 223)
376     XMLVM_EXIT_METHOD()
377     return _r0.i;
378     label28:;
379     XMLVM_SOURCE_POSITION("StringTokenizer.java", 219)
380     XMLVM_CHECK_NPE(6)
381     _r1.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
382     label30:;
383     if (_r1.i < _r0.i) goto label34;
384     label32:;
385     _r0 = _r4;
386     goto label27;
387     label34:;
388     XMLVM_SOURCE_POSITION("StringTokenizer.java", 220)
389     XMLVM_CHECK_NPE(6)
390     _r2.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.delimiters_;
391     XMLVM_CHECK_NPE(6)
392     _r3.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.string_;
393     //java_lang_String_charAt___int[6]
394     XMLVM_CHECK_NPE(3)
395     _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r3.o)->tib->vtable[6])(_r3.o, _r1.i);
396     XMLVM_CHECK_NPE(2)
397     _r2.i = java_lang_String_indexOf___int_int(_r2.o, _r3.i, _r4.i);
398     _r3.i = -1;
399     if (_r2.i != _r3.i) goto label51;
400     _r0 = _r5;
401     XMLVM_SOURCE_POSITION("StringTokenizer.java", 221)
402     goto label27;
403     label51:;
404     _r1.i = _r1.i + 1;
405     goto label30;
406     //XMLVM_END_WRAPPER
407 }
408 
java_util_StringTokenizer_nextElement__(JAVA_OBJECT me)409 JAVA_OBJECT java_util_StringTokenizer_nextElement__(JAVA_OBJECT me)
410 {
411     //XMLVM_BEGIN_WRAPPER[java_util_StringTokenizer_nextElement__]
412     XMLVM_ENTER_METHOD("java.util.StringTokenizer", "nextElement", "?")
413     XMLVMElem _r0;
414     XMLVMElem _r1;
415     _r1.o = me;
416     XMLVM_SOURCE_POSITION("StringTokenizer.java", 235)
417     XMLVM_CHECK_NPE(1)
418     _r0.o = java_util_StringTokenizer_nextToken__(_r1.o);
419     XMLVM_EXIT_METHOD()
420     return _r0.o;
421     //XMLVM_END_WRAPPER
422 }
423 
java_util_StringTokenizer_nextToken__(JAVA_OBJECT me)424 JAVA_OBJECT java_util_StringTokenizer_nextToken__(JAVA_OBJECT me)
425 {
426     //XMLVM_BEGIN_WRAPPER[java_util_StringTokenizer_nextToken__]
427     XMLVM_ENTER_METHOD("java.util.StringTokenizer", "nextToken", "?")
428     XMLVMElem _r0;
429     XMLVMElem _r1;
430     XMLVMElem _r2;
431     XMLVMElem _r3;
432     XMLVMElem _r4;
433     XMLVMElem _r5;
434     XMLVMElem _r6;
435     _r6.o = me;
436     _r5.i = 0;
437     XMLVM_SOURCE_POSITION("StringTokenizer.java", 246)
438     XMLVM_CHECK_NPE(6)
439     _r0.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.delimiters_;
440     if (_r0.o != JAVA_NULL) goto label11;
441     XMLVM_SOURCE_POSITION("StringTokenizer.java", 247)
442     _r0.o = __NEW_java_lang_NullPointerException();
443     XMLVM_CHECK_NPE(0)
444     java_lang_NullPointerException___INIT___(_r0.o);
445     XMLVM_THROW_CUSTOM(_r0.o)
446     label11:;
447     XMLVM_SOURCE_POSITION("StringTokenizer.java", 249)
448     XMLVM_CHECK_NPE(6)
449     _r0.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
450     XMLVM_SOURCE_POSITION("StringTokenizer.java", 250)
451     XMLVM_CHECK_NPE(6)
452     _r1.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.string_;
453     //java_lang_String_length__[8]
454     XMLVM_CHECK_NPE(1)
455     _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
456     XMLVM_SOURCE_POSITION("StringTokenizer.java", 252)
457     if (_r0.i >= _r1.i) goto label178;
458     XMLVM_SOURCE_POSITION("StringTokenizer.java", 253)
459     XMLVM_CHECK_NPE(6)
460     _r2.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.returnDelimiters_;
461     if (_r2.i == 0) goto label109;
462     XMLVM_SOURCE_POSITION("StringTokenizer.java", 254)
463     XMLVM_CHECK_NPE(6)
464     _r2.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.delimiters_;
465     XMLVM_CHECK_NPE(6)
466     _r3.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.string_;
467     XMLVM_CHECK_NPE(6)
468     _r4.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
469     //java_lang_String_charAt___int[6]
470     XMLVM_CHECK_NPE(3)
471     _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r3.o)->tib->vtable[6])(_r3.o, _r4.i);
472     XMLVM_CHECK_NPE(2)
473     _r2.i = java_lang_String_indexOf___int_int(_r2.o, _r3.i, _r5.i);
474     if (_r2.i < 0) goto label58;
475     XMLVM_SOURCE_POSITION("StringTokenizer.java", 255)
476     XMLVM_CHECK_NPE(6)
477     _r0.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.string_;
478     XMLVM_CHECK_NPE(6)
479     _r1.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
480     _r2.i = _r1.i + 1;
481     XMLVM_CHECK_NPE(6)
482     ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_ = _r2.i;
483     //java_lang_String_charAt___int[6]
484     XMLVM_CHECK_NPE(0)
485     _r0.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r0.o)->tib->vtable[6])(_r0.o, _r1.i);
486     _r0.o = java_lang_String_valueOf___char(_r0.i);
487     label57:;
488     XMLVM_SOURCE_POSITION("StringTokenizer.java", 269)
489     XMLVM_EXIT_METHOD()
490     return _r0.o;
491     label58:;
492     XMLVM_SOURCE_POSITION("StringTokenizer.java", 256)
493     XMLVM_CHECK_NPE(6)
494     _r2.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
495     _r2.i = _r2.i + 1;
496     XMLVM_CHECK_NPE(6)
497     ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_ = _r2.i;
498     label64:;
499     XMLVM_CHECK_NPE(6)
500     _r2.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
501     if (_r2.i < _r1.i) goto label75;
502     XMLVM_SOURCE_POSITION("StringTokenizer.java", 259)
503     XMLVM_CHECK_NPE(6)
504     _r1.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.string_;
505     XMLVM_CHECK_NPE(1)
506     _r0.o = java_lang_String_substring___int(_r1.o, _r0.i);
507     goto label57;
508     label75:;
509     XMLVM_SOURCE_POSITION("StringTokenizer.java", 257)
510     XMLVM_CHECK_NPE(6)
511     _r2.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.delimiters_;
512     XMLVM_CHECK_NPE(6)
513     _r3.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.string_;
514     XMLVM_CHECK_NPE(6)
515     _r4.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
516     //java_lang_String_charAt___int[6]
517     XMLVM_CHECK_NPE(3)
518     _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r3.o)->tib->vtable[6])(_r3.o, _r4.i);
519     XMLVM_CHECK_NPE(2)
520     _r2.i = java_lang_String_indexOf___int_int(_r2.o, _r3.i, _r5.i);
521     if (_r2.i < 0) goto label100;
522     XMLVM_SOURCE_POSITION("StringTokenizer.java", 258)
523     XMLVM_CHECK_NPE(6)
524     _r1.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.string_;
525     XMLVM_CHECK_NPE(6)
526     _r2.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
527     XMLVM_CHECK_NPE(1)
528     _r0.o = java_lang_String_substring___int_int(_r1.o, _r0.i, _r2.i);
529     goto label57;
530     label100:;
531     XMLVM_CHECK_NPE(6)
532     _r2.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
533     _r2.i = _r2.i + 1;
534     XMLVM_CHECK_NPE(6)
535     ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_ = _r2.i;
536     goto label64;
537     label107:;
538     XMLVM_SOURCE_POSITION("StringTokenizer.java", 263)
539     _r0.i = _r0.i + 1;
540     label109:;
541     XMLVM_SOURCE_POSITION("StringTokenizer.java", 262)
542     if (_r0.i >= _r1.i) goto label125;
543     XMLVM_CHECK_NPE(6)
544     _r2.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.delimiters_;
545     XMLVM_CHECK_NPE(6)
546     _r3.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.string_;
547     //java_lang_String_charAt___int[6]
548     XMLVM_CHECK_NPE(3)
549     _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r3.o)->tib->vtable[6])(_r3.o, _r0.i);
550     XMLVM_CHECK_NPE(2)
551     _r2.i = java_lang_String_indexOf___int_int(_r2.o, _r3.i, _r5.i);
552     if (_r2.i >= 0) goto label107;
553     label125:;
554     XMLVM_SOURCE_POSITION("StringTokenizer.java", 264)
555     XMLVM_CHECK_NPE(6)
556     ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_ = _r0.i;
557     XMLVM_SOURCE_POSITION("StringTokenizer.java", 265)
558     if (_r0.i >= _r1.i) goto label178;
559     XMLVM_SOURCE_POSITION("StringTokenizer.java", 266)
560     XMLVM_CHECK_NPE(6)
561     _r2.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
562     _r2.i = _r2.i + 1;
563     XMLVM_CHECK_NPE(6)
564     ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_ = _r2.i;
565     label135:;
566     XMLVM_CHECK_NPE(6)
567     _r2.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
568     if (_r2.i < _r1.i) goto label146;
569     XMLVM_CHECK_NPE(6)
570     _r1.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.string_;
571     XMLVM_CHECK_NPE(1)
572     _r0.o = java_lang_String_substring___int(_r1.o, _r0.i);
573     goto label57;
574     label146:;
575     XMLVM_SOURCE_POSITION("StringTokenizer.java", 267)
576     XMLVM_CHECK_NPE(6)
577     _r2.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.delimiters_;
578     XMLVM_CHECK_NPE(6)
579     _r3.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.string_;
580     XMLVM_CHECK_NPE(6)
581     _r4.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
582     //java_lang_String_charAt___int[6]
583     XMLVM_CHECK_NPE(3)
584     _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r3.o)->tib->vtable[6])(_r3.o, _r4.i);
585     XMLVM_CHECK_NPE(2)
586     _r2.i = java_lang_String_indexOf___int_int(_r2.o, _r3.i, _r5.i);
587     if (_r2.i < 0) goto label171;
588     XMLVM_SOURCE_POSITION("StringTokenizer.java", 268)
589     XMLVM_CHECK_NPE(6)
590     _r1.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.string_;
591     XMLVM_CHECK_NPE(6)
592     _r2.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
593     XMLVM_CHECK_NPE(1)
594     _r0.o = java_lang_String_substring___int_int(_r1.o, _r0.i, _r2.i);
595     goto label57;
596     label171:;
597     XMLVM_CHECK_NPE(6)
598     _r2.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
599     _r2.i = _r2.i + 1;
600     XMLVM_CHECK_NPE(6)
601     ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_ = _r2.i;
602     goto label135;
603     label178:;
604     XMLVM_SOURCE_POSITION("StringTokenizer.java", 272)
605 
606 
607     // Red class access removed: java.util.NoSuchElementException::new-instance
608     XMLVM_RED_CLASS_DEPENDENCY();
609 
610 
611     // Red class access removed: java.util.NoSuchElementException::<init>
612     XMLVM_RED_CLASS_DEPENDENCY();
613     XMLVM_THROW_CUSTOM(_r0.o)
614     //XMLVM_END_WRAPPER
615 }
616 
java_util_StringTokenizer_nextToken___java_lang_String(JAVA_OBJECT me,JAVA_OBJECT n1)617 JAVA_OBJECT java_util_StringTokenizer_nextToken___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
618 {
619     //XMLVM_BEGIN_WRAPPER[java_util_StringTokenizer_nextToken___java_lang_String]
620     XMLVM_ENTER_METHOD("java.util.StringTokenizer", "nextToken", "?")
621     XMLVMElem _r0;
622     XMLVMElem _r1;
623     XMLVMElem _r2;
624     _r1.o = me;
625     _r2.o = n1;
626     XMLVM_SOURCE_POSITION("StringTokenizer.java", 286)
627     XMLVM_CHECK_NPE(1)
628     ((java_util_StringTokenizer*) _r1.o)->fields.java_util_StringTokenizer.delimiters_ = _r2.o;
629     XMLVM_SOURCE_POSITION("StringTokenizer.java", 287)
630     XMLVM_CHECK_NPE(1)
631     _r0.o = java_util_StringTokenizer_nextToken__(_r1.o);
632     XMLVM_EXIT_METHOD()
633     return _r0.o;
634     //XMLVM_END_WRAPPER
635 }
636 
637