1 #include "xmlvm.h"
2 #include "java_lang_IndexOutOfBoundsException.h"
3 #include "java_lang_Math.h"
4 #include "java_lang_NullPointerException.h"
5 #include "java_lang_Object.h"
6 #include "java_lang_String.h"
7 #include "java_lang_StringBuilder.h"
8 #include "java_nio_BufferFactory.h"
9
10 #include "java_nio_CharBuffer.h"
11
12 #define XMLVM_CURRENT_CLASS_NAME CharBuffer
13 #define XMLVM_CURRENT_PKG_CLASS_NAME java_nio_CharBuffer
14
15 __TIB_DEFINITION_java_nio_CharBuffer __TIB_java_nio_CharBuffer = {
16 0, // classInitializationBegan
17 0, // classInitialized
18 -1, // initializerThreadId
19 __INIT_java_nio_CharBuffer, // classInitializer
20 "java.nio.CharBuffer", // className
21 "java.nio", // package
22 JAVA_NULL, // enclosingClassName
23 JAVA_NULL, // enclosingMethodName
24 "Ljava/nio/Buffer;Ljava/lang/Comparable<Ljava/nio/CharBuffer;>;Ljava/lang/CharSequence;Ljava/lang/Appendable;Ljava/lang/Readable;", // signature
25 (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_Buffer, // extends
26 sizeof(java_nio_CharBuffer), // sizeInstance
27 XMLVM_TYPE_CLASS};
28
29 JAVA_OBJECT __CLASS_java_nio_CharBuffer;
30 JAVA_OBJECT __CLASS_java_nio_CharBuffer_1ARRAY;
31 JAVA_OBJECT __CLASS_java_nio_CharBuffer_2ARRAY;
32 JAVA_OBJECT __CLASS_java_nio_CharBuffer_3ARRAY;
33 //XMLVM_BEGIN_IMPLEMENTATION
34 //XMLVM_END_IMPLEMENTATION
35
36
37 #include "xmlvm-reflection.h"
38
39 static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
40 };
41
42 static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
43 };
44
constructor_dispatcher(JAVA_OBJECT constructor,JAVA_OBJECT arguments)45 static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
46 {
47 XMLVM_NOT_IMPLEMENTED();
48 }
49
50 static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
51 };
52
method_dispatcher(JAVA_OBJECT method,JAVA_OBJECT receiver,JAVA_OBJECT arguments)53 static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
54 {
55 XMLVM_NOT_IMPLEMENTED();
56 }
57
__INIT_java_nio_CharBuffer()58 void __INIT_java_nio_CharBuffer()
59 {
60 staticInitializerLock(&__TIB_java_nio_CharBuffer);
61
62 // While the static initializer mutex is locked, locally store the value of
63 // whether class initialization began or not
64 int initBegan = __TIB_java_nio_CharBuffer.classInitializationBegan;
65
66 // Whether or not class initialization had already began, it has begun now
67 __TIB_java_nio_CharBuffer.classInitializationBegan = 1;
68
69 staticInitializerUnlock(&__TIB_java_nio_CharBuffer);
70
71 JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
72 if (initBegan) {
73 if (__TIB_java_nio_CharBuffer.initializerThreadId != curThreadId) {
74 // Busy wait until the other thread finishes initializing this class
75 while (!__TIB_java_nio_CharBuffer.classInitialized) {
76 // do nothing
77 }
78 }
79 } else {
80 __TIB_java_nio_CharBuffer.initializerThreadId = curThreadId;
81 XMLVM_CLASS_USED("java.nio.CharBuffer")
82 __INIT_IMPL_java_nio_CharBuffer();
83 }
84 }
85
__INIT_IMPL_java_nio_CharBuffer()86 void __INIT_IMPL_java_nio_CharBuffer()
87 {
88 // Initialize base class if necessary
89 XMLVM_CLASS_INIT(java_nio_Buffer)
90 __TIB_java_nio_CharBuffer.newInstanceFunc = __NEW_INSTANCE_java_nio_CharBuffer;
91 // Copy vtable from base class
92 XMLVM_MEMCPY(__TIB_java_nio_CharBuffer.vtable, __TIB_java_nio_Buffer.vtable, sizeof(__TIB_java_nio_Buffer.vtable));
93 // Initialize vtable for this class
94 __TIB_java_nio_CharBuffer.vtable[7] = (VTABLE_PTR) &java_nio_CharBuffer_array__;
95 __TIB_java_nio_CharBuffer.vtable[6] = (VTABLE_PTR) &java_nio_CharBuffer_arrayOffset__;
96 __TIB_java_nio_CharBuffer.vtable[15] = (VTABLE_PTR) &java_nio_CharBuffer_charAt___int;
97 __TIB_java_nio_CharBuffer.vtable[1] = (VTABLE_PTR) &java_nio_CharBuffer_equals___java_lang_Object;
98 __TIB_java_nio_CharBuffer.vtable[20] = (VTABLE_PTR) &java_nio_CharBuffer_get___char_1ARRAY_int_int;
99 __TIB_java_nio_CharBuffer.vtable[8] = (VTABLE_PTR) &java_nio_CharBuffer_hasArray__;
100 __TIB_java_nio_CharBuffer.vtable[4] = (VTABLE_PTR) &java_nio_CharBuffer_hashCode__;
101 __TIB_java_nio_CharBuffer.vtable[22] = (VTABLE_PTR) &java_nio_CharBuffer_length__;
102 __TIB_java_nio_CharBuffer.vtable[28] = (VTABLE_PTR) &java_nio_CharBuffer_put___char_1ARRAY_int_int;
103 __TIB_java_nio_CharBuffer.vtable[5] = (VTABLE_PTR) &java_nio_CharBuffer_toString__;
104 __TIB_java_nio_CharBuffer.vtable[11] = (VTABLE_PTR) &java_nio_CharBuffer_append___char;
105 __TIB_java_nio_CharBuffer.vtable[12] = (VTABLE_PTR) &java_nio_CharBuffer_append___java_lang_CharSequence;
106 __TIB_java_nio_CharBuffer.vtable[13] = (VTABLE_PTR) &java_nio_CharBuffer_append___java_lang_CharSequence_int_int;
107 __TIB_java_nio_CharBuffer.vtable[30] = (VTABLE_PTR) &java_nio_CharBuffer_read___java_nio_CharBuffer;
108 __TIB_java_nio_CharBuffer.vtable[17] = (VTABLE_PTR) &java_nio_CharBuffer_compareTo___java_lang_Object;
109 // Initialize interface information
110 __TIB_java_nio_CharBuffer.numImplementedInterfaces = 4;
111 __TIB_java_nio_CharBuffer.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 4);
112
113 // Initialize interfaces if necessary and assign tib to implementedInterfaces
114
115 XMLVM_CLASS_INIT(java_lang_Appendable)
116
117 __TIB_java_nio_CharBuffer.implementedInterfaces[0][0] = &__TIB_java_lang_Appendable;
118
119 XMLVM_CLASS_INIT(java_lang_CharSequence)
120
121 __TIB_java_nio_CharBuffer.implementedInterfaces[0][1] = &__TIB_java_lang_CharSequence;
122
123 XMLVM_CLASS_INIT(java_lang_Comparable)
124
125 __TIB_java_nio_CharBuffer.implementedInterfaces[0][2] = &__TIB_java_lang_Comparable;
126
127 XMLVM_CLASS_INIT(java_lang_Readable)
128
129 __TIB_java_nio_CharBuffer.implementedInterfaces[0][3] = &__TIB_java_lang_Readable;
130 // Initialize itable for this class
131 __TIB_java_nio_CharBuffer.itableBegin = &__TIB_java_nio_CharBuffer.itable[0];
132 __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Appendable_append___char] = __TIB_java_nio_CharBuffer.vtable[11];
133 __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Appendable_append___java_lang_CharSequence] = __TIB_java_nio_CharBuffer.vtable[12];
134 __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Appendable_append___java_lang_CharSequence_int_int] = __TIB_java_nio_CharBuffer.vtable[13];
135 __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_charAt___int] = __TIB_java_nio_CharBuffer.vtable[15];
136 __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_length__] = __TIB_java_nio_CharBuffer.vtable[22];
137 __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_subSequence___int_int] = __TIB_java_nio_CharBuffer.vtable[32];
138 __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_toString__] = __TIB_java_nio_CharBuffer.vtable[5];
139 __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_java_nio_CharBuffer.vtable[17];
140 __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Readable_read___java_nio_CharBuffer] = __TIB_java_nio_CharBuffer.vtable[30];
141
142
143 __TIB_java_nio_CharBuffer.declaredFields = &__field_reflection_data[0];
144 __TIB_java_nio_CharBuffer.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
145 __TIB_java_nio_CharBuffer.constructorDispatcherFunc = constructor_dispatcher;
146 __TIB_java_nio_CharBuffer.declaredConstructors = &__constructor_reflection_data[0];
147 __TIB_java_nio_CharBuffer.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
148 __TIB_java_nio_CharBuffer.methodDispatcherFunc = method_dispatcher;
149 __TIB_java_nio_CharBuffer.declaredMethods = &__method_reflection_data[0];
150 __TIB_java_nio_CharBuffer.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
151 __CLASS_java_nio_CharBuffer = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_nio_CharBuffer);
152 __TIB_java_nio_CharBuffer.clazz = __CLASS_java_nio_CharBuffer;
153 __TIB_java_nio_CharBuffer.baseType = JAVA_NULL;
154 __CLASS_java_nio_CharBuffer_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_CharBuffer);
155 __CLASS_java_nio_CharBuffer_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_CharBuffer_1ARRAY);
156 __CLASS_java_nio_CharBuffer_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_CharBuffer_2ARRAY);
157 //XMLVM_BEGIN_WRAPPER[__INIT_java_nio_CharBuffer]
158 //XMLVM_END_WRAPPER
159
160 __TIB_java_nio_CharBuffer.classInitialized = 1;
161 }
162
__DELETE_java_nio_CharBuffer(void * me,void * client_data)163 void __DELETE_java_nio_CharBuffer(void* me, void* client_data)
164 {
165 //XMLVM_BEGIN_WRAPPER[__DELETE_java_nio_CharBuffer]
166 //XMLVM_END_WRAPPER
167 }
168
__INIT_INSTANCE_MEMBERS_java_nio_CharBuffer(JAVA_OBJECT me,int derivedClassWillRegisterFinalizer)169 void __INIT_INSTANCE_MEMBERS_java_nio_CharBuffer(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
170 {
171 __INIT_INSTANCE_MEMBERS_java_nio_Buffer(me, 0 || derivedClassWillRegisterFinalizer);
172 //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_nio_CharBuffer]
173 //XMLVM_END_WRAPPER
174 }
175
__NEW_java_nio_CharBuffer()176 JAVA_OBJECT __NEW_java_nio_CharBuffer()
177 { XMLVM_CLASS_INIT(java_nio_CharBuffer)
178 java_nio_CharBuffer* me = (java_nio_CharBuffer*) XMLVM_MALLOC(sizeof(java_nio_CharBuffer));
179 me->tib = &__TIB_java_nio_CharBuffer;
180 __INIT_INSTANCE_MEMBERS_java_nio_CharBuffer(me, 0);
181 //XMLVM_BEGIN_WRAPPER[__NEW_java_nio_CharBuffer]
182 //XMLVM_END_WRAPPER
183 return me;
184 }
185
__NEW_INSTANCE_java_nio_CharBuffer()186 JAVA_OBJECT __NEW_INSTANCE_java_nio_CharBuffer()
187 {
188 JAVA_OBJECT me = JAVA_NULL;
189 return me;
190 }
191
java_nio_CharBuffer_allocate___int(JAVA_INT n1)192 JAVA_OBJECT java_nio_CharBuffer_allocate___int(JAVA_INT n1)
193 {
194 XMLVM_CLASS_INIT(java_nio_CharBuffer)
195 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_allocate___int]
196 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "allocate", "?")
197 XMLVMElem _r0;
198 XMLVMElem _r1;
199 _r1.i = n1;
200 XMLVM_SOURCE_POSITION("CharBuffer.java", 50)
201 if (_r1.i >= 0) goto label8;
202 XMLVM_SOURCE_POSITION("CharBuffer.java", 51)
203
204
205 // Red class access removed: java.lang.IllegalArgumentException::new-instance
206 XMLVM_RED_CLASS_DEPENDENCY();
207
208
209 // Red class access removed: java.lang.IllegalArgumentException::<init>
210 XMLVM_RED_CLASS_DEPENDENCY();
211 XMLVM_THROW_CUSTOM(_r0.o)
212 label8:;
213 XMLVM_SOURCE_POSITION("CharBuffer.java", 53)
214 _r0.o = java_nio_BufferFactory_newCharBuffer___int(_r1.i);
215 XMLVM_EXIT_METHOD()
216 return _r0.o;
217 //XMLVM_END_WRAPPER
218 }
219
java_nio_CharBuffer_wrap___char_1ARRAY(JAVA_OBJECT n1)220 JAVA_OBJECT java_nio_CharBuffer_wrap___char_1ARRAY(JAVA_OBJECT n1)
221 {
222 XMLVM_CLASS_INIT(java_nio_CharBuffer)
223 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_wrap___char_1ARRAY]
224 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "wrap", "?")
225 XMLVMElem _r0;
226 XMLVMElem _r1;
227 XMLVMElem _r2;
228 _r2.o = n1;
229 XMLVM_SOURCE_POSITION("CharBuffer.java", 67)
230 _r0.i = 0;
231 _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
232 _r0.o = java_nio_CharBuffer_wrap___char_1ARRAY_int_int(_r2.o, _r0.i, _r1.i);
233 XMLVM_EXIT_METHOD()
234 return _r0.o;
235 //XMLVM_END_WRAPPER
236 }
237
java_nio_CharBuffer_wrap___char_1ARRAY_int_int(JAVA_OBJECT n1,JAVA_INT n2,JAVA_INT n3)238 JAVA_OBJECT java_nio_CharBuffer_wrap___char_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
239 {
240 XMLVM_CLASS_INIT(java_nio_CharBuffer)
241 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_wrap___char_1ARRAY_int_int]
242 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "wrap", "?")
243 XMLVMElem _r0;
244 XMLVMElem _r1;
245 XMLVMElem _r2;
246 XMLVMElem _r3;
247 XMLVMElem _r4;
248 XMLVMElem _r5;
249 XMLVMElem _r6;
250 XMLVMElem _r7;
251 _r5.o = n1;
252 _r6.i = n2;
253 _r7.i = n3;
254 XMLVM_SOURCE_POSITION("CharBuffer.java", 89)
255 _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
256 XMLVM_SOURCE_POSITION("CharBuffer.java", 90)
257 if (_r6.i < 0) goto label13;
258 if (_r7.i < 0) goto label13;
259 _r1.l = (JAVA_LONG) _r6.i;
260 _r3.l = (JAVA_LONG) _r7.i;
261 _r1.l = _r1.l + _r3.l;
262 _r3.l = (JAVA_LONG) _r0.i;
263 _r0.i = _r1.l > _r3.l ? 1 : (_r1.l == _r3.l ? 0 : -1);
264 if (_r0.i <= 0) goto label19;
265 label13:;
266 XMLVM_SOURCE_POSITION("CharBuffer.java", 91)
267 _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
268 XMLVM_CHECK_NPE(0)
269 java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
270 XMLVM_THROW_CUSTOM(_r0.o)
271 label19:;
272 XMLVM_SOURCE_POSITION("CharBuffer.java", 94)
273 _r0.o = java_nio_BufferFactory_newCharBuffer___char_1ARRAY(_r5.o);
274 XMLVM_SOURCE_POSITION("CharBuffer.java", 95)
275 XMLVM_CHECK_NPE(0)
276 ((java_nio_Buffer*) _r0.o)->fields.java_nio_Buffer.position_ = _r6.i;
277 XMLVM_SOURCE_POSITION("CharBuffer.java", 96)
278 _r1.i = _r6.i + _r7.i;
279 XMLVM_CHECK_NPE(0)
280 ((java_nio_Buffer*) _r0.o)->fields.java_nio_Buffer.limit_ = _r1.i;
281 XMLVM_SOURCE_POSITION("CharBuffer.java", 98)
282 XMLVM_EXIT_METHOD()
283 return _r0.o;
284 //XMLVM_END_WRAPPER
285 }
286
java_nio_CharBuffer_wrap___java_lang_CharSequence(JAVA_OBJECT n1)287 JAVA_OBJECT java_nio_CharBuffer_wrap___java_lang_CharSequence(JAVA_OBJECT n1)
288 {
289 XMLVM_CLASS_INIT(java_nio_CharBuffer)
290 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_wrap___java_lang_CharSequence]
291 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "wrap", "?")
292 XMLVMElem _r0;
293 XMLVMElem _r1;
294 _r1.o = n1;
295 XMLVM_SOURCE_POSITION("CharBuffer.java", 112)
296 _r0.o = java_nio_BufferFactory_newCharBuffer___java_lang_CharSequence(_r1.o);
297 XMLVM_EXIT_METHOD()
298 return _r0.o;
299 //XMLVM_END_WRAPPER
300 }
301
java_nio_CharBuffer_wrap___java_lang_CharSequence_int_int(JAVA_OBJECT n1,JAVA_INT n2,JAVA_INT n3)302 JAVA_OBJECT java_nio_CharBuffer_wrap___java_lang_CharSequence_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
303 {
304 XMLVM_CLASS_INIT(java_nio_CharBuffer)
305 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_wrap___java_lang_CharSequence_int_int]
306 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "wrap", "?")
307 XMLVMElem _r0;
308 XMLVMElem _r1;
309 XMLVMElem _r2;
310 XMLVMElem _r3;
311 _r1.o = n1;
312 _r2.i = n2;
313 _r3.i = n3;
314 XMLVM_SOURCE_POSITION("CharBuffer.java", 135)
315 if (_r1.o != JAVA_NULL) goto label8;
316 XMLVM_SOURCE_POSITION("CharBuffer.java", 136)
317 _r0.o = __NEW_java_lang_NullPointerException();
318 XMLVM_CHECK_NPE(0)
319 java_lang_NullPointerException___INIT___(_r0.o);
320 XMLVM_THROW_CUSTOM(_r0.o)
321 label8:;
322 XMLVM_SOURCE_POSITION("CharBuffer.java", 138)
323 if (_r2.i < 0) goto label18;
324 if (_r3.i < _r2.i) goto label18;
325 XMLVM_CHECK_NPE(1)
326 _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_length__])(_r1.o);
327 if (_r3.i <= _r0.i) goto label24;
328 label18:;
329 XMLVM_SOURCE_POSITION("CharBuffer.java", 139)
330 _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
331 XMLVM_CHECK_NPE(0)
332 java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
333 XMLVM_THROW_CUSTOM(_r0.o)
334 label24:;
335 XMLVM_SOURCE_POSITION("CharBuffer.java", 142)
336 _r0.o = java_nio_BufferFactory_newCharBuffer___java_lang_CharSequence(_r1.o);
337 XMLVM_SOURCE_POSITION("CharBuffer.java", 143)
338 XMLVM_CHECK_NPE(0)
339 ((java_nio_Buffer*) _r0.o)->fields.java_nio_Buffer.position_ = _r2.i;
340 XMLVM_SOURCE_POSITION("CharBuffer.java", 144)
341 XMLVM_CHECK_NPE(0)
342 ((java_nio_Buffer*) _r0.o)->fields.java_nio_Buffer.limit_ = _r3.i;
343 XMLVM_SOURCE_POSITION("CharBuffer.java", 145)
344 XMLVM_EXIT_METHOD()
345 return _r0.o;
346 //XMLVM_END_WRAPPER
347 }
348
java_nio_CharBuffer___INIT____int(JAVA_OBJECT me,JAVA_INT n1)349 void java_nio_CharBuffer___INIT____int(JAVA_OBJECT me, JAVA_INT n1)
350 {
351 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer___INIT____int]
352 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "<init>", "?")
353 XMLVMElem _r0;
354 XMLVMElem _r1;
355 _r0.o = me;
356 _r1.i = n1;
357 XMLVM_SOURCE_POSITION("CharBuffer.java", 155)
358 XMLVM_CHECK_NPE(0)
359 java_nio_Buffer___INIT____int(_r0.o, _r1.i);
360 XMLVM_SOURCE_POSITION("CharBuffer.java", 156)
361 XMLVM_EXIT_METHOD()
362 return;
363 //XMLVM_END_WRAPPER
364 }
365
java_nio_CharBuffer_array__(JAVA_OBJECT me)366 JAVA_OBJECT java_nio_CharBuffer_array__(JAVA_OBJECT me)
367 {
368 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_array__]
369 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "array", "?")
370 XMLVMElem _r0;
371 XMLVMElem _r1;
372 _r1.o = me;
373 XMLVM_SOURCE_POSITION("CharBuffer.java", 168)
374 //java_nio_CharBuffer_protectedArray__[25]
375 XMLVM_CHECK_NPE(1)
376 _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r1.o)->tib->vtable[25])(_r1.o);
377 XMLVM_EXIT_METHOD()
378 return _r0.o;
379 //XMLVM_END_WRAPPER
380 }
381
java_nio_CharBuffer_arrayOffset__(JAVA_OBJECT me)382 JAVA_INT java_nio_CharBuffer_arrayOffset__(JAVA_OBJECT me)
383 {
384 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_arrayOffset__]
385 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "arrayOffset", "?")
386 XMLVMElem _r0;
387 XMLVMElem _r1;
388 _r1.o = me;
389 XMLVM_SOURCE_POSITION("CharBuffer.java", 185)
390 //java_nio_CharBuffer_protectedArrayOffset__[24]
391 XMLVM_CHECK_NPE(1)
392 _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r1.o)->tib->vtable[24])(_r1.o);
393 XMLVM_EXIT_METHOD()
394 return _r0.i;
395 //XMLVM_END_WRAPPER
396 }
397
java_nio_CharBuffer_charAt___int(JAVA_OBJECT me,JAVA_INT n1)398 JAVA_CHAR java_nio_CharBuffer_charAt___int(JAVA_OBJECT me, JAVA_INT n1)
399 {
400 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_charAt___int]
401 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "charAt", "?")
402 XMLVMElem _r0;
403 XMLVMElem _r1;
404 XMLVMElem _r2;
405 _r1.o = me;
406 _r2.i = n1;
407 XMLVM_SOURCE_POSITION("CharBuffer.java", 217)
408 if (_r2.i < 0) goto label8;
409 XMLVM_CHECK_NPE(1)
410 _r0.i = java_nio_Buffer_remaining__(_r1.o);
411 if (_r2.i < _r0.i) goto label14;
412 label8:;
413 XMLVM_SOURCE_POSITION("CharBuffer.java", 218)
414 _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
415 XMLVM_CHECK_NPE(0)
416 java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
417 XMLVM_THROW_CUSTOM(_r0.o)
418 label14:;
419 XMLVM_SOURCE_POSITION("CharBuffer.java", 220)
420 XMLVM_CHECK_NPE(1)
421 _r0.i = ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.position_;
422 _r0.i = _r0.i + _r2.i;
423 //java_nio_CharBuffer_get___int[21]
424 XMLVM_CHECK_NPE(1)
425 _r0.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_CharBuffer*) _r1.o)->tib->vtable[21])(_r1.o, _r0.i);
426 XMLVM_EXIT_METHOD()
427 return _r0.i;
428 //XMLVM_END_WRAPPER
429 }
430
java_nio_CharBuffer_compareTo___java_nio_CharBuffer(JAVA_OBJECT me,JAVA_OBJECT n1)431 JAVA_INT java_nio_CharBuffer_compareTo___java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
432 {
433 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_compareTo___java_nio_CharBuffer]
434 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "compareTo", "?")
435 XMLVMElem _r0;
436 XMLVMElem _r1;
437 XMLVMElem _r2;
438 XMLVMElem _r3;
439 XMLVMElem _r4;
440 XMLVMElem _r5;
441 XMLVMElem _r6;
442 XMLVMElem _r7;
443 _r6.o = me;
444 _r7.o = n1;
445 XMLVM_SOURCE_POSITION("CharBuffer.java", 249)
446 XMLVM_CHECK_NPE(6)
447 _r0.i = java_nio_Buffer_remaining__(_r6.o);
448 XMLVM_CHECK_NPE(7)
449 _r1.i = java_nio_Buffer_remaining__(_r7.o);
450 if (_r0.i >= _r1.i) goto label33;
451 XMLVM_CHECK_NPE(6)
452 _r0.i = java_nio_Buffer_remaining__(_r6.o);
453 label14:;
454 XMLVM_SOURCE_POSITION("CharBuffer.java", 251)
455 XMLVM_CHECK_NPE(6)
456 _r1.i = ((java_nio_Buffer*) _r6.o)->fields.java_nio_Buffer.position_;
457 XMLVM_SOURCE_POSITION("CharBuffer.java", 252)
458 XMLVM_CHECK_NPE(7)
459 _r2.i = ((java_nio_Buffer*) _r7.o)->fields.java_nio_Buffer.position_;
460 _r5 = _r2;
461 _r2 = _r0;
462 _r0 = _r5;
463 label21:;
464 XMLVM_SOURCE_POSITION("CharBuffer.java", 254)
465 if (_r2.i > 0) goto label38;
466 XMLVM_SOURCE_POSITION("CharBuffer.java", 264)
467 XMLVM_CHECK_NPE(6)
468 _r0.i = java_nio_Buffer_remaining__(_r6.o);
469 XMLVM_CHECK_NPE(7)
470 _r1.i = java_nio_Buffer_remaining__(_r7.o);
471 _r0.i = _r0.i - _r1.i;
472 label32:;
473 XMLVM_EXIT_METHOD()
474 return _r0.i;
475 label33:;
476 XMLVM_SOURCE_POSITION("CharBuffer.java", 250)
477 XMLVM_CHECK_NPE(7)
478 _r0.i = java_nio_Buffer_remaining__(_r7.o);
479 goto label14;
480 label38:;
481 XMLVM_SOURCE_POSITION("CharBuffer.java", 255)
482 //java_nio_CharBuffer_get___int[21]
483 XMLVM_CHECK_NPE(6)
484 _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_CharBuffer*) _r6.o)->tib->vtable[21])(_r6.o, _r1.i);
485 XMLVM_SOURCE_POSITION("CharBuffer.java", 256)
486 //java_nio_CharBuffer_get___int[21]
487 XMLVM_CHECK_NPE(7)
488 _r4.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_CharBuffer*) _r7.o)->tib->vtable[21])(_r7.o, _r0.i);
489 XMLVM_SOURCE_POSITION("CharBuffer.java", 257)
490 if (_r3.i == _r4.i) goto label54;
491 XMLVM_SOURCE_POSITION("CharBuffer.java", 258)
492 if (_r3.i >= _r4.i) goto label52;
493 _r0.i = -1;
494 goto label32;
495 label52:;
496 _r0.i = 1;
497 goto label32;
498 label54:;
499 XMLVM_SOURCE_POSITION("CharBuffer.java", 260)
500 _r1.i = _r1.i + 1;
501 _r0.i = _r0.i + 1;
502 _r2.i = _r2.i + -1;
503 XMLVM_SOURCE_POSITION("CharBuffer.java", 262)
504 goto label21;
505 //XMLVM_END_WRAPPER
506 }
507
java_nio_CharBuffer_equals___java_lang_Object(JAVA_OBJECT me,JAVA_OBJECT n1)508 JAVA_BOOLEAN java_nio_CharBuffer_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
509 {
510 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_equals___java_lang_Object]
511 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "equals", "?")
512 XMLVMElem _r0;
513 XMLVMElem _r1;
514 XMLVMElem _r2;
515 XMLVMElem _r3;
516 XMLVMElem _r4;
517 XMLVMElem _r5;
518 XMLVMElem _r6;
519 XMLVMElem _r7;
520 _r6.o = me;
521 _r7.o = n1;
522 _r5.i = 1;
523 _r4.i = 0;
524 XMLVM_SOURCE_POSITION("CharBuffer.java", 296)
525 XMLVM_CLASS_INIT(java_nio_CharBuffer)
526 _r0.i = XMLVM_ISA(_r7.o, __CLASS_java_nio_CharBuffer);
527 if (_r0.i != 0) goto label8;
528 _r0 = _r4;
529 label7:;
530 XMLVM_SOURCE_POSITION("CharBuffer.java", 297)
531 XMLVM_SOURCE_POSITION("CharBuffer.java", 312)
532 XMLVM_EXIT_METHOD()
533 return _r0.i;
534 label8:;
535 XMLVM_SOURCE_POSITION("CharBuffer.java", 299)
536 _r7.o = _r7.o;
537 XMLVM_SOURCE_POSITION("CharBuffer.java", 301)
538 XMLVM_CHECK_NPE(6)
539 _r0.i = java_nio_Buffer_remaining__(_r6.o);
540 XMLVM_CHECK_NPE(7)
541 _r1.i = java_nio_Buffer_remaining__(_r7.o);
542 if (_r0.i == _r1.i) goto label22;
543 _r0 = _r4;
544 XMLVM_SOURCE_POSITION("CharBuffer.java", 302)
545 goto label7;
546 label22:;
547 XMLVM_SOURCE_POSITION("CharBuffer.java", 305)
548 XMLVM_CHECK_NPE(6)
549 _r0.i = ((java_nio_Buffer*) _r6.o)->fields.java_nio_Buffer.position_;
550 XMLVM_SOURCE_POSITION("CharBuffer.java", 306)
551 XMLVM_CHECK_NPE(7)
552 _r1.i = ((java_nio_Buffer*) _r7.o)->fields.java_nio_Buffer.position_;
553 _r2 = _r0;
554 _r0 = _r5;
555 label28:;
556 XMLVM_SOURCE_POSITION("CharBuffer.java", 308)
557 if (_r0.i == 0) goto label7;
558 XMLVM_CHECK_NPE(6)
559 _r3.i = ((java_nio_Buffer*) _r6.o)->fields.java_nio_Buffer.limit_;
560 if (_r2.i >= _r3.i) goto label7;
561 XMLVM_SOURCE_POSITION("CharBuffer.java", 309)
562 _r0.i = _r2.i + 1;
563 //java_nio_CharBuffer_get___int[21]
564 XMLVM_CHECK_NPE(6)
565 _r2.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_CharBuffer*) _r6.o)->tib->vtable[21])(_r6.o, _r2.i);
566 _r3.i = _r1.i + 1;
567 //java_nio_CharBuffer_get___int[21]
568 XMLVM_CHECK_NPE(7)
569 _r1.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_CharBuffer*) _r7.o)->tib->vtable[21])(_r7.o, _r1.i);
570 if (_r2.i != _r1.i) goto label53;
571 _r1 = _r5;
572 label49:;
573 _r2 = _r0;
574 _r0 = _r1;
575 _r1 = _r3;
576 goto label28;
577 label53:;
578 _r1 = _r4;
579 goto label49;
580 //XMLVM_END_WRAPPER
581 }
582
java_nio_CharBuffer_get___char_1ARRAY(JAVA_OBJECT me,JAVA_OBJECT n1)583 JAVA_OBJECT java_nio_CharBuffer_get___char_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
584 {
585 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_get___char_1ARRAY]
586 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "get", "?")
587 XMLVMElem _r0;
588 XMLVMElem _r1;
589 XMLVMElem _r2;
590 XMLVMElem _r3;
591 _r2.o = me;
592 _r3.o = n1;
593 XMLVM_SOURCE_POSITION("CharBuffer.java", 338)
594 _r0.i = 0;
595 _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
596 //java_nio_CharBuffer_get___char_1ARRAY_int_int[20]
597 XMLVM_CHECK_NPE(2)
598 _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_INT, JAVA_INT)) ((java_nio_CharBuffer*) _r2.o)->tib->vtable[20])(_r2.o, _r3.o, _r0.i, _r1.i);
599 XMLVM_EXIT_METHOD()
600 return _r0.o;
601 //XMLVM_END_WRAPPER
602 }
603
java_nio_CharBuffer_get___char_1ARRAY_int_int(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_INT n2,JAVA_INT n3)604 JAVA_OBJECT java_nio_CharBuffer_get___char_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
605 {
606 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_get___char_1ARRAY_int_int]
607 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "get", "?")
608 XMLVMElem _r0;
609 XMLVMElem _r1;
610 XMLVMElem _r2;
611 XMLVMElem _r3;
612 XMLVMElem _r4;
613 XMLVMElem _r5;
614 XMLVMElem _r6;
615 XMLVMElem _r7;
616 XMLVMElem _r8;
617 _r5.o = me;
618 _r6.o = n1;
619 _r7.i = n2;
620 _r8.i = n3;
621 XMLVM_SOURCE_POSITION("CharBuffer.java", 361)
622 _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
623 XMLVM_SOURCE_POSITION("CharBuffer.java", 362)
624 if (_r7.i < 0) goto label13;
625 if (_r8.i < 0) goto label13;
626 _r1.l = (JAVA_LONG) _r7.i;
627 _r3.l = (JAVA_LONG) _r8.i;
628 _r1.l = _r1.l + _r3.l;
629 _r3.l = (JAVA_LONG) _r0.i;
630 _r0.i = _r1.l > _r3.l ? 1 : (_r1.l == _r3.l ? 0 : -1);
631 if (_r0.i <= 0) goto label19;
632 label13:;
633 XMLVM_SOURCE_POSITION("CharBuffer.java", 363)
634 _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
635 XMLVM_CHECK_NPE(0)
636 java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
637 XMLVM_THROW_CUSTOM(_r0.o)
638 label19:;
639 XMLVM_SOURCE_POSITION("CharBuffer.java", 366)
640 XMLVM_CHECK_NPE(5)
641 _r0.i = java_nio_Buffer_remaining__(_r5.o);
642 if (_r8.i <= _r0.i) goto label31;
643 XMLVM_SOURCE_POSITION("CharBuffer.java", 367)
644
645
646 // Red class access removed: java.nio.BufferUnderflowException::new-instance
647 XMLVM_RED_CLASS_DEPENDENCY();
648
649
650 // Red class access removed: java.nio.BufferUnderflowException::<init>
651 XMLVM_RED_CLASS_DEPENDENCY();
652 XMLVM_THROW_CUSTOM(_r0.o)
653 label31:;
654 _r0 = _r7;
655 label32:;
656 XMLVM_SOURCE_POSITION("CharBuffer.java", 369)
657 _r1.i = _r7.i + _r8.i;
658 if (_r0.i < _r1.i) goto label37;
659 XMLVM_SOURCE_POSITION("CharBuffer.java", 372)
660 XMLVM_EXIT_METHOD()
661 return _r5.o;
662 label37:;
663 XMLVM_SOURCE_POSITION("CharBuffer.java", 370)
664 //java_nio_CharBuffer_get__[19]
665 XMLVM_CHECK_NPE(5)
666 _r1.i = (*(JAVA_CHAR (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r5.o)->tib->vtable[19])(_r5.o);
667 XMLVM_CHECK_NPE(6)
668 XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r0.i);
669 ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r1.i;
670 _r0.i = _r0.i + 1;
671 goto label32;
672 //XMLVM_END_WRAPPER
673 }
674
java_nio_CharBuffer_hasArray__(JAVA_OBJECT me)675 JAVA_BOOLEAN java_nio_CharBuffer_hasArray__(JAVA_OBJECT me)
676 {
677 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_hasArray__]
678 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "hasArray", "?")
679 XMLVMElem _r0;
680 XMLVMElem _r1;
681 _r1.o = me;
682 XMLVM_SOURCE_POSITION("CharBuffer.java", 393)
683 //java_nio_CharBuffer_protectedHasArray__[26]
684 XMLVM_CHECK_NPE(1)
685 _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r1.o)->tib->vtable[26])(_r1.o);
686 XMLVM_EXIT_METHOD()
687 return _r0.i;
688 //XMLVM_END_WRAPPER
689 }
690
java_nio_CharBuffer_hashCode__(JAVA_OBJECT me)691 JAVA_INT java_nio_CharBuffer_hashCode__(JAVA_OBJECT me)
692 {
693 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_hashCode__]
694 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "hashCode", "?")
695 XMLVMElem _r0;
696 XMLVMElem _r1;
697 XMLVMElem _r2;
698 XMLVMElem _r3;
699 XMLVMElem _r4;
700 _r4.o = me;
701 XMLVM_SOURCE_POSITION("CharBuffer.java", 404)
702 XMLVM_CHECK_NPE(4)
703 _r0.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.position_;
704 XMLVM_SOURCE_POSITION("CharBuffer.java", 405)
705 _r1.i = 0;
706 _r3 = _r1;
707 _r1 = _r0;
708 _r0 = _r3;
709 label6:;
710 XMLVM_SOURCE_POSITION("CharBuffer.java", 406)
711 XMLVM_CHECK_NPE(4)
712 _r2.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.limit_;
713 if (_r1.i < _r2.i) goto label11;
714 XMLVM_SOURCE_POSITION("CharBuffer.java", 409)
715 XMLVM_EXIT_METHOD()
716 return _r0.i;
717 label11:;
718 XMLVM_SOURCE_POSITION("CharBuffer.java", 407)
719 _r2.i = _r1.i + 1;
720 //java_nio_CharBuffer_get___int[21]
721 XMLVM_CHECK_NPE(4)
722 _r1.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_CharBuffer*) _r4.o)->tib->vtable[21])(_r4.o, _r1.i);
723 _r0.i = _r0.i + _r1.i;
724 _r1 = _r2;
725 goto label6;
726 //XMLVM_END_WRAPPER
727 }
728
java_nio_CharBuffer_length__(JAVA_OBJECT me)729 JAVA_INT java_nio_CharBuffer_length__(JAVA_OBJECT me)
730 {
731 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_length__]
732 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "length", "?")
733 XMLVMElem _r0;
734 XMLVMElem _r1;
735 _r1.o = me;
736 XMLVM_SOURCE_POSITION("CharBuffer.java", 430)
737 XMLVM_CHECK_NPE(1)
738 _r0.i = java_nio_Buffer_remaining__(_r1.o);
739 XMLVM_EXIT_METHOD()
740 return _r0.i;
741 //XMLVM_END_WRAPPER
742 }
743
java_nio_CharBuffer_put___char_1ARRAY(JAVA_OBJECT me,JAVA_OBJECT n1)744 JAVA_OBJECT java_nio_CharBuffer_put___char_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
745 {
746 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_put___char_1ARRAY]
747 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "put", "?")
748 XMLVMElem _r0;
749 XMLVMElem _r1;
750 XMLVMElem _r2;
751 XMLVMElem _r3;
752 _r2.o = me;
753 _r3.o = n1;
754 XMLVM_SOURCE_POSITION("CharBuffer.java", 496)
755 _r0.i = 0;
756 _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
757 //java_nio_CharBuffer_put___char_1ARRAY_int_int[28]
758 XMLVM_CHECK_NPE(2)
759 _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_INT, JAVA_INT)) ((java_nio_CharBuffer*) _r2.o)->tib->vtable[28])(_r2.o, _r3.o, _r0.i, _r1.i);
760 XMLVM_EXIT_METHOD()
761 return _r0.o;
762 //XMLVM_END_WRAPPER
763 }
764
java_nio_CharBuffer_put___char_1ARRAY_int_int(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_INT n2,JAVA_INT n3)765 JAVA_OBJECT java_nio_CharBuffer_put___char_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
766 {
767 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_put___char_1ARRAY_int_int]
768 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "put", "?")
769 XMLVMElem _r0;
770 XMLVMElem _r1;
771 XMLVMElem _r2;
772 XMLVMElem _r3;
773 XMLVMElem _r4;
774 XMLVMElem _r5;
775 XMLVMElem _r6;
776 XMLVMElem _r7;
777 XMLVMElem _r8;
778 _r5.o = me;
779 _r6.o = n1;
780 _r7.i = n2;
781 _r8.i = n3;
782 XMLVM_SOURCE_POSITION("CharBuffer.java", 521)
783 _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
784 XMLVM_SOURCE_POSITION("CharBuffer.java", 522)
785 if (_r7.i < 0) goto label13;
786 if (_r8.i < 0) goto label13;
787 _r1.l = (JAVA_LONG) _r7.i;
788 _r3.l = (JAVA_LONG) _r8.i;
789 _r1.l = _r1.l + _r3.l;
790 _r3.l = (JAVA_LONG) _r0.i;
791 _r0.i = _r1.l > _r3.l ? 1 : (_r1.l == _r3.l ? 0 : -1);
792 if (_r0.i <= 0) goto label19;
793 label13:;
794 XMLVM_SOURCE_POSITION("CharBuffer.java", 523)
795 _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
796 XMLVM_CHECK_NPE(0)
797 java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
798 XMLVM_THROW_CUSTOM(_r0.o)
799 label19:;
800 XMLVM_SOURCE_POSITION("CharBuffer.java", 526)
801 XMLVM_CHECK_NPE(5)
802 _r0.i = java_nio_Buffer_remaining__(_r5.o);
803 if (_r8.i <= _r0.i) goto label31;
804 XMLVM_SOURCE_POSITION("CharBuffer.java", 527)
805
806
807 // Red class access removed: java.nio.BufferOverflowException::new-instance
808 XMLVM_RED_CLASS_DEPENDENCY();
809
810
811 // Red class access removed: java.nio.BufferOverflowException::<init>
812 XMLVM_RED_CLASS_DEPENDENCY();
813 XMLVM_THROW_CUSTOM(_r0.o)
814 label31:;
815 _r0 = _r7;
816 label32:;
817 XMLVM_SOURCE_POSITION("CharBuffer.java", 529)
818 _r1.i = _r7.i + _r8.i;
819 if (_r0.i < _r1.i) goto label37;
820 XMLVM_SOURCE_POSITION("CharBuffer.java", 532)
821 XMLVM_EXIT_METHOD()
822 return _r5.o;
823 label37:;
824 XMLVM_SOURCE_POSITION("CharBuffer.java", 530)
825 XMLVM_CHECK_NPE(6)
826 XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r0.i);
827 _r1.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
828 //java_nio_CharBuffer_put___char[27]
829 XMLVM_CHECK_NPE(5)
830 (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_nio_CharBuffer*) _r5.o)->tib->vtable[27])(_r5.o, _r1.i);
831 _r0.i = _r0.i + 1;
832 goto label32;
833 //XMLVM_END_WRAPPER
834 }
835
java_nio_CharBuffer_put___java_nio_CharBuffer(JAVA_OBJECT me,JAVA_OBJECT n1)836 JAVA_OBJECT java_nio_CharBuffer_put___java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
837 {
838 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_put___java_nio_CharBuffer]
839 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "put", "?")
840 XMLVMElem _r0;
841 XMLVMElem _r1;
842 XMLVMElem _r2;
843 XMLVMElem _r3;
844 _r2.o = me;
845 _r3.o = n1;
846 XMLVM_SOURCE_POSITION("CharBuffer.java", 552)
847 if (_r3.o != _r2.o) goto label8;
848 XMLVM_SOURCE_POSITION("CharBuffer.java", 553)
849
850
851 // Red class access removed: java.lang.IllegalArgumentException::new-instance
852 XMLVM_RED_CLASS_DEPENDENCY();
853
854
855 // Red class access removed: java.lang.IllegalArgumentException::<init>
856 XMLVM_RED_CLASS_DEPENDENCY();
857 XMLVM_THROW_CUSTOM(_r0.o)
858 label8:;
859 XMLVM_SOURCE_POSITION("CharBuffer.java", 555)
860 XMLVM_CHECK_NPE(3)
861 _r0.i = java_nio_Buffer_remaining__(_r3.o);
862 XMLVM_CHECK_NPE(2)
863 _r1.i = java_nio_Buffer_remaining__(_r2.o);
864 if (_r0.i <= _r1.i) goto label24;
865 XMLVM_SOURCE_POSITION("CharBuffer.java", 556)
866
867
868 // Red class access removed: java.nio.BufferOverflowException::new-instance
869 XMLVM_RED_CLASS_DEPENDENCY();
870
871
872 // Red class access removed: java.nio.BufferOverflowException::<init>
873 XMLVM_RED_CLASS_DEPENDENCY();
874 XMLVM_THROW_CUSTOM(_r0.o)
875 label24:;
876 XMLVM_SOURCE_POSITION("CharBuffer.java", 559)
877 XMLVM_CHECK_NPE(3)
878 _r0.i = java_nio_Buffer_remaining__(_r3.o);
879 XMLVM_CLASS_INIT(char)
880 _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
881 XMLVM_SOURCE_POSITION("CharBuffer.java", 560)
882 XMLVM_CHECK_NPE(3)
883 java_nio_CharBuffer_get___char_1ARRAY(_r3.o, _r0.o);
884 XMLVM_SOURCE_POSITION("CharBuffer.java", 561)
885 XMLVM_CHECK_NPE(2)
886 java_nio_CharBuffer_put___char_1ARRAY(_r2.o, _r0.o);
887 XMLVM_SOURCE_POSITION("CharBuffer.java", 562)
888 XMLVM_EXIT_METHOD()
889 return _r2.o;
890 //XMLVM_END_WRAPPER
891 }
892
java_nio_CharBuffer_put___java_lang_String(JAVA_OBJECT me,JAVA_OBJECT n1)893 JAVA_OBJECT java_nio_CharBuffer_put___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
894 {
895 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_put___java_lang_String]
896 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "put", "?")
897 XMLVMElem _r0;
898 XMLVMElem _r1;
899 XMLVMElem _r2;
900 XMLVMElem _r3;
901 _r2.o = me;
902 _r3.o = n1;
903 XMLVM_SOURCE_POSITION("CharBuffer.java", 597)
904 _r0.i = 0;
905 //java_lang_String_length__[8]
906 XMLVM_CHECK_NPE(3)
907 _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r3.o)->tib->vtable[8])(_r3.o);
908 XMLVM_CHECK_NPE(2)
909 _r0.o = java_nio_CharBuffer_put___java_lang_String_int_int(_r2.o, _r3.o, _r0.i, _r1.i);
910 XMLVM_EXIT_METHOD()
911 return _r0.o;
912 //XMLVM_END_WRAPPER
913 }
914
java_nio_CharBuffer_put___java_lang_String_int_int(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_INT n2,JAVA_INT n3)915 JAVA_OBJECT java_nio_CharBuffer_put___java_lang_String_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
916 {
917 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_put___java_lang_String_int_int]
918 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "put", "?")
919 XMLVMElem _r0;
920 XMLVMElem _r1;
921 XMLVMElem _r2;
922 XMLVMElem _r3;
923 XMLVMElem _r4;
924 XMLVMElem _r5;
925 _r2.o = me;
926 _r3.o = n1;
927 _r4.i = n2;
928 _r5.i = n3;
929 XMLVM_SOURCE_POSITION("CharBuffer.java", 621)
930 //java_lang_String_length__[8]
931 XMLVM_CHECK_NPE(3)
932 _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r3.o)->tib->vtable[8])(_r3.o);
933 XMLVM_SOURCE_POSITION("CharBuffer.java", 622)
934 if (_r4.i < 0) goto label10;
935 if (_r5.i < _r4.i) goto label10;
936 if (_r5.i <= _r0.i) goto label16;
937 label10:;
938 XMLVM_SOURCE_POSITION("CharBuffer.java", 623)
939 _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
940 XMLVM_CHECK_NPE(0)
941 java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
942 XMLVM_THROW_CUSTOM(_r0.o)
943 label16:;
944 XMLVM_SOURCE_POSITION("CharBuffer.java", 626)
945 _r0.i = _r5.i - _r4.i;
946 XMLVM_CHECK_NPE(2)
947 _r1.i = java_nio_Buffer_remaining__(_r2.o);
948 if (_r0.i <= _r1.i) goto label30;
949 XMLVM_SOURCE_POSITION("CharBuffer.java", 627)
950
951
952 // Red class access removed: java.nio.BufferOverflowException::new-instance
953 XMLVM_RED_CLASS_DEPENDENCY();
954
955
956 // Red class access removed: java.nio.BufferOverflowException::<init>
957 XMLVM_RED_CLASS_DEPENDENCY();
958 XMLVM_THROW_CUSTOM(_r0.o)
959 label30:;
960 _r0 = _r4;
961 label31:;
962 XMLVM_SOURCE_POSITION("CharBuffer.java", 629)
963 if (_r0.i < _r5.i) goto label34;
964 XMLVM_SOURCE_POSITION("CharBuffer.java", 632)
965 XMLVM_EXIT_METHOD()
966 return _r2.o;
967 label34:;
968 XMLVM_SOURCE_POSITION("CharBuffer.java", 630)
969 //java_lang_String_charAt___int[6]
970 XMLVM_CHECK_NPE(3)
971 _r1.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r3.o)->tib->vtable[6])(_r3.o, _r0.i);
972 //java_nio_CharBuffer_put___char[27]
973 XMLVM_CHECK_NPE(2)
974 (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_nio_CharBuffer*) _r2.o)->tib->vtable[27])(_r2.o, _r1.i);
975 _r0.i = _r0.i + 1;
976 goto label31;
977 //XMLVM_END_WRAPPER
978 }
979
java_nio_CharBuffer_toString__(JAVA_OBJECT me)980 JAVA_OBJECT java_nio_CharBuffer_toString__(JAVA_OBJECT me)
981 {
982 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_toString__]
983 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "toString", "?")
984 XMLVMElem _r0;
985 XMLVMElem _r1;
986 XMLVMElem _r2;
987 XMLVMElem _r3;
988 _r3.o = me;
989 XMLVM_SOURCE_POSITION("CharBuffer.java", 689)
990 _r0.o = __NEW_java_lang_StringBuilder();
991 XMLVM_CHECK_NPE(0)
992 java_lang_StringBuilder___INIT___(_r0.o);
993 XMLVM_SOURCE_POSITION("CharBuffer.java", 690)
994 XMLVM_CHECK_NPE(3)
995 _r1.i = ((java_nio_Buffer*) _r3.o)->fields.java_nio_Buffer.position_;
996 label7:;
997 XMLVM_CHECK_NPE(3)
998 _r2.i = ((java_nio_Buffer*) _r3.o)->fields.java_nio_Buffer.limit_;
999 if (_r1.i < _r2.i) goto label16;
1000 XMLVM_SOURCE_POSITION("CharBuffer.java", 693)
1001 //java_lang_StringBuilder_toString__[5]
1002 XMLVM_CHECK_NPE(0)
1003 _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
1004 XMLVM_EXIT_METHOD()
1005 return _r0.o;
1006 label16:;
1007 XMLVM_SOURCE_POSITION("CharBuffer.java", 691)
1008 //java_nio_CharBuffer_get___int[21]
1009 XMLVM_CHECK_NPE(3)
1010 _r2.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_CharBuffer*) _r3.o)->tib->vtable[21])(_r3.o, _r1.i);
1011 //java_lang_StringBuilder_append___char[6]
1012 XMLVM_CHECK_NPE(0)
1013 (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r2.i);
1014 _r1.i = _r1.i + 1;
1015 goto label7;
1016 //XMLVM_END_WRAPPER
1017 }
1018
java_nio_CharBuffer_append___char(JAVA_OBJECT me,JAVA_CHAR n1)1019 JAVA_OBJECT java_nio_CharBuffer_append___char(JAVA_OBJECT me, JAVA_CHAR n1)
1020 {
1021 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_append___char]
1022 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "append", "?")
1023 XMLVMElem _r0;
1024 XMLVMElem _r1;
1025 XMLVMElem _r2;
1026 _r1.o = me;
1027 _r2.i = n1;
1028 XMLVM_SOURCE_POSITION("CharBuffer.java", 709)
1029 //java_nio_CharBuffer_put___char[27]
1030 XMLVM_CHECK_NPE(1)
1031 _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_nio_CharBuffer*) _r1.o)->tib->vtable[27])(_r1.o, _r2.i);
1032 XMLVM_EXIT_METHOD()
1033 return _r0.o;
1034 //XMLVM_END_WRAPPER
1035 }
1036
java_nio_CharBuffer_append___java_lang_CharSequence(JAVA_OBJECT me,JAVA_OBJECT n1)1037 JAVA_OBJECT java_nio_CharBuffer_append___java_lang_CharSequence(JAVA_OBJECT me, JAVA_OBJECT n1)
1038 {
1039 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_append___java_lang_CharSequence]
1040 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "append", "?")
1041 XMLVMElem _r0;
1042 XMLVMElem _r1;
1043 XMLVMElem _r2;
1044 _r1.o = me;
1045 _r2.o = n1;
1046 XMLVM_SOURCE_POSITION("CharBuffer.java", 730)
1047 if (_r2.o == JAVA_NULL) goto label11;
1048 XMLVM_SOURCE_POSITION("CharBuffer.java", 731)
1049 XMLVM_CHECK_NPE(2)
1050 _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_toString__])(_r2.o);
1051 XMLVM_CHECK_NPE(1)
1052 _r0.o = java_nio_CharBuffer_put___java_lang_String(_r1.o, _r0.o);
1053 label10:;
1054 XMLVM_SOURCE_POSITION("CharBuffer.java", 733)
1055 XMLVM_EXIT_METHOD()
1056 return _r0.o;
1057 label11:;
1058 // "null"
1059 _r0.o = xmlvm_create_java_string_from_pool(63);
1060 XMLVM_CHECK_NPE(1)
1061 _r0.o = java_nio_CharBuffer_put___java_lang_String(_r1.o, _r0.o);
1062 goto label10;
1063 //XMLVM_END_WRAPPER
1064 }
1065
java_nio_CharBuffer_append___java_lang_CharSequence_int_int(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_INT n2,JAVA_INT n3)1066 JAVA_OBJECT java_nio_CharBuffer_append___java_lang_CharSequence_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
1067 {
1068 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_append___java_lang_CharSequence_int_int]
1069 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "append", "?")
1070 XMLVMElem _r0;
1071 XMLVMElem _r1;
1072 XMLVMElem _r2;
1073 XMLVMElem _r3;
1074 XMLVMElem _r4;
1075 XMLVMElem _r5;
1076 _r2.o = me;
1077 _r3.o = n1;
1078 _r4.i = n2;
1079 _r5.i = n3;
1080 XMLVM_SOURCE_POSITION("CharBuffer.java", 757)
1081 if (_r3.o != JAVA_NULL) goto label25;
1082 XMLVM_SOURCE_POSITION("CharBuffer.java", 758)
1083 // "null"
1084 _r0.o = xmlvm_create_java_string_from_pool(63);
1085 label4:;
1086 XMLVM_SOURCE_POSITION("CharBuffer.java", 760)
1087 XMLVM_CHECK_NPE(0)
1088 _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT, JAVA_INT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_subSequence___int_int])(_r0.o, _r4.i, _r5.i);
1089 XMLVM_SOURCE_POSITION("CharBuffer.java", 761)
1090 XMLVM_CHECK_NPE(0)
1091 _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_length__])(_r0.o);
1092 if (_r1.i <= 0) goto label23;
1093 XMLVM_SOURCE_POSITION("CharBuffer.java", 762)
1094 XMLVM_CHECK_NPE(0)
1095 _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_toString__])(_r0.o);
1096 XMLVM_CHECK_NPE(2)
1097 _r0.o = java_nio_CharBuffer_put___java_lang_String(_r2.o, _r0.o);
1098 label22:;
1099 XMLVM_SOURCE_POSITION("CharBuffer.java", 764)
1100 XMLVM_EXIT_METHOD()
1101 return _r0.o;
1102 label23:;
1103 _r0 = _r2;
1104 goto label22;
1105 label25:;
1106 _r0 = _r3;
1107 goto label4;
1108 //XMLVM_END_WRAPPER
1109 }
1110
java_nio_CharBuffer_read___java_nio_CharBuffer(JAVA_OBJECT me,JAVA_OBJECT n1)1111 JAVA_INT java_nio_CharBuffer_read___java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
1112 {
1113 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_read___java_nio_CharBuffer]
1114 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "read", "?")
1115 XMLVMElem _r0;
1116 XMLVMElem _r1;
1117 XMLVMElem _r2;
1118 XMLVMElem _r3;
1119 _r2.o = me;
1120 _r3.o = n1;
1121 _r1.i = -1;
1122 XMLVM_SOURCE_POSITION("CharBuffer.java", 785)
1123 XMLVM_CHECK_NPE(2)
1124 _r0.i = java_nio_Buffer_remaining__(_r2.o);
1125 XMLVM_SOURCE_POSITION("CharBuffer.java", 786)
1126 if (_r3.o != _r2.o) goto label17;
1127 XMLVM_SOURCE_POSITION("CharBuffer.java", 787)
1128 if (_r0.i != 0) goto label11;
1129 _r0 = _r1;
1130 label10:;
1131 XMLVM_SOURCE_POSITION("CharBuffer.java", 788)
1132 XMLVM_SOURCE_POSITION("CharBuffer.java", 801)
1133 XMLVM_EXIT_METHOD()
1134 return _r0.i;
1135 label11:;
1136 XMLVM_SOURCE_POSITION("CharBuffer.java", 790)
1137
1138
1139 // Red class access removed: java.lang.IllegalArgumentException::new-instance
1140 XMLVM_RED_CLASS_DEPENDENCY();
1141
1142
1143 // Red class access removed: java.lang.IllegalArgumentException::<init>
1144 XMLVM_RED_CLASS_DEPENDENCY();
1145 XMLVM_THROW_CUSTOM(_r0.o)
1146 label17:;
1147 XMLVM_SOURCE_POSITION("CharBuffer.java", 792)
1148 if (_r0.i != 0) goto label33;
1149 XMLVM_SOURCE_POSITION("CharBuffer.java", 793)
1150 XMLVM_CHECK_NPE(2)
1151 _r0.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.limit_;
1152 if (_r0.i <= 0) goto label31;
1153 XMLVM_CHECK_NPE(3)
1154 _r0.i = java_nio_Buffer_remaining__(_r3.o);
1155 if (_r0.i != 0) goto label31;
1156 _r0.i = 0;
1157 goto label10;
1158 label31:;
1159 _r0 = _r1;
1160 goto label10;
1161 label33:;
1162 XMLVM_SOURCE_POSITION("CharBuffer.java", 795)
1163 XMLVM_CHECK_NPE(3)
1164 _r1.i = java_nio_Buffer_remaining__(_r3.o);
1165 _r0.i = java_lang_Math_min___int_int(_r1.i, _r0.i);
1166 XMLVM_SOURCE_POSITION("CharBuffer.java", 796)
1167 if (_r0.i <= 0) goto label10;
1168 XMLVM_SOURCE_POSITION("CharBuffer.java", 797)
1169 XMLVM_CLASS_INIT(char)
1170 _r1.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
1171 XMLVM_SOURCE_POSITION("CharBuffer.java", 798)
1172 XMLVM_CHECK_NPE(2)
1173 java_nio_CharBuffer_get___char_1ARRAY(_r2.o, _r1.o);
1174 XMLVM_SOURCE_POSITION("CharBuffer.java", 799)
1175 XMLVM_CHECK_NPE(3)
1176 java_nio_CharBuffer_put___char_1ARRAY(_r3.o, _r1.o);
1177 goto label10;
1178 //XMLVM_END_WRAPPER
1179 }
1180
java_nio_CharBuffer_compareTo___java_lang_Object(JAVA_OBJECT me,JAVA_OBJECT n1)1181 JAVA_INT java_nio_CharBuffer_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
1182 {
1183 //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_compareTo___java_lang_Object]
1184 XMLVM_ENTER_METHOD("java.nio.CharBuffer", "compareTo", "?")
1185 XMLVMElem _r0;
1186 XMLVMElem _r1;
1187 XMLVMElem _r2;
1188 _r1.o = me;
1189 _r2.o = n1;
1190 XMLVM_SOURCE_POSITION("CharBuffer.java", 1)
1191 _r2.o = _r2.o;
1192 XMLVM_CHECK_NPE(1)
1193 _r0.i = java_nio_CharBuffer_compareTo___java_nio_CharBuffer(_r1.o, _r2.o);
1194 XMLVM_EXIT_METHOD()
1195 return _r0.i;
1196 //XMLVM_END_WRAPPER
1197 }
1198
1199