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