1 #include "xmlvm.h"
2 #include "java_lang_CharSequence.h"
3 #include "java_lang_IndexOutOfBoundsException.h"
4 #include "java_lang_Object.h"
5 #include "java_lang_String.h"
6 #include "java_lang_System.h"
7
8 #include "java_nio_CharArrayBuffer.h"
9
10 #define XMLVM_CURRENT_CLASS_NAME CharArrayBuffer
11 #define XMLVM_CURRENT_PKG_CLASS_NAME java_nio_CharArrayBuffer
12
13 __TIB_DEFINITION_java_nio_CharArrayBuffer __TIB_java_nio_CharArrayBuffer = {
14 0, // classInitializationBegan
15 0, // classInitialized
16 -1, // initializerThreadId
17 __INIT_java_nio_CharArrayBuffer, // classInitializer
18 "java.nio.CharArrayBuffer", // className
19 "java.nio", // package
20 JAVA_NULL, // enclosingClassName
21 JAVA_NULL, // enclosingMethodName
22 JAVA_NULL, // signature
23 (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_CharBuffer, // extends
24 sizeof(java_nio_CharArrayBuffer), // sizeInstance
25 XMLVM_TYPE_CLASS};
26
27 JAVA_OBJECT __CLASS_java_nio_CharArrayBuffer;
28 JAVA_OBJECT __CLASS_java_nio_CharArrayBuffer_1ARRAY;
29 JAVA_OBJECT __CLASS_java_nio_CharArrayBuffer_2ARRAY;
30 JAVA_OBJECT __CLASS_java_nio_CharArrayBuffer_3ARRAY;
31 //XMLVM_BEGIN_IMPLEMENTATION
32 //XMLVM_END_IMPLEMENTATION
33
34
35 #include "xmlvm-reflection.h"
36
37 static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
38 };
39
40 static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
41 };
42
constructor_dispatcher(JAVA_OBJECT constructor,JAVA_OBJECT arguments)43 static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
44 {
45 XMLVM_NOT_IMPLEMENTED();
46 }
47
48 static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
49 };
50
method_dispatcher(JAVA_OBJECT method,JAVA_OBJECT receiver,JAVA_OBJECT arguments)51 static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
52 {
53 XMLVM_NOT_IMPLEMENTED();
54 }
55
__INIT_java_nio_CharArrayBuffer()56 void __INIT_java_nio_CharArrayBuffer()
57 {
58 staticInitializerLock(&__TIB_java_nio_CharArrayBuffer);
59
60 // While the static initializer mutex is locked, locally store the value of
61 // whether class initialization began or not
62 int initBegan = __TIB_java_nio_CharArrayBuffer.classInitializationBegan;
63
64 // Whether or not class initialization had already began, it has begun now
65 __TIB_java_nio_CharArrayBuffer.classInitializationBegan = 1;
66
67 staticInitializerUnlock(&__TIB_java_nio_CharArrayBuffer);
68
69 JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
70 if (initBegan) {
71 if (__TIB_java_nio_CharArrayBuffer.initializerThreadId != curThreadId) {
72 // Busy wait until the other thread finishes initializing this class
73 while (!__TIB_java_nio_CharArrayBuffer.classInitialized) {
74 // do nothing
75 }
76 }
77 } else {
78 __TIB_java_nio_CharArrayBuffer.initializerThreadId = curThreadId;
79 XMLVM_CLASS_USED("java.nio.CharArrayBuffer")
80 __INIT_IMPL_java_nio_CharArrayBuffer();
81 }
82 }
83
__INIT_IMPL_java_nio_CharArrayBuffer()84 void __INIT_IMPL_java_nio_CharArrayBuffer()
85 {
86 // Initialize base class if necessary
87 XMLVM_CLASS_INIT(java_nio_CharBuffer)
88 __TIB_java_nio_CharArrayBuffer.newInstanceFunc = __NEW_INSTANCE_java_nio_CharArrayBuffer;
89 // Copy vtable from base class
90 XMLVM_MEMCPY(__TIB_java_nio_CharArrayBuffer.vtable, __TIB_java_nio_CharBuffer.vtable, sizeof(__TIB_java_nio_CharBuffer.vtable));
91 // Initialize vtable for this class
92 __TIB_java_nio_CharArrayBuffer.vtable[19] = (VTABLE_PTR) &java_nio_CharArrayBuffer_get__;
93 __TIB_java_nio_CharArrayBuffer.vtable[21] = (VTABLE_PTR) &java_nio_CharArrayBuffer_get___int;
94 __TIB_java_nio_CharArrayBuffer.vtable[20] = (VTABLE_PTR) &java_nio_CharArrayBuffer_get___char_1ARRAY_int_int;
95 __TIB_java_nio_CharArrayBuffer.vtable[9] = (VTABLE_PTR) &java_nio_CharArrayBuffer_isDirect__;
96 __TIB_java_nio_CharArrayBuffer.vtable[23] = (VTABLE_PTR) &java_nio_CharArrayBuffer_order__;
97 __TIB_java_nio_CharArrayBuffer.vtable[32] = (VTABLE_PTR) &java_nio_CharArrayBuffer_subSequence___int_int;
98 __TIB_java_nio_CharArrayBuffer.vtable[5] = (VTABLE_PTR) &java_nio_CharArrayBuffer_toString__;
99 // Initialize interface information
100 __TIB_java_nio_CharArrayBuffer.numImplementedInterfaces = 4;
101 __TIB_java_nio_CharArrayBuffer.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 4);
102
103 // Initialize interfaces if necessary and assign tib to implementedInterfaces
104
105 XMLVM_CLASS_INIT(java_lang_Appendable)
106
107 __TIB_java_nio_CharArrayBuffer.implementedInterfaces[0][0] = &__TIB_java_lang_Appendable;
108
109 XMLVM_CLASS_INIT(java_lang_CharSequence)
110
111 __TIB_java_nio_CharArrayBuffer.implementedInterfaces[0][1] = &__TIB_java_lang_CharSequence;
112
113 XMLVM_CLASS_INIT(java_lang_Comparable)
114
115 __TIB_java_nio_CharArrayBuffer.implementedInterfaces[0][2] = &__TIB_java_lang_Comparable;
116
117 XMLVM_CLASS_INIT(java_lang_Readable)
118
119 __TIB_java_nio_CharArrayBuffer.implementedInterfaces[0][3] = &__TIB_java_lang_Readable;
120 // Initialize itable for this class
121 __TIB_java_nio_CharArrayBuffer.itableBegin = &__TIB_java_nio_CharArrayBuffer.itable[0];
122 __TIB_java_nio_CharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Appendable_append___char] = __TIB_java_nio_CharArrayBuffer.vtable[11];
123 __TIB_java_nio_CharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Appendable_append___java_lang_CharSequence] = __TIB_java_nio_CharArrayBuffer.vtable[12];
124 __TIB_java_nio_CharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Appendable_append___java_lang_CharSequence_int_int] = __TIB_java_nio_CharArrayBuffer.vtable[13];
125 __TIB_java_nio_CharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_charAt___int] = __TIB_java_nio_CharArrayBuffer.vtable[15];
126 __TIB_java_nio_CharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_length__] = __TIB_java_nio_CharArrayBuffer.vtable[22];
127 __TIB_java_nio_CharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_subSequence___int_int] = __TIB_java_nio_CharArrayBuffer.vtable[32];
128 __TIB_java_nio_CharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_toString__] = __TIB_java_nio_CharArrayBuffer.vtable[5];
129 __TIB_java_nio_CharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_java_nio_CharArrayBuffer.vtable[17];
130 __TIB_java_nio_CharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Readable_read___java_nio_CharBuffer] = __TIB_java_nio_CharArrayBuffer.vtable[30];
131
132
133 __TIB_java_nio_CharArrayBuffer.declaredFields = &__field_reflection_data[0];
134 __TIB_java_nio_CharArrayBuffer.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
135 __TIB_java_nio_CharArrayBuffer.constructorDispatcherFunc = constructor_dispatcher;
136 __TIB_java_nio_CharArrayBuffer.declaredConstructors = &__constructor_reflection_data[0];
137 __TIB_java_nio_CharArrayBuffer.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
138 __TIB_java_nio_CharArrayBuffer.methodDispatcherFunc = method_dispatcher;
139 __TIB_java_nio_CharArrayBuffer.declaredMethods = &__method_reflection_data[0];
140 __TIB_java_nio_CharArrayBuffer.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
141 __CLASS_java_nio_CharArrayBuffer = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_nio_CharArrayBuffer);
142 __TIB_java_nio_CharArrayBuffer.clazz = __CLASS_java_nio_CharArrayBuffer;
143 __TIB_java_nio_CharArrayBuffer.baseType = JAVA_NULL;
144 __CLASS_java_nio_CharArrayBuffer_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_CharArrayBuffer);
145 __CLASS_java_nio_CharArrayBuffer_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_CharArrayBuffer_1ARRAY);
146 __CLASS_java_nio_CharArrayBuffer_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_CharArrayBuffer_2ARRAY);
147 //XMLVM_BEGIN_WRAPPER[__INIT_java_nio_CharArrayBuffer]
148 //XMLVM_END_WRAPPER
149
150 __TIB_java_nio_CharArrayBuffer.classInitialized = 1;
151 }
152
__DELETE_java_nio_CharArrayBuffer(void * me,void * client_data)153 void __DELETE_java_nio_CharArrayBuffer(void* me, void* client_data)
154 {
155 //XMLVM_BEGIN_WRAPPER[__DELETE_java_nio_CharArrayBuffer]
156 //XMLVM_END_WRAPPER
157 }
158
__INIT_INSTANCE_MEMBERS_java_nio_CharArrayBuffer(JAVA_OBJECT me,int derivedClassWillRegisterFinalizer)159 void __INIT_INSTANCE_MEMBERS_java_nio_CharArrayBuffer(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
160 {
161 __INIT_INSTANCE_MEMBERS_java_nio_CharBuffer(me, 0 || derivedClassWillRegisterFinalizer);
162 ((java_nio_CharArrayBuffer*) me)->fields.java_nio_CharArrayBuffer.backingArray_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
163 ((java_nio_CharArrayBuffer*) me)->fields.java_nio_CharArrayBuffer.offset_ = 0;
164 //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_nio_CharArrayBuffer]
165 //XMLVM_END_WRAPPER
166 }
167
__NEW_java_nio_CharArrayBuffer()168 JAVA_OBJECT __NEW_java_nio_CharArrayBuffer()
169 { XMLVM_CLASS_INIT(java_nio_CharArrayBuffer)
170 java_nio_CharArrayBuffer* me = (java_nio_CharArrayBuffer*) XMLVM_MALLOC(sizeof(java_nio_CharArrayBuffer));
171 me->tib = &__TIB_java_nio_CharArrayBuffer;
172 __INIT_INSTANCE_MEMBERS_java_nio_CharArrayBuffer(me, 0);
173 //XMLVM_BEGIN_WRAPPER[__NEW_java_nio_CharArrayBuffer]
174 //XMLVM_END_WRAPPER
175 return me;
176 }
177
__NEW_INSTANCE_java_nio_CharArrayBuffer()178 JAVA_OBJECT __NEW_INSTANCE_java_nio_CharArrayBuffer()
179 {
180 JAVA_OBJECT me = JAVA_NULL;
181 return me;
182 }
183
java_nio_CharArrayBuffer___INIT____char_1ARRAY(JAVA_OBJECT me,JAVA_OBJECT n1)184 void java_nio_CharArrayBuffer___INIT____char_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
185 {
186 //XMLVM_BEGIN_WRAPPER[java_nio_CharArrayBuffer___INIT____char_1ARRAY]
187 XMLVM_ENTER_METHOD("java.nio.CharArrayBuffer", "<init>", "?")
188 XMLVMElem _r0;
189 XMLVMElem _r1;
190 XMLVMElem _r2;
191 XMLVMElem _r3;
192 _r2.o = me;
193 _r3.o = n1;
194 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 39)
195 _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
196 _r1.i = 0;
197 XMLVM_CHECK_NPE(2)
198 java_nio_CharArrayBuffer___INIT____int_char_1ARRAY_int(_r2.o, _r0.i, _r3.o, _r1.i);
199 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 40)
200 XMLVM_EXIT_METHOD()
201 return;
202 //XMLVM_END_WRAPPER
203 }
204
java_nio_CharArrayBuffer___INIT____int(JAVA_OBJECT me,JAVA_INT n1)205 void java_nio_CharArrayBuffer___INIT____int(JAVA_OBJECT me, JAVA_INT n1)
206 {
207 //XMLVM_BEGIN_WRAPPER[java_nio_CharArrayBuffer___INIT____int]
208 XMLVM_ENTER_METHOD("java.nio.CharArrayBuffer", "<init>", "?")
209 XMLVMElem _r0;
210 XMLVMElem _r1;
211 XMLVMElem _r2;
212 XMLVMElem _r3;
213 _r2.o = me;
214 _r3.i = n1;
215 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 43)
216 XMLVM_CLASS_INIT(char)
217 _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r3.i);
218 _r1.i = 0;
219 XMLVM_CHECK_NPE(2)
220 java_nio_CharArrayBuffer___INIT____int_char_1ARRAY_int(_r2.o, _r3.i, _r0.o, _r1.i);
221 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 44)
222 XMLVM_EXIT_METHOD()
223 return;
224 //XMLVM_END_WRAPPER
225 }
226
java_nio_CharArrayBuffer___INIT____int_char_1ARRAY_int(JAVA_OBJECT me,JAVA_INT n1,JAVA_OBJECT n2,JAVA_INT n3)227 void java_nio_CharArrayBuffer___INIT____int_char_1ARRAY_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2, JAVA_INT n3)
228 {
229 //XMLVM_BEGIN_WRAPPER[java_nio_CharArrayBuffer___INIT____int_char_1ARRAY_int]
230 XMLVM_ENTER_METHOD("java.nio.CharArrayBuffer", "<init>", "?")
231 XMLVMElem _r0;
232 XMLVMElem _r1;
233 XMLVMElem _r2;
234 XMLVMElem _r3;
235 _r0.o = me;
236 _r1.i = n1;
237 _r2.o = n2;
238 _r3.i = n3;
239 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 47)
240 XMLVM_CHECK_NPE(0)
241 java_nio_CharBuffer___INIT____int(_r0.o, _r1.i);
242 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 48)
243 XMLVM_CHECK_NPE(0)
244 ((java_nio_CharArrayBuffer*) _r0.o)->fields.java_nio_CharArrayBuffer.backingArray_ = _r2.o;
245 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 49)
246 XMLVM_CHECK_NPE(0)
247 ((java_nio_CharArrayBuffer*) _r0.o)->fields.java_nio_CharArrayBuffer.offset_ = _r3.i;
248 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 50)
249 XMLVM_EXIT_METHOD()
250 return;
251 //XMLVM_END_WRAPPER
252 }
253
java_nio_CharArrayBuffer_get__(JAVA_OBJECT me)254 JAVA_CHAR java_nio_CharArrayBuffer_get__(JAVA_OBJECT me)
255 {
256 //XMLVM_BEGIN_WRAPPER[java_nio_CharArrayBuffer_get__]
257 XMLVM_ENTER_METHOD("java.nio.CharArrayBuffer", "get", "?")
258 XMLVMElem _r0;
259 XMLVMElem _r1;
260 XMLVMElem _r2;
261 XMLVMElem _r3;
262 XMLVMElem _r4;
263 _r4.o = me;
264 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 54)
265 XMLVM_CHECK_NPE(4)
266 _r0.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.position_;
267 XMLVM_CHECK_NPE(4)
268 _r1.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.limit_;
269 if (_r0.i != _r1.i) goto label12;
270 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 55)
271
272
273 // Red class access removed: java.nio.BufferUnderflowException::new-instance
274 XMLVM_RED_CLASS_DEPENDENCY();
275
276
277 // Red class access removed: java.nio.BufferUnderflowException::<init>
278 XMLVM_RED_CLASS_DEPENDENCY();
279 XMLVM_THROW_CUSTOM(_r0.o)
280 label12:;
281 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 57)
282 XMLVM_CHECK_NPE(4)
283 _r0.o = ((java_nio_CharArrayBuffer*) _r4.o)->fields.java_nio_CharArrayBuffer.backingArray_;
284 XMLVM_CHECK_NPE(4)
285 _r1.i = ((java_nio_CharArrayBuffer*) _r4.o)->fields.java_nio_CharArrayBuffer.offset_;
286 XMLVM_CHECK_NPE(4)
287 _r2.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.position_;
288 _r3.i = _r2.i + 1;
289 XMLVM_CHECK_NPE(4)
290 ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.position_ = _r3.i;
291 _r1.i = _r1.i + _r2.i;
292 XMLVM_CHECK_NPE(0)
293 XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
294 _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
295 XMLVM_EXIT_METHOD()
296 return _r0.i;
297 //XMLVM_END_WRAPPER
298 }
299
java_nio_CharArrayBuffer_get___int(JAVA_OBJECT me,JAVA_INT n1)300 JAVA_CHAR java_nio_CharArrayBuffer_get___int(JAVA_OBJECT me, JAVA_INT n1)
301 {
302 //XMLVM_BEGIN_WRAPPER[java_nio_CharArrayBuffer_get___int]
303 XMLVM_ENTER_METHOD("java.nio.CharArrayBuffer", "get", "?")
304 XMLVMElem _r0;
305 XMLVMElem _r1;
306 XMLVMElem _r2;
307 XMLVMElem _r3;
308 _r2.o = me;
309 _r3.i = n1;
310 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 62)
311 if (_r3.i < 0) goto label6;
312 XMLVM_CHECK_NPE(2)
313 _r0.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.limit_;
314 if (_r3.i < _r0.i) goto label12;
315 label6:;
316 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 63)
317 _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
318 XMLVM_CHECK_NPE(0)
319 java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
320 XMLVM_THROW_CUSTOM(_r0.o)
321 label12:;
322 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 65)
323 XMLVM_CHECK_NPE(2)
324 _r0.o = ((java_nio_CharArrayBuffer*) _r2.o)->fields.java_nio_CharArrayBuffer.backingArray_;
325 XMLVM_CHECK_NPE(2)
326 _r1.i = ((java_nio_CharArrayBuffer*) _r2.o)->fields.java_nio_CharArrayBuffer.offset_;
327 _r1.i = _r1.i + _r3.i;
328 XMLVM_CHECK_NPE(0)
329 XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
330 _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
331 XMLVM_EXIT_METHOD()
332 return _r0.i;
333 //XMLVM_END_WRAPPER
334 }
335
java_nio_CharArrayBuffer_get___char_1ARRAY_int_int(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_INT n2,JAVA_INT n3)336 JAVA_OBJECT java_nio_CharArrayBuffer_get___char_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
337 {
338 //XMLVM_BEGIN_WRAPPER[java_nio_CharArrayBuffer_get___char_1ARRAY_int_int]
339 XMLVM_ENTER_METHOD("java.nio.CharArrayBuffer", "get", "?")
340 XMLVMElem _r0;
341 XMLVMElem _r1;
342 XMLVMElem _r2;
343 XMLVMElem _r3;
344 XMLVMElem _r4;
345 XMLVMElem _r5;
346 XMLVMElem _r6;
347 XMLVMElem _r7;
348 XMLVMElem _r8;
349 _r5.o = me;
350 _r6.o = n1;
351 _r7.i = n2;
352 _r8.i = n3;
353 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 70)
354 _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
355 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 71)
356 if (_r7.i < 0) goto label13;
357 if (_r8.i < 0) goto label13;
358 _r1.l = (JAVA_LONG) _r7.i;
359 _r3.l = (JAVA_LONG) _r8.i;
360 _r1.l = _r1.l + _r3.l;
361 _r3.l = (JAVA_LONG) _r0.i;
362 _r0.i = _r1.l > _r3.l ? 1 : (_r1.l == _r3.l ? 0 : -1);
363 if (_r0.i <= 0) goto label19;
364 label13:;
365 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 72)
366 _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
367 XMLVM_CHECK_NPE(0)
368 java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
369 XMLVM_THROW_CUSTOM(_r0.o)
370 label19:;
371 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 74)
372 XMLVM_CHECK_NPE(5)
373 _r0.i = java_nio_Buffer_remaining__(_r5.o);
374 if (_r8.i <= _r0.i) goto label31;
375 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 75)
376
377
378 // Red class access removed: java.nio.BufferUnderflowException::new-instance
379 XMLVM_RED_CLASS_DEPENDENCY();
380
381
382 // Red class access removed: java.nio.BufferUnderflowException::<init>
383 XMLVM_RED_CLASS_DEPENDENCY();
384 XMLVM_THROW_CUSTOM(_r0.o)
385 label31:;
386 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 77)
387 XMLVM_CHECK_NPE(5)
388 _r0.o = ((java_nio_CharArrayBuffer*) _r5.o)->fields.java_nio_CharArrayBuffer.backingArray_;
389 XMLVM_CHECK_NPE(5)
390 _r1.i = ((java_nio_CharArrayBuffer*) _r5.o)->fields.java_nio_CharArrayBuffer.offset_;
391 XMLVM_CHECK_NPE(5)
392 _r2.i = ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.position_;
393 _r1.i = _r1.i + _r2.i;
394 java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r1.i, _r6.o, _r7.i, _r8.i);
395 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 78)
396 XMLVM_CHECK_NPE(5)
397 _r0.i = ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.position_;
398 _r0.i = _r0.i + _r8.i;
399 XMLVM_CHECK_NPE(5)
400 ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.position_ = _r0.i;
401 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 79)
402 XMLVM_EXIT_METHOD()
403 return _r5.o;
404 //XMLVM_END_WRAPPER
405 }
406
java_nio_CharArrayBuffer_isDirect__(JAVA_OBJECT me)407 JAVA_BOOLEAN java_nio_CharArrayBuffer_isDirect__(JAVA_OBJECT me)
408 {
409 //XMLVM_BEGIN_WRAPPER[java_nio_CharArrayBuffer_isDirect__]
410 XMLVM_ENTER_METHOD("java.nio.CharArrayBuffer", "isDirect", "?")
411 XMLVMElem _r0;
412 XMLVMElem _r1;
413 _r1.o = me;
414 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 84)
415 _r0.i = 0;
416 XMLVM_EXIT_METHOD()
417 return _r0.i;
418 //XMLVM_END_WRAPPER
419 }
420
java_nio_CharArrayBuffer_order__(JAVA_OBJECT me)421 JAVA_OBJECT java_nio_CharArrayBuffer_order__(JAVA_OBJECT me)
422 {
423 //XMLVM_BEGIN_WRAPPER[java_nio_CharArrayBuffer_order__]
424 XMLVM_ENTER_METHOD("java.nio.CharArrayBuffer", "order", "?")
425 XMLVMElem _r0;
426 XMLVMElem _r1;
427 _r1.o = me;
428 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 89)
429
430
431 // Red class access removed: java.nio.ByteOrder::nativeOrder
432 XMLVM_RED_CLASS_DEPENDENCY();
433 XMLVM_EXIT_METHOD()
434 return _r0.o;
435 //XMLVM_END_WRAPPER
436 }
437
java_nio_CharArrayBuffer_subSequence___int_int(JAVA_OBJECT me,JAVA_INT n1,JAVA_INT n2)438 JAVA_OBJECT java_nio_CharArrayBuffer_subSequence___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
439 {
440 //XMLVM_BEGIN_WRAPPER[java_nio_CharArrayBuffer_subSequence___int_int]
441 XMLVM_ENTER_METHOD("java.nio.CharArrayBuffer", "subSequence", "?")
442 XMLVMElem _r0;
443 XMLVMElem _r1;
444 XMLVMElem _r2;
445 XMLVMElem _r3;
446 XMLVMElem _r4;
447 _r2.o = me;
448 _r3.i = n1;
449 _r4.i = n2;
450 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 94)
451 if (_r3.i < 0) goto label10;
452 if (_r4.i < _r3.i) goto label10;
453 XMLVM_CHECK_NPE(2)
454 _r0.i = java_nio_Buffer_remaining__(_r2.o);
455 if (_r4.i <= _r0.i) goto label16;
456 label10:;
457 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 95)
458 _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
459 XMLVM_CHECK_NPE(0)
460 java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
461 XMLVM_THROW_CUSTOM(_r0.o)
462 label16:;
463 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 98)
464 //java_nio_CharArrayBuffer_duplicate__[18]
465 XMLVM_CHECK_NPE(2)
466 _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_nio_CharArrayBuffer*) _r2.o)->tib->vtable[18])(_r2.o);
467 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 99)
468 XMLVM_CHECK_NPE(2)
469 _r1.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.position_;
470 _r1.i = _r1.i + _r4.i;
471 XMLVM_CHECK_NPE(0)
472 java_nio_Buffer_limit___int(_r0.o, _r1.i);
473 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 100)
474 XMLVM_CHECK_NPE(2)
475 _r1.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.position_;
476 _r1.i = _r1.i + _r3.i;
477 XMLVM_CHECK_NPE(0)
478 java_nio_Buffer_position___int(_r0.o, _r1.i);
479 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 101)
480 XMLVM_EXIT_METHOD()
481 return _r0.o;
482 //XMLVM_END_WRAPPER
483 }
484
java_nio_CharArrayBuffer_toString__(JAVA_OBJECT me)485 JAVA_OBJECT java_nio_CharArrayBuffer_toString__(JAVA_OBJECT me)
486 {
487 //XMLVM_BEGIN_WRAPPER[java_nio_CharArrayBuffer_toString__]
488 XMLVM_ENTER_METHOD("java.nio.CharArrayBuffer", "toString", "?")
489 XMLVMElem _r0;
490 XMLVMElem _r1;
491 XMLVMElem _r2;
492 XMLVMElem _r3;
493 _r3.o = me;
494 XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 106)
495 XMLVM_CHECK_NPE(3)
496 _r0.o = ((java_nio_CharArrayBuffer*) _r3.o)->fields.java_nio_CharArrayBuffer.backingArray_;
497 XMLVM_CHECK_NPE(3)
498 _r1.i = ((java_nio_CharArrayBuffer*) _r3.o)->fields.java_nio_CharArrayBuffer.offset_;
499 XMLVM_CHECK_NPE(3)
500 _r2.i = ((java_nio_Buffer*) _r3.o)->fields.java_nio_Buffer.position_;
501 _r1.i = _r1.i + _r2.i;
502 XMLVM_CHECK_NPE(3)
503 _r2.i = java_nio_Buffer_remaining__(_r3.o);
504 _r0.o = java_lang_String_copyValueOf___char_1ARRAY_int_int(_r0.o, _r1.i, _r2.i);
505 XMLVM_EXIT_METHOD()
506 return _r0.o;
507 //XMLVM_END_WRAPPER
508 }
509
510