1 #include <OOC/Doc/TextBuffer.d>
2 #include <__oo2c.h>
3 #include <setjmp.h>
4
OOC_Doc_TextBuffer__New(void)5 OOC_Doc_TextBuffer__Buffer OOC_Doc_TextBuffer__New(void) {
6 register OOC_INT64 i0,i1,i2;
7 OOC_Doc_TextBuffer__Buffer b;
8
9 i0 = (OOC_INT64)RT0__NewObject(_td_OOC_Doc_TextBuffer__Buffer.baseTypes[0]);
10 b = (OOC_Doc_TextBuffer__Buffer)i0;
11 *(OOC_INT64*)(_check_pointer(i0, 1196)) = ((OOC_INT64)RT0__NewObject(_td_OOC_Scanner_InputBuffer__CharArray.baseTypes[0], 2032));
12 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 1220));
13 i1 = _check_pointer(i1, 1225);
14 i2 = OOC_ARRAY_LENGTH(i1, 0);
15 *(OOC_UINT8*)(i1+(_check_index(0, i2, OOC_UINT8, 1225))) = 0u;
16 *(OOC_INT32*)((_check_pointer(i0, 1241))+8) = 0;
17 return (OOC_Doc_TextBuffer__Buffer)i0;
18 ;
19 }
20
OOC_Doc_TextBuffer__BufferDesc_Clear(OOC_Doc_TextBuffer__Buffer b)21 void OOC_Doc_TextBuffer__BufferDesc_Clear(OOC_Doc_TextBuffer__Buffer b) {
22 register OOC_INT64 i0,i1,i2;
23
24 i0 = (OOC_INT64)b;
25 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 1321));
26 i1 = _check_pointer(i1, 1326);
27 i2 = OOC_ARRAY_LENGTH(i1, 0);
28 *(OOC_UINT8*)(i1+(_check_index(0, i2, OOC_UINT8, 1326))) = 0u;
29 *(OOC_INT32*)((_check_pointer(i0, 1342))+8) = 0;
30 return;
31 ;
32 }
33
OOC_Doc_TextBuffer__Extend(OOC_Doc_TextBuffer__Buffer b,OOC_INT32 to)34 static void OOC_Doc_TextBuffer__Extend(OOC_Doc_TextBuffer__Buffer b, OOC_INT32 to) {
35 register OOC_INT64 i0,i1,i2,i3;
36 OOC_INT32 i;
37 OOC_Scanner_InputBuffer__CharArray s;
38
39 i0 = (OOC_INT64)b;
40 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 1474));
41 i1 = OOC_ARRAY_LENGTH((_check_pointer(i1, 1479)), 0);
42 i = i1;
43 i2 = to;
44 i3 = i1<=i2;
45 if (!i3) goto l9;
46 l4_loop:
47 i1 = i1+2048;
48 i = i1;
49 i3 = i1<=i2;
50 if (i3) goto l4_loop;
51 l9:
52 i1 = (OOC_INT64)RT0__NewObject(_td_OOC_Scanner_InputBuffer__CharArray.baseTypes[0], i1);
53 s = (OOC_Scanner_InputBuffer__CharArray)i1;
54 i2 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 1564));
55 i3 = OOC_ARRAY_LENGTH((_check_pointer(i1, 1573)), 0);
56 _copy_8((const void*)(_check_pointer(i2, 1569)),(void*)(_check_pointer(i1, 1573)),i3);
57 *(OOC_INT64*)(_check_pointer(i0, 1582)) = i1;
58 return;
59 ;
60 }
61
OOC_Doc_TextBuffer__BufferDesc_Append(OOC_Doc_TextBuffer__Buffer b,const OOC_CHAR8 str[],OOC_LEN str_0d)62 void OOC_Doc_TextBuffer__BufferDesc_Append(OOC_Doc_TextBuffer__Buffer b, const OOC_CHAR8 str[], OOC_LEN str_0d) {
63 register OOC_INT64 i0,i1,i2,i3;
64 OOC_INT32 len;
65
66 i0 = Strings__Length((void*)(OOC_INT64)str, str_0d);
67 len = i0;
68 i1 = (OOC_INT64)b;
69 i2 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 1762));
70 i3 = *(OOC_INT32*)((_check_pointer(i1, 1743))+8);
71 i2 = OOC_ARRAY_LENGTH((_check_pointer(i2, 1767)), 0);
72 i2 = (i3+i0)>=i2;
73 if (!i2) goto l4;
74 i2 = *(OOC_INT32*)((_check_pointer(i1, 1794))+8);
75 OOC_Doc_TextBuffer__Extend((OOC_Doc_TextBuffer__Buffer)i1, (i2+i0));
76 l4:
77 i2 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 1840));
78 i3 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 1840));
79 i2 = OOC_ARRAY_LENGTH((_check_pointer(i2, 1845)), 0);
80 Strings__Append((void*)(OOC_INT64)str, str_0d, (void*)(_check_pointer(i3, 1845)), i2);
81 i2 = *(OOC_INT32*)((_check_pointer(i1, 1859))+8);
82 *(OOC_INT32*)((_check_pointer(i1, 1859))+8) = (i2+i0);
83 return;
84 ;
85 }
86
OOC_Doc_TextBuffer__BufferDesc_AppendEOL(OOC_Doc_TextBuffer__Buffer b)87 void OOC_Doc_TextBuffer__BufferDesc_AppendEOL(OOC_Doc_TextBuffer__Buffer b) {
88 register OOC_INT64 i0,i1,i2,i3;
89
90 i0 = (OOC_INT64)b;
91 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 1954));
92 i2 = *(OOC_INT32*)((_check_pointer(i0, 1937))+8);
93 i1 = OOC_ARRAY_LENGTH((_check_pointer(i1, 1959)), 0);
94 i1 = (i2+1)>=i1;
95 if (!i1) goto l3;
96 i1 = *(OOC_INT32*)((_check_pointer(i0, 1986))+8);
97 OOC_Doc_TextBuffer__Extend((OOC_Doc_TextBuffer__Buffer)i0, (i1+1));
98 l3:
99 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 2009));
100 i1 = _check_pointer(i1, 2014);
101 i2 = *(OOC_INT32*)((_check_pointer(i0, 2016))+8);
102 i3 = OOC_ARRAY_LENGTH(i1, 0);
103 *(OOC_UINT8*)(i1+(_check_index(i2, i3, OOC_UINT32, 2014))) = 10u;
104 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 2046));
105 i1 = _check_pointer(i1, 2051);
106 i2 = *(OOC_INT32*)((_check_pointer(i0, 2053))+8);
107 i3 = OOC_ARRAY_LENGTH(i1, 0);
108 *(OOC_UINT8*)(i1+(_check_index((i2+1), i3, OOC_UINT32, 2051))) = 0u;
109 i1 = *(OOC_INT32*)((_check_pointer(i0, 2079))+8);
110 *(OOC_INT32*)((_check_pointer(i0, 2079))+8) = (i1+1);
111 return;
112 ;
113 }
114
OOC_Doc_TextBuffer__BufferDesc_AppendSpaces(OOC_Doc_TextBuffer__Buffer b,OOC_INT32 len)115 void OOC_Doc_TextBuffer__BufferDesc_AppendSpaces(OOC_Doc_TextBuffer__Buffer b, OOC_INT32 len) {
116 register OOC_INT64 i0,i1,i2,i3,i4,i5;
117 OOC_INT32 i;
118
119 i0 = (OOC_INT64)b;
120 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 2214));
121 i2 = *(OOC_INT32*)((_check_pointer(i0, 2195))+8);
122 i3 = len;
123 i1 = OOC_ARRAY_LENGTH((_check_pointer(i1, 2219)), 0);
124 i1 = (i2+i3)>=i1;
125 if (!i1) goto l3;
126 i1 = *(OOC_INT32*)((_check_pointer(i0, 2246))+8);
127 OOC_Doc_TextBuffer__Extend((OOC_Doc_TextBuffer__Buffer)i0, (i1+i3));
128 l3:
129 i1 = *(OOC_INT32*)((_check_pointer(i0, 2290))+8);
130 i2 = *(OOC_INT32*)((_check_pointer(i0, 2280))+8);
131 i = i2;
132 i1 = i1+i3;
133 i4 = i2<i1;
134 if (!i4) goto l11;
135 l6_loop:
136 i4 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 2312));
137 i4 = _check_pointer(i4, 2317);
138 i5 = OOC_ARRAY_LENGTH(i4, 0);
139 *(OOC_UINT8*)(i4+(_check_index(i2, i5, OOC_UINT32, 2317))) = 32u;
140 i2 = i2+1;
141 i = i2;
142 i4 = i2<i1;
143 if (i4) goto l6_loop;
144 l11:
145 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 2342));
146 i1 = _check_pointer(i1, 2347);
147 i2 = *(OOC_INT32*)((_check_pointer(i0, 2349))+8);
148 i4 = OOC_ARRAY_LENGTH(i1, 0);
149 *(OOC_UINT8*)(i1+(_check_index((i2+i3), i4, OOC_UINT32, 2347))) = 0u;
150 i1 = *(OOC_INT32*)((_check_pointer(i0, 2377))+8);
151 *(OOC_INT32*)((_check_pointer(i0, 2377))+8) = (i1+i3);
152 return;
153 ;
154 }
155
OOC_Doc_TextBuffer__BufferDesc_AppendSubstring(OOC_Doc_TextBuffer__Buffer b,const OOC_CHAR8 str[],OOC_LEN str_0d,OOC_INT32 start,OOC_INT32 end)156 void OOC_Doc_TextBuffer__BufferDesc_AppendSubstring(OOC_Doc_TextBuffer__Buffer b, const OOC_CHAR8 str[], OOC_LEN str_0d, OOC_INT32 start, OOC_INT32 end) {
157 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7,i8;
158 OOC_INT32 len;
159 OOC_INT32 i;
160
161 i0 = end;
162 i1 = start;
163 i2 = i0-i1;
164 len = i2;
165 i3 = (OOC_INT64)b;
166 i4 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i3, 2626));
167 i5 = *(OOC_INT32*)((_check_pointer(i3, 2607))+8);
168 i4 = OOC_ARRAY_LENGTH((_check_pointer(i4, 2631)), 0);
169 i4 = (i5+i2)>=i4;
170 if (!i4) goto l3;
171 i4 = *(OOC_INT32*)((_check_pointer(i3, 2658))+8);
172 OOC_Doc_TextBuffer__Extend((OOC_Doc_TextBuffer__Buffer)i3, (i4+i2));
173 l3:
174 i = i1;
175 i4 = i1<i0;
176 if (!i4) goto l11;
177 i4 = (i1*(-1))+i1;
178
179 l6_loop:
180 i5 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i3, 2716));
181 i5 = _check_pointer(i5, 2721);
182 i6 = *(OOC_INT32*)((_check_pointer(i3, 2731))+8);
183 i7 = OOC_ARRAY_LENGTH(i5, 0);
184 i8 = *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i1, str_0d, OOC_UINT32, 2744)));
185 *(OOC_UINT8*)(i5+(_check_index((i4+i6), i7, OOC_UINT32, 2721))) = i8;
186 i1 = i1+1;
187 i = i1;
188 i4 = i4+1;
189 i5 = i1<i0;
190 if (i5) goto l6_loop;
191 l11:
192 i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i3, 2762));
193 i0 = _check_pointer(i0, 2767);
194 i1 = *(OOC_INT32*)((_check_pointer(i3, 2769))+8);
195 i4 = OOC_ARRAY_LENGTH(i0, 0);
196 *(OOC_UINT8*)(i0+(_check_index((i1+i2), i4, OOC_UINT32, 2767))) = 0u;
197 i0 = *(OOC_INT32*)((_check_pointer(i3, 2797))+8);
198 *(OOC_INT32*)((_check_pointer(i3, 2797))+8) = (i0+i2);
199 return;
200 ;
201 }
202
OOC_Doc_TextBuffer__BufferDesc_AppendNoLB(OOC_Doc_TextBuffer__Buffer b,const OOC_CHAR8 str[],OOC_LEN str_0d)203 void OOC_Doc_TextBuffer__BufferDesc_AppendNoLB(OOC_Doc_TextBuffer__Buffer b, const OOC_CHAR8 str[], OOC_LEN str_0d) {
204 register OOC_INT64 i0,i1,i2,i3,i4,i5;
205 OOC_INT32 i;
206 OOC_INT32 count;
207 OOC_INT32 j;
208
209 i = 0;
210 count = 0;
211 i0 = *(OOC_UINT8*)((OOC_INT64)str+(_check_index(0, str_0d, OOC_UINT32, 2976)));
212 i0 = i0!=0u;
213 if (i0) goto l3;
214 i0=0;i1=0;
215 goto l13;
216 l3:
217 i0=0;i1=0;
218 l4_loop:
219 i2 = *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i0, str_0d, OOC_UINT32, 3002)));
220 i2 = i2==10u;
221 if (!i2) goto l8;
222 i1 = i1+1;
223 count = i1;
224
225 l8:
226 i0 = i0+1;
227 i = i0;
228 i2 = *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i0, str_0d, OOC_UINT32, 2976)));
229 i2 = i2!=0u;
230 if (i2) goto l4_loop;
231 l13:
232 i2 = (OOC_INT64)b;
233 i3 = *(OOC_INT32*)((_check_pointer(i2, 3098))+8);
234 OOC_Doc_TextBuffer__Extend((OOC_Doc_TextBuffer__Buffer)i2, ((i3+i0)+i1));
235 i = 0;
236 i0 = *(OOC_INT32*)((_check_pointer(i2, 3137))+8);
237 j = i0;
238 i1 = *(OOC_UINT8*)((OOC_INT64)str+(_check_index(0, str_0d, OOC_UINT32, 3158)));
239 i1 = i1!=0u;
240 if (!i1) goto l34;
241 i1=i0;i0=0;
242 l17_loop:
243 i3 = *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i0, str_0d, OOC_UINT32, 3184)));
244 i3 = i3==10u;
245 if (i3) goto l20;
246 i3 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i2, 3359));
247 i3 = _check_pointer(i3, 3364);
248 i4 = OOC_ARRAY_LENGTH(i3, 0);
249 i5 = *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i0, str_0d, OOC_UINT32, 3374)));
250 *(OOC_UINT8*)(i3+(_check_index(i1, i4, OOC_UINT32, 3364))) = i5;
251
252 goto l29;
253 l20:
254 i3 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i2, 3219));
255 i3 = _check_pointer(i3, 3224);
256 i4 = OOC_ARRAY_LENGTH(i3, 0);
257 *(OOC_UINT8*)(i3+(_check_index(i1, i4, OOC_UINT32, 3224))) = 32u;
258 i3 = i0>0;
259 if (i3) goto l23;
260 i3=0u;
261 goto l25;
262 l23:
263 i3 = *(OOC_UINT8*)((OOC_INT64)str+(_check_index((i0-1), str_0d, OOC_UINT32, 3261)));
264 i3 = i3==46u;
265
266 l25:
267 if (!i3) goto l29;
268 i3 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i2, 3290));
269 i3 = _check_pointer(i3, 3295);
270 i4 = OOC_ARRAY_LENGTH(i3, 0);
271 i1 = i1+1;
272 *(OOC_UINT8*)(i3+(_check_index(i1, i4, OOC_UINT32, 3295))) = 32u;
273
274 l29:
275 i0 = i0+1;
276 i = i0;
277 i1 = i1+1;
278 j = i1;
279 i3 = *(OOC_UINT8*)((OOC_INT64)str+(_check_index(i0, str_0d, OOC_UINT32, 3158)));
280 i3 = i3!=0u;
281 if (i3) goto l17_loop;
282 l33:
283 i0=i1;
284 l34:
285 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i2, 3427));
286 i1 = _check_pointer(i1, 3432);
287 i3 = OOC_ARRAY_LENGTH(i1, 0);
288 *(OOC_UINT8*)(i1+(_check_index(i0, i3, OOC_UINT32, 3432))) = 0u;
289 *(OOC_INT32*)((_check_pointer(i2, 3448))+8) = i0;
290 return;
291 ;
292 }
293
OOC_Doc_TextBuffer__BufferDesc_Capitalize(OOC_Doc_TextBuffer__Buffer b,OOC_INT32 start,OOC_INT32 end)294 void OOC_Doc_TextBuffer__BufferDesc_Capitalize(OOC_Doc_TextBuffer__Buffer b, OOC_INT32 start, OOC_INT32 end) {
295 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6;
296
297 i0 = start;
298 i1 = end;
299 i2 = i0!=i1;
300 if (!i2) goto l8;
301 i2 = (OOC_INT64)b;
302
303 l3_loop:
304 i3 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i2, 3577));
305 i3 = _check_pointer(i3, 3582);
306 i4 = OOC_ARRAY_LENGTH(i3, 0);
307 i5 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i2, 3599));
308 i5 = _check_pointer(i5, 3604);
309 i6 = OOC_ARRAY_LENGTH(i5, 0);
310 i5 = *(OOC_UINT8*)(i5+(_check_index(i0, i6, OOC_UINT32, 3604)));
311 *(OOC_UINT8*)(i3+(_check_index(i0, i4, OOC_UINT32, 3582))) = (_cap(i5));
312 i0 = i0+1;
313 start = i0;
314 i3 = i0!=i1;
315 if (i3) goto l3_loop;
316 l8:
317 return;
318 ;
319 }
320
OOC_Doc_TextBuffer__FormatBlock(OOC_Doc_TextBuffer__Buffer dest,OOC_Doc_TextBuffer__Buffer source,OOC_INT32 indent,OOC_INT32 scrWidth,OOC_INT32 offsetFirst)321 void OOC_Doc_TextBuffer__FormatBlock(OOC_Doc_TextBuffer__Buffer dest, OOC_Doc_TextBuffer__Buffer source, OOC_INT32 indent, OOC_INT32 scrWidth, OOC_INT32 offsetFirst) {
322 register OOC_INT64 i0,i1,i2,i3,i4,i5;
323 OOC_Scanner_InputBuffer__CharArray s;
324 OOC_CHAR8 firstLine;
325 OOC_INT32 i;
326 OOC_INT32 start;
327 OOC_INT32 end;
328 auto OOC_INT32 OOC_Doc_TextBuffer__FormatBlock_LastWord(OOC_Scanner_InputBuffer__CharArray s, OOC_INT32 sLen, OOC_INT32 start, OOC_INT32 width);
329
330 OOC_INT32 OOC_Doc_TextBuffer__FormatBlock_LastWord(OOC_Scanner_InputBuffer__CharArray s, OOC_INT32 sLen, OOC_INT32 start, OOC_INT32 width) {
331 register OOC_INT64 i0,i1,i2,i3,i4,i5;
332
333 i0 = start;
334 i1 = width;
335 i1 = i0+i1;
336 i2 = sLen;
337 i3 = i1<i2;
338 if (i3) goto l3;
339 return i2;
340 goto l51;
341 l3:
342 i = i1;
343 i2 = i1!=i0;
344 if (i2) goto l6;
345 i2=0u;
346 goto l8;
347 l6:
348 i2 = (OOC_INT64)s;
349 i2 = _check_pointer(i2, 4568);
350 i3 = OOC_ARRAY_LENGTH(i2, 0);
351 i2 = *(OOC_UINT8*)(i2+(_check_index(i1, i3, OOC_UINT32, 4568)));
352 i2 = (OOC_UINT8)i2>(OOC_UINT8)32u;
353
354 l8:
355 if (i2) goto l10;
356 i2=i1;
357 goto l20;
358 l10:
359 i2 = (OOC_INT64)s;
360 i3=i1;
361 l11_loop:
362 i3 = i3-1;
363 i = i3;
364 i4 = i3!=i0;
365 if (i4) goto l14;
366 i4=0u;
367 goto l16;
368 l14:
369 i4 = _check_pointer(i2, 4568);
370 i5 = OOC_ARRAY_LENGTH(i4, 0);
371 i4 = *(OOC_UINT8*)(i4+(_check_index(i3, i5, OOC_UINT32, 4568)));
372 i4 = (OOC_UINT8)i4>(OOC_UINT8)32u;
373
374 l16:
375 if (i4) goto l11_loop;
376 l19:
377 i2=i3;
378 l20:
379 i3 = i2!=i0;
380 if (i3) goto l23;
381 i3=0u;
382 goto l25;
383 l23:
384 i3 = (OOC_INT64)s;
385 i3 = _check_pointer(i3, 4718);
386 i4 = OOC_ARRAY_LENGTH(i3, 0);
387 i3 = *(OOC_UINT8*)(i3+(_check_index((i2-1), i4, OOC_UINT32, 4718)));
388 i3 = (OOC_UINT8)i3<=(OOC_UINT8)32u;
389
390 l25:
391 if (!i3) goto l37;
392 i3 = (OOC_INT64)s;
393
394 l28_loop:
395 i2 = i2-1;
396 i = i2;
397 i4 = i2!=i0;
398 if (i4) goto l31;
399 i4=0u;
400 goto l33;
401 l31:
402 i4 = _check_pointer(i3, 4718);
403 i5 = OOC_ARRAY_LENGTH(i4, 0);
404 i4 = *(OOC_UINT8*)(i4+(_check_index((i2-1), i5, OOC_UINT32, 4718)));
405 i4 = (OOC_UINT8)i4<=(OOC_UINT8)32u;
406
407 l33:
408 if (i4) goto l28_loop;
409 l37:
410 i0 = i2==i0;
411 if (i0) goto l40;
412 return i2;
413 goto l51;
414 l40:
415 i = i1;
416 i0 = (OOC_INT64)s;
417 i2 = _check_pointer(i0, 4883);
418 i3 = OOC_ARRAY_LENGTH(i2, 0);
419 i2 = *(OOC_UINT8*)(i2+(_check_index(i1, i3, OOC_UINT32, 4883)));
420 i2 = (OOC_UINT8)i2>(OOC_UINT8)32u;
421 if (i2) goto l44_loop;
422 i0=i1;
423 goto l49;
424 l44_loop:
425 i1 = i1+1;
426 i = i1;
427 i2 = _check_pointer(i0, 4883);
428 i3 = OOC_ARRAY_LENGTH(i2, 0);
429 i2 = *(OOC_UINT8*)(i2+(_check_index(i1, i3, OOC_UINT32, 4883)));
430 i2 = (OOC_UINT8)i2>(OOC_UINT8)32u;
431 if (i2) goto l44_loop;
432 l48:
433 i0=i1;
434 l49:
435 return i0;
436 l51:
437 _failed_function(4309); return 0;
438 ;
439 }
440
441
442 i0 = scrWidth;
443 i1 = indent;
444 i0 = (i0-i1)<32;
445 if (!i0) goto l4;
446 scrWidth = (i1+32);
447
448 l4:
449 i0 = (OOC_INT64)source;
450 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 5285));
451 s = (OOC_Scanner_InputBuffer__CharArray)i1;
452 i0 = *(OOC_INT32*)((_check_pointer(i0, 5311))+8);
453 i0 = i0==0;
454 if (!i0) goto l7;
455 i0 = (OOC_INT64)dest;
456 OOC_Doc_TextBuffer__BufferDesc_AppendEOL((OOC_Doc_TextBuffer__Buffer)i0);
457 return;
458 l7:
459 firstLine = 1u;
460 i = 0;
461 i0 = _check_pointer(i1, 5454);
462 i1 = OOC_ARRAY_LENGTH(i0, 0);
463 i0 = *(OOC_UINT8*)(i0+(_check_index(0, i1, OOC_UINT32, 5454)));
464 i0 = i0!=0u;
465 if (!i0) goto l47;
466 i0=0;
467 l10_loop:
468 i1 = (OOC_INT64)s;
469 i2 = _check_pointer(i1, 5522);
470 i3 = OOC_ARRAY_LENGTH(i2, 0);
471 i2 = *(OOC_UINT8*)(i2+(_check_index(i0, i3, OOC_UINT32, 5522)));
472 i2 = (OOC_UINT8)0u<(OOC_UINT8)i2;
473 if (i2) goto l13;
474 i2=0u;
475 goto l15;
476 l13:
477 i2 = _check_pointer(i1, 5531);
478 i3 = OOC_ARRAY_LENGTH(i2, 0);
479 i2 = *(OOC_UINT8*)(i2+(_check_index(i0, i3, OOC_UINT32, 5531)));
480 i2 = (OOC_UINT8)i2<=(OOC_UINT8)32u;
481
482 l15:
483 if (!i2) goto l27;
484 l18_loop:
485 i0 = i0+1;
486 i = i0;
487 i2 = _check_pointer(i1, 5522);
488 i3 = OOC_ARRAY_LENGTH(i2, 0);
489 i2 = *(OOC_UINT8*)(i2+(_check_index(i0, i3, OOC_UINT32, 5522)));
490 i2 = (OOC_UINT8)0u<(OOC_UINT8)i2;
491 if (i2) goto l21;
492 i2=0u;
493 goto l23;
494 l21:
495 i2 = _check_pointer(i1, 5531);
496 i3 = OOC_ARRAY_LENGTH(i2, 0);
497 i2 = *(OOC_UINT8*)(i2+(_check_index(i0, i3, OOC_UINT32, 5531)));
498 i2 = (OOC_UINT8)i2<=(OOC_UINT8)32u;
499
500 l23:
501 if (i2) goto l18_loop;
502 l27:
503 i2 = _check_pointer(i1, 5591);
504 i3 = OOC_ARRAY_LENGTH(i2, 0);
505 i2 = *(OOC_UINT8*)(i2+(_check_index(i0, i3, OOC_UINT32, 5591)));
506 i2 = i2!=0u;
507 if (!i2) goto l42;
508 start = i0;
509 i2 = firstLine;
510 if (i2) goto l33;
511 i2 = (OOC_INT64)source;
512 i3 = indent;
513 i4 = scrWidth;
514 i2 = *(OOC_INT32*)((_check_pointer(i2, 6130))+8);
515 i0 = OOC_Doc_TextBuffer__FormatBlock_LastWord((OOC_Scanner_InputBuffer__CharArray)i1, i2, i0, (i4-i3));
516 end = i0;
517 i1 = indent;
518 i2 = (OOC_INT64)dest;
519 OOC_Doc_TextBuffer__BufferDesc_AppendSpaces((OOC_Doc_TextBuffer__Buffer)i2, i1);
520
521 goto l41;
522 l33:
523 i2 = offsetFirst;
524 i3 = i2<0;
525 if (i3) goto l36;
526 i3 = (OOC_INT64)source;
527 i4 = indent;
528 i5 = scrWidth;
529 i3 = *(OOC_INT32*)((_check_pointer(i3, 5890))+8);
530 i0 = OOC_Doc_TextBuffer__FormatBlock_LastWord((OOC_Scanner_InputBuffer__CharArray)i1, i3, i0, ((i5-i4)-i2));
531 end = i0;
532
533 goto l37;
534 l36:
535 i3 = (OOC_INT64)source;
536 i4 = scrWidth;
537 i3 = *(OOC_INT32*)((_check_pointer(i3, 5801))+8);
538 i0 = OOC_Doc_TextBuffer__FormatBlock_LastWord((OOC_Scanner_InputBuffer__CharArray)i1, i3, i0, (i4+i2));
539 end = i0;
540
541 l37:
542 i1 = offsetFirst;
543 i2 = i1>=0;
544 if (!i2) goto l40;
545 i2 = indent;
546 i3 = (OOC_INT64)dest;
547 OOC_Doc_TextBuffer__BufferDesc_AppendSpaces((OOC_Doc_TextBuffer__Buffer)i3, (i1+i2));
548 l40:
549 firstLine = 0u;
550
551 l41:
552 i1 = (OOC_INT64)s;
553 i2 = OOC_ARRAY_LENGTH((_check_pointer(i1, 6254)), 0);
554 i3 = start;
555 i4 = (OOC_INT64)dest;
556 OOC_Doc_TextBuffer__BufferDesc_AppendSubstring((OOC_Doc_TextBuffer__Buffer)i4, (void*)(_check_pointer(i1, 6254)), i2, i3, i0);
557 OOC_Doc_TextBuffer__BufferDesc_AppendEOL((OOC_Doc_TextBuffer__Buffer)i4);
558 i = i0;
559
560 l42:
561 i1 = (OOC_INT64)s;
562 i1 = _check_pointer(i1, 5454);
563 i2 = OOC_ARRAY_LENGTH(i1, 0);
564 i1 = *(OOC_UINT8*)(i1+(_check_index(i0, i2, OOC_UINT32, 5454)));
565 i1 = i1!=0u;
566 if (i1) goto l10_loop;
567 l47:
568 return;
569 ;
570 }
571
OOC_Doc_TextBuffer__FormatBlockHTML(OOC_Doc_TextBuffer__Buffer dest,OOC_Doc_TextBuffer__Buffer source,OOC_INT32 indent,OOC_INT32 scrWidth,OOC_INT32 offsetFirst)572 void OOC_Doc_TextBuffer__FormatBlockHTML(OOC_Doc_TextBuffer__Buffer dest, OOC_Doc_TextBuffer__Buffer source, OOC_INT32 indent, OOC_INT32 scrWidth, OOC_INT32 offsetFirst) {
573 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13;
574 OOC_Scanner_InputBuffer__CharArray s;
575 OOC_CHAR8 firstLine;
576 OOC_INT32 i;
577 OOC_INT32 start;
578 OOC_INT32 end;
579 auto OOC_INT32 OOC_Doc_TextBuffer__FormatBlockHTML_LastWord(OOC_Scanner_InputBuffer__CharArray s, OOC_INT32 sLen, OOC_INT32 start, OOC_INT32 width);
580
581 OOC_INT32 OOC_Doc_TextBuffer__FormatBlockHTML_LastWord(OOC_Scanner_InputBuffer__CharArray s, OOC_INT32 sLen, OOC_INT32 start, OOC_INT32 width) {
582 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7,i8;
583 OOC_INT32 j;
584 OOC_INT32 lastWord;
585 OOC_INT32 len;
586
587 i0 = start;
588 j = i0;
589 lastWord = (-1);
590 len = 0;
591 i1 = (OOC_INT64)s;
592 i2 = _check_pointer(i1, 7329);
593 i3 = OOC_ARRAY_LENGTH(i2, 0);
594 i2 = *(OOC_UINT8*)(i2+(_check_index(i0, i3, OOC_UINT32, 7329)));
595 i3 = width;
596 i2 = i2!=0u;
597 if (i2) goto l3;
598 i2=i0;i0=0;i1=(-1);
599 goto l70;
600 l3:
601 i2=i0;i4=0;i5=(-1);i6=1u;
602 l4_loop:
603 i7 = _check_pointer(i1, 7355);
604 i8 = OOC_ARRAY_LENGTH(i7, 0);
605 i7 = *(OOC_UINT8*)(i7+(_check_index(i2, i8, OOC_UINT32, 7355)));
606 i7 = i7==38u;
607 if (i7) goto l47;
608 i7 = _check_pointer(i1, 7488);
609 i8 = OOC_ARRAY_LENGTH(i7, 0);
610 i7 = *(OOC_UINT8*)(i7+(_check_index(i2, i8, OOC_UINT32, 7488)));
611 i7 = i7==60u;
612 if (i7) goto l28;
613 i7 = _check_pointer(i1, 7600);
614 i8 = OOC_ARRAY_LENGTH(i7, 0);
615 i7 = *(OOC_UINT8*)(i7+(_check_index(i2, i8, OOC_UINT32, 7600)));
616 i7 = (OOC_UINT8)i7<=(OOC_UINT8)32u;
617 if (i7) goto l11;
618 i2 = i2+1;
619 j = i2;
620 i4 = i4+1;
621 len = i4;
622 i6 = i5<0;
623
624 goto l65;
625 l11:
626 i7 = i2!=i0;
627 if (i7) goto l14;
628 i7=0u;
629 goto l16;
630 l14:
631 i7 = _check_pointer(i1, 7646);
632 i8 = OOC_ARRAY_LENGTH(i7, 0);
633 i7 = *(OOC_UINT8*)(i7+(_check_index((i2-1), i8, OOC_UINT32, 7646)));
634 i7 = (OOC_UINT8)i7>(OOC_UINT8)32u;
635
636 l16:
637 if (i7) goto l18;
638 i2 = i2+1;
639 j = i2;
640 i4 = i4+1;
641 len = i4;
642 i6 = i5<0;
643
644 goto l65;
645 l18:
646 i7 = i4>i3;
647 if (i7) goto l21;
648 lastWord = i2;
649 i5 = i2+1;
650 j = i5;
651 i4 = i4+1;
652 len = i4;
653 i6 = i2<0;
654 {register OOC_INT64 h0=i2;i2=i5;i5=h0;}
655 goto l65;
656 l21:
657 if (i6) goto l23;
658 return i5;
659 goto l65;
660 l23:
661 return i2;
662 goto l65;
663 l28:
664 i6 = _check_pointer(i1, 7522);
665 i7 = OOC_ARRAY_LENGTH(i6, 0);
666 i6 = *(OOC_UINT8*)(i6+(_check_index(i2, i7, OOC_UINT32, 7522)));
667 i6 = i6!=0u;
668 if (i6) goto l31;
669 i6=0u;
670 goto l33;
671 l31:
672 i6 = _check_pointer(i1, 7536);
673 i7 = OOC_ARRAY_LENGTH(i6, 0);
674 i6 = *(OOC_UINT8*)(i6+(_check_index(i2, i7, OOC_UINT32, 7536)));
675 i6 = i6!=62u;
676
677 l33:
678 if (!i6) goto l45;
679 l36_loop:
680 i2 = i2+1;
681 j = i2;
682 i6 = _check_pointer(i1, 7522);
683 i7 = OOC_ARRAY_LENGTH(i6, 0);
684 i6 = *(OOC_UINT8*)(i6+(_check_index(i2, i7, OOC_UINT32, 7522)));
685 i6 = i6!=0u;
686 if (i6) goto l39;
687 i6=0u;
688 goto l41;
689 l39:
690 i6 = _check_pointer(i1, 7536);
691 i7 = OOC_ARRAY_LENGTH(i6, 0);
692 i6 = *(OOC_UINT8*)(i6+(_check_index(i2, i7, OOC_UINT32, 7536)));
693 i6 = i6!=62u;
694
695 l41:
696 if (i6) goto l36_loop;
697 l45:
698 i6 = i5<0;
699
700 goto l65;
701 l47:
702 i6 = _check_pointer(i1, 7389);
703 i7 = OOC_ARRAY_LENGTH(i6, 0);
704 i6 = *(OOC_UINT8*)(i6+(_check_index(i2, i7, OOC_UINT32, 7389)));
705 i6 = i6!=0u;
706 if (i6) goto l50;
707 i6=0u;
708 goto l52;
709 l50:
710 i6 = _check_pointer(i1, 7403);
711 i7 = OOC_ARRAY_LENGTH(i6, 0);
712 i6 = *(OOC_UINT8*)(i6+(_check_index(i2, i7, OOC_UINT32, 7403)));
713 i6 = i6!=59u;
714
715 l52:
716 if (!i6) goto l64;
717 l55_loop:
718 i2 = i2+1;
719 j = i2;
720 i6 = _check_pointer(i1, 7389);
721 i7 = OOC_ARRAY_LENGTH(i6, 0);
722 i6 = *(OOC_UINT8*)(i6+(_check_index(i2, i7, OOC_UINT32, 7389)));
723 i6 = i6!=0u;
724 if (i6) goto l58;
725 i6=0u;
726 goto l60;
727 l58:
728 i6 = _check_pointer(i1, 7403);
729 i7 = OOC_ARRAY_LENGTH(i6, 0);
730 i6 = *(OOC_UINT8*)(i6+(_check_index(i2, i7, OOC_UINT32, 7403)));
731 i6 = i6!=59u;
732
733 l60:
734 if (i6) goto l55_loop;
735 l64:
736 i4 = i4+1;
737 len = i4;
738 i6 = i5<0;
739
740 l65:
741 i7 = _check_pointer(i1, 7329);
742 i8 = OOC_ARRAY_LENGTH(i7, 0);
743 i7 = *(OOC_UINT8*)(i7+(_check_index(i2, i8, OOC_UINT32, 7329)));
744 i7 = i7!=0u;
745 if (i7) goto l4_loop;
746 l69:
747 i0=i4;i1=i5;
748 l70:
749 i0 = i0>i3;
750 if (i0) goto l73;
751 return i2;
752 goto l78;
753 l73:
754 i0 = i1<0;
755 if (i0) goto l76;
756 return i1;
757 goto l78;
758 l76:
759 return i2;
760 l78:
761 _failed_function(7156); return 0;
762 ;
763 }
764
765
766 i0 = scrWidth;
767 i1 = indent;
768 i2 = (i0-i1)<32;
769 if (!i2) goto l4;
770 i0 = i1+32;
771 scrWidth = i0;
772
773 l4:
774 i2 = (OOC_INT64)source;
775 i3 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i2, 8352));
776 s = (OOC_Scanner_InputBuffer__CharArray)i3;
777 i4 = *(OOC_INT32*)((_check_pointer(i2, 8378))+8);
778 i4 = i4==0;
779 if (!i4) goto l7;
780 i4 = (OOC_INT64)dest;
781 OOC_Doc_TextBuffer__BufferDesc_AppendEOL((OOC_Doc_TextBuffer__Buffer)i4);
782 return;
783 l7:
784 firstLine = 1u;
785 i = 0;
786 i4 = _check_pointer(i3, 8521);
787 i5 = OOC_ARRAY_LENGTH(i4, 0);
788 i4 = *(OOC_UINT8*)(i4+(_check_index(0, i5, OOC_UINT32, 8521)));
789 i4 = i4!=0u;
790 if (!i4) goto l46;
791 i4 = i0-i1;
792 i5 = offsetFirst;
793 i6 = i5+i1;
794 i0 = i0+i5;
795 i7 = i4-i5;
796 i8 = (OOC_INT64)dest;
797 i9 = i5>=0;
798 i5 = i5<0;
799 i10=0;i11=1u;
800 l10_loop:
801 i12 = _check_pointer(i3, 8589);
802 i13 = OOC_ARRAY_LENGTH(i12, 0);
803 i12 = *(OOC_UINT8*)(i12+(_check_index(i10, i13, OOC_UINT32, 8589)));
804 i12 = (OOC_UINT8)0u<(OOC_UINT8)i12;
805 if (i12) goto l13;
806 i12=0u;
807 goto l15;
808 l13:
809 i12 = _check_pointer(i3, 8598);
810 i13 = OOC_ARRAY_LENGTH(i12, 0);
811 i12 = *(OOC_UINT8*)(i12+(_check_index(i10, i13, OOC_UINT32, 8598)));
812 i12 = (OOC_UINT8)i12<=(OOC_UINT8)32u;
813
814 l15:
815 if (!i12) goto l27;
816 l18_loop:
817 i10 = i10+1;
818 i = i10;
819 i12 = _check_pointer(i3, 8589);
820 i13 = OOC_ARRAY_LENGTH(i12, 0);
821 i12 = *(OOC_UINT8*)(i12+(_check_index(i10, i13, OOC_UINT32, 8589)));
822 i12 = (OOC_UINT8)0u<(OOC_UINT8)i12;
823 if (i12) goto l21;
824 i12=0u;
825 goto l23;
826 l21:
827 i12 = _check_pointer(i3, 8598);
828 i13 = OOC_ARRAY_LENGTH(i12, 0);
829 i12 = *(OOC_UINT8*)(i12+(_check_index(i10, i13, OOC_UINT32, 8598)));
830 i12 = (OOC_UINT8)i12<=(OOC_UINT8)32u;
831
832 l23:
833 if (i12) goto l18_loop;
834 l27:
835 i12 = _check_pointer(i3, 8658);
836 i13 = OOC_ARRAY_LENGTH(i12, 0);
837 i12 = *(OOC_UINT8*)(i12+(_check_index(i10, i13, OOC_UINT32, 8658)));
838 i12 = i12!=0u;
839 if (!i12) goto l41;
840 start = i10;
841 if (i11) goto l33;
842 i12 = *(OOC_INT32*)((_check_pointer(i2, 9197))+8);
843 i12 = OOC_Doc_TextBuffer__FormatBlockHTML_LastWord((OOC_Scanner_InputBuffer__CharArray)i3, i12, i10, i4);
844 end = i12;
845 OOC_Doc_TextBuffer__BufferDesc_AppendSpaces((OOC_Doc_TextBuffer__Buffer)i8, i1);
846
847 goto l40;
848 l33:
849 if (i5) goto l35;
850 i11 = *(OOC_INT32*)((_check_pointer(i2, 8957))+8);
851 i11 = OOC_Doc_TextBuffer__FormatBlockHTML_LastWord((OOC_Scanner_InputBuffer__CharArray)i3, i11, i10, i7);
852 end = i11;
853
854 goto l37;
855 l35:
856 i11 = *(OOC_INT32*)((_check_pointer(i2, 8868))+8);
857 i11 = OOC_Doc_TextBuffer__FormatBlockHTML_LastWord((OOC_Scanner_InputBuffer__CharArray)i3, i11, i10, i0);
858 end = i11;
859
860 l37:
861 if (!i9) goto l39;
862 OOC_Doc_TextBuffer__BufferDesc_AppendSpaces((OOC_Doc_TextBuffer__Buffer)i8, i6);
863 l39:
864 firstLine = 0u;
865 i12=i11;i11=0u;
866 l40:
867 i13 = OOC_ARRAY_LENGTH((_check_pointer(i3, 9321)), 0);
868 OOC_Doc_TextBuffer__BufferDesc_AppendSubstring((OOC_Doc_TextBuffer__Buffer)i8, (void*)(_check_pointer(i3, 9321)), i13, i10, i12);
869 OOC_Doc_TextBuffer__BufferDesc_AppendEOL((OOC_Doc_TextBuffer__Buffer)i8);
870 i = i12;
871 i10=i12;
872 l41:
873 i12 = _check_pointer(i3, 8521);
874 i13 = OOC_ARRAY_LENGTH(i12, 0);
875 i12 = *(OOC_UINT8*)(i12+(_check_index(i10, i13, OOC_UINT32, 8521)));
876 i12 = i12!=0u;
877 if (i12) goto l10_loop;
878 l46:
879 return;
880 ;
881 }
882
OOC_Doc_TextBuffer__IndentBlock(OOC_Doc_TextBuffer__Buffer dest,OOC_Doc_TextBuffer__Buffer source,OOC_INT32 indent)883 void OOC_Doc_TextBuffer__IndentBlock(OOC_Doc_TextBuffer__Buffer dest, OOC_Doc_TextBuffer__Buffer source, OOC_INT32 indent) {
884 register OOC_INT64 i0,i1,i2,i3,i4,i5,i6;
885 OOC_Scanner_InputBuffer__CharArray s;
886 OOC_INT32 i;
887 OOC_INT32 start;
888
889 i0 = (OOC_INT64)source;
890 i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 9565));
891 s = (OOC_Scanner_InputBuffer__CharArray)i0;
892 i = 0;
893 i1 = _check_pointer(i0, 9596);
894 i2 = OOC_ARRAY_LENGTH(i1, 0);
895 i1 = *(OOC_UINT8*)(i1+(_check_index(0, i2, OOC_UINT32, 9596)));
896 i1 = i1!=0u;
897 if (!i1) goto l29;
898 i1 = (OOC_INT64)dest;
899 i2 = indent;
900 i3=0;
901 l3_loop:
902 start = i3;
903 i4 = _check_pointer(i0, 9641);
904 i5 = OOC_ARRAY_LENGTH(i4, 0);
905 i4 = *(OOC_UINT8*)(i4+(_check_index(i3, i5, OOC_UINT32, 9641)));
906 i4 = i4!=0u;
907 if (i4) goto l6;
908 i4=0u;
909 goto l8;
910 l6:
911 i4 = _check_pointer(i0, 9655);
912 i5 = OOC_ARRAY_LENGTH(i4, 0);
913 i4 = *(OOC_UINT8*)(i4+(_check_index(i3, i5, OOC_UINT32, 9655)));
914 i4 = i4!=10u;
915
916 l8:
917 if (i4) goto l10;
918 i4=i3;
919 goto l20;
920 l10:
921 i4=i3;
922 l11_loop:
923 i4 = i4+1;
924 i = i4;
925 i5 = _check_pointer(i0, 9641);
926 i6 = OOC_ARRAY_LENGTH(i5, 0);
927 i5 = *(OOC_UINT8*)(i5+(_check_index(i4, i6, OOC_UINT32, 9641)));
928 i5 = i5!=0u;
929 if (i5) goto l14;
930 i5=0u;
931 goto l16;
932 l14:
933 i5 = _check_pointer(i0, 9655);
934 i6 = OOC_ARRAY_LENGTH(i5, 0);
935 i5 = *(OOC_UINT8*)(i5+(_check_index(i4, i6, OOC_UINT32, 9655)));
936 i5 = i5!=10u;
937
938 l16:
939 if (i5) goto l11_loop;
940 l20:
941 i5 = _check_pointer(i0, 9717);
942 i6 = OOC_ARRAY_LENGTH(i5, 0);
943 i5 = *(OOC_UINT8*)(i5+(_check_index(i4, i6, OOC_UINT32, 9717)));
944 i5 = i5==10u;
945 if (!i5) goto l24;
946 i4 = i4+1;
947 i = i4;
948
949 l24:
950 OOC_Doc_TextBuffer__BufferDesc_AppendSpaces((OOC_Doc_TextBuffer__Buffer)i1, i2);
951 i5 = OOC_ARRAY_LENGTH((_check_pointer(i0, 9835)), 0);
952 OOC_Doc_TextBuffer__BufferDesc_AppendSubstring((OOC_Doc_TextBuffer__Buffer)i1, (void*)(_check_pointer(i0, 9835)), i5, i3, i4);
953 i3 = _check_pointer(i0, 9596);
954 i5 = OOC_ARRAY_LENGTH(i3, 0);
955 i3 = *(OOC_UINT8*)(i3+(_check_index(i4, i5, OOC_UINT32, 9596)));
956 i3 = i3!=0u;
957 if (!i3) goto l29;
958 i3=i4;
959 goto l3_loop;
960 l29:
961 return;
962 ;
963 }
964
OOC_OOC_Doc_TextBuffer_init(void)965 void OOC_OOC_Doc_TextBuffer_init(void) {
966
967 return;
968 ;
969 }
970
OOC_OOC_Doc_TextBuffer_destroy(void)971 void OOC_OOC_Doc_TextBuffer_destroy(void) {
972 }
973
974 /* --- */
975