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