1 #include <ADT/StringBuffer.d>
2 #include <__oo2c.h>
3 #include <setjmp.h>
4
ADT_StringBuffer__StringBufferDesc_INIT(ADT_StringBuffer__StringBuffer b,OOC_INT32 initialCapacity)5 void ADT_StringBuffer__StringBufferDesc_INIT(ADT_StringBuffer__StringBuffer b, OOC_INT32 initialCapacity) {
6 register OOC_INT64 i0,i1;
7
8 i0 = initialCapacity;
9 i1 = i0<8;
10 if (!i1) goto l4;
11 initialCapacity = 8;
12 i0=8;
13 l4:
14 i1 = (OOC_INT64)b;
15 *(OOC_INT32*)(_check_pointer(i1, 1975)) = i0;
16 *(OOC_INT32*)((_check_pointer(i1, 2010))+4) = 0;
17 *(OOC_INT64*)((_check_pointer(i1, 2033))+8) = ((OOC_INT64)RT0__NewObject(_td_ADT_StringBuffer__CharsLatin1.baseTypes[0], i0));
18 *(OOC_INT64*)((_check_pointer(i1, 2064))+16) = 0;
19 return;
20 ;
21 }
22
ADT_StringBuffer__StringBufferDesc_ToString(ADT_StringBuffer__StringBuffer b)23 Object__String ADT_StringBuffer__StringBufferDesc_ToString(ADT_StringBuffer__StringBuffer b) {
24 register OOC_INT64 i0,i1,i2;
25
26 i0 = (OOC_INT64)b;
27 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 2158))+8);
28 i1 = i1!=(OOC_INT64)0;
29 if (i1) goto l3;
30 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 2282))+16);
31 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 2282))+16);
32 i1 = OOC_ARRAY_LENGTH((_check_pointer(i1, 2289)), 0);
33 i0 = *(OOC_INT32*)((_check_pointer(i0, 2296))+4);
34 i0 = (OOC_INT64)Object__NewUTF16Region((void*)(_check_pointer(i2, 2289)), i1, 0, i0);
35 return (Object__String)i0;
36 goto l4;
37 l3:
38 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 2214))+8);
39 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 2214))+8);
40 i1 = OOC_ARRAY_LENGTH((_check_pointer(i1, 2220)), 0);
41 i0 = *(OOC_INT32*)((_check_pointer(i0, 2227))+4);
42 i0 = (OOC_INT64)Object__NewLatin1Region((void*)(_check_pointer(i2, 2220)), i1, 0, i0);
43 return (Object__String)i0;
44 l4:
45 _failed_function(2121); return 0;
46 ;
47 }
48
ADT_StringBuffer__StringBufferDesc_CharAt(ADT_StringBuffer__StringBuffer b,OOC_INT32 index)49 OOC_CHAR32 ADT_StringBuffer__StringBufferDesc_CharAt(ADT_StringBuffer__StringBuffer b, OOC_INT32 index) {
50 register OOC_INT64 i0,i1,i2,i3;
51 OOC_CHAR16 _w1;
52
53 i0 = (OOC_INT64)b;
54 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 2440))+8);
55 i1 = i1!=(OOC_INT64)0;
56 if (i1) goto l27;
57 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 2510))+16);
58 i1 = _check_pointer(i1, 2517);
59 i2 = OOC_ARRAY_LENGTH(i1, 0);
60 i3 = index;
61 i1 = *(OOC_UINT16*)(i1+(_check_index(i3, i2, OOC_UINT32, 2517))*2);
62 _w1 = i1;
63 i2 = (OOC_UINT16)i1<(OOC_UINT16)55296u;
64 if (i2) goto l5;
65 i2 = (OOC_UINT16)i1>=(OOC_UINT16)57344u;
66
67 goto l7;
68 l5:
69 i2=1u;
70 l7:
71 if (i2) goto l9;
72 i2 = *(OOC_INT32*)((_check_pointer(i0, 2626))+4);
73 i2 = (i3+1)==i2;
74
75 goto l11;
76 l9:
77 i2=1u;
78 l11:
79 if (i2) goto l25;
80 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 2751))+16);
81 i0 = _check_pointer(i0, 2758);
82 i2 = OOC_ARRAY_LENGTH(i0, 0);
83 i0 = *(OOC_UINT16*)(i0+(_check_index((i3+1), i2, OOC_UINT32, 2758))*2);
84 i2 = (OOC_UINT16)i1<(OOC_UINT16)56320u;
85 if (i2) goto l15;
86 i2=0u;
87 goto l17;
88 l15:
89 i2 = (OOC_UINT16)56320u<=(OOC_UINT16)i0;
90
91 l17:
92 if (i2) goto l19;
93 i2=0u;
94 goto l21;
95 l19:
96 i2 = (OOC_UINT16)i0<(OOC_UINT16)57344u;
97
98 l21:
99 if (i2) goto l23;
100 return i1;
101 goto l28;
102 l23:
103 return (((_mod(i1,1024))*1024)+(_mod(i0,1024)));
104 goto l28;
105 l25:
106 return i1;
107 goto l28;
108 l27:
109 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 2473))+8);
110 i0 = _check_pointer(i0, 2479);
111 i1 = OOC_ARRAY_LENGTH(i0, 0);
112 i2 = index;
113 i0 = *(OOC_UINT8*)(i0+(_check_index(i2, i1, OOC_UINT32, 2479)));
114 return i0;
115 l28:
116 _failed_function(2360); return 0;
117 ;
118 }
119
ADT_StringBuffer__StringBufferDesc_Clear(ADT_StringBuffer__StringBuffer b)120 void ADT_StringBuffer__StringBufferDesc_Clear(ADT_StringBuffer__StringBuffer b) {
121 register OOC_INT64 i0;
122
123 i0 = (OOC_INT64)b;
124 *(OOC_INT32*)((_check_pointer(i0, 3115))+4) = 0;
125 return;
126 ;
127 }
128
ADT_StringBuffer__StringBufferDesc_EnsureCapacity(ADT_StringBuffer__StringBuffer b,OOC_INT32 cap)129 void ADT_StringBuffer__StringBufferDesc_EnsureCapacity(ADT_StringBuffer__StringBuffer b, OOC_INT32 cap) {
130 register OOC_INT64 i0,i1,i2,i3;
131 OOC_INT32 newCap;
132 ADT_StringBuffer__CharsLatin1 new8;
133 ADT_StringBuffer__CharsUTF16 new16;
134
135 i0 = (OOC_INT64)b;
136 i1 = *(OOC_INT32*)(_check_pointer(i0, 3292));
137 i2 = cap;
138 i1 = i1<i2;
139 if (!i1) goto l16;
140 i1 = *(OOC_INT32*)(_check_pointer(i0, 3331));
141 newCap = i1;
142 i3 = i1<i2;
143 if (!i3) goto l11;
144 l6_loop:
145 i1 = i1*2;
146 newCap = i1;
147 i3 = i1<i2;
148 if (i3) goto l6_loop;
149 l11:
150 *(OOC_INT32*)(_check_pointer(i0, 3418)) = i1;
151 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 3457))+8);
152 i2 = i2!=0;
153 if (i2) goto l14;
154 i1 = (OOC_INT64)RT0__NewObject(_td_ADT_StringBuffer__CharsUTF16.baseTypes[0], i1);
155 new16 = (ADT_StringBuffer__CharsUTF16)i1;
156 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 3657))+16);
157 i0 = *(OOC_INT32*)((_check_pointer(i0, 3684))+4);
158 _move_block((_check_pointer(i2, 3664)),(_check_pointer(i1, 3679)),(i0*2));
159 i0 = (OOC_INT64)b;
160 i1 = (OOC_INT64)new16;
161 *(OOC_INT64*)((_check_pointer(i0, 3718))+16) = i1;
162 goto l16;
163 l14:
164 i1 = (OOC_INT64)RT0__NewObject(_td_ADT_StringBuffer__CharsLatin1.baseTypes[0], i1);
165 new8 = (ADT_StringBuffer__CharsLatin1)i1;
166 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 3525))+8);
167 i0 = *(OOC_INT32*)((_check_pointer(i0, 3550))+4);
168 _move_block((_check_pointer(i2, 3531)),(_check_pointer(i1, 3545)),i0);
169 i0 = (OOC_INT64)b;
170 i1 = (OOC_INT64)new8;
171 *(OOC_INT64*)((_check_pointer(i0, 3580))+8) = i1;
172 l16:
173 return;
174 ;
175 }
176
ADT_StringBuffer__StringBufferDesc_CharsLatin1(ADT_StringBuffer__StringBuffer b)177 ADT_StringBuffer__CharsLatin1 ADT_StringBuffer__StringBufferDesc_CharsLatin1(ADT_StringBuffer__StringBuffer b) {
178 register OOC_INT64 i0,i1,i2,i3;
179
180 i0 = (OOC_INT64)b;
181 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 4469))+8);
182 i1 = i1!=(OOC_INT64)0;
183 if (!i1) goto l3;
184 i1 = *(OOC_INT32*)((_check_pointer(i0, 4512))+4);
185 ADT_StringBuffer__StringBufferDesc_EnsureCapacity((ADT_StringBuffer__StringBuffer)i0, (i1+1));
186 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 4531))+8);
187 i1 = _check_pointer(i1, 4537);
188 i2 = OOC_ARRAY_LENGTH(i1, 0);
189 i3 = *(OOC_INT32*)((_check_pointer(i0, 4539))+4);
190 *(OOC_UINT8*)(i1+(_check_index(i3, i2, OOC_UINT32, 4537))) = 0u;
191 l3:
192 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 4576))+8);
193 return (ADT_StringBuffer__CharsLatin1)i0;
194 ;
195 }
196
ADT_StringBuffer__StringBufferDesc_ConvertTo16(ADT_StringBuffer__StringBuffer b)197 void ADT_StringBuffer__StringBufferDesc_ConvertTo16(ADT_StringBuffer__StringBuffer b) {
198 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6;
199 OOC_INT32 i;
200
201 i0 = (OOC_INT64)b;
202 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 4698))+8);
203 i1 = OOC_ARRAY_LENGTH((_check_pointer(i1, 4704)), 0);
204 *(OOC_INT64*)((_check_pointer(i0, 4684))+16) = ((OOC_INT64)RT0__NewObject(_td_ADT_StringBuffer__CharsUTF16.baseTypes[0], i1));
205 i = 0;
206 i1 = *(OOC_INT32*)((_check_pointer(i0, 4728))+4);
207 i2 = 0<i1;
208 if (!i2) goto l8;
209 i2=0;
210 l3_loop:
211 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 4749))+16);
212 i3 = _check_pointer(i3, 4756);
213 i4 = OOC_ARRAY_LENGTH(i3, 0);
214 i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 4764))+8);
215 i5 = _check_pointer(i5, 4770);
216 i6 = OOC_ARRAY_LENGTH(i5, 0);
217 i5 = *(OOC_UINT8*)(i5+(_check_index(i2, i6, OOC_UINT32, 4770)));
218 *(OOC_UINT16*)(i3+(_check_index(i2, i4, OOC_UINT32, 4756))*2) = i5;
219 i2 = i2+1;
220 i = i2;
221 i3 = i2<i1;
222 if (i3) goto l3_loop;
223 l8:
224 *(OOC_INT64*)((_check_pointer(i0, 4789))+8) = (OOC_INT64)0;
225 return;
226 ;
227 }
228
ADT_StringBuffer__StringBufferDesc_CharsUTF16(ADT_StringBuffer__StringBuffer b)229 ADT_StringBuffer__CharsUTF16 ADT_StringBuffer__StringBufferDesc_CharsUTF16(ADT_StringBuffer__StringBuffer b) {
230 register OOC_INT64 i0,i1,i2,i3;
231
232 i0 = (OOC_INT64)b;
233 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 5522))+16);
234 i1 = i1!=(OOC_INT64)0;
235 if (!i1) goto l4;
236 i1 = *(OOC_INT32*)((_check_pointer(i0, 5566))+4);
237 ADT_StringBuffer__StringBufferDesc_EnsureCapacity((ADT_StringBuffer__StringBuffer)i0, (i1+1));
238 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 5585))+16);
239 i1 = _check_pointer(i1, 5592);
240 i2 = OOC_ARRAY_LENGTH(i1, 0);
241 i3 = *(OOC_INT32*)((_check_pointer(i0, 5594))+4);
242 *(OOC_UINT16*)(i1+(_check_index(i3, i2, OOC_UINT32, 5592))*2) = 0u;
243 l4:
244 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 5631))+16);
245 return (ADT_StringBuffer__CharsUTF16)i0;
246 ;
247 }
248
ADT_StringBuffer__StringBufferDesc_AppendLatin1Region(ADT_StringBuffer__StringBuffer b,const OOC_CHAR8 data[],OOC_LEN data_0d,OOC_INT32 start,OOC_INT32 end)249 void ADT_StringBuffer__StringBufferDesc_AppendLatin1Region(ADT_StringBuffer__StringBuffer b, const OOC_CHAR8 data[], OOC_LEN data_0d, OOC_INT32 start, OOC_INT32 end) {
250 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6;
251 OOC_INT32 len;
252 OOC_INT32 i;
253
254 i0 = start;
255 i1 = end;
256 _assert((i0>=0), 127, 5846);
257 _assert((i0<=i1), 127, 5870);
258 _assert((i1<=data_0d), 127, 5896);
259 i2 = i1-i0;
260 len = i2;
261 i3 = (OOC_INT64)b;
262 i4 = *(OOC_INT32*)((_check_pointer(i3, 5971))+4);
263 ADT_StringBuffer__StringBufferDesc_EnsureCapacity((ADT_StringBuffer__StringBuffer)i3, (i4+i2));
264 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 5994))+8);
265 i4 = i4!=(OOC_INT64)0;
266 if (i4) goto l11;
267 i2 = *(OOC_INT32*)((_check_pointer(i3, 6146))+4);
268 i = i2;
269 i4 = i0!=i1;
270 if (!i4) goto l12;
271 {register OOC_INT64 h0=i0;i0=i2;i2=h0;}
272 l5_loop:
273 i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 6193))+16);
274 i4 = _check_pointer(i4, 6200);
275 i5 = OOC_ARRAY_LENGTH(i4, 0);
276 i6 = *(OOC_UINT8*)((OOC_INT64)data+(_check_index(i2, data_0d, OOC_UINT32, 6211)));
277 *(OOC_UINT16*)(i4+(_check_index(i0, i5, OOC_UINT32, 6200))*2) = i6;
278 i2 = i2+1;
279 start = i2;
280 i0 = i0+1;
281 i = i0;
282 i4 = i2!=i1;
283 if (i4) goto l5_loop;
284 goto l12;
285 l11:
286 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 6081))+8);
287 i3 = *(OOC_INT32*)((_check_pointer(i3, 6089))+4);
288 _move_block(((OOC_INT64)data+i0),((_check_pointer(i1, 6087))+i3),i2);
289 l12:
290 i0 = (OOC_INT64)b;
291 i1 = *(OOC_INT32*)((_check_pointer(i0, 6277))+4);
292 i2 = len;
293 *(OOC_INT32*)((_check_pointer(i0, 6277))+4) = (i1+i2);
294 return;
295 ;
296 }
297
ADT_StringBuffer__Length(const OOC_CHAR8 data[],OOC_LEN data_0d)298 static OOC_INT32 ADT_StringBuffer__Length(const OOC_CHAR8 data[], OOC_LEN data_0d) {
299 register OOC_INT64 i0,i1;
300
301 i0 = *(OOC_UINT8*)((OOC_INT64)data+(_check_index(0, data_0d, OOC_UINT32, 6433)));
302 i0 = i0!=0u;
303 if (i0) goto l3;
304 i0=0;
305 goto l9;
306 l3:
307 i0=0;
308 l4_loop:
309 i0 = i0+1;
310 i1 = *(OOC_UINT8*)((OOC_INT64)data+(_check_index(i0, data_0d, OOC_UINT32, 6433)));
311 i1 = i1!=0u;
312 if (i1) goto l4_loop;
313 l9:
314 return i0;
315 ;
316 }
317
ADT_StringBuffer__StringBufferDesc_AppendLatin1(ADT_StringBuffer__StringBuffer b,const OOC_CHAR8 data[],OOC_LEN data_0d)318 void ADT_StringBuffer__StringBufferDesc_AppendLatin1(ADT_StringBuffer__StringBuffer b, const OOC_CHAR8 data[], OOC_LEN data_0d) {
319 register OOC_INT64 i0,i1;
320
321 i0 = ADT_StringBuffer__Length((void*)(OOC_INT64)data, data_0d);
322 i1 = (OOC_INT64)b;
323 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 6584)))), ADT_StringBuffer__StringBufferDesc_AppendLatin1Region)),ADT_StringBuffer__StringBufferDesc_AppendLatin1Region)((ADT_StringBuffer__StringBuffer)i1, (void*)(OOC_INT64)data, data_0d, 0, i0);
324 return;
325 ;
326 }
327
ADT_StringBuffer__StringBufferDesc_AppendLatin1Char(ADT_StringBuffer__StringBuffer b,OOC_CHAR8 ch)328 void ADT_StringBuffer__StringBufferDesc_AppendLatin1Char(ADT_StringBuffer__StringBuffer b, OOC_CHAR8 ch) {
329 register OOC_INT64 i0,i1,i2,i3,i4;
330
331 i0 = (OOC_INT64)b;
332 i1 = *(OOC_INT32*)((_check_pointer(i0, 6736))+4);
333 ADT_StringBuffer__StringBufferDesc_EnsureCapacity((ADT_StringBuffer__StringBuffer)i0, (i1+1));
334 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 6757))+8);
335 i1 = i1!=(OOC_INT64)0;
336 if (i1) goto l3;
337 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 6823))+16);
338 i1 = _check_pointer(i1, 6830);
339 i2 = OOC_ARRAY_LENGTH(i1, 0);
340 i3 = *(OOC_INT32*)((_check_pointer(i0, 6832))+4);
341 i4 = ch;
342 *(OOC_UINT16*)(i1+(_check_index(i3, i2, OOC_UINT32, 6830))*2) = i4;
343 goto l4;
344 l3:
345 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 6783))+8);
346 i1 = _check_pointer(i1, 6789);
347 i2 = OOC_ARRAY_LENGTH(i1, 0);
348 i3 = *(OOC_INT32*)((_check_pointer(i0, 6791))+4);
349 i4 = ch;
350 *(OOC_UINT8*)(i1+(_check_index(i3, i2, OOC_UINT32, 6789))) = i4;
351 l4:
352 i1 = *(OOC_INT32*)((_check_pointer(i0, 6866))+4);
353 *(OOC_INT32*)((_check_pointer(i0, 6866))+4) = (i1+1);
354 return;
355 ;
356 }
357
ADT_StringBuffer__StringBufferDesc_AppendLn(ADT_StringBuffer__StringBuffer b)358 void ADT_StringBuffer__StringBufferDesc_AppendLn(ADT_StringBuffer__StringBuffer b) {
359 register OOC_INT64 i0;
360
361 i0 = (OOC_INT64)b;
362 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 7022)))), ADT_StringBuffer__StringBufferDesc_AppendLatin1Char)),ADT_StringBuffer__StringBufferDesc_AppendLatin1Char)((ADT_StringBuffer__StringBuffer)i0, 10u);
363 return;
364 ;
365 }
366
ADT_StringBuffer__StringBufferDesc_AppendUTF16Region(ADT_StringBuffer__StringBuffer b,const OOC_CHAR16 data[],OOC_LEN data_0d,OOC_INT32 start,OOC_INT32 end)367 void ADT_StringBuffer__StringBufferDesc_AppendUTF16Region(ADT_StringBuffer__StringBuffer b, const OOC_CHAR16 data[], OOC_LEN data_0d, OOC_INT32 start, OOC_INT32 end) {
368 register OOC_INT64 i0,i1,i2,i3;
369 OOC_INT32 len;
370
371 i0 = start;
372 i1 = end;
373 _assert((i0>=0), 127, 7253);
374 _assert((i0<=i1), 127, 7277);
375 _assert((i1<=data_0d), 127, 7303);
376 i1 = i1-i0;
377 len = i1;
378 i2 = (OOC_INT64)b;
379 i3 = *(OOC_INT32*)((_check_pointer(i2, 7378))+4);
380 ADT_StringBuffer__StringBufferDesc_EnsureCapacity((ADT_StringBuffer__StringBuffer)i2, (i3+i1));
381 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 7401))+16);
382 i3 = i3==(OOC_INT64)0;
383 if (!i3) goto l4;
384 ADT_StringBuffer__StringBufferDesc_ConvertTo16((ADT_StringBuffer__StringBuffer)i2);
385 l4:
386 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 7517))+16);
387 i2 = *(OOC_INT32*)((_check_pointer(i2, 7526))+4);
388 _move_block(((OOC_INT64)data+i0*2),((_check_pointer(i3, 7524))+i2*2),(i1*2));
389 i0 = (OOC_INT64)b;
390 i1 = *(OOC_INT32*)((_check_pointer(i0, 7575))+4);
391 i2 = len;
392 *(OOC_INT32*)((_check_pointer(i0, 7575))+4) = (i1+i2);
393 return;
394 ;
395 }
396
ADT_StringBuffer__StringBufferDesc_AppendChar(ADT_StringBuffer__StringBuffer b,OOC_CHAR32 ch)397 void ADT_StringBuffer__StringBufferDesc_AppendChar(ADT_StringBuffer__StringBuffer b, OOC_CHAR32 ch) {
398 register OOC_INT64 i0,i1,i2,i3,i4;
399 OOC_INT32 v;
400
401 i0 = (OOC_INT64)b;
402 i1 = *(OOC_INT32*)((_check_pointer(i0, 7723))+4);
403 ADT_StringBuffer__StringBufferDesc_EnsureCapacity((ADT_StringBuffer__StringBuffer)i0, (i1+2));
404 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 7744))+16);
405 i1 = i1==(OOC_INT64)0;
406 if (!i1) goto l3;
407 ADT_StringBuffer__StringBufferDesc_ConvertTo16((ADT_StringBuffer__StringBuffer)i0);
408 l3:
409 i1 = ch;
410 i2 = (OOC_UINT32)i1<(OOC_UINT32)65536u;
411 if (i2) goto l6;
412 i1 = i1-65536;
413 v = i1;
414 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 7963))+16);
415 i2 = _check_pointer(i2, 7970);
416 i3 = *(OOC_INT32*)((_check_pointer(i0, 7972))+4);
417 i4 = OOC_ARRAY_LENGTH(i2, 0);
418 *(OOC_UINT16*)(i2+(_check_index(i3, i4, OOC_UINT32, 7970))*2) = (55296+(i1>>10));
419 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 8039))+16);
420 i2 = _check_pointer(i2, 8046);
421 i3 = *(OOC_INT32*)((_check_pointer(i0, 8048))+4);
422 i4 = OOC_ARRAY_LENGTH(i2, 0);
423 *(OOC_UINT16*)(i2+(_check_index((i3+1), i4, OOC_UINT32, 8046))*2) = (56320+(_mod(i1,1024)));
424 i1 = *(OOC_INT32*)((_check_pointer(i0, 8122))+4);
425 *(OOC_INT32*)((_check_pointer(i0, 8122))+4) = (i1+2);
426 goto l7;
427 l6:
428 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 7847))+16);
429 i2 = _check_pointer(i2, 7854);
430 i3 = *(OOC_INT32*)((_check_pointer(i0, 7856))+4);
431 i4 = OOC_ARRAY_LENGTH(i2, 0);
432 *(OOC_UINT16*)(i2+(_check_index(i3, i4, OOC_UINT32, 7854))*2) = i1;
433 i1 = *(OOC_INT32*)((_check_pointer(i0, 7890))+4);
434 *(OOC_INT32*)((_check_pointer(i0, 7890))+4) = (i1+1);
435 l7:
436 return;
437 ;
438 }
439
ADT_StringBuffer__StringBufferDesc_Append(ADT_StringBuffer__StringBuffer b,Object__Object obj)440 void ADT_StringBuffer__StringBufferDesc_Append(ADT_StringBuffer__StringBuffer b, Object__Object obj) {
441 register OOC_INT64 i0,i1,i2,i3;
442 Object__String s;
443 Object__CharsLatin1 c8;
444 Object__CharsUTF16 c16;
445
446 i0 = (OOC_INT64)obj;
447 i1 = i0==(OOC_INT64)0;
448 if (i1) goto l15;
449 i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 8375)))), &_td_Object__StringDesc);
450 if (i1) goto l5;
451 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 8432)))), Object__ObjectDesc_ToString)),Object__ObjectDesc_ToString)((Object__Object)i0);
452 s = (Object__String)i0;
453
454 goto l6;
455 l5:
456 s = (Object__String)i0;
457
458 l6:
459 i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 8475)))), &_td_Object__String8Desc);
460 if (i1) goto l13;
461 i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 8583)))), &_td_Object__String16Desc);
462 if (i1) goto l11;
463 _failed_with(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 8580)))), 8580);
464 goto l16;
465 l11:
466 i1 = (OOC_INT64)Object__String16Desc_CharsUTF16((Object__String16)i0);
467 c16 = (Object__CharsUTF16)i1;
468 i2 = (OOC_INT64)b;
469 i3 = OOC_ARRAY_LENGTH((_check_pointer(i1, 8666)), 0);
470 i0 = *(OOC_INT32*)(_check_pointer(i0, 8673));
471 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 8644)))), ADT_StringBuffer__StringBufferDesc_AppendUTF16Region)),ADT_StringBuffer__StringBufferDesc_AppendUTF16Region)((ADT_StringBuffer__StringBuffer)i2, (void*)(_check_pointer(i1, 8666)), i3, 0, i0);
472 goto l16;
473 l13:
474 i1 = (OOC_INT64)Object__String8Desc_CharsLatin1((Object__String8)i0);
475 c8 = (Object__CharsLatin1)i1;
476 i2 = (OOC_INT64)b;
477 i3 = OOC_ARRAY_LENGTH((_check_pointer(i1, 8557)), 0);
478 i0 = *(OOC_INT32*)(_check_pointer(i0, 8564));
479 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 8535)))), ADT_StringBuffer__StringBufferDesc_AppendLatin1Region)),ADT_StringBuffer__StringBufferDesc_AppendLatin1Region)((ADT_StringBuffer__StringBuffer)i2, (void*)(_check_pointer(i1, 8557)), i3, 0, i0);
480 goto l16;
481 l15:
482 i0 = (OOC_INT64)b;
483 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 8336)))), ADT_StringBuffer__StringBufferDesc_Append)),ADT_StringBuffer__StringBufferDesc_Append)((ADT_StringBuffer__StringBuffer)i0, (Object__Object)((OOC_INT64)_c0));
484 l16:
485 return;
486 ;
487 }
488
ADT_StringBuffer__New(Object__String str)489 ADT_StringBuffer__StringBuffer ADT_StringBuffer__New(Object__String str) {
490 register OOC_INT64 i0,i1,i2;
491 ADT_StringBuffer__StringBuffer b;
492
493 i0 = (OOC_INT64)RT0__NewObject(_td_ADT_StringBuffer__StringBuffer.baseTypes[0]);
494 i1 = (OOC_INT64)str;
495 i2 = *(OOC_INT32*)(_check_pointer(i1, 8826));
496 ADT_StringBuffer__StringBufferDesc_INIT((ADT_StringBuffer__StringBuffer)i0, (i2+1));
497 b = (ADT_StringBuffer__StringBuffer)i0;
498 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 8843)))), ADT_StringBuffer__StringBufferDesc_Append)),ADT_StringBuffer__StringBufferDesc_Append)((ADT_StringBuffer__StringBuffer)i0, (Object__Object)i1);
499 return (ADT_StringBuffer__StringBuffer)i0;
500 ;
501 }
502
ADT_StringBuffer__NewLatin1(const OOC_CHAR8 str[],OOC_LEN str_0d)503 ADT_StringBuffer__StringBuffer ADT_StringBuffer__NewLatin1(const OOC_CHAR8 str[], OOC_LEN str_0d) {
504 register OOC_INT64 i0,i1;
505 ADT_StringBuffer__StringBuffer b;
506
507 i0 = (OOC_INT64)RT0__NewObject(_td_ADT_StringBuffer__StringBuffer.baseTypes[0]);
508 i1 = ADT_StringBuffer__Length((void*)(OOC_INT64)str, str_0d);
509 ADT_StringBuffer__StringBufferDesc_INIT((ADT_StringBuffer__StringBuffer)i0, (i1+1));
510 b = (ADT_StringBuffer__StringBuffer)i0;
511 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 9031)))), ADT_StringBuffer__StringBufferDesc_AppendLatin1)),ADT_StringBuffer__StringBufferDesc_AppendLatin1)((ADT_StringBuffer__StringBuffer)i0, (void*)(OOC_INT64)str, str_0d);
512 return (ADT_StringBuffer__StringBuffer)i0;
513 ;
514 }
515
ADT_StringBuffer__NewLatin1Region(const OOC_CHAR8 str[],OOC_LEN str_0d,OOC_INT32 start,OOC_INT32 end)516 ADT_StringBuffer__StringBuffer ADT_StringBuffer__NewLatin1Region(const OOC_CHAR8 str[], OOC_LEN str_0d, OOC_INT32 start, OOC_INT32 end) {
517 register OOC_INT64 i0,i1,i2;
518 ADT_StringBuffer__StringBuffer b;
519
520 i0 = end;
521 i1 = start;
522 i2 = (OOC_INT64)RT0__NewObject(_td_ADT_StringBuffer__StringBuffer.baseTypes[0]);
523 ADT_StringBuffer__StringBufferDesc_INIT((ADT_StringBuffer__StringBuffer)i2, ((i0-i1)+1));
524 b = (ADT_StringBuffer__StringBuffer)i2;
525 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 9283)))), ADT_StringBuffer__StringBufferDesc_AppendLatin1Region)),ADT_StringBuffer__StringBufferDesc_AppendLatin1Region)((ADT_StringBuffer__StringBuffer)i2, (void*)(OOC_INT64)str, str_0d, i1, i0);
526 return (ADT_StringBuffer__StringBuffer)i2;
527 ;
528 }
529
ADT_StringBuffer__StringBufferDesc_AppendInt(ADT_StringBuffer__StringBuffer b,OOC_INT32 val)530 void ADT_StringBuffer__StringBufferDesc_AppendInt(ADT_StringBuffer__StringBuffer b, OOC_INT32 val) {
531 register OOC_INT64 i0;
532 OOC_CHAR8 a[32];
533
534 i0 = val;
535 IntStr__IntToStr(i0, (void*)(OOC_INT64)a, 32);
536 i0 = (OOC_INT64)b;
537 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 9578)))), ADT_StringBuffer__StringBufferDesc_AppendLatin1)),ADT_StringBuffer__StringBufferDesc_AppendLatin1)((ADT_StringBuffer__StringBuffer)i0, (void*)(OOC_INT64)a, 32);
538 return;
539 ;
540 }
541
ADT_StringBuffer__StringBufferDesc_AppendReal(ADT_StringBuffer__StringBuffer b,OOC_REAL32 val)542 void ADT_StringBuffer__StringBufferDesc_AppendReal(ADT_StringBuffer__StringBuffer b, OOC_REAL32 val) {
543 register OOC_INT64 i0;
544 register OOC_REAL32 f0;
545 OOC_CHAR8 a[32];
546
547 f0 = val;
548 RealStr__RealToStr(f0, (void*)(OOC_INT64)a, 32);
549 i0 = (OOC_INT64)b;
550 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 9830)))), ADT_StringBuffer__StringBufferDesc_AppendLatin1)),ADT_StringBuffer__StringBufferDesc_AppendLatin1)((ADT_StringBuffer__StringBuffer)i0, (void*)(OOC_INT64)a, 32);
551 return;
552 ;
553 }
554
ADT_StringBuffer__StringBufferDesc_AppendSet(ADT_StringBuffer__StringBuffer b,OOC_UINT32 val)555 void ADT_StringBuffer__StringBufferDesc_AppendSet(ADT_StringBuffer__StringBuffer b, OOC_UINT32 val) {
556 register OOC_INT64 i0,i1,i2,i3,i4,i5;
557 OOC_CHAR8 comma;
558 OOC_INT8 i;
559 OOC_INT8 begin;
560
561 i0 = (OOC_INT64)b;
562 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 10072)))), ADT_StringBuffer__StringBufferDesc_AppendLatin1Char)),ADT_StringBuffer__StringBufferDesc_AppendLatin1Char)((ADT_StringBuffer__StringBuffer)i0, 123u);
563 comma = 0u;
564 i1 = val;
565 i = 0;
566 i2=0;i3=0u;
567 l1_loop:
568 i4 = _in(i2,i1);
569 if (i4) goto l4;
570 {register OOC_INT64 h0=i2;i2=i3;i3=h0;}
571 goto l32;
572 l4:
573 begin = i2;
574 i4 = i2<31;
575 if (i4) goto l7;
576 i4=0u;
577 goto l9;
578 l7:
579 i4 = _in((i2+1),i1);
580
581 l9:
582 if (i4) goto l11;
583 i4=i2;
584 goto l22;
585 l11:
586 i4=i2;
587 l12_loop:
588 i4 = i4+1;
589 i = i4;
590 i5 = i4<31;
591 if (i5) goto l15;
592 i5=0u;
593 goto l17;
594 l15:
595 i5 = _in((i4+1),i1);
596
597 l17:
598 if (i5) goto l12_loop;
599 l22:
600 if (!i3) goto l24;
601 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 10300)))), ADT_StringBuffer__StringBufferDesc_AppendLatin1Char)),ADT_StringBuffer__StringBufferDesc_AppendLatin1Char)((ADT_StringBuffer__StringBuffer)i0, 44u);
602 l24:
603 comma = 1u;
604 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 10368)))), ADT_StringBuffer__StringBufferDesc_AppendInt)),ADT_StringBuffer__StringBufferDesc_AppendInt)((ADT_StringBuffer__StringBuffer)i0, i2);
605 i3 = i2<i4;
606 if (!i3) goto l31;
607 i2 = i4==(i2+1);
608 if (i2) goto l29;
609 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 10510)))), ADT_StringBuffer__StringBufferDesc_AppendLatin1)),ADT_StringBuffer__StringBufferDesc_AppendLatin1)((ADT_StringBuffer__StringBuffer)i0, (OOC_CHAR8*)"..", 3);
610 goto l30;
611 l29:
612 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 10458)))), ADT_StringBuffer__StringBufferDesc_AppendLatin1Char)),ADT_StringBuffer__StringBufferDesc_AppendLatin1Char)((ADT_StringBuffer__StringBuffer)i0, 44u);
613 l30:
614 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 10557)))), ADT_StringBuffer__StringBufferDesc_AppendInt)),ADT_StringBuffer__StringBufferDesc_AppendInt)((ADT_StringBuffer__StringBuffer)i0, i4);
615 l31:
616 i3=i4;i2=1u;
617 l32:
618 i3 = i3+1;
619 i = i3;
620 i4 = i3<=31;
621 if (!i4) goto l36;
622 {register OOC_INT64 h0=i2;i2=i3;i3=h0;}
623 goto l1_loop;
624 l36:
625 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 10624)))), ADT_StringBuffer__StringBufferDesc_AppendLatin1Char)),ADT_StringBuffer__StringBufferDesc_AppendLatin1Char)((ADT_StringBuffer__StringBuffer)i0, 125u);
626 return;
627 ;
628 }
629
ADT_StringBuffer__StringBufferDesc_AppendBool(ADT_StringBuffer__StringBuffer b,OOC_CHAR8 val)630 void ADT_StringBuffer__StringBufferDesc_AppendBool(ADT_StringBuffer__StringBuffer b, OOC_CHAR8 val) {
631 register OOC_INT64 i0;
632
633 i0 = val;
634 if (i0) goto l3;
635 i0 = (OOC_INT64)b;
636 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 10889)))), ADT_StringBuffer__StringBufferDesc_AppendLatin1)),ADT_StringBuffer__StringBufferDesc_AppendLatin1)((ADT_StringBuffer__StringBuffer)i0, (OOC_CHAR8*)"FALSE", 6);
637 goto l4;
638 l3:
639 i0 = (OOC_INT64)b;
640 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 10851)))), ADT_StringBuffer__StringBufferDesc_AppendLatin1)),ADT_StringBuffer__StringBufferDesc_AppendLatin1)((ADT_StringBuffer__StringBuffer)i0, (OOC_CHAR8*)"TRUE", 5);
641 l4:
642 return;
643 ;
644 }
645
ADT_StringBuffer__StringBufferDesc_Insert(ADT_StringBuffer__StringBuffer b,Object__Object obj,OOC_INT32 at)646 void ADT_StringBuffer__StringBufferDesc_Insert(ADT_StringBuffer__StringBuffer b, Object__Object obj, OOC_INT32 at) {
647 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7,i8,i9;
648 Object__String s;
649 Object__CharsLatin1 c8;
650 OOC_INT32 i;
651 Object__CharsUTF16 c16;
652
653 i0 = (OOC_INT64)obj;
654 i1 = i0==(OOC_INT64)0;
655 if (i1) goto l70;
656 i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 11184)))), &_td_Object__StringDesc);
657 if (i1) goto l5;
658 i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 11241)))), Object__ObjectDesc_ToString)),Object__ObjectDesc_ToString)((Object__Object)i0);
659 s = (Object__String)i0;
660
661 goto l6;
662 l5:
663 s = (Object__String)i0;
664
665 l6:
666 i1 = (OOC_INT64)b;
667 i2 = *(OOC_INT32*)((_check_pointer(i1, 11290))+4);
668 i3 = *(OOC_INT32*)(_check_pointer(i0, 11299));
669 ADT_StringBuffer__StringBufferDesc_EnsureCapacity((ADT_StringBuffer__StringBuffer)i1, (i2+i3));
670 i2 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 11321)))), &_td_Object__String8Desc);
671 if (i2) goto l32;
672 i2 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 11843)))), &_td_Object__String16Desc);
673 if (i2) goto l11;
674 _failed_with(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 11840)))), 11840);
675 goto l69;
676 l11:
677 i2 = (OOC_INT64)Object__String16Desc_CharsUTF16((Object__String16)i0);
678 c16 = (Object__CharsUTF16)i2;
679 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 11908))+16);
680 i3 = i3==(OOC_INT64)0;
681 if (!i3) goto l14;
682 ADT_StringBuffer__StringBufferDesc_ConvertTo16((ADT_StringBuffer__StringBuffer)i1);
683 l14:
684 i3 = *(OOC_INT32*)((_check_pointer(i1, 11984))+4);
685 i3 = i3-1;
686 i = i3;
687 i4 = at;
688 i5 = i3>=i4;
689 if (!i5) goto l22;
690 l17_loop:
691 i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 12020))+16);
692 i5 = _check_pointer(i5, 12027);
693 i6 = *(OOC_INT32*)(_check_pointer(i0, 12031));
694 i7 = OOC_ARRAY_LENGTH(i5, 0);
695 i8 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 12044))+16);
696 i8 = _check_pointer(i8, 12051);
697 i9 = OOC_ARRAY_LENGTH(i8, 0);
698 i8 = *(OOC_UINT16*)(i8+(_check_index(i3, i9, OOC_UINT32, 12051))*2);
699 *(OOC_UINT16*)(i5+(_check_index((i3+i6), i7, OOC_UINT32, 12027))*2) = i8;
700 i3 = i3+(-1);
701 i = i3;
702 i5 = i3>=i4;
703 if (i5) goto l17_loop;
704 l22:
705 i = 0;
706 i3 = *(OOC_INT32*)(_check_pointer(i0, 12092));
707 i5 = 0<i3;
708 if (!i5) goto l69;
709 i5=i4;i4=0;
710 l25_loop:
711 i6 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 12116))+16);
712 i6 = _check_pointer(i6, 12123);
713 i7 = OOC_ARRAY_LENGTH(i6, 0);
714 i8 = _check_pointer(i2, 12136);
715 i9 = OOC_ARRAY_LENGTH(i8, 0);
716 i8 = *(OOC_UINT16*)(i8+(_check_index(i4, i9, OOC_UINT32, 12136))*2);
717 *(OOC_UINT16*)(i6+(_check_index(i5, i7, OOC_UINT32, 12123))*2) = i8;
718 i4 = i4+1;
719 i = i4;
720 i5 = i5+1;
721 i6 = i4<i3;
722 if (i6) goto l25_loop;
723 goto l69;
724 l32:
725 i2 = (OOC_INT64)Object__String8Desc_CharsLatin1((Object__String8)i0);
726 c8 = (Object__CharsLatin1)i2;
727 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 11385))+8);
728 i3 = i3!=(OOC_INT64)0;
729 if (i3) goto l51;
730 i3 = *(OOC_INT32*)((_check_pointer(i1, 11633))+4);
731 i3 = i3-1;
732 i = i3;
733 i4 = at;
734 i5 = i3>=i4;
735 if (!i5) goto l42;
736 l37_loop:
737 i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 11671))+16);
738 i5 = _check_pointer(i5, 11678);
739 i6 = *(OOC_INT32*)(_check_pointer(i0, 11682));
740 i7 = OOC_ARRAY_LENGTH(i5, 0);
741 i8 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 11695))+16);
742 i8 = _check_pointer(i8, 11702);
743 i9 = OOC_ARRAY_LENGTH(i8, 0);
744 i8 = *(OOC_UINT16*)(i8+(_check_index(i3, i9, OOC_UINT32, 11702))*2);
745 *(OOC_UINT16*)(i5+(_check_index((i3+i6), i7, OOC_UINT32, 11678))*2) = i8;
746 i3 = i3+(-1);
747 i = i3;
748 i5 = i3>=i4;
749 if (i5) goto l37_loop;
750 l42:
751 i = 0;
752 i3 = *(OOC_INT32*)(_check_pointer(i0, 11747));
753 i5 = 0<i3;
754 if (!i5) goto l69;
755 i5=i4;i4=0;
756 l45_loop:
757 i6 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 11773))+16);
758 i6 = _check_pointer(i6, 11780);
759 i7 = OOC_ARRAY_LENGTH(i6, 0);
760 i8 = _check_pointer(i2, 11792);
761 i9 = OOC_ARRAY_LENGTH(i8, 0);
762 i8 = *(OOC_UINT8*)(i8+(_check_index(i4, i9, OOC_UINT32, 11792)));
763 *(OOC_UINT16*)(i6+(_check_index(i5, i7, OOC_UINT32, 11780))*2) = i8;
764 i4 = i4+1;
765 i = i4;
766 i5 = i5+1;
767 i6 = i4<i3;
768 if (i6) goto l45_loop;
769 goto l69;
770 l51:
771 i3 = *(OOC_INT32*)((_check_pointer(i1, 11424))+4);
772 i3 = i3-1;
773 i = i3;
774 i4 = at;
775 i5 = i3>=i4;
776 if (!i5) goto l59;
777 l54_loop:
778 i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 11462))+8);
779 i5 = _check_pointer(i5, 11468);
780 i6 = *(OOC_INT32*)(_check_pointer(i0, 11472));
781 i7 = OOC_ARRAY_LENGTH(i5, 0);
782 i8 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 11485))+8);
783 i8 = _check_pointer(i8, 11491);
784 i9 = OOC_ARRAY_LENGTH(i8, 0);
785 i8 = *(OOC_UINT8*)(i8+(_check_index(i3, i9, OOC_UINT32, 11491)));
786 *(OOC_UINT8*)(i5+(_check_index((i3+i6), i7, OOC_UINT32, 11468))) = i8;
787 i3 = i3+(-1);
788 i = i3;
789 i5 = i3>=i4;
790 if (i5) goto l54_loop;
791 l59:
792 i = 0;
793 i3 = *(OOC_INT32*)(_check_pointer(i0, 11536));
794 i5 = 0<i3;
795 if (!i5) goto l69;
796 i5=i4;i4=0;
797 l62_loop:
798 i6 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 11562))+8);
799 i6 = _check_pointer(i6, 11568);
800 i7 = OOC_ARRAY_LENGTH(i6, 0);
801 i8 = _check_pointer(i2, 11580);
802 i9 = OOC_ARRAY_LENGTH(i8, 0);
803 i8 = *(OOC_UINT8*)(i8+(_check_index(i4, i9, OOC_UINT32, 11580)));
804 *(OOC_UINT8*)(i6+(_check_index(i5, i7, OOC_UINT32, 11568))) = i8;
805 i4 = i4+1;
806 i = i4;
807 i5 = i5+1;
808 i6 = i4<i3;
809 if (i6) goto l62_loop;
810 l69:
811 i2 = *(OOC_INT32*)((_check_pointer(i1, 12176))+4);
812 i0 = *(OOC_INT32*)(_check_pointer(i0, 12186));
813 *(OOC_INT32*)((_check_pointer(i1, 12176))+4) = (i2+i0);
814 goto l71;
815 l70:
816 i0 = (OOC_INT64)b;
817 i1 = at;
818 OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 11141)))), ADT_StringBuffer__StringBufferDesc_Insert)),ADT_StringBuffer__StringBufferDesc_Insert)((ADT_StringBuffer__StringBuffer)i0, (Object__Object)((OOC_INT64)_c1), i1);
819 l71:
820 return;
821 ;
822 }
823
ADT_StringBuffer__StringBufferDesc_Delete(ADT_StringBuffer__StringBuffer b,OOC_INT32 start,OOC_INT32 end)824 void ADT_StringBuffer__StringBufferDesc_Delete(ADT_StringBuffer__StringBuffer b, OOC_INT32 start, OOC_INT32 end) {
825 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7,i8;
826 OOC_INT32 d;
827 OOC_INT32 i;
828
829 i0 = start;
830 i1 = end;
831 _assert((i0>=0), 127, 12315);
832 _assert((i0<=i1), 127, 12340);
833 i2 = (OOC_INT64)b;
834 i3 = *(OOC_INT32*)((_check_pointer(i2, 12383))+4);
835 _assert((i1<=i3), 127, 12367);
836 i3 = *(OOC_INT32*)((_check_pointer(i2, 12413))+4);
837 i3 = i1==i3;
838 if (i3) goto l26;
839 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 12464))+8);
840 i3 = i3!=(OOC_INT64)0;
841 if (i3) goto l16;
842 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 12628))+16);
843 i3 = i3!=(OOC_INT64)0;
844 if (!i3) goto l27;
845 i1 = i1-i0;
846 d = i1;
847 i3 = *(OOC_INT32*)((_check_pointer(i2, 12695))+4);
848 i3 = i3-i1;
849 i = i0;
850 i4 = i0<i3;
851 if (!i4) goto l14;
852 i4 = i1+i0;
853
854 l9_loop:
855 i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 12719))+16);
856 i5 = _check_pointer(i5, 12726);
857 i6 = OOC_ARRAY_LENGTH(i5, 0);
858 i7 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 12734))+16);
859 i7 = _check_pointer(i7, 12741);
860 i8 = OOC_ARRAY_LENGTH(i7, 0);
861 i7 = *(OOC_UINT16*)(i7+(_check_index(i4, i8, OOC_UINT32, 12741))*2);
862 *(OOC_UINT16*)(i5+(_check_index(i0, i6, OOC_UINT32, 12726))*2) = i7;
863 i0 = i0+1;
864 i = i0;
865 i4 = i4+1;
866 i5 = i0<i3;
867 if (i5) goto l9_loop;
868 l14:
869 i0 = *(OOC_INT32*)((_check_pointer(i2, 12770))+4);
870 *(OOC_INT32*)((_check_pointer(i2, 12770))+4) = (i0-i1);
871 goto l27;
872 l16:
873 i1 = i1-i0;
874 d = i1;
875 i3 = *(OOC_INT32*)((_check_pointer(i2, 12530))+4);
876 i3 = i3-i1;
877 i = i0;
878 i4 = i0<i3;
879 if (!i4) goto l24;
880 i4 = i1+i0;
881
882 l19_loop:
883 i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 12554))+8);
884 i5 = _check_pointer(i5, 12560);
885 i6 = OOC_ARRAY_LENGTH(i5, 0);
886 i7 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 12568))+8);
887 i7 = _check_pointer(i7, 12574);
888 i8 = OOC_ARRAY_LENGTH(i7, 0);
889 i7 = *(OOC_UINT8*)(i7+(_check_index(i4, i8, OOC_UINT32, 12574)));
890 *(OOC_UINT8*)(i5+(_check_index(i0, i6, OOC_UINT32, 12560))) = i7;
891 i0 = i0+1;
892 i = i0;
893 i4 = i4+1;
894 i5 = i0<i3;
895 if (i5) goto l19_loop;
896 l24:
897 i0 = *(OOC_INT32*)((_check_pointer(i2, 12603))+4);
898 *(OOC_INT32*)((_check_pointer(i2, 12603))+4) = (i0-i1);
899 goto l27;
900 l26:
901 *(OOC_INT32*)((_check_pointer(i2, 12434))+4) = i0;
902 l27:
903 return;
904 ;
905 }
906
OOC_ADT_StringBuffer_init(void)907 void OOC_ADT_StringBuffer_init(void) {
908 _c0 = Object__NewLatin1Region((OOC_CHAR8*)"NIL", 4, 0, 3);
909 _c1 = Object__NewLatin1Region((OOC_CHAR8*)"NIL", 4, 0, 3);
910
911 return;
912 ;
913 }
914
OOC_ADT_StringBuffer_destroy(void)915 void OOC_ADT_StringBuffer_destroy(void) {
916 }
917
918 /* --- */
919