1 #include <Object.d>
2 #include <__oo2c.h>
3 #include <setjmp.h>
4 
Object__ObjectDesc_ToString(Object__Object x)5 Object__String Object__ObjectDesc_ToString(Object__Object x) {
6   register OOC_INT64 i0,i1;
7   OOC_CHAR8 str[280];
8   OOC_INT32 i;
9   RT0__Struct _struct;
10   auto void Object__ObjectDesc_ToString_Append(RT0__Name name);
11   auto void Object__ObjectDesc_ToString_AppendHex(OOC_INT32 x);
12 
13     void Object__ObjectDesc_ToString_Append(RT0__Name name) {
14       register OOC_INT64 i0,i1,i2,i3;
15       OOC_INT32 j;
16 
17       j = 0;
18       i0 = (OOC_INT64)name;
19       i0 = *(OOC_UINT8*)(_check_pointer(i0, 6444));
20       i0 = i0!=0u;
21       if (!i0) goto l12;
22       i0 = (OOC_INT64)name;
23       i1=0;
24 l3_loop:
25       i2 = i;
26       i3 = *(OOC_UINT8*)((_check_pointer(i0, 6479))+i1);
27       *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i2, 280, OOC_UINT32, 6468))) = i3;
28       i = (i2+1);
29       i1 = i1+1;
30       j = i1;
31       i2 = i1!=128;
32       if (i2) goto l6;
33       i2=0u;
34       goto l8;
35 l6:
36       i2 = *(OOC_UINT8*)((_check_pointer(i0, 6444))+i1);
37       i2 = i2!=0u;
38 
39 l8:
40       if (i2) goto l3_loop;
41 l12:
42       return;
43       ;
44     }
45 
46 
47     void Object__ObjectDesc_ToString_AppendHex(OOC_INT32 x) {
48       register OOC_INT64 i0,i1,i2,i3,i4,i5;
49 
50       i0 = i;
51       i1 = i0+7;
52       i2=i1;i1=7;
53 l1_loop:
54       i3 = x;
55       i4 = (_mod(i3,16))+48;
56       i5 = i4>57;
57       if (!i5) goto l5;
58       i4 = i4+39;
59 
60 l5:
61       *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i2, 280, OOC_UINT32, 6767))) = i4;
62       x = (i3>>4);
63       i2 = i2+(-1);
64       i1 = i1+(-1);
65       i3 = i1>=0;
66       if (i3) goto l1_loop;
67 l9:
68       i = (i0+8);
69       return;
70       ;
71     }
72 
73 
74   _copy_8((const void*)(OOC_CHAR8*)"<",(void*)(OOC_INT64)str,280);
75   i = 1;
76   i0 = (OOC_INT64)x;
77   i0 = (OOC_INT64)RT0__TypeOf((void*)i0);
78   _struct = (RT0__Struct)i0;
79   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 6936))+24);
80   i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 6943));
81   Object__ObjectDesc_ToString_Append((RT0__Name)i0);
82   i0 = i;
83   *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i0, 280, OOC_UINT32, 6958))) = 46u;
84   i = (i0+1);
85   i0 = (OOC_INT64)_struct;
86   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 6996))+32);
87   Object__ObjectDesc_ToString_Append((RT0__Name)i0);
88   i0 = i;
89   *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i0, 280, OOC_UINT32, 7011))) = 32u;
90   i0 = i0+1;
91   *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i0, 280, OOC_UINT32, 7038))) = 97u;
92   i0 = i0+1;
93   *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i0, 280, OOC_UINT32, 7065))) = 116u;
94   i0 = i0+1;
95   i1 = (OOC_INT64)x;
96   *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i0, 280, OOC_UINT32, 7092))) = 32u;
97   i = (i0+1);
98   Object__ObjectDesc_ToString_AppendHex((_lsh(OOC_INT64, OOC_UINT64, (_type_cast_fast(OOC_INT64, OOC_INT64, i1)), (-32))));
99   i0 = (OOC_INT64)x;
100   Object__ObjectDesc_ToString_AppendHex((_lsh(OOC_INT64, OOC_UINT64, (_lsh(OOC_INT64, OOC_UINT64, (_type_cast_fast(OOC_INT64, OOC_INT64, i0)), 32)), (-32))));
101   i0 = i;
102   *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i0, 280, OOC_UINT32, 7331))) = 62u;
103   i0 = (OOC_INT64)Object__NewLatin1Region((void*)(OOC_INT64)str, 280, 0, (i0+1));
104   return (Object__String)i0;
105   ;
106 }
107 
Object__ObjectDesc_Equals(Object__Object x,Object__Object y)108 OOC_CHAR8 Object__ObjectDesc_Equals(Object__Object x, Object__Object y) {
109   register OOC_INT64 i0,i1;
110 
111   i0 = (OOC_INT64)x;
112   i1 = (OOC_INT64)y;
113   return (i0==i1);
114   ;
115 }
116 
Object__ObjectDesc_HashCode(Object__Object x)117 OOC_INT32 Object__ObjectDesc_HashCode(Object__Object x) {
118   register OOC_INT64 i0;
119 
120   i0 = (OOC_INT64)x;
121   i0 = HashCode__Ptr((void*)i0);
122   return i0;
123   ;
124 }
125 
Object__NewString8(OOC_INT64 source,OOC_INT32 length)126 static Object__String8 Object__NewString8(OOC_INT64 source, OOC_INT32 length) {
127   register OOC_INT64 i0,i1,i2;
128   Object__String8 s;
129   Object__CharsLatin1 d;
130 
131   i0 = (OOC_INT64)RT0__NewObject(_td_Object__String8.baseTypes[0]);
132   i1 = length;
133   s = (Object__String8)i0;
134   i2 = (OOC_INT64)RT0__NewObject(_td_Object__CharsLatin1.baseTypes[0], (i1+1));
135   d = (Object__CharsLatin1)i2;
136   *(OOC_INT32*)(_check_pointer(i0, 10749)) = i1;
137   *(OOC_INT64*)((_check_pointer(i0, 10774))+8) = i2;
138   i0 = source;
139   _move_block(i0,(_check_pointer(i2, 10813)),i1);
140   i0 = (OOC_INT64)d;
141   i0 = _check_pointer(i0, 10842);
142   i1 = OOC_ARRAY_LENGTH(i0, 0);
143   i2 = length;
144   *(OOC_UINT8*)(i0+(_check_index(i2, i1, OOC_UINT32, 10842))) = 0u;
145   i0 = (OOC_INT64)s;
146   return (Object__String8)i0;
147   ;
148 }
149 
Object__NewString16(OOC_INT64 source,OOC_INT32 length)150 static Object__String16 Object__NewString16(OOC_INT64 source, OOC_INT32 length) {
151   register OOC_INT64 i0,i1,i2;
152   Object__String16 s;
153   Object__CharsUTF16 d;
154 
155   i0 = (OOC_INT64)RT0__NewObject(_td_Object__String16.baseTypes[0]);
156   i1 = length;
157   s = (Object__String16)i0;
158   i2 = (OOC_INT64)RT0__NewObject(_td_Object__CharsUTF16.baseTypes[0], (i1+1));
159   d = (Object__CharsUTF16)i2;
160   *(OOC_INT32*)(_check_pointer(i0, 11049)) = i1;
161   *(OOC_INT64*)((_check_pointer(i0, 11074))+8) = i2;
162   i0 = source;
163   _move_block(i0,(_check_pointer(i2, 11113)),(i1*2));
164   i0 = (OOC_INT64)d;
165   i0 = _check_pointer(i0, 11146);
166   i1 = OOC_ARRAY_LENGTH(i0, 0);
167   i2 = length;
168   *(OOC_UINT16*)(i0+(_check_index(i2, i1, OOC_UINT32, 11146))*2) = 0u;
169   i0 = (OOC_INT64)s;
170   return (Object__String16)i0;
171   ;
172 }
173 
Object__NewLatin1(const OOC_CHAR8 str[],OOC_LEN str_0d)174 Object__String8 Object__NewLatin1(const OOC_CHAR8 str[], OOC_LEN str_0d) {
175   register OOC_INT64 i0,i1;
176 
177   i0 = *(OOC_UINT8*)((OOC_INT64)str+(_check_index(0, str_0d, OOC_UINT32, 11472)));
178   i0 = i0!=0u;
179   if (i0) goto l3;
180   i0=0;
181   goto l9;
182 l3:
183   i0=0;
184 l4_loop:
185   i0 = i0+1;
186   i1 = *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i0, str_0d, OOC_UINT32, 11472)));
187   i1 = i1!=0u;
188   if (i1) goto l4_loop;
189 l9:
190   i0 = (OOC_INT64)Object__NewString8((OOC_INT64)str, i0);
191   return (Object__String8)i0;
192   ;
193 }
194 
Object__NewLatin1Region(const OOC_CHAR8 str[],OOC_LEN str_0d,OOC_INT32 start,OOC_INT32 end)195 Object__String8 Object__NewLatin1Region(const OOC_CHAR8 str[], OOC_LEN str_0d, OOC_INT32 start, OOC_INT32 end) {
196   register OOC_INT64 i0,i1;
197 
198   i0 = end;
199   i1 = start;
200   i0 = (OOC_INT64)Object__NewString8(((OOC_INT64)str+i1), (i0-i1));
201   return (Object__String8)i0;
202   ;
203 }
204 
Object__NewLatin1Char(OOC_CHAR8 ch)205 Object__String8 Object__NewLatin1Char(OOC_CHAR8 ch) {
206   register OOC_INT64 i0;
207 
208   i0 = (OOC_INT64)Object__NewString8((OOC_INT64)&ch, 1);
209   return (Object__String8)i0;
210   ;
211 }
212 
Object__NewUTF16(const OOC_CHAR16 str[],OOC_LEN str_0d)213 Object__String16 Object__NewUTF16(const OOC_CHAR16 str[], OOC_LEN str_0d) {
214   register OOC_INT64 i0,i1,i2,i3,i4,i5,i6;
215   OOC_INT32 i;
216   Object__String16 s;
217   Object__CharsUTF16 d;
218   OOC_INT32 j;
219 
220   i = 0;
221   i0 = *(OOC_UINT16*)((OOC_INT64)str+(_check_index(0, str_0d, OOC_UINT32, 12590))*2);
222   i0 = i0!=0u;
223   if (i0) goto l3;
224   i0=0;
225   goto l9;
226 l3:
227   i0=0;
228 l4_loop:
229   i0 = i0+1;
230   i = i0;
231   i1 = *(OOC_UINT16*)((OOC_INT64)str+(_check_index(i0, str_0d, OOC_UINT32, 12590))*2);
232   i1 = i1!=0u;
233   if (i1) goto l4_loop;
234 l9:
235   i1 = (OOC_INT64)RT0__NewObject(_td_Object__String16.baseTypes[0]);
236   s = (Object__String16)i1;
237   i2 = (OOC_INT64)RT0__NewObject(_td_Object__CharsUTF16.baseTypes[0], (i0+1));
238   d = (Object__CharsUTF16)i2;
239   *(OOC_INT32*)(_check_pointer(i1, 12665)) = i0;
240   *(OOC_INT64*)((_check_pointer(i1, 12685))+8) = i2;
241   j = 0;
242   i3 = 0<=i0;
243   if (!i3) goto l17;
244   i3=0;
245 l12_loop:
246   i4 = _check_pointer(i2, 12728);
247   i5 = OOC_ARRAY_LENGTH(i4, 0);
248   i6 = *(OOC_UINT16*)((OOC_INT64)str+(_check_index(i3, str_0d, OOC_UINT32, 12738))*2);
249   *(OOC_UINT16*)(i4+(_check_index(i3, i5, OOC_UINT32, 12728))*2) = i6;
250   i3 = i3+1;
251   j = i3;
252   i4 = i3<=i0;
253   if (i4) goto l12_loop;
254 l17:
255   return (Object__String16)i1;
256   ;
257 }
258 
Object__NewUTF16Region(const OOC_CHAR16 str[],OOC_LEN str_0d,OOC_INT32 start,OOC_INT32 end)259 Object__String16 Object__NewUTF16Region(const OOC_CHAR16 str[], OOC_LEN str_0d, OOC_INT32 start, OOC_INT32 end) {
260   register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7,i8;
261   OOC_INT32 i;
262   Object__String16 s;
263   Object__CharsUTF16 d;
264   OOC_INT32 j;
265 
266   i0 = end;
267   i1 = start;
268   i2 = i0-i1;
269   i = i2;
270   i3 = (OOC_INT64)RT0__NewObject(_td_Object__String16.baseTypes[0]);
271   s = (Object__String16)i3;
272   i4 = (OOC_INT64)RT0__NewObject(_td_Object__CharsUTF16.baseTypes[0], (i2+1));
273   d = (Object__CharsUTF16)i4;
274   *(OOC_INT32*)(_check_pointer(i3, 13275)) = i2;
275   *(OOC_INT64*)((_check_pointer(i3, 13295))+8) = i4;
276   j = i1;
277   i5 = i1<i0;
278   if (!i5) goto l8;
279   i5 = (i1*(-1))+i1;
280 
281 l3_loop:
282   i6 = _check_pointer(i4, 13346);
283   i7 = OOC_ARRAY_LENGTH(i6, 0);
284   i8 = *(OOC_UINT16*)((OOC_INT64)str+(_check_index(i1, str_0d, OOC_UINT32, 13362))*2);
285   *(OOC_UINT16*)(i6+(_check_index(i5, i7, OOC_UINT32, 13346))*2) = i8;
286   i1 = i1+1;
287   j = i1;
288   i5 = i5+1;
289   i6 = i1<i0;
290   if (i6) goto l3_loop;
291 l8:
292   i0 = _check_pointer(i4, 13381);
293   i1 = OOC_ARRAY_LENGTH(i0, 0);
294   *(OOC_UINT16*)(i0+(_check_index(i2, i1, OOC_UINT32, 13381))*2) = 0u;
295   return (Object__String16)i3;
296   ;
297 }
298 
Object__NewUTF16Char(OOC_CHAR16 ch)299 Object__String16 Object__NewUTF16Char(OOC_CHAR16 ch) {
300   register OOC_INT64 i0,i1,i2,i3,i4;
301   Object__String16 s;
302   Object__CharsUTF16 d;
303 
304   i0 = (OOC_INT64)RT0__NewObject(_td_Object__String16.baseTypes[0]);
305   s = (Object__String16)i0;
306   i1 = (OOC_INT64)RT0__NewObject(_td_Object__CharsUTF16.baseTypes[0], 2);
307   d = (Object__CharsUTF16)i1;
308   *(OOC_INT32*)(_check_pointer(i0, 13745)) = 1;
309   *(OOC_INT64*)((_check_pointer(i0, 13765))+8) = i1;
310   i2 = _check_pointer(i1, 13783);
311   i3 = OOC_ARRAY_LENGTH(i2, 0);
312   i4 = ch;
313   *(OOC_UINT16*)(i2+(_check_index(0, i3, OOC_UINT8, 13783))*2) = i4;
314   i1 = _check_pointer(i1, 13799);
315   i2 = OOC_ARRAY_LENGTH(i1, 0);
316   *(OOC_UINT16*)(i1+(_check_index(1, i2, OOC_UINT8, 13799))*2) = 0u;
317   return (Object__String16)i0;
318   ;
319 }
320 
Object__NewUCS4Char(OOC_CHAR32 ch)321 Object__String Object__NewUCS4Char(OOC_CHAR32 ch) {
322   register OOC_INT64 i0,i1,i2,i3,i4;
323   Object__String16 s;
324   Object__CharsUTF16 d;
325   OOC_INT32 v;
326 
327   i0 = ch;
328   i1 = (OOC_UINT32)i0<(OOC_UINT32)65536u;
329   if (i1) goto l3;
330   i1 = (OOC_INT64)RT0__NewObject(_td_Object__String16.baseTypes[0]);
331   s = (Object__String16)i1;
332   i2 = (OOC_INT64)RT0__NewObject(_td_Object__CharsUTF16.baseTypes[0], 3);
333   d = (Object__CharsUTF16)i2;
334   *(OOC_INT32*)(_check_pointer(i1, 14302)) = 2;
335   *(OOC_INT64*)((_check_pointer(i1, 14324))+8) = i2;
336   i0 = i0-65536;
337   v = i0;
338   i3 = _check_pointer(i2, 14385);
339   i4 = OOC_ARRAY_LENGTH(i3, 0);
340   *(OOC_UINT16*)(i3+(_check_index(0, i4, OOC_UINT8, 14385))*2) = (55296+(i0>>10));
341   i3 = _check_pointer(i2, 14440);
342   i4 = OOC_ARRAY_LENGTH(i3, 0);
343   *(OOC_UINT16*)(i3+(_check_index(1, i4, OOC_UINT8, 14440))*2) = (56320+(_mod(i0,1024)));
344   i0 = _check_pointer(i2, 14496);
345   i2 = OOC_ARRAY_LENGTH(i0, 0);
346   *(OOC_UINT16*)(i0+(_check_index(2, i2, OOC_UINT8, 14496))*2) = 0u;
347   return (Object__String)i1;
348   goto l4;
349 l3:
350   i0 = (OOC_INT64)Object__NewUTF16Char(i0);
351   return (Object__String)i0;
352 l4:
353   _failed_function(13855); return 0;
354   ;
355 }
356 
Object__NewUCS4Region(const OOC_CHAR32 str[],OOC_LEN str_0d,OOC_INT32 start,OOC_INT32 end)357 Object__String Object__NewUCS4Region(const OOC_CHAR32 str[], OOC_LEN str_0d, OOC_INT32 start, OOC_INT32 end) {
358   register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7;
359   OOC_INT32 c;
360   OOC_INT32 i;
361   Object__CharsUTF16 d;
362   OOC_INT32 v;
363   Object__String16 s;
364 
365   c = 0;
366   i0 = start;
367   i1 = end;
368   i2 = i0!=i1;
369   if (i2) goto l3;
370   i3=0;
371   goto l13;
372 l3:
373   i3=i0;i4=0;
374 l4_loop:
375   i5 = *(OOC_UINT32*)((OOC_INT64)str+(_check_index(i3, str_0d, OOC_UINT32, 15055))*4);
376   i5 = (OOC_UINT32)i5>=(OOC_UINT32)65536u;
377   if (i5) goto l7;
378   i4 = i4+1;
379   c = i4;
380 
381   goto l8;
382 l7:
383   i4 = i4+2;
384   c = i4;
385 
386 l8:
387   i3 = i3+1;
388   i5 = i3!=i1;
389   if (i5) goto l4_loop;
390 l12:
391   i3=i4;
392 l13:
393   i4 = (OOC_INT64)RT0__NewObject(_td_Object__CharsUTF16.baseTypes[0], (i3+1));
394   d = (Object__CharsUTF16)i4;
395   i = 0;
396   if (!i2) goto l25;
397   i2=0;
398 l16_loop:
399   i5 = *(OOC_UINT32*)((OOC_INT64)str+(_check_index(i0, str_0d, OOC_UINT32, 15233))*4);
400   i5 = (OOC_UINT32)i5>=(OOC_UINT32)65536u;
401   if (i5) goto l19;
402   i5 = _check_pointer(i4, 15471);
403   i6 = OOC_ARRAY_LENGTH(i5, 0);
404   i7 = *(OOC_UINT32*)((OOC_INT64)str+(_check_index(i0, str_0d, OOC_UINT32, 15487))*4);
405   *(OOC_UINT16*)(i5+(_check_index(i2, i6, OOC_UINT32, 15471))*2) = i7;
406   i2 = i2+1;
407   i = i2;
408 
409   goto l20;
410 l19:
411   i5 = *(OOC_UINT32*)((OOC_INT64)str+(_check_index(i0, str_0d, OOC_UINT32, 15285))*4);
412   i5 = i5-65536;
413   v = i5;
414   i6 = _check_pointer(i4, 15324);
415   i7 = OOC_ARRAY_LENGTH(i6, 0);
416   *(OOC_UINT16*)(i6+(_check_index(i2, i7, OOC_UINT32, 15324))*2) = (55296+(i5>>10));
417   i6 = _check_pointer(i4, 15381);
418   i7 = OOC_ARRAY_LENGTH(i6, 0);
419   *(OOC_UINT16*)(i6+(_check_index((i2+1), i7, OOC_UINT32, 15381))*2) = (56320+(_mod(i5,1024)));
420   i2 = i2+2;
421   i = i2;
422 
423 l20:
424   i0 = i0+1;
425   start = i0;
426   i5 = i0!=i1;
427   if (i5) goto l16_loop;
428 l25:
429   i0 = (OOC_INT64)RT0__NewObject(_td_Object__String16.baseTypes[0]);
430   s = (Object__String16)i0;
431   *(OOC_INT32*)(_check_pointer(i0, 15569)) = i3;
432   *(OOC_INT64*)((_check_pointer(i0, 15588))+8) = i4;
433   return (Object__String)i0;
434   ;
435 }
436 
Object__NewUCS4(const OOC_CHAR32 str[],OOC_LEN str_0d)437 Object__String Object__NewUCS4(const OOC_CHAR32 str[], OOC_LEN str_0d) {
438   register OOC_INT64 i0,i1;
439 
440   i0 = *(OOC_UINT32*)((OOC_INT64)str+(_check_index(0, str_0d, OOC_UINT32, 15947))*4);
441   i0 = i0!=0u;
442   if (i0) goto l3;
443   i0=0;
444   goto l9;
445 l3:
446   i0=0;
447 l4_loop:
448   i0 = i0+1;
449   i1 = *(OOC_UINT32*)((OOC_INT64)str+(_check_index(i0, str_0d, OOC_UINT32, 15947))*4);
450   i1 = i1!=0u;
451   if (i1) goto l4_loop;
452 l9:
453   i0 = (OOC_INT64)Object__NewUCS4Region((void*)(OOC_INT64)str, str_0d, 0, i0);
454   return (Object__String)i0;
455   ;
456 }
457 
Object__Concat2(Object__String s1,Object__String s2)458 Object__String Object__Concat2(Object__String s1, Object__String s2) {
459   register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7,i8,i9;
460   Object__String8 c8;
461   Object__String16 c32;
462   OOC_INT32 i;
463 
464   i0 = (OOC_INT64)s1;
465   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 16273)))), &_td_Object__String8Desc);
466   if (i1) goto l23;
467   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 17187)))), &_td_Object__String16Desc);
468   if (i1) goto l5;
469   _failed_with(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 17183)))), 17183);
470   goto l40;
471 l5:
472   i1 = (OOC_INT64)s2;
473   i2 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 17214)))), &_td_Object__String8Desc);
474   if (i2) goto l12;
475   i2 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 17585)))), &_td_Object__String16Desc);
476   if (i2) goto l10;
477   _failed_with(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 17581)))), 17581);
478   goto l40;
479 l10:
480   i2 = (OOC_INT64)RT0__NewObject(_td_Object__String16.baseTypes[0]);
481   c32 = (Object__String16)i2;
482   i3 = *(OOC_INT32*)(_check_pointer(i1, 17692));
483   i4 = *(OOC_INT32*)(_check_pointer(i0, 17682));
484   *(OOC_INT32*)(_check_pointer(i2, 17669)) = (i4+i3);
485   i1 = *(OOC_INT32*)(_check_pointer(i1, 17735));
486   i3 = *(OOC_INT32*)(_check_pointer(i0, 17725));
487   *(OOC_INT64*)((_check_pointer(i2, 17716))+8) = ((OOC_INT64)RT0__NewObject(_td_Object__CharsUTF16.baseTypes[0], ((i3+i1)+1)));
488   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 17770))+8);
489   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 17808))+8);
490   i0 = *(OOC_INT32*)(_check_pointer(i0, 17839));
491   _move_block((_check_pointer(i1, 17775)),(_check_pointer(i2, 17813)),(i0*2));
492   i0 = (OOC_INT64)s2;
493   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 17887))+8);
494   i2 = (OOC_INT64)c32;
495   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 17925))+8);
496   i3 = (OOC_INT64)s1;
497   i3 = *(OOC_INT32*)(_check_pointer(i3, 17935));
498   i0 = *(OOC_INT32*)(_check_pointer(i0, 17981));
499   _move_block((_check_pointer(i1, 17892)),((_check_pointer(i2, 17930))+(i3*2)),(2+i0*2));
500   i0 = (OOC_INT64)c32;
501   return (Object__String)i0;
502   goto l40;
503 l12:
504   i2 = (OOC_INT64)RT0__NewObject(_td_Object__String16.baseTypes[0]);
505   c32 = (Object__String16)i2;
506   i3 = *(OOC_INT32*)(_check_pointer(i1, 17279));
507   i4 = *(OOC_INT32*)(_check_pointer(i0, 17269));
508   *(OOC_INT32*)(_check_pointer(i2, 17256)) = (i4+i3);
509   i1 = *(OOC_INT32*)(_check_pointer(i1, 17322));
510   i3 = *(OOC_INT32*)(_check_pointer(i0, 17312));
511   *(OOC_INT64*)((_check_pointer(i2, 17303))+8) = ((OOC_INT64)RT0__NewObject(_td_Object__CharsUTF16.baseTypes[0], ((i3+i1)+1)));
512   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 17357))+8);
513   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 17395))+8);
514   i0 = *(OOC_INT32*)(_check_pointer(i0, 17426));
515   _move_block((_check_pointer(i1, 17362)),(_check_pointer(i2, 17400)),(i0*2));
516   i0 = (OOC_INT64)s2;
517   i = 0;
518   i1 = *(OOC_INT32*)(_check_pointer(i0, 17475));
519   i2 = (OOC_INT64)c32;
520   i3 = 0<=i1;
521   if (!i3) goto l20;
522   i3 = (OOC_INT64)s1;
523   i4=0;
524 l15_loop:
525   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 17499))+8);
526   i5 = _check_pointer(i5, 17504);
527   i6 = *(OOC_INT32*)(_check_pointer(i3, 17507));
528   i7 = OOC_ARRAY_LENGTH(i5, 0);
529   i8 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 17523))+8);
530   i8 = _check_pointer(i8, 17528);
531   i9 = OOC_ARRAY_LENGTH(i8, 0);
532   i8 = *(OOC_UINT8*)(i8+(_check_index(i4, i9, OOC_UINT32, 17528)));
533   *(OOC_UINT16*)(i5+(_check_index((i6+i4), i7, OOC_UINT32, 17504))*2) = i8;
534   i4 = i4+1;
535   i = i4;
536   i5 = i4<=i1;
537   if (i5) goto l15_loop;
538 l20:
539   return (Object__String)i2;
540   goto l40;
541 l23:
542   i1 = (OOC_INT64)s2;
543   i2 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 16299)))), &_td_Object__String8Desc);
544   if (i2) goto l38;
545   i2 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 16736)))), &_td_Object__String16Desc);
546   if (i2) goto l28;
547   _failed_with(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 16732)))), 16732);
548   goto l40;
549 l28:
550   i2 = (OOC_INT64)RT0__NewObject(_td_Object__String16.baseTypes[0]);
551   c32 = (Object__String16)i2;
552   i3 = *(OOC_INT32*)(_check_pointer(i1, 16842));
553   i4 = *(OOC_INT32*)(_check_pointer(i0, 16832));
554   *(OOC_INT32*)(_check_pointer(i2, 16819)) = (i4+i3);
555   i3 = *(OOC_INT32*)(_check_pointer(i1, 16885));
556   i4 = *(OOC_INT32*)(_check_pointer(i0, 16875));
557   *(OOC_INT64*)((_check_pointer(i2, 16866))+8) = ((OOC_INT64)RT0__NewObject(_td_Object__CharsUTF16.baseTypes[0], ((i4+i3)+1)));
558   i = 0;
559   i3 = *(OOC_INT32*)(_check_pointer(i0, 16921));
560   i4 = 0<i3;
561   if (!i4) goto l36;
562   i4=0;
563 l31_loop:
564   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 16947))+8);
565   i5 = _check_pointer(i5, 16952);
566   i6 = OOC_ARRAY_LENGTH(i5, 0);
567   i7 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 16961))+8);
568   i7 = _check_pointer(i7, 16966);
569   i8 = OOC_ARRAY_LENGTH(i7, 0);
570   i7 = *(OOC_UINT8*)(i7+(_check_index(i4, i8, OOC_UINT32, 16966)));
571   *(OOC_UINT16*)(i5+(_check_index(i4, i6, OOC_UINT32, 16952))*2) = i7;
572   i4 = i4+1;
573   i = i4;
574   i5 = i4<i3;
575   if (i5) goto l31_loop;
576 l36:
577   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 17007))+8);
578   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 17045))+8);
579   i0 = *(OOC_INT32*)(_check_pointer(i0, 17055));
580   i1 = *(OOC_INT32*)(_check_pointer(i1, 17101));
581   _move_block((_check_pointer(i3, 17012)),((_check_pointer(i2, 17050))+(i0*2)),(2+i1*2));
582   i0 = (OOC_INT64)c32;
583   return (Object__String)i0;
584   goto l40;
585 l38:
586   i2 = (OOC_INT64)RT0__NewObject(_td_Object__String8.baseTypes[0]);
587   c8 = (Object__String8)i2;
588   i3 = *(OOC_INT32*)(_check_pointer(i1, 16399));
589   i4 = *(OOC_INT32*)(_check_pointer(i0, 16389));
590   *(OOC_INT32*)(_check_pointer(i2, 16376)) = (i4+i3);
591   i1 = *(OOC_INT32*)(_check_pointer(i1, 16441));
592   i3 = *(OOC_INT32*)(_check_pointer(i0, 16431));
593   *(OOC_INT64*)((_check_pointer(i2, 16422))+8) = ((OOC_INT64)RT0__NewObject(_td_Object__CharsLatin1.baseTypes[0], ((i3+i1)+1)));
594   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 16476))+8);
595   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 16513))+8);
596   i0 = *(OOC_INT32*)(_check_pointer(i0, 16544));
597   _move_block((_check_pointer(i1, 16481)),(_check_pointer(i2, 16518)),i0);
598   i0 = (OOC_INT64)s2;
599   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 16588))+8);
600   i2 = (OOC_INT64)c8;
601   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 16625))+8);
602   i3 = (OOC_INT64)s1;
603   i0 = *(OOC_INT32*)(_check_pointer(i0, 16666));
604   i3 = *(OOC_INT32*)(_check_pointer(i3, 16635));
605   _move_block((_check_pointer(i1, 16593)),((_check_pointer(i2, 16630))+i3),(i0+1));
606   i0 = (OOC_INT64)c8;
607   return (Object__String)i0;
608 l40:
609   _failed_function(16046); return 0;
610   ;
611 }
612 
Object__StringDesc_Concat(Object__String s,Object__String t)613 Object__String Object__StringDesc_Concat(Object__String s, Object__String t) {
614   register OOC_INT64 i0,i1;
615 
616   i0 = (OOC_INT64)t;
617   i1 = (OOC_INT64)s;
618   i0 = (OOC_INT64)Object__Concat2((Object__String)i1, (Object__String)i0);
619   return (Object__String)i0;
620   ;
621 }
622 
Object__String8Desc_CharsLatin1(Object__String8 s)623 Object__CharsLatin1 Object__String8Desc_CharsLatin1(Object__String8 s) {
624   register OOC_INT64 i0;
625 
626   i0 = (OOC_INT64)s;
627   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 18564))+8);
628   return (Object__CharsLatin1)i0;
629   ;
630 }
631 
Object__String16Desc_CharsUTF16(Object__String16 s)632 Object__CharsUTF16 Object__String16Desc_CharsUTF16(Object__String16 s) {
633   register OOC_INT64 i0;
634 
635   i0 = (OOC_INT64)s;
636   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 18862))+8);
637   return (Object__CharsUTF16)i0;
638   ;
639 }
640 
Object__StringDesc_ToString(Object__String s)641 Object__String Object__StringDesc_ToString(Object__String s) {
642   register OOC_INT64 i0;
643 
644   i0 = (OOC_INT64)s;
645   return (Object__String)i0;
646   ;
647 }
648 
Object__StringDesc_ToString8(Object__String s,OOC_CHAR8 replace)649 Object__String8 Object__StringDesc_ToString8(Object__String s, OOC_CHAR8 replace) {
650 
651   _failed_function(19051); return 0;
652   ;
653 }
654 
Object__String8Desc_ToString8(Object__String8 s,OOC_CHAR8 replace)655 Object__String8 Object__String8Desc_ToString8(Object__String8 s, OOC_CHAR8 replace) {
656   register OOC_INT64 i0;
657 
658   i0 = (OOC_INT64)s;
659   return (Object__String8)i0;
660   ;
661 }
662 
Object__String16Desc_ToString8(Object__String16 s,OOC_CHAR8 replace)663 Object__String8 Object__String16Desc_ToString8(Object__String16 s, OOC_CHAR8 replace) {
664   register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7,i8;
665   Object__CharsLatin1 data8;
666   OOC_INT32 i;
667   Object__String8 s8;
668 
669   i0 = (OOC_INT64)s;
670   i1 = *(OOC_INT32*)(_check_pointer(i0, 19540));
671   i1 = (OOC_INT64)RT0__NewObject(_td_Object__CharsLatin1.baseTypes[0], (i1+1));
672   data8 = (Object__CharsLatin1)i1;
673   i = 0;
674   i2 = *(OOC_INT32*)(_check_pointer(i0, 19571));
675   i3 = 0<=i2;
676   if (!i3) goto l12;
677   i3 = replace;
678   i4=0;
679 l3_loop:
680   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 19593))+8);
681   i5 = _check_pointer(i5, 19598);
682   i6 = OOC_ARRAY_LENGTH(i5, 0);
683   i5 = *(OOC_UINT16*)(i5+(_check_index(i4, i6, OOC_UINT32, 19598))*2);
684   i5 = (OOC_UINT16)i5>(OOC_UINT16)255u;
685   if (i5) goto l6;
686   i5 = _check_pointer(i1, 19725);
687   i6 = OOC_ARRAY_LENGTH(i5, 0);
688   i7 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 19739))+8);
689   i7 = _check_pointer(i7, 19744);
690   i8 = OOC_ARRAY_LENGTH(i7, 0);
691   i7 = *(OOC_UINT16*)(i7+(_check_index(i4, i8, OOC_UINT32, 19744))*2);
692   *(OOC_UINT8*)(i5+(_check_index(i4, i6, OOC_UINT32, 19725))) = i7;
693   goto l7;
694 l6:
695   i5 = _check_pointer(i1, 19685);
696   i6 = OOC_ARRAY_LENGTH(i5, 0);
697   *(OOC_UINT8*)(i5+(_check_index(i4, i6, OOC_UINT32, 19685))) = i3;
698 l7:
699   i4 = i4+1;
700   i = i4;
701   i5 = i4<=i2;
702   if (i5) goto l3_loop;
703 l12:
704   i2 = (OOC_INT64)RT0__NewObject(_td_Object__String8.baseTypes[0]);
705   s8 = (Object__String8)i2;
706   i0 = *(OOC_INT32*)(_check_pointer(i0, 19802));
707   *(OOC_INT32*)(_check_pointer(i2, 19790)) = i0;
708   *(OOC_INT64*)((_check_pointer(i2, 19817))+8) = i1;
709   return (Object__String8)i2;
710   ;
711 }
712 
Object__StringDesc_ToString16(Object__String s)713 Object__String16 Object__StringDesc_ToString16(Object__String s) {
714 
715   _failed_function(19899); return 0;
716   ;
717 }
718 
Object__String8Desc_ToString16(Object__String8 s)719 Object__String16 Object__String8Desc_ToString16(Object__String8 s) {
720   register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7;
721   Object__CharsUTF16 data16;
722   OOC_INT32 i;
723   Object__String16 s16;
724 
725   i0 = (OOC_INT64)s;
726   i1 = *(OOC_INT32*)(_check_pointer(i0, 20164));
727   i1 = (OOC_INT64)RT0__NewObject(_td_Object__CharsUTF16.baseTypes[0], (i1+1));
728   data16 = (Object__CharsUTF16)i1;
729   i = 0;
730   i2 = *(OOC_INT32*)(_check_pointer(i0, 20195));
731   i3 = 0<=i2;
732   if (!i3) goto l8;
733   i3=0;
734 l3_loop:
735   i4 = _check_pointer(i1, 20218);
736   i5 = OOC_ARRAY_LENGTH(i4, 0);
737   i6 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 20226))+8);
738   i6 = _check_pointer(i6, 20231);
739   i7 = OOC_ARRAY_LENGTH(i6, 0);
740   i6 = *(OOC_UINT8*)(i6+(_check_index(i3, i7, OOC_UINT32, 20231)));
741   *(OOC_UINT16*)(i4+(_check_index(i3, i5, OOC_UINT32, 20218))*2) = i6;
742   i3 = i3+1;
743   i = i3;
744   i4 = i3<=i2;
745   if (i4) goto l3_loop;
746 l8:
747   i2 = (OOC_INT64)RT0__NewObject(_td_Object__String16.baseTypes[0]);
748   s16 = (Object__String16)i2;
749   i0 = *(OOC_INT32*)(_check_pointer(i0, 20283));
750   *(OOC_INT32*)(_check_pointer(i2, 20271)) = i0;
751   *(OOC_INT64*)((_check_pointer(i2, 20299))+8) = i1;
752   return (Object__String16)i2;
753   ;
754 }
755 
Object__String16Desc_ToString16(Object__String16 s)756 Object__String16 Object__String16Desc_ToString16(Object__String16 s) {
757   register OOC_INT64 i0;
758 
759   i0 = (OOC_INT64)s;
760   return (Object__String16)i0;
761   ;
762 }
763 
Object__StringDesc_Equals(Object__String s,Object__Object y)764 OOC_CHAR8 Object__StringDesc_Equals(Object__String s, Object__Object y) {
765 
766   _failed_function(20474); return 0;
767   ;
768 }
769 
Object__String8Desc_Equals(Object__String8 s,Object__Object y)770 OOC_CHAR8 Object__String8Desc_Equals(Object__String8 s, Object__Object y) {
771   register OOC_INT64 i0,i1,i2,i3,i4,i5,i6;
772   OOC_INT32 i;
773 
774   i0 = (OOC_INT64)y;
775   i1 = i0==(OOC_INT64)0;
776   if (i1) goto l3;
777   i1 = !(OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 20624)))), &_td_Object__StringDesc));
778 
779   goto l5;
780 l3:
781   i1=1u;
782 l5:
783   if (i1) goto l7;
784   i1 = (OOC_INT64)s;
785   i2 = *(OOC_INT32*)(_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 20652)))), &_td_Object__StringDesc, 20652)), 20659));
786   i1 = *(OOC_INT32*)(_check_pointer(i1, 20640));
787   i1 = i1!=i2;
788 
789   goto l9;
790 l7:
791   i1=1u;
792 l9:
793   if (i1) goto l53;
794   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 20714)))), &_td_Object__String8Desc);
795   if (i1) goto l34;
796   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 20872)))), &_td_Object__String16Desc);
797   if (i1) goto l15;
798   _failed_with(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 20869)))), 20869);
799   goto l54;
800 l15:
801   i = 0;
802   i1 = (OOC_INT64)s;
803   i2 = *(OOC_INT32*)(_check_pointer(i1, 20922));
804   i2 = 0!=i2;
805   if (i2) goto l18;
806   i2=0u;
807   goto l20;
808 l18:
809   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 20935))+8);
810   i2 = _check_pointer(i2, 20940);
811   i3 = OOC_ARRAY_LENGTH(i2, 0);
812   i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 20947))+8);
813   i4 = _check_pointer(i4, 20952);
814   i5 = OOC_ARRAY_LENGTH(i4, 0);
815   i2 = *(OOC_UINT8*)(i2+(_check_index(0, i3, OOC_UINT32, 20940)));
816   i3 = *(OOC_UINT16*)(i4+(_check_index(0, i5, OOC_UINT32, 20952))*2);
817   i2 = i2==i3;
818 
819 l20:
820   if (i2) goto l22;
821   i0=0;
822   goto l32;
823 l22:
824   i2=0;
825 l23_loop:
826   i2 = i2+1;
827   i = i2;
828   i3 = *(OOC_INT32*)(_check_pointer(i1, 20922));
829   i3 = i2!=i3;
830   if (i3) goto l26;
831   i3=0u;
832   goto l28;
833 l26:
834   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 20935))+8);
835   i3 = _check_pointer(i3, 20940);
836   i4 = OOC_ARRAY_LENGTH(i3, 0);
837   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 20947))+8);
838   i5 = _check_pointer(i5, 20952);
839   i6 = OOC_ARRAY_LENGTH(i5, 0);
840   i3 = *(OOC_UINT8*)(i3+(_check_index(i2, i4, OOC_UINT32, 20940)));
841   i4 = *(OOC_UINT16*)(i5+(_check_index(i2, i6, OOC_UINT32, 20952))*2);
842   i3 = i3==i4;
843 
844 l28:
845   if (i3) goto l23_loop;
846 l31:
847   i0=i2;
848 l32:
849   i1 = *(OOC_INT32*)(_check_pointer(i1, 21012));
850   return (i0==i1);
851   goto l54;
852 l34:
853   i = 0;
854   i1 = (OOC_INT64)s;
855   i2 = *(OOC_INT32*)(_check_pointer(i1, 20763));
856   i2 = 0!=i2;
857   if (i2) goto l37;
858   i2=0u;
859   goto l39;
860 l37:
861   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 20776))+8);
862   i2 = _check_pointer(i2, 20781);
863   i3 = OOC_ARRAY_LENGTH(i2, 0);
864   i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 20788))+8);
865   i4 = _check_pointer(i4, 20793);
866   i5 = OOC_ARRAY_LENGTH(i4, 0);
867   i2 = *(OOC_UINT8*)(i2+(_check_index(0, i3, OOC_UINT32, 20781)));
868   i3 = *(OOC_UINT8*)(i4+(_check_index(0, i5, OOC_UINT32, 20793)));
869   i2 = i2==i3;
870 
871 l39:
872   if (i2) goto l41;
873   i0=0;
874   goto l51;
875 l41:
876   i2=0;
877 l42_loop:
878   i2 = i2+1;
879   i = i2;
880   i3 = *(OOC_INT32*)(_check_pointer(i1, 20763));
881   i3 = i2!=i3;
882   if (i3) goto l45;
883   i3=0u;
884   goto l47;
885 l45:
886   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 20776))+8);
887   i3 = _check_pointer(i3, 20781);
888   i4 = OOC_ARRAY_LENGTH(i3, 0);
889   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 20788))+8);
890   i5 = _check_pointer(i5, 20793);
891   i6 = OOC_ARRAY_LENGTH(i5, 0);
892   i3 = *(OOC_UINT8*)(i3+(_check_index(i2, i4, OOC_UINT32, 20781)));
893   i4 = *(OOC_UINT8*)(i5+(_check_index(i2, i6, OOC_UINT32, 20793)));
894   i3 = i3==i4;
895 
896 l47:
897   if (i3) goto l42_loop;
898 l50:
899   i0=i2;
900 l51:
901   i1 = *(OOC_INT32*)(_check_pointer(i1, 20853));
902   return (i0==i1);
903   goto l54;
904 l53:
905   return 0u;
906 l54:
907   _failed_function(20541); return 0;
908   ;
909 }
910 
Object__String16Desc_Equals(Object__String16 s,Object__Object y)911 OOC_CHAR8 Object__String16Desc_Equals(Object__String16 s, Object__Object y) {
912   register OOC_INT64 i0,i1,i2,i3,i4,i5,i6;
913   OOC_INT32 i;
914 
915   i0 = (OOC_INT64)y;
916   i1 = i0==(OOC_INT64)0;
917   if (i1) goto l3;
918   i1 = !(OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 21164)))), &_td_Object__StringDesc));
919 
920   goto l5;
921 l3:
922   i1=1u;
923 l5:
924   if (i1) goto l7;
925   i1 = (OOC_INT64)s;
926   i2 = *(OOC_INT32*)(_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 21192)))), &_td_Object__StringDesc, 21192)), 21199));
927   i1 = *(OOC_INT32*)(_check_pointer(i1, 21180));
928   i1 = i1!=i2;
929 
930   goto l9;
931 l7:
932   i1=1u;
933 l9:
934   if (i1) goto l53;
935   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 21254)))), &_td_Object__String8Desc);
936   if (i1) goto l34;
937   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 21412)))), &_td_Object__String16Desc);
938   if (i1) goto l15;
939   _failed_with(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 21409)))), 21409);
940   goto l54;
941 l15:
942   i = 0;
943   i1 = (OOC_INT64)s;
944   i2 = *(OOC_INT32*)(_check_pointer(i1, 21462));
945   i2 = 0!=i2;
946   if (i2) goto l18;
947   i2=0u;
948   goto l20;
949 l18:
950   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 21475))+8);
951   i2 = _check_pointer(i2, 21480);
952   i3 = OOC_ARRAY_LENGTH(i2, 0);
953   i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 21487))+8);
954   i4 = _check_pointer(i4, 21492);
955   i5 = OOC_ARRAY_LENGTH(i4, 0);
956   i2 = *(OOC_UINT16*)(i2+(_check_index(0, i3, OOC_UINT32, 21480))*2);
957   i3 = *(OOC_UINT16*)(i4+(_check_index(0, i5, OOC_UINT32, 21492))*2);
958   i2 = i2==i3;
959 
960 l20:
961   if (i2) goto l22;
962   i0=0;
963   goto l32;
964 l22:
965   i2=0;
966 l23_loop:
967   i2 = i2+1;
968   i = i2;
969   i3 = *(OOC_INT32*)(_check_pointer(i1, 21462));
970   i3 = i2!=i3;
971   if (i3) goto l26;
972   i3=0u;
973   goto l28;
974 l26:
975   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 21475))+8);
976   i3 = _check_pointer(i3, 21480);
977   i4 = OOC_ARRAY_LENGTH(i3, 0);
978   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 21487))+8);
979   i5 = _check_pointer(i5, 21492);
980   i6 = OOC_ARRAY_LENGTH(i5, 0);
981   i3 = *(OOC_UINT16*)(i3+(_check_index(i2, i4, OOC_UINT32, 21480))*2);
982   i4 = *(OOC_UINT16*)(i5+(_check_index(i2, i6, OOC_UINT32, 21492))*2);
983   i3 = i3==i4;
984 
985 l28:
986   if (i3) goto l23_loop;
987 l31:
988   i0=i2;
989 l32:
990   i1 = *(OOC_INT32*)(_check_pointer(i1, 21552));
991   return (i0==i1);
992   goto l54;
993 l34:
994   i = 0;
995   i1 = (OOC_INT64)s;
996   i2 = *(OOC_INT32*)(_check_pointer(i1, 21303));
997   i2 = 0!=i2;
998   if (i2) goto l37;
999   i2=0u;
1000   goto l39;
1001 l37:
1002   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 21316))+8);
1003   i2 = _check_pointer(i2, 21321);
1004   i3 = OOC_ARRAY_LENGTH(i2, 0);
1005   i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 21328))+8);
1006   i4 = _check_pointer(i4, 21333);
1007   i5 = OOC_ARRAY_LENGTH(i4, 0);
1008   i2 = *(OOC_UINT16*)(i2+(_check_index(0, i3, OOC_UINT32, 21321))*2);
1009   i3 = *(OOC_UINT8*)(i4+(_check_index(0, i5, OOC_UINT32, 21333)));
1010   i2 = i2==i3;
1011 
1012 l39:
1013   if (i2) goto l41;
1014   i0=0;
1015   goto l51;
1016 l41:
1017   i2=0;
1018 l42_loop:
1019   i2 = i2+1;
1020   i = i2;
1021   i3 = *(OOC_INT32*)(_check_pointer(i1, 21303));
1022   i3 = i2!=i3;
1023   if (i3) goto l45;
1024   i3=0u;
1025   goto l47;
1026 l45:
1027   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 21316))+8);
1028   i3 = _check_pointer(i3, 21321);
1029   i4 = OOC_ARRAY_LENGTH(i3, 0);
1030   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 21328))+8);
1031   i5 = _check_pointer(i5, 21333);
1032   i6 = OOC_ARRAY_LENGTH(i5, 0);
1033   i3 = *(OOC_UINT16*)(i3+(_check_index(i2, i4, OOC_UINT32, 21321))*2);
1034   i4 = *(OOC_UINT8*)(i5+(_check_index(i2, i6, OOC_UINT32, 21333)));
1035   i3 = i3==i4;
1036 
1037 l47:
1038   if (i3) goto l42_loop;
1039 l50:
1040   i0=i2;
1041 l51:
1042   i1 = *(OOC_INT32*)(_check_pointer(i1, 21393));
1043   return (i0==i1);
1044   goto l54;
1045 l53:
1046   return 0u;
1047 l54:
1048   _failed_function(21081); return 0;
1049   ;
1050 }
1051 
Object__StringDesc_EqualsIgnoreCase(Object__String s,Object__Object y)1052 OOC_CHAR8 Object__StringDesc_EqualsIgnoreCase(Object__String s, Object__Object y) {
1053 
1054   _failed_function(21630); return 0;
1055   ;
1056 }
1057 
Object__String8Desc_EqualsIgnoreCase(Object__String8 s,Object__Object y)1058 OOC_CHAR8 Object__String8Desc_EqualsIgnoreCase(Object__String8 s, Object__Object y) {
1059   register OOC_INT64 i0,i1,i2,i3,i4,i5,i6;
1060   OOC_INT32 i;
1061 
1062   i0 = (OOC_INT64)y;
1063   i1 = i0==(OOC_INT64)0;
1064   if (i1) goto l3;
1065   i1 = !(OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 21810)))), &_td_Object__StringDesc));
1066 
1067   goto l5;
1068 l3:
1069   i1=1u;
1070 l5:
1071   if (i1) goto l7;
1072   i1 = (OOC_INT64)s;
1073   i2 = *(OOC_INT32*)(_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 21838)))), &_td_Object__StringDesc, 21838)), 21845));
1074   i1 = *(OOC_INT32*)(_check_pointer(i1, 21826));
1075   i1 = i1!=i2;
1076 
1077   goto l9;
1078 l7:
1079   i1=1u;
1080 l9:
1081   if (i1) goto l53;
1082   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 21975)))), &_td_Object__String8Desc);
1083   if (i1) goto l34;
1084   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 22143)))), &_td_Object__String16Desc);
1085   if (i1) goto l15;
1086   _failed_with(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 22140)))), 22140);
1087   goto l54;
1088 l15:
1089   i = 0;
1090   i1 = (OOC_INT64)s;
1091   i2 = *(OOC_INT32*)(_check_pointer(i1, 22193));
1092   i2 = 0!=i2;
1093   if (i2) goto l18;
1094   i2=0u;
1095   goto l20;
1096 l18:
1097   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 22210))+8);
1098   i2 = _check_pointer(i2, 22215);
1099   i3 = OOC_ARRAY_LENGTH(i2, 0);
1100   i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 22227))+8);
1101   i4 = _check_pointer(i4, 22232);
1102   i5 = OOC_ARRAY_LENGTH(i4, 0);
1103   i2 = *(OOC_UINT8*)(i2+(_check_index(0, i3, OOC_UINT32, 22215)));
1104   i3 = *(OOC_UINT16*)(i4+(_check_index(0, i5, OOC_UINT32, 22232))*2);
1105   i2 = (_cap(i2))==(_cap(i3));
1106 
1107 l20:
1108   if (i2) goto l22;
1109   i0=0;
1110   goto l32;
1111 l22:
1112   i2=0;
1113 l23_loop:
1114   i2 = i2+1;
1115   i = i2;
1116   i3 = *(OOC_INT32*)(_check_pointer(i1, 22193));
1117   i3 = i2!=i3;
1118   if (i3) goto l26;
1119   i3=0u;
1120   goto l28;
1121 l26:
1122   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 22210))+8);
1123   i3 = _check_pointer(i3, 22215);
1124   i4 = OOC_ARRAY_LENGTH(i3, 0);
1125   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 22227))+8);
1126   i5 = _check_pointer(i5, 22232);
1127   i6 = OOC_ARRAY_LENGTH(i5, 0);
1128   i3 = *(OOC_UINT8*)(i3+(_check_index(i2, i4, OOC_UINT32, 22215)));
1129   i4 = *(OOC_UINT16*)(i5+(_check_index(i2, i6, OOC_UINT32, 22232))*2);
1130   i3 = (_cap(i3))==(_cap(i4));
1131 
1132 l28:
1133   if (i3) goto l23_loop;
1134 l31:
1135   i0=i2;
1136 l32:
1137   i1 = *(OOC_INT32*)(_check_pointer(i1, 22293));
1138   return (i0==i1);
1139   goto l54;
1140 l34:
1141   i = 0;
1142   i1 = (OOC_INT64)s;
1143   i2 = *(OOC_INT32*)(_check_pointer(i1, 22024));
1144   i2 = 0!=i2;
1145   if (i2) goto l37;
1146   i2=0u;
1147   goto l39;
1148 l37:
1149   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 22041))+8);
1150   i2 = _check_pointer(i2, 22046);
1151   i3 = OOC_ARRAY_LENGTH(i2, 0);
1152   i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 22058))+8);
1153   i4 = _check_pointer(i4, 22063);
1154   i5 = OOC_ARRAY_LENGTH(i4, 0);
1155   i2 = *(OOC_UINT8*)(i2+(_check_index(0, i3, OOC_UINT32, 22046)));
1156   i3 = *(OOC_UINT8*)(i4+(_check_index(0, i5, OOC_UINT32, 22063)));
1157   i2 = (_cap(i2))==(_cap(i3));
1158 
1159 l39:
1160   if (i2) goto l41;
1161   i0=0;
1162   goto l51;
1163 l41:
1164   i2=0;
1165 l42_loop:
1166   i2 = i2+1;
1167   i = i2;
1168   i3 = *(OOC_INT32*)(_check_pointer(i1, 22024));
1169   i3 = i2!=i3;
1170   if (i3) goto l45;
1171   i3=0u;
1172   goto l47;
1173 l45:
1174   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 22041))+8);
1175   i3 = _check_pointer(i3, 22046);
1176   i4 = OOC_ARRAY_LENGTH(i3, 0);
1177   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 22058))+8);
1178   i5 = _check_pointer(i5, 22063);
1179   i6 = OOC_ARRAY_LENGTH(i5, 0);
1180   i3 = *(OOC_UINT8*)(i3+(_check_index(i2, i4, OOC_UINT32, 22046)));
1181   i4 = *(OOC_UINT8*)(i5+(_check_index(i2, i6, OOC_UINT32, 22063)));
1182   i3 = (_cap(i3))==(_cap(i4));
1183 
1184 l47:
1185   if (i3) goto l42_loop;
1186 l50:
1187   i0=i2;
1188 l51:
1189   i1 = *(OOC_INT32*)(_check_pointer(i1, 22124));
1190   return (i0==i1);
1191   goto l54;
1192 l53:
1193   return 0u;
1194 l54:
1195   _failed_function(21717); return 0;
1196   ;
1197 }
1198 
Object__String16Desc_EqualsIgnoreCase(Object__String16 s,Object__Object y)1199 OOC_CHAR8 Object__String16Desc_EqualsIgnoreCase(Object__String16 s, Object__Object y) {
1200   register OOC_INT64 i0,i1,i2,i3,i4,i5,i6;
1201   OOC_INT32 i;
1202 
1203   i0 = (OOC_INT64)y;
1204   i1 = i0==(OOC_INT64)0;
1205   if (i1) goto l3;
1206   i1 = !(OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 22465)))), &_td_Object__StringDesc));
1207 
1208   goto l5;
1209 l3:
1210   i1=1u;
1211 l5:
1212   if (i1) goto l7;
1213   i1 = (OOC_INT64)s;
1214   i2 = *(OOC_INT32*)(_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 22493)))), &_td_Object__StringDesc, 22493)), 22500));
1215   i1 = *(OOC_INT32*)(_check_pointer(i1, 22481));
1216   i1 = i1!=i2;
1217 
1218   goto l9;
1219 l7:
1220   i1=1u;
1221 l9:
1222   if (i1) goto l53;
1223   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 22630)))), &_td_Object__String8Desc);
1224   if (i1) goto l34;
1225   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 22798)))), &_td_Object__String16Desc);
1226   if (i1) goto l15;
1227   _failed_with(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 22795)))), 22795);
1228   goto l54;
1229 l15:
1230   i = 0;
1231   i1 = (OOC_INT64)s;
1232   i2 = *(OOC_INT32*)(_check_pointer(i1, 22848));
1233   i2 = 0!=i2;
1234   if (i2) goto l18;
1235   i2=0u;
1236   goto l20;
1237 l18:
1238   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 22865))+8);
1239   i2 = _check_pointer(i2, 22870);
1240   i3 = OOC_ARRAY_LENGTH(i2, 0);
1241   i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 22882))+8);
1242   i4 = _check_pointer(i4, 22887);
1243   i5 = OOC_ARRAY_LENGTH(i4, 0);
1244   i2 = *(OOC_UINT16*)(i2+(_check_index(0, i3, OOC_UINT32, 22870))*2);
1245   i3 = *(OOC_UINT16*)(i4+(_check_index(0, i5, OOC_UINT32, 22887))*2);
1246   i2 = (_cap(i2))==(_cap(i3));
1247 
1248 l20:
1249   if (i2) goto l22;
1250   i0=0;
1251   goto l32;
1252 l22:
1253   i2=0;
1254 l23_loop:
1255   i2 = i2+1;
1256   i = i2;
1257   i3 = *(OOC_INT32*)(_check_pointer(i1, 22848));
1258   i3 = i2!=i3;
1259   if (i3) goto l26;
1260   i3=0u;
1261   goto l28;
1262 l26:
1263   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 22865))+8);
1264   i3 = _check_pointer(i3, 22870);
1265   i4 = OOC_ARRAY_LENGTH(i3, 0);
1266   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 22882))+8);
1267   i5 = _check_pointer(i5, 22887);
1268   i6 = OOC_ARRAY_LENGTH(i5, 0);
1269   i3 = *(OOC_UINT16*)(i3+(_check_index(i2, i4, OOC_UINT32, 22870))*2);
1270   i4 = *(OOC_UINT16*)(i5+(_check_index(i2, i6, OOC_UINT32, 22887))*2);
1271   i3 = (_cap(i3))==(_cap(i4));
1272 
1273 l28:
1274   if (i3) goto l23_loop;
1275 l31:
1276   i0=i2;
1277 l32:
1278   i1 = *(OOC_INT32*)(_check_pointer(i1, 22948));
1279   return (i0==i1);
1280   goto l54;
1281 l34:
1282   i = 0;
1283   i1 = (OOC_INT64)s;
1284   i2 = *(OOC_INT32*)(_check_pointer(i1, 22679));
1285   i2 = 0!=i2;
1286   if (i2) goto l37;
1287   i2=0u;
1288   goto l39;
1289 l37:
1290   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 22696))+8);
1291   i2 = _check_pointer(i2, 22701);
1292   i3 = OOC_ARRAY_LENGTH(i2, 0);
1293   i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 22713))+8);
1294   i4 = _check_pointer(i4, 22718);
1295   i5 = OOC_ARRAY_LENGTH(i4, 0);
1296   i2 = *(OOC_UINT16*)(i2+(_check_index(0, i3, OOC_UINT32, 22701))*2);
1297   i3 = *(OOC_UINT8*)(i4+(_check_index(0, i5, OOC_UINT32, 22718)));
1298   i2 = (_cap(i2))==(_cap(i3));
1299 
1300 l39:
1301   if (i2) goto l41;
1302   i0=0;
1303   goto l51;
1304 l41:
1305   i2=0;
1306 l42_loop:
1307   i2 = i2+1;
1308   i = i2;
1309   i3 = *(OOC_INT32*)(_check_pointer(i1, 22679));
1310   i3 = i2!=i3;
1311   if (i3) goto l45;
1312   i3=0u;
1313   goto l47;
1314 l45:
1315   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 22696))+8);
1316   i3 = _check_pointer(i3, 22701);
1317   i4 = OOC_ARRAY_LENGTH(i3, 0);
1318   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 22713))+8);
1319   i5 = _check_pointer(i5, 22718);
1320   i6 = OOC_ARRAY_LENGTH(i5, 0);
1321   i3 = *(OOC_UINT16*)(i3+(_check_index(i2, i4, OOC_UINT32, 22701))*2);
1322   i4 = *(OOC_UINT8*)(i5+(_check_index(i2, i6, OOC_UINT32, 22718)));
1323   i3 = (_cap(i3))==(_cap(i4));
1324 
1325 l47:
1326   if (i3) goto l42_loop;
1327 l50:
1328   i0=i2;
1329 l51:
1330   i1 = *(OOC_INT32*)(_check_pointer(i1, 22779));
1331   return (i0==i1);
1332   goto l54;
1333 l53:
1334   return 0u;
1335 l54:
1336   _failed_function(22372); return 0;
1337   ;
1338 }
1339 
Object__StringDesc_Compare(Object__String s,Object__Object y)1340 OOC_INT32 Object__StringDesc_Compare(Object__String s, Object__Object y) {
1341 
1342   _failed_function(23036); return 0;
1343   ;
1344 }
1345 
Object__String8Desc_Compare(Object__String8 s,Object__Object y)1346 OOC_INT32 Object__String8Desc_Compare(Object__String8 s, Object__Object y) {
1347   register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7;
1348   OOC_INT32 min;
1349   OOC_INT32 i;
1350 
1351   i0 = (OOC_INT64)s;
1352   i1 = *(OOC_INT32*)(_check_pointer(i0, 23588));
1353   min = i1;
1354   i2 = (OOC_INT64)y;
1355   i3 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 23607)))), &_td_Object__String8Desc);
1356   if (i3) goto l32;
1357   i3 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 23906)))), &_td_Object__String16Desc);
1358   if (i3) goto l5;
1359   _failed_with(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 23903)))), 23903);
1360   goto l58;
1361 l5:
1362   i3 = *(OOC_INT32*)(_check_pointer(i2, 23931));
1363   i3 = i3<i1;
1364   if (!i3) goto l9;
1365   i1 = *(OOC_INT32*)(_check_pointer(i2, 23959));
1366   min = i1;
1367 
1368 l9:
1369   i = 0;
1370   i3 = 0!=i1;
1371   if (i3) goto l12;
1372   i3=0u;
1373   goto l14;
1374 l12:
1375   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 24013))+8);
1376   i3 = _check_pointer(i3, 24018);
1377   i4 = OOC_ARRAY_LENGTH(i3, 0);
1378   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 24025))+8);
1379   i5 = _check_pointer(i5, 24030);
1380   i6 = OOC_ARRAY_LENGTH(i5, 0);
1381   i3 = *(OOC_UINT8*)(i3+(_check_index(0, i4, OOC_UINT32, 24018)));
1382   i4 = *(OOC_UINT16*)(i5+(_check_index(0, i6, OOC_UINT32, 24030))*2);
1383   i3 = i3==i4;
1384 
1385 l14:
1386   if (i3) goto l16;
1387   i3=0;
1388   goto l26;
1389 l16:
1390   i3=0;
1391 l17_loop:
1392   i3 = i3+1;
1393   i = i3;
1394   i4 = i3!=i1;
1395   if (i4) goto l20;
1396   i4=0u;
1397   goto l22;
1398 l20:
1399   i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 24013))+8);
1400   i4 = _check_pointer(i4, 24018);
1401   i5 = OOC_ARRAY_LENGTH(i4, 0);
1402   i6 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 24025))+8);
1403   i6 = _check_pointer(i6, 24030);
1404   i7 = OOC_ARRAY_LENGTH(i6, 0);
1405   i4 = *(OOC_UINT8*)(i4+(_check_index(i3, i5, OOC_UINT32, 24018)));
1406   i5 = *(OOC_UINT16*)(i6+(_check_index(i3, i7, OOC_UINT32, 24030))*2);
1407   i4 = i4==i5;
1408 
1409 l22:
1410   if (i4) goto l17_loop;
1411 l26:
1412   i1 = i3==i1;
1413   if (i1) goto l29;
1414   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 24159))+8);
1415   i0 = _check_pointer(i0, 24164);
1416   i1 = OOC_ARRAY_LENGTH(i0, 0);
1417   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 24176))+8);
1418   i2 = _check_pointer(i2, 24181);
1419   i4 = OOC_ARRAY_LENGTH(i2, 0);
1420   i0 = *(OOC_UINT8*)(i0+(_check_index(i3, i1, OOC_UINT32, 24164)));
1421   i1 = *(OOC_UINT16*)(i2+(_check_index(i3, i4, OOC_UINT32, 24181))*2);
1422   return (i0-i1);
1423   goto l58;
1424 l29:
1425   i1 = *(OOC_INT32*)(_check_pointer(i2, 24117));
1426   i0 = *(OOC_INT32*)(_check_pointer(i0, 24106));
1427   return (i0-i1);
1428   goto l58;
1429 l32:
1430   i3 = *(OOC_INT32*)(_check_pointer(i2, 23631));
1431   i3 = i3<i1;
1432   if (!i3) goto l36;
1433   i1 = *(OOC_INT32*)(_check_pointer(i2, 23659));
1434   min = i1;
1435 
1436 l36:
1437   i = 0;
1438   i3 = 0!=i1;
1439   if (i3) goto l39;
1440   i3=0u;
1441   goto l41;
1442 l39:
1443   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 23713))+8);
1444   i3 = _check_pointer(i3, 23718);
1445   i4 = OOC_ARRAY_LENGTH(i3, 0);
1446   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 23725))+8);
1447   i5 = _check_pointer(i5, 23730);
1448   i6 = OOC_ARRAY_LENGTH(i5, 0);
1449   i3 = *(OOC_UINT8*)(i3+(_check_index(0, i4, OOC_UINT32, 23718)));
1450   i4 = *(OOC_UINT8*)(i5+(_check_index(0, i6, OOC_UINT32, 23730)));
1451   i3 = i3==i4;
1452 
1453 l41:
1454   if (i3) goto l43;
1455   i3=0;
1456   goto l53;
1457 l43:
1458   i3=0;
1459 l44_loop:
1460   i3 = i3+1;
1461   i = i3;
1462   i4 = i3!=i1;
1463   if (i4) goto l47;
1464   i4=0u;
1465   goto l49;
1466 l47:
1467   i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 23713))+8);
1468   i4 = _check_pointer(i4, 23718);
1469   i5 = OOC_ARRAY_LENGTH(i4, 0);
1470   i6 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 23725))+8);
1471   i6 = _check_pointer(i6, 23730);
1472   i7 = OOC_ARRAY_LENGTH(i6, 0);
1473   i4 = *(OOC_UINT8*)(i4+(_check_index(i3, i5, OOC_UINT32, 23718)));
1474   i5 = *(OOC_UINT8*)(i6+(_check_index(i3, i7, OOC_UINT32, 23730)));
1475   i4 = i4==i5;
1476 
1477 l49:
1478   if (i4) goto l44_loop;
1479 l53:
1480   i1 = i3==i1;
1481   if (i1) goto l56;
1482   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 23859))+8);
1483   i0 = _check_pointer(i0, 23864);
1484   i1 = OOC_ARRAY_LENGTH(i0, 0);
1485   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 23876))+8);
1486   i2 = _check_pointer(i2, 23881);
1487   i4 = OOC_ARRAY_LENGTH(i2, 0);
1488   i0 = *(OOC_UINT8*)(i0+(_check_index(i3, i1, OOC_UINT32, 23864)));
1489   i1 = *(OOC_UINT8*)(i2+(_check_index(i3, i4, OOC_UINT32, 23881)));
1490   return (i0-i1);
1491   goto l58;
1492 l56:
1493   i1 = *(OOC_INT32*)(_check_pointer(i2, 23817));
1494   i0 = *(OOC_INT32*)(_check_pointer(i0, 23806));
1495   return (i0-i1);
1496 l58:
1497   _failed_function(23511); return 0;
1498   ;
1499 }
1500 
Object__String16Desc_Compare(Object__String16 s,Object__Object y)1501 OOC_INT32 Object__String16Desc_Compare(Object__String16 s, Object__Object y) {
1502   register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7;
1503   OOC_INT32 min;
1504   OOC_INT32 i;
1505 
1506   i0 = (OOC_INT64)s;
1507   i1 = *(OOC_INT32*)(_check_pointer(i0, 24325));
1508   min = i1;
1509   i2 = (OOC_INT64)y;
1510   i3 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 24344)))), &_td_Object__String8Desc);
1511   if (i3) goto l32;
1512   i3 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 24643)))), &_td_Object__String16Desc);
1513   if (i3) goto l5;
1514   _failed_with(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 24640)))), 24640);
1515   goto l58;
1516 l5:
1517   i3 = *(OOC_INT32*)(_check_pointer(i2, 24668));
1518   i3 = i3<i1;
1519   if (!i3) goto l9;
1520   i1 = *(OOC_INT32*)(_check_pointer(i2, 24696));
1521   min = i1;
1522 
1523 l9:
1524   i = 0;
1525   i3 = 0!=i1;
1526   if (i3) goto l12;
1527   i3=0u;
1528   goto l14;
1529 l12:
1530   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 24750))+8);
1531   i3 = _check_pointer(i3, 24755);
1532   i4 = OOC_ARRAY_LENGTH(i3, 0);
1533   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 24762))+8);
1534   i5 = _check_pointer(i5, 24767);
1535   i6 = OOC_ARRAY_LENGTH(i5, 0);
1536   i3 = *(OOC_UINT16*)(i3+(_check_index(0, i4, OOC_UINT32, 24755))*2);
1537   i4 = *(OOC_UINT16*)(i5+(_check_index(0, i6, OOC_UINT32, 24767))*2);
1538   i3 = i3==i4;
1539 
1540 l14:
1541   if (i3) goto l16;
1542   i3=0;
1543   goto l26;
1544 l16:
1545   i3=0;
1546 l17_loop:
1547   i3 = i3+1;
1548   i = i3;
1549   i4 = i3!=i1;
1550   if (i4) goto l20;
1551   i4=0u;
1552   goto l22;
1553 l20:
1554   i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 24750))+8);
1555   i4 = _check_pointer(i4, 24755);
1556   i5 = OOC_ARRAY_LENGTH(i4, 0);
1557   i6 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 24762))+8);
1558   i6 = _check_pointer(i6, 24767);
1559   i7 = OOC_ARRAY_LENGTH(i6, 0);
1560   i4 = *(OOC_UINT16*)(i4+(_check_index(i3, i5, OOC_UINT32, 24755))*2);
1561   i5 = *(OOC_UINT16*)(i6+(_check_index(i3, i7, OOC_UINT32, 24767))*2);
1562   i4 = i4==i5;
1563 
1564 l22:
1565   if (i4) goto l17_loop;
1566 l26:
1567   i1 = i3==i1;
1568   if (i1) goto l29;
1569   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 24896))+8);
1570   i0 = _check_pointer(i0, 24901);
1571   i1 = OOC_ARRAY_LENGTH(i0, 0);
1572   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 24913))+8);
1573   i2 = _check_pointer(i2, 24918);
1574   i4 = OOC_ARRAY_LENGTH(i2, 0);
1575   i0 = *(OOC_UINT16*)(i0+(_check_index(i3, i1, OOC_UINT32, 24901))*2);
1576   i1 = *(OOC_UINT16*)(i2+(_check_index(i3, i4, OOC_UINT32, 24918))*2);
1577   return (i0-i1);
1578   goto l58;
1579 l29:
1580   i1 = *(OOC_INT32*)(_check_pointer(i2, 24854));
1581   i0 = *(OOC_INT32*)(_check_pointer(i0, 24843));
1582   return (i0-i1);
1583   goto l58;
1584 l32:
1585   i3 = *(OOC_INT32*)(_check_pointer(i2, 24368));
1586   i3 = i3<i1;
1587   if (!i3) goto l36;
1588   i1 = *(OOC_INT32*)(_check_pointer(i2, 24396));
1589   min = i1;
1590 
1591 l36:
1592   i = 0;
1593   i3 = 0!=i1;
1594   if (i3) goto l39;
1595   i3=0u;
1596   goto l41;
1597 l39:
1598   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 24450))+8);
1599   i3 = _check_pointer(i3, 24455);
1600   i4 = OOC_ARRAY_LENGTH(i3, 0);
1601   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 24462))+8);
1602   i5 = _check_pointer(i5, 24467);
1603   i6 = OOC_ARRAY_LENGTH(i5, 0);
1604   i3 = *(OOC_UINT16*)(i3+(_check_index(0, i4, OOC_UINT32, 24455))*2);
1605   i4 = *(OOC_UINT8*)(i5+(_check_index(0, i6, OOC_UINT32, 24467)));
1606   i3 = i3==i4;
1607 
1608 l41:
1609   if (i3) goto l43;
1610   i3=0;
1611   goto l53;
1612 l43:
1613   i3=0;
1614 l44_loop:
1615   i3 = i3+1;
1616   i = i3;
1617   i4 = i3!=i1;
1618   if (i4) goto l47;
1619   i4=0u;
1620   goto l49;
1621 l47:
1622   i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 24450))+8);
1623   i4 = _check_pointer(i4, 24455);
1624   i5 = OOC_ARRAY_LENGTH(i4, 0);
1625   i6 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 24462))+8);
1626   i6 = _check_pointer(i6, 24467);
1627   i7 = OOC_ARRAY_LENGTH(i6, 0);
1628   i4 = *(OOC_UINT16*)(i4+(_check_index(i3, i5, OOC_UINT32, 24455))*2);
1629   i5 = *(OOC_UINT8*)(i6+(_check_index(i3, i7, OOC_UINT32, 24467)));
1630   i4 = i4==i5;
1631 
1632 l49:
1633   if (i4) goto l44_loop;
1634 l53:
1635   i1 = i3==i1;
1636   if (i1) goto l56;
1637   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 24596))+8);
1638   i0 = _check_pointer(i0, 24601);
1639   i1 = OOC_ARRAY_LENGTH(i0, 0);
1640   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 24613))+8);
1641   i2 = _check_pointer(i2, 24618);
1642   i4 = OOC_ARRAY_LENGTH(i2, 0);
1643   i0 = *(OOC_UINT16*)(i0+(_check_index(i3, i1, OOC_UINT32, 24601))*2);
1644   i1 = *(OOC_UINT8*)(i2+(_check_index(i3, i4, OOC_UINT32, 24618)));
1645   return (i0-i1);
1646   goto l58;
1647 l56:
1648   i1 = *(OOC_INT32*)(_check_pointer(i2, 24554));
1649   i0 = *(OOC_INT32*)(_check_pointer(i0, 24543));
1650   return (i0-i1);
1651 l58:
1652   _failed_function(24248); return 0;
1653   ;
1654 }
1655 
Object__StringDesc_HashCode(Object__String s)1656 OOC_INT32 Object__StringDesc_HashCode(Object__String s) {
1657 
1658   _failed_function(24994); return 0;
1659   ;
1660 }
1661 
Object__String8Desc_HashCode(Object__String8 s)1662 OOC_INT32 Object__String8Desc_HashCode(Object__String8 s) {
1663   register OOC_INT64 i0,i1,i2;
1664 
1665   i0 = (OOC_INT64)s;
1666   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 25112))+8);
1667   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 25112))+8);
1668   i1 = OOC_ARRAY_LENGTH((_check_pointer(i1, 25117)), 0);
1669   i0 = *(OOC_INT32*)(_check_pointer(i0, 25124));
1670   i0 = HashCode__CharRegion((void*)(_check_pointer(i2, 25117)), i1, 0, i0);
1671   return i0;
1672   ;
1673 }
1674 
Object__String16Desc_HashCode(Object__String16 s)1675 OOC_INT32 Object__String16Desc_HashCode(Object__String16 s) {
1676   register OOC_INT64 i0,i1,i2;
1677 
1678   i0 = (OOC_INT64)s;
1679   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 25238))+8);
1680   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 25238))+8);
1681   i1 = OOC_ARRAY_LENGTH((_check_pointer(i1, 25243)), 0);
1682   i0 = *(OOC_INT32*)(_check_pointer(i0, 25250));
1683   i0 = HashCode__LongCharRegion((void*)(_check_pointer(i2, 25243)), i1, 0, i0);
1684   return i0;
1685   ;
1686 }
1687 
Object__StringDesc_CharAt(Object__String s,OOC_INT32 index)1688 OOC_CHAR32 Object__StringDesc_CharAt(Object__String s, OOC_INT32 index) {
1689 
1690   _failed_function(25310); return 0;
1691   ;
1692 }
1693 
Object__String8Desc_CharAt(Object__String8 s,OOC_INT32 index)1694 OOC_CHAR32 Object__String8Desc_CharAt(Object__String8 s, OOC_INT32 index) {
1695   register OOC_INT64 i0,i1,i2;
1696 
1697   i0 = (OOC_INT64)s;
1698   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 25572))+8);
1699   i0 = _check_pointer(i0, 25577);
1700   i1 = OOC_ARRAY_LENGTH(i0, 0);
1701   i2 = index;
1702   i0 = *(OOC_UINT8*)(i0+(_check_index(i2, i1, OOC_UINT32, 25577)));
1703   return i0;
1704   ;
1705 }
1706 
Object__String16Desc_CharAt(Object__String16 s,OOC_INT32 index)1707 OOC_CHAR32 Object__String16Desc_CharAt(Object__String16 s, OOC_INT32 index) {
1708   register OOC_INT64 i0,i1,i2,i3;
1709   OOC_CHAR16 _w1;
1710 
1711   i0 = (OOC_INT64)s;
1712   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 25707))+8);
1713   i1 = _check_pointer(i1, 25712);
1714   i2 = OOC_ARRAY_LENGTH(i1, 0);
1715   i3 = index;
1716   i1 = *(OOC_UINT16*)(i1+(_check_index(i3, i2, OOC_UINT32, 25712))*2);
1717   _w1 = i1;
1718   i2 = (OOC_UINT16)i1<(OOC_UINT16)55296u;
1719   if (i2) goto l3;
1720   i2 = (OOC_UINT16)i1>=(OOC_UINT16)57344u;
1721 
1722   goto l5;
1723 l3:
1724   i2=1u;
1725 l5:
1726   if (i2) goto l19;
1727   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 25985))+8);
1728   i0 = _check_pointer(i0, 25990);
1729   i2 = OOC_ARRAY_LENGTH(i0, 0);
1730   i0 = *(OOC_UINT16*)(i0+(_check_index((i3+1), i2, OOC_UINT32, 25990))*2);
1731   i2 = (OOC_UINT16)i1<(OOC_UINT16)56320u;
1732   if (i2) goto l9;
1733   i2=0u;
1734   goto l11;
1735 l9:
1736   i2 = (OOC_UINT16)56320u<=(OOC_UINT16)i0;
1737 
1738 l11:
1739   if (i2) goto l13;
1740   i2=0u;
1741   goto l15;
1742 l13:
1743   i2 = (OOC_UINT16)i0<(OOC_UINT16)57344u;
1744 
1745 l15:
1746   if (i2) goto l17;
1747   return i1;
1748   goto l20;
1749 l17:
1750   return ((((_mod(i1,1024))*1024)+(_mod(i0,1024)))+65536);
1751   goto l20;
1752 l19:
1753   return i1;
1754 l20:
1755   _failed_function(25625); return 0;
1756   ;
1757 }
1758 
Object__StringDesc_NextChar(Object__String s,OOC_INT32 * index)1759 OOC_CHAR32 Object__StringDesc_NextChar(Object__String s, OOC_INT32 *index) {
1760 
1761   _failed_function(26357); return 0;
1762   ;
1763 }
1764 
Object__String8Desc_NextChar(Object__String8 s,OOC_INT32 * index)1765 OOC_CHAR32 Object__String8Desc_NextChar(Object__String8 s, OOC_INT32 *index) {
1766   register OOC_INT64 i0,i1,i2;
1767 
1768   i0 = (OOC_INT64)s;
1769   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 26809))+8);
1770   i0 = _check_pointer(i0, 26814);
1771   i1 = OOC_ARRAY_LENGTH(i0, 0);
1772   i2 = *index;
1773   *index = (i2+1);
1774   i0 = *(OOC_UINT8*)(i0+(_check_index(i2, i1, OOC_UINT32, 26814)));
1775   return i0;
1776   ;
1777 }
1778 
Object__String16Desc_NextChar(Object__String16 s,OOC_INT32 * index)1779 OOC_CHAR32 Object__String16Desc_NextChar(Object__String16 s, OOC_INT32 *index) {
1780   register OOC_INT64 i0,i1,i2,i3;
1781   OOC_CHAR16 _w1;
1782 
1783   i0 = (OOC_INT64)s;
1784   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 26982))+8);
1785   i1 = _check_pointer(i1, 26987);
1786   i2 = OOC_ARRAY_LENGTH(i1, 0);
1787   i3 = *index;
1788   i1 = *(OOC_UINT16*)(i1+(_check_index(i3, i2, OOC_UINT32, 26987))*2);
1789   _w1 = i1;
1790   i2 = i3+1;
1791   *index = i2;
1792   i3 = (OOC_UINT16)i1<(OOC_UINT16)55296u;
1793   if (i3) goto l3;
1794   i3 = (OOC_UINT16)i1>=(OOC_UINT16)57344u;
1795 
1796   goto l5;
1797 l3:
1798   i3=1u;
1799 l5:
1800   if (i3) goto l19;
1801   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 27275))+8);
1802   i0 = _check_pointer(i0, 27280);
1803   i3 = OOC_ARRAY_LENGTH(i0, 0);
1804   i0 = *(OOC_UINT16*)(i0+(_check_index(i2, i3, OOC_UINT32, 27280))*2);
1805   i3 = (OOC_UINT16)i1<(OOC_UINT16)56320u;
1806   if (i3) goto l9;
1807   i3=0u;
1808   goto l11;
1809 l9:
1810   i3 = (OOC_UINT16)56320u<=(OOC_UINT16)i0;
1811 
1812 l11:
1813   if (i3) goto l13;
1814   i3=0u;
1815   goto l15;
1816 l13:
1817   i3 = (OOC_UINT16)i0<(OOC_UINT16)57344u;
1818 
1819 l15:
1820   if (i3) goto l17;
1821   return i1;
1822   goto l20;
1823 l17:
1824   *index = (i2+1);
1825   return ((((_mod(i1,1024))*1024)+(_mod(i0,1024)))+65536);
1826   goto l20;
1827 l19:
1828   return i1;
1829 l20:
1830   _failed_function(26894); return 0;
1831   ;
1832 }
1833 
Object__StringDesc_Substring(Object__String s,OOC_INT32 start,OOC_INT32 end)1834 Object__String Object__StringDesc_Substring(Object__String s, OOC_INT32 start, OOC_INT32 end) {
1835 
1836   _failed_function(27666); return 0;
1837   ;
1838 }
1839 
Object__String8Desc_Substring(Object__String8 s,OOC_INT32 start,OOC_INT32 end)1840 Object__String8 Object__String8Desc_Substring(Object__String8 s, OOC_INT32 start, OOC_INT32 end) {
1841   register OOC_INT64 i0,i1,i2;
1842 
1843   i0 = (OOC_INT64)s;
1844   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 28098))+8);
1845   i1 = start;
1846   i2 = end;
1847   i0 = (OOC_INT64)Object__NewString8(((_check_pointer(i0, 28103))+i1), (i2-i1));
1848   return (Object__String8)i0;
1849   ;
1850 }
1851 
Object__String16Desc_Substring(Object__String16 s,OOC_INT32 start,OOC_INT32 end)1852 Object__String16 Object__String16Desc_Substring(Object__String16 s, OOC_INT32 start, OOC_INT32 end) {
1853   register OOC_INT64 i0,i1,i2;
1854 
1855   i0 = (OOC_INT64)s;
1856   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 28249))+8);
1857   i1 = start;
1858   i2 = end;
1859   i0 = (OOC_INT64)Object__NewString16(((_check_pointer(i0, 28254))+(i1*2)), (i2-i1));
1860   return (Object__String16)i0;
1861   ;
1862 }
1863 
Object__StringDesc_Trim(Object__String s)1864 Object__String Object__StringDesc_Trim(Object__String s) {
1865 
1866   _failed_function(28343); return 0;
1867   ;
1868 }
1869 
Object__String8Desc_Trim(Object__String8 s)1870 Object__String8 Object__String8Desc_Trim(Object__String8 s) {
1871   register OOC_INT64 i0,i1,i2,i3,i4;
1872   OOC_INT32 a;
1873   OOC_INT32 b;
1874 
1875   a = 0;
1876   i0 = (OOC_INT64)s;
1877   i1 = *(OOC_INT32*)(_check_pointer(i0, 28732));
1878   i1 = 0!=i1;
1879   if (i1) goto l3;
1880   i1=0u;
1881   goto l5;
1882 l3:
1883   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 28745))+8);
1884   i1 = _check_pointer(i1, 28750);
1885   i2 = OOC_ARRAY_LENGTH(i1, 0);
1886   i1 = *(OOC_UINT8*)(i1+(_check_index(0, i2, OOC_UINT32, 28750)));
1887   i1 = (OOC_UINT8)i1<=(OOC_UINT8)32u;
1888 
1889 l5:
1890   if (i1) goto l7;
1891   i1=0;
1892   goto l17;
1893 l7:
1894   i1=0;
1895 l8_loop:
1896   i1 = i1+1;
1897   a = i1;
1898   i2 = *(OOC_INT32*)(_check_pointer(i0, 28732));
1899   i2 = i1!=i2;
1900   if (i2) goto l11;
1901   i2=0u;
1902   goto l13;
1903 l11:
1904   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 28745))+8);
1905   i2 = _check_pointer(i2, 28750);
1906   i3 = OOC_ARRAY_LENGTH(i2, 0);
1907   i2 = *(OOC_UINT8*)(i2+(_check_index(i1, i3, OOC_UINT32, 28750)));
1908   i2 = (OOC_UINT8)i2<=(OOC_UINT8)32u;
1909 
1910 l13:
1911   if (i2) goto l8_loop;
1912 l17:
1913   i2 = *(OOC_INT32*)(_check_pointer(i0, 28798));
1914   b = i2;
1915   i3 = i2!=i1;
1916   if (i3) goto l20;
1917   i3=0u;
1918   goto l22;
1919 l20:
1920   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 28829))+8);
1921   i3 = _check_pointer(i3, 28834);
1922   i4 = OOC_ARRAY_LENGTH(i3, 0);
1923   i3 = *(OOC_UINT8*)(i3+(_check_index((i2-1), i4, OOC_UINT32, 28834)));
1924   i3 = (OOC_UINT8)i3<=(OOC_UINT8)32u;
1925 
1926 l22:
1927   if (!i3) goto l34;
1928 l25_loop:
1929   i2 = i2-1;
1930   b = i2;
1931   i3 = i2!=i1;
1932   if (i3) goto l28;
1933   i3=0u;
1934   goto l30;
1935 l28:
1936   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 28829))+8);
1937   i3 = _check_pointer(i3, 28834);
1938   i4 = OOC_ARRAY_LENGTH(i3, 0);
1939   i3 = *(OOC_UINT8*)(i3+(_check_index((i2-1), i4, OOC_UINT32, 28834)));
1940   i3 = (OOC_UINT8)i3<=(OOC_UINT8)32u;
1941 
1942 l30:
1943   if (i3) goto l25_loop;
1944 l34:
1945   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 28903))+8);
1946   i0 = (OOC_INT64)Object__NewString8(((_check_pointer(i0, 28908))+i1), (i2-i1));
1947   return (Object__String8)i0;
1948   ;
1949 }
1950 
Object__String16Desc_Trim(Object__String16 s)1951 Object__String16 Object__String16Desc_Trim(Object__String16 s) {
1952   register OOC_INT64 i0,i1,i2,i3,i4;
1953   OOC_INT32 a;
1954   OOC_INT32 b;
1955 
1956   a = 0;
1957   i0 = (OOC_INT64)s;
1958   i1 = *(OOC_INT32*)(_check_pointer(i0, 29037));
1959   i1 = 0!=i1;
1960   if (i1) goto l3;
1961   i1=0u;
1962   goto l5;
1963 l3:
1964   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 29050))+8);
1965   i1 = _check_pointer(i1, 29055);
1966   i2 = OOC_ARRAY_LENGTH(i1, 0);
1967   i1 = *(OOC_UINT16*)(i1+(_check_index(0, i2, OOC_UINT32, 29055))*2);
1968   i1 = (OOC_UINT16)i1<=(OOC_UINT16)32u;
1969 
1970 l5:
1971   if (i1) goto l7;
1972   i1=0;
1973   goto l17;
1974 l7:
1975   i1=0;
1976 l8_loop:
1977   i1 = i1+1;
1978   a = i1;
1979   i2 = *(OOC_INT32*)(_check_pointer(i0, 29037));
1980   i2 = i1!=i2;
1981   if (i2) goto l11;
1982   i2=0u;
1983   goto l13;
1984 l11:
1985   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 29050))+8);
1986   i2 = _check_pointer(i2, 29055);
1987   i3 = OOC_ARRAY_LENGTH(i2, 0);
1988   i2 = *(OOC_UINT16*)(i2+(_check_index(i1, i3, OOC_UINT32, 29055))*2);
1989   i2 = (OOC_UINT16)i2<=(OOC_UINT16)32u;
1990 
1991 l13:
1992   if (i2) goto l8_loop;
1993 l17:
1994   i2 = *(OOC_INT32*)(_check_pointer(i0, 29103));
1995   b = i2;
1996   i3 = i2!=i1;
1997   if (i3) goto l20;
1998   i3=0u;
1999   goto l22;
2000 l20:
2001   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 29134))+8);
2002   i3 = _check_pointer(i3, 29139);
2003   i4 = OOC_ARRAY_LENGTH(i3, 0);
2004   i3 = *(OOC_UINT16*)(i3+(_check_index((i2-1), i4, OOC_UINT32, 29139))*2);
2005   i3 = (OOC_UINT16)i3<=(OOC_UINT16)32u;
2006 
2007 l22:
2008   if (!i3) goto l34;
2009 l25_loop:
2010   i2 = i2-1;
2011   b = i2;
2012   i3 = i2!=i1;
2013   if (i3) goto l28;
2014   i3=0u;
2015   goto l30;
2016 l28:
2017   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 29134))+8);
2018   i3 = _check_pointer(i3, 29139);
2019   i4 = OOC_ARRAY_LENGTH(i3, 0);
2020   i3 = *(OOC_UINT16*)(i3+(_check_index((i2-1), i4, OOC_UINT32, 29139))*2);
2021   i3 = (OOC_UINT16)i3<=(OOC_UINT16)32u;
2022 
2023 l30:
2024   if (i3) goto l25_loop;
2025 l34:
2026   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 29209))+8);
2027   i0 = (OOC_INT64)Object__NewString16(((_check_pointer(i0, 29214))+(i1*2)), (i2-i1));
2028   return (Object__String16)i0;
2029   ;
2030 }
2031 
Object__StringDesc_IndexOf(Object__String s,OOC_CHAR32 _char,OOC_INT32 pos)2032 OOC_INT32 Object__StringDesc_IndexOf(Object__String s, OOC_CHAR32 _char, OOC_INT32 pos) {
2033 
2034   _failed_function(29288); return 0;
2035   ;
2036 }
2037 
Object__String8Desc_IndexOf(Object__String8 s,OOC_CHAR32 _char,OOC_INT32 pos)2038 OOC_INT32 Object__String8Desc_IndexOf(Object__String8 s, OOC_CHAR32 _char, OOC_INT32 pos) {
2039   register OOC_INT64 i0,i1,i2,i3,i4,i5;
2040   OOC_INT32 endpos;
2041 
2042   i0 = (OOC_INT64)s;
2043   i1 = *(OOC_INT32*)(_check_pointer(i0, 29771));
2044   endpos = i1;
2045   i2 = pos;
2046   i3 = i2!=i1;
2047   if (!i3) goto l11;
2048   i3 = _char;
2049 
2050 l3_loop:
2051   i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 29819))+8);
2052   i4 = _check_pointer(i4, 29824);
2053   i5 = OOC_ARRAY_LENGTH(i4, 0);
2054   i4 = *(OOC_UINT8*)(i4+(_check_index(i2, i5, OOC_UINT32, 29824)));
2055   i4 = i4==i3;
2056   if (!i4) goto l6;
2057   return i2;
2058 l6:
2059   i2 = i2+1;
2060   pos = i2;
2061   i4 = i2!=i1;
2062   if (i4) goto l3_loop;
2063 l11:
2064   return (-1);
2065   ;
2066 }
2067 
Object__String16Desc_IndexOf(Object__String16 s,OOC_CHAR32 _char,OOC_INT32 pos)2068 OOC_INT32 Object__String16Desc_IndexOf(Object__String16 s, OOC_CHAR32 _char, OOC_INT32 pos) {
2069   register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7;
2070   OOC_INT32 endpos;
2071   OOC_INT32 v;
2072   OOC_CHAR16 _w1;
2073   OOC_CHAR16 _w2;
2074 
2075   i0 = _char;
2076   i1 = (OOC_UINT32)i0<(OOC_UINT32)65536u;
2077   if (i1) goto l18;
2078   i0 = i0-65536;
2079   v = i0;
2080   i1 = 55296+(i0>>10);
2081   _w1 = i1;
2082   i0 = 56320+(_mod(i0,1024));
2083   _w2 = i0;
2084   i2 = (OOC_INT64)s;
2085   i3 = *(OOC_INT32*)(_check_pointer(i2, 30455));
2086   endpos = i3;
2087   i4 = pos;
2088   i5 = i4!=i3;
2089   if (!i5) goto l17;
2090 l5_loop:
2091   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 30507))+8);
2092   i5 = _check_pointer(i5, 30512);
2093   i6 = OOC_ARRAY_LENGTH(i5, 0);
2094   i5 = *(OOC_UINT16*)(i5+(_check_index(i4, i6, OOC_UINT32, 30512))*2);
2095   i6 = i4+1;
2096   i5 = i5==i1;
2097   if (i5) goto l8;
2098   i5=0u;
2099   goto l10;
2100 l8:
2101   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 30528))+8);
2102   i5 = _check_pointer(i5, 30533);
2103   i7 = OOC_ARRAY_LENGTH(i5, 0);
2104   i5 = *(OOC_UINT16*)(i5+(_check_index(i6, i7, OOC_UINT32, 30533))*2);
2105   i5 = i5==i0;
2106 
2107 l10:
2108   if (!i5) goto l12;
2109   return i4;
2110 l12:
2111   pos = i6;
2112   i4 = i6!=i3;
2113   if (!i4) goto l17;
2114   i4=i6;
2115   goto l5_loop;
2116 l17:
2117   return (-1);
2118   goto l30;
2119 l18:
2120   i1 = (OOC_INT64)s;
2121   i2 = *(OOC_INT32*)(_check_pointer(i1, 30116));
2122   endpos = i2;
2123   i3 = pos;
2124   i4 = i3!=i2;
2125   if (!i4) goto l29;
2126 l21_loop:
2127   i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 30168))+8);
2128   i4 = _check_pointer(i4, 30173);
2129   i5 = OOC_ARRAY_LENGTH(i4, 0);
2130   i4 = *(OOC_UINT16*)(i4+(_check_index(i3, i5, OOC_UINT32, 30173))*2);
2131   i4 = i4==i0;
2132   if (!i4) goto l24;
2133   return i3;
2134 l24:
2135   i3 = i3+1;
2136   pos = i3;
2137   i4 = i3!=i2;
2138   if (i4) goto l21_loop;
2139 l29:
2140   return (-1);
2141 l30:
2142   _failed_function(29954); return 0;
2143   ;
2144 }
2145 
Object__StringDesc_LastIndexOf(Object__String s,OOC_CHAR32 _char,OOC_INT32 pos)2146 OOC_INT32 Object__StringDesc_LastIndexOf(Object__String s, OOC_CHAR32 _char, OOC_INT32 pos) {
2147 
2148   _failed_function(30813); return 0;
2149   ;
2150 }
2151 
Object__String8Desc_LastIndexOf(Object__String8 s,OOC_CHAR32 _char,OOC_INT32 pos)2152 OOC_INT32 Object__String8Desc_LastIndexOf(Object__String8 s, OOC_CHAR32 _char, OOC_INT32 pos) {
2153   register OOC_INT64 i0,i1,i2,i3,i4;
2154 
2155   i0 = pos;
2156   i1 = i0>0;
2157   if (!i1) goto l11;
2158   i1 = (OOC_INT64)s;
2159   i2 = _char;
2160 
2161 l3_loop:
2162   i0 = i0-1;
2163   pos = i0;
2164   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 31346))+8);
2165   i3 = _check_pointer(i3, 31351);
2166   i4 = OOC_ARRAY_LENGTH(i3, 0);
2167   i3 = *(OOC_UINT8*)(i3+(_check_index(i0, i4, OOC_UINT32, 31351)));
2168   i3 = i3==i2;
2169   if (!i3) goto l6;
2170   return i0;
2171 l6:
2172   i3 = i0>0;
2173   if (i3) goto l3_loop;
2174 l11:
2175   return (-1);
2176   ;
2177 }
2178 
Object__String16Desc_LastIndexOf(Object__String16 s,OOC_CHAR32 _char,OOC_INT32 pos)2179 OOC_INT32 Object__String16Desc_LastIndexOf(Object__String16 s, OOC_CHAR32 _char, OOC_INT32 pos) {
2180   register OOC_INT64 i0,i1,i2,i3,i4,i5;
2181   OOC_INT32 v;
2182   OOC_CHAR16 _w1;
2183   OOC_CHAR16 _w2;
2184 
2185   i0 = _char;
2186   i1 = (OOC_UINT32)i0<(OOC_UINT32)65536u;
2187   if (i1) goto l18;
2188   i0 = i0-65536;
2189   v = i0;
2190   i1 = 55296+(i0>>10);
2191   _w1 = i1;
2192   i0 = 56320+(_mod(i0,1024));
2193   _w2 = i0;
2194   i2 = pos;
2195   i3 = i2>0;
2196   if (!i3) goto l17;
2197   i3 = (OOC_INT64)s;
2198 
2199 l5_loop:
2200   i2 = i2-1;
2201   pos = i2;
2202   i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 31974))+8);
2203   i4 = _check_pointer(i4, 31979);
2204   i5 = OOC_ARRAY_LENGTH(i4, 0);
2205   i4 = *(OOC_UINT16*)(i4+(_check_index(i2, i5, OOC_UINT32, 31979))*2);
2206   i4 = i4==i1;
2207   if (i4) goto l8;
2208   i4=0u;
2209   goto l10;
2210 l8:
2211   i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 31995))+8);
2212   i4 = _check_pointer(i4, 32000);
2213   i5 = OOC_ARRAY_LENGTH(i4, 0);
2214   i4 = *(OOC_UINT16*)(i4+(_check_index((i2+1), i5, OOC_UINT32, 32000))*2);
2215   i4 = i4==i0;
2216 
2217 l10:
2218   if (!i4) goto l12;
2219   return i2;
2220 l12:
2221   i4 = i2>0;
2222   if (i4) goto l5_loop;
2223 l17:
2224   return (-1);
2225   goto l30;
2226 l18:
2227   i1 = pos;
2228   i2 = i1>0;
2229   if (!i2) goto l29;
2230   i2 = (OOC_INT64)s;
2231 
2232 l21_loop:
2233   i1 = i1-1;
2234   pos = i1;
2235   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 31666))+8);
2236   i3 = _check_pointer(i3, 31671);
2237   i4 = OOC_ARRAY_LENGTH(i3, 0);
2238   i3 = *(OOC_UINT16*)(i3+(_check_index(i1, i4, OOC_UINT32, 31671))*2);
2239   i3 = i3==i0;
2240   if (!i3) goto l24;
2241   return i1;
2242 l24:
2243   i3 = i1>0;
2244   if (i3) goto l21_loop;
2245 l29:
2246   return (-1);
2247 l30:
2248   _failed_function(31469); return 0;
2249   ;
2250 }
2251 
Object__StringDesc_EndsWith(Object__String s,Object__String suffix)2252 OOC_CHAR8 Object__StringDesc_EndsWith(Object__String s, Object__String suffix) {
2253   register OOC_INT64 i0,i1,i2,i3,i4;
2254   Object__String e;
2255 
2256   i0 = (OOC_INT64)s;
2257   i1 = (OOC_INT64)suffix;
2258   i2 = *(OOC_INT32*)(_check_pointer(i0, 32593));
2259   i3 = *(OOC_INT32*)(_check_pointer(i1, 32610));
2260   i2 = i2>=i3;
2261   if (i2) goto l3;
2262   return 0u;
2263   goto l4;
2264 l3:
2265   i2 = *(OOC_INT32*)(_check_pointer(i1, 32662));
2266   i3 = *(OOC_INT32*)(_check_pointer(i0, 32648));
2267   i4 = *(OOC_INT32*)(_check_pointer(i0, 32672));
2268   i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 32636)))), Object__StringDesc_Substring)),Object__StringDesc_Substring)((Object__String)i0, (i3-i2), i4);
2269   e = (Object__String)i0;
2270   i0 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 32696)))), Object__StringDesc_Equals)),Object__StringDesc_Equals)((Object__String)i0, (Object__Object)i1);
2271   return i0;
2272 l4:
2273   _failed_function(32281); return 0;
2274   ;
2275 }
2276 
Object__StringDesc_StartsWith(Object__String s,Object__String prefix)2277 OOC_CHAR8 Object__StringDesc_StartsWith(Object__String s, Object__String prefix) {
2278   register OOC_INT64 i0,i1,i2,i3;
2279   Object__String e;
2280 
2281   i0 = (OOC_INT64)s;
2282   i1 = (OOC_INT64)prefix;
2283   i2 = *(OOC_INT32*)(_check_pointer(i0, 33105));
2284   i3 = *(OOC_INT32*)(_check_pointer(i1, 33122));
2285   i2 = i2>=i3;
2286   if (i2) goto l3;
2287   return 0u;
2288   goto l4;
2289 l3:
2290   i2 = *(OOC_INT32*)(_check_pointer(i1, 33168));
2291   i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 33148)))), Object__StringDesc_Substring)),Object__StringDesc_Substring)((Object__String)i0, 0, i2);
2292   e = (Object__String)i0;
2293   i0 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 33192)))), Object__StringDesc_Equals)),Object__StringDesc_Equals)((Object__String)i0, (Object__Object)i1);
2294   return i0;
2295 l4:
2296   _failed_function(32790); return 0;
2297   ;
2298 }
2299 
Object__StringDesc_ToUppercaseLatin1(Object__String s)2300 Object__String Object__StringDesc_ToUppercaseLatin1(Object__String s) {
2301 
2302   _failed_function(33300); return 0;
2303   ;
2304 }
2305 
Object__String8Desc_ToUppercaseLatin1(Object__String8 s)2306 Object__String8 Object__String8Desc_ToUppercaseLatin1(Object__String8 s) {
2307   register OOC_INT64 i0,i1,i2,i3,i4,i5,i6;
2308   OOC_INT32 i;
2309 
2310   i0 = (OOC_INT64)s;
2311   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 33588))+8);
2312   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 33588))+8);
2313   i1 = OOC_ARRAY_LENGTH((_check_pointer(i1, 33593)), 0);
2314   i0 = *(OOC_INT32*)(_check_pointer(i0, 33600));
2315   i0 = (OOC_INT64)Object__NewLatin1Region((void*)(_check_pointer(i2, 33593)), i1, 0, i0);
2316   s = (Object__String8)i0;
2317   i = 0;
2318   i1 = *(OOC_INT32*)(_check_pointer(i0, 33629));
2319   i2 = 0<i1;
2320   if (!i2) goto l8;
2321   i2=0;
2322 l3_loop:
2323   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 33649))+8);
2324   i3 = _check_pointer(i3, 33654);
2325   i4 = OOC_ARRAY_LENGTH(i3, 0);
2326   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 33666))+8);
2327   i5 = _check_pointer(i5, 33671);
2328   i6 = OOC_ARRAY_LENGTH(i5, 0);
2329   i5 = *(OOC_UINT8*)(i5+(_check_index(i2, i6, OOC_UINT32, 33671)));
2330   *(OOC_UINT8*)(i3+(_check_index(i2, i4, OOC_UINT32, 33654))) = (_cap(i5));
2331   i2 = i2+1;
2332   i = i2;
2333   i3 = i2<i1;
2334   if (i3) goto l3_loop;
2335 l8:
2336   return (Object__String8)i0;
2337   ;
2338 }
2339 
Object__String16Desc_ToUppercaseLatin1(Object__String16 s)2340 Object__String16 Object__String16Desc_ToUppercaseLatin1(Object__String16 s) {
2341   register OOC_INT64 i0,i1,i2,i3,i4,i5,i6;
2342   OOC_INT32 i;
2343 
2344   i0 = (OOC_INT64)s;
2345   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 33837))+8);
2346   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 33837))+8);
2347   i1 = OOC_ARRAY_LENGTH((_check_pointer(i1, 33842)), 0);
2348   i0 = *(OOC_INT32*)(_check_pointer(i0, 33849));
2349   i0 = (OOC_INT64)Object__NewUTF16Region((void*)(_check_pointer(i2, 33842)), i1, 0, i0);
2350   s = (Object__String16)i0;
2351   i = 0;
2352   i1 = *(OOC_INT32*)(_check_pointer(i0, 33878));
2353   i2 = 0<i1;
2354   if (!i2) goto l8;
2355   i2=0;
2356 l3_loop:
2357   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 33898))+8);
2358   i3 = _check_pointer(i3, 33903);
2359   i4 = OOC_ARRAY_LENGTH(i3, 0);
2360   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 33915))+8);
2361   i5 = _check_pointer(i5, 33920);
2362   i6 = OOC_ARRAY_LENGTH(i5, 0);
2363   i5 = *(OOC_UINT16*)(i5+(_check_index(i2, i6, OOC_UINT32, 33920))*2);
2364   *(OOC_UINT16*)(i3+(_check_index(i2, i4, OOC_UINT32, 33903))*2) = (_cap(i5));
2365   i2 = i2+1;
2366   i = i2;
2367   i3 = i2<i1;
2368   if (i3) goto l3_loop;
2369 l8:
2370   return (Object__String16)i0;
2371   ;
2372 }
2373 
OOC_Object_init(void)2374 void OOC_Object_init(void) {
2375   register OOC_INT64 i0;
2376 
2377   i0 = (OOC_INT64)Object__NewLatin1((OOC_CHAR8*)"", 1);
2378   Object__emptyString = (Object__String)i0;
2379   return;
2380   ;
2381 }
2382 
OOC_Object_destroy(void)2383 void OOC_Object_destroy(void) {
2384 }
2385 
2386 /* --- */
2387