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