1 #include <XML/Error.d>
2 #include <__oo2c.h>
3 #include <setjmp.h>
4 
XML_Error__InitContext(XML_Error__Context c,const Msg__String id__ref,OOC_LEN id_0d)5 void XML_Error__InitContext(XML_Error__Context c, const Msg__String id__ref, OOC_LEN id_0d) {
6   register OOC_INT64 i0;
7   OOC_ALLOCATE_VPAR(id,OOC_CHAR8 ,id_0d)
8 
9   OOC_INITIALIZE_VPAR(id__ref,id,OOC_CHAR8 ,id_0d)
10   i0 = (OOC_INT64)c;
11   Msg__InitContext((Msg__Context)i0, (void*)(OOC_INT64)id, id_0d);
12   *(OOC_INT64*)((_check_pointer(i0, 2272))+8) = (OOC_INT64)0;
13   return;
14   ;
15 }
16 
XML_Error__NewContext(const Msg__String id__ref,OOC_LEN id_0d)17 XML_Error__Context XML_Error__NewContext(const Msg__String id__ref, OOC_LEN id_0d) {
18   register OOC_INT64 i0;
19   OOC_ALLOCATE_VPAR(id,OOC_CHAR8 ,id_0d)
20 
21   OOC_INITIALIZE_VPAR(id__ref,id,OOC_CHAR8 ,id_0d)
22   i0 = (OOC_INT64)RT0__NewObject(_td_XML_Error__Context.baseTypes[0]);
23   XML_Error__InitContext((XML_Error__Context)i0, (void*)(OOC_INT64)id, id_0d);
24   return (XML_Error__Context)i0;
25   ;
26 }
27 
XML_Error__ContextDesc_WriteTemplate(XML_Error__Context context,Msg__Msg msg,const Msg__LString msgText__ref,OOC_LEN msgText_0d,Msg__LString templ,OOC_LEN templ_0d)28 void XML_Error__ContextDesc_WriteTemplate(XML_Error__Context context, Msg__Msg msg, const Msg__LString msgText__ref, OOC_LEN msgText_0d, Msg__LString templ, OOC_LEN templ_0d) {
29   register OOC_INT64 i0,i1;
30   OOC_ALLOCATE_VPAR(msgText,OOC_CHAR16 ,msgText_0d)
31   Msg__Attribute entityName;
32 
33   OOC_INITIALIZE_VPAR(msgText__ref,msgText,OOC_CHAR16 ,(msgText_0d*2))
34   i0 = (OOC_INT64)msg;
35   i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 2751)))), Msg__MsgDesc_GetAttribute)),Msg__MsgDesc_GetAttribute)((Msg__Msg)i0, (OOC_CHAR8*)"entity_name", 12);
36   entityName = (Msg__Attribute)i0;
37   i1 = i0==(OOC_INT64)0;
38   if (i1) goto l3;
39   _copy_16((const void*)((OOC_CHAR16[]){87,104,105,108,101,32,101,120,112,97,110,100,105,110,103,32,101,110,116,105,116,121,32,96,0}),(void*)(OOC_INT64)templ,templ_0d);
40   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 2933)))), &_td_Msg__LStringAttributeDesc, 2933)), 2950))+16);
41   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 2933)))), &_td_Msg__LStringAttributeDesc, 2933)), 2950))+16);
42   i1 = OOC_ARRAY_LENGTH((_check_pointer(i1, 2958)), 0);
43   LongStrings__Append((void*)(_check_pointer(i0, 2958)), i1, (void*)(OOC_INT64)templ, templ_0d);
44   LongStrings__Append(((OOC_CHAR16[]){39,58,32,0}), 4, (void*)(OOC_INT64)templ, templ_0d);
45   goto l4;
46 l3:
47   _copy_16((const void*)((OOC_CHAR16[]){0}),(void*)(OOC_INT64)templ,templ_0d);
48 l4:
49   LongStrings__Append((void*)(OOC_INT64)msgText, msgText_0d, (void*)(OOC_INT64)templ, templ_0d);
50   LongStrings__Insert(((OOC_CHAR16[]){108,105,110,101,61,36,123,108,105,110,101,125,44,32,99,111,108,117,109,110,61,36,123,99,111,108,117,109,110,125,10,36,123,99,104,97,114,125,58,32,0}), 41, 0, (void*)(OOC_INT64)templ, templ_0d);
51   return;
52   ;
53 }
54 
XML_Error__ContextDesc_GetTemplate(XML_Error__Context context,Msg__Msg msg,Msg__LString templ,OOC_LEN templ_0d)55 void XML_Error__ContextDesc_GetTemplate(XML_Error__Context context, Msg__Msg msg, Msg__LString templ, OOC_LEN templ_0d) {
56   register OOC_INT64 i0,i1,i2,i3,i4;
57   XML_Error__Mapping m;
58 
59   i0 = (OOC_INT64)context;
60   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 3316))+8);
61   m = (XML_Error__Mapping)i1;
62   i2 = i1!=(OOC_INT64)0;
63   if (i2) goto l3;
64   i2=0u;
65   goto l5;
66 l3:
67   i2 = (OOC_INT64)msg;
68   i3 = *(OOC_INT32*)((_check_pointer(i1, 3351))+8);
69   i2 = *(OOC_INT32*)((_check_pointer(i2, 3363))+16);
70   i2 = i3!=i2;
71 
72 l5:
73   if (!i2) goto l17;
74   i2 = (OOC_INT64)msg;
75 
76 l8_loop:
77   i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 3386));
78   m = (XML_Error__Mapping)i1;
79   i3 = i1!=(OOC_INT64)0;
80   if (i3) goto l11;
81   i3=0u;
82   goto l13;
83 l11:
84   i3 = *(OOC_INT32*)((_check_pointer(i1, 3351))+8);
85   i4 = *(OOC_INT32*)((_check_pointer(i2, 3363))+16);
86   i3 = i3!=i4;
87 
88 l13:
89   if (i3) goto l8_loop;
90 l17:
91   i2 = i1!=(OOC_INT64)0;
92   if (i2) goto l20;
93   i1 = (OOC_INT64)msg;
94   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 3498)))), XML_Error__ContextDesc_WriteTemplate)),XML_Error__ContextDesc_WriteTemplate)((XML_Error__Context)i0, (Msg__Msg)i1, ((OOC_CHAR16[]){45,45,117,110,107,110,111,119,110,32,101,114,114,111,114,32,99,111,100,101,59,32,109,115,103,95,99,111,110,116,101,120,116,61,36,123,77,83,71,95,67,79,78,84,69,88,84,125,59,32,109,115,103,95,99,111,100,101,61,36,123,77,83,71,95,67,79,68,69,125,45,45,0}), 73, (void*)(OOC_INT64)templ, templ_0d);
95   goto l21;
96 l20:
97   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 3460))+16);
98   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 3460))+16);
99   i2 = OOC_ARRAY_LENGTH((_check_pointer(i2, 3466)), 0);
100   i3 = (OOC_INT64)msg;
101   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 3437)))), XML_Error__ContextDesc_WriteTemplate)),XML_Error__ContextDesc_WriteTemplate)((XML_Error__Context)i0, (Msg__Msg)i3, (void*)(_check_pointer(i1, 3466)), i2, (void*)(OOC_INT64)templ, templ_0d);
102 l21:
103   return;
104   ;
105 }
106 
XML_Error__ContextDesc_SetString(XML_Error__Context context,OOC_INT32 code,const Msg__String str__ref,OOC_LEN str_0d)107 void XML_Error__ContextDesc_SetString(XML_Error__Context context, OOC_INT32 code, const Msg__String str__ref, OOC_LEN str_0d) {
108   register OOC_INT64 i0;
109   OOC_ALLOCATE_VPAR(str,OOC_CHAR8 ,str_0d)
110   auto void XML_Error__ContextDesc_SetString_Append(XML_Error__Mapping *mlist);
111 
112     void XML_Error__ContextDesc_SetString_Append(XML_Error__Mapping *mlist) {
113       register OOC_INT64 i0,i1,i2;
114       OOC_CHAR16 str16[1024];
115 
116       i0 = (OOC_INT64)*mlist;
117       i1 = i0==(OOC_INT64)0;
118       if (i1) goto l7;
119       i1 = *(OOC_INT32*)((_check_pointer(i0, 4142))+8);
120       i2 = code;
121       i1 = i1==i2;
122       if (i1) goto l5;
123       XML_Error__ContextDesc_SetString_Append((void*)(_check_pointer(i0, 4268)));
124       goto l8;
125 l5:
126       _copy_8to16((const void*)(OOC_INT64)str,(void*)(OOC_INT64)str16,1024);
127       i1 = (OOC_INT64)Msg__GetLStringPtr((void*)(OOC_INT64)str16, 1024);
128       *(OOC_INT64*)((_check_pointer(i0, 4202))+16) = i1;
129       goto l8;
130 l7:
131       i0 = (OOC_INT64)RT0__NewObject(_td_XML_Error__Mapping.baseTypes[0]);
132       *mlist = (XML_Error__Mapping)i0;
133       *(OOC_INT64*)(_check_pointer(i0, 4006)) = (OOC_INT64)0;
134       i0 = (OOC_INT64)*mlist;
135       i1 = code;
136       *(OOC_INT32*)((_check_pointer(i0, 4034))+8) = i1;
137       _copy_8to16((const void*)(OOC_INT64)str,(void*)(OOC_INT64)str16,1024);
138       i0 = (OOC_INT64)*mlist;
139       i1 = (OOC_INT64)Msg__GetLStringPtr((void*)(OOC_INT64)str16, 1024);
140       *(OOC_INT64*)((_check_pointer(i0, 4090))+16) = i1;
141 l8:
142       return;
143       ;
144     }
145 
146 
147   OOC_INITIALIZE_VPAR(str__ref,str,OOC_CHAR8 ,str_0d)
148   i0 = (OOC_INT64)context;
149   XML_Error__ContextDesc_SetString_Append((void*)((_check_pointer(i0, 4332))+8));
150   return;
151   ;
152 }
153 
XML_Error__New(XML_Error__Context context,OOC_INT32 code)154 Msg__Msg XML_Error__New(XML_Error__Context context, OOC_INT32 code) {
155   register OOC_INT64 i0,i1;
156 
157   i0 = code;
158   i1 = (OOC_INT64)context;
159   i0 = (OOC_INT64)Msg__New((Msg__Context)i1, i0);
160   return (Msg__Msg)i0;
161   ;
162 }
163 
XML_Error__NewList(void)164 XML_Error__List XML_Error__NewList(void) {
165   register OOC_INT64 i0,i1;
166   XML_Error__List list;
167 
168   i0 = (OOC_INT64)RT0__NewObject(_td_XML_Error__List.baseTypes[0]);
169   list = (XML_Error__List)i0;
170   Msg__InitMsgList((Msg__MsgList)i0);
171   i1 = (OOC_INT64)URI_Scheme_File__GetCwd();
172   *(OOC_INT64*)((_check_pointer(i0, 4605))+24) = i1;
173   return (XML_Error__List)i0;
174   ;
175 }
176 
XML_Error__ListDesc_Write(volatile XML_Error__List errList,volatile Channel__Channel ch)177 void XML_Error__ListDesc_Write(volatile XML_Error__List errList, volatile Channel__Channel ch) {
178   register OOC_INT64 i0,i1,i2,i3,i4;
179   volatile TextRider__Writer writer;
180   volatile OOC_CHAR8 repl1[1024];
181   volatile OOC_CHAR8 repl2[1024];
182   volatile Msg__Msg prev;
183   volatile Msg__StringPtr prevURI;
184   volatile Msg__Msg msg;
185   volatile Msg__Attribute uriAttr;
186   volatile Msg__StringPtr uri;
187   volatile OOC_CHAR8 text[8192];
188   volatile Object__String cwd;
189   volatile OOC_INT32 len;
190   auto void XML_Error__ListDesc_Write_Replace(OOC_CHAR8 text[], OOC_LEN text_0d, const OOC_CHAR8 pattern__ref[], OOC_LEN pattern_0d, const OOC_CHAR8 repl__ref[], OOC_LEN repl_0d);
191   auto OOC_CHAR8 XML_Error__ListDesc_Write_DistanceOk(Msg__Msg m0, Msg__Msg m1);
192   auto void XML_Error__ListDesc_Write_Copy(Object__String s, OOC_CHAR8 str[], OOC_LEN str_0d);
193   jmp_buf _target0;
194   Exception__Context _context0;
195 
196     void XML_Error__ListDesc_Write_Replace(OOC_CHAR8 text[], OOC_LEN text_0d, const OOC_CHAR8 pattern__ref[], OOC_LEN pattern_0d, const OOC_CHAR8 repl__ref[], OOC_LEN repl_0d) {
197       register OOC_INT64 i0,i1;
198       OOC_ALLOCATE_VPAR(pattern,OOC_CHAR8 ,pattern_0d)
199       OOC_ALLOCATE_VPAR(repl,OOC_CHAR8 ,repl_0d)
200       OOC_INT16 pos;
201       OOC_CHAR8 found;
202 
203       OOC_INITIALIZE_VPAR(pattern__ref,pattern,OOC_CHAR8 ,pattern_0d)
204       OOC_INITIALIZE_VPAR(repl__ref,repl,OOC_CHAR8 ,repl_0d)
205       Strings__FindNext((void*)(OOC_INT64)pattern, pattern_0d, (void*)(OOC_INT64)text, text_0d, 0, (void*)(OOC_INT64)&found, (void*)(OOC_INT64)&pos);
206       i0 = found;
207       if (!i0) goto l8;
208 l3_loop:
209       i0 = Strings__Length((void*)(OOC_INT64)pattern, pattern_0d);
210       i1 = pos;
211       Strings__Delete((void*)(OOC_INT64)text, text_0d, i1, i0);
212       i0 = pos;
213       Strings__Insert((void*)(OOC_INT64)repl, repl_0d, i0, (void*)(OOC_INT64)text, text_0d);
214       i0 = Strings__Length((void*)(OOC_INT64)repl, repl_0d);
215       i1 = pos;
216       i0 = i1+i0;
217       pos = i0;
218       Strings__FindNext((void*)(OOC_INT64)pattern, pattern_0d, (void*)(OOC_INT64)text, text_0d, i0, (void*)(OOC_INT64)&found, (void*)(OOC_INT64)&pos);
219       i0 = found;
220       if (i0) goto l3_loop;
221 l8:
222       return;
223       ;
224     }
225 
226 
227     OOC_CHAR8 XML_Error__ListDesc_Write_DistanceOk(Msg__Msg m0, Msg__Msg m1) {
228       register OOC_INT64 i0,i1,i2;
229       Msg__Attribute p0;
230       Msg__Attribute p1;
231 
232       i0 = (OOC_INT64)m0;
233       i1 = i0==(OOC_INT64)0;
234       if (i1) goto l23;
235       i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 5881)))), Msg__MsgDesc_GetAttribute)),Msg__MsgDesc_GetAttribute)((Msg__Msg)i0, (OOC_CHAR8*)"char", 5);
236       p0 = (Msg__Attribute)i0;
237       i1 = (OOC_INT64)m1;
238       i1 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 5922)))), Msg__MsgDesc_GetAttribute)),Msg__MsgDesc_GetAttribute)((Msg__Msg)i1, (OOC_CHAR8*)"char", 5);
239       p1 = (Msg__Attribute)i1;
240       i2 = i0!=(OOC_INT64)0;
241       if (i2) goto l5;
242       i2=0u;
243       goto l7;
244 l5:
245       i2 = i1!=(OOC_INT64)0;
246 
247 l7:
248       if (i2) goto l9;
249       i2=0u;
250       goto l11;
251 l9:
252       i2 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 5999)))), &_td_Msg__IntAttributeDesc);
253 
254 l11:
255       if (i2) goto l13;
256       i2=0u;
257       goto l15;
258 l13:
259       i2 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 6035)))), &_td_Msg__IntAttributeDesc);
260 
261 l15:
262       if (i2) goto l17;
263       i0=0u;
264       goto l19;
265 l17:
266       i0 = *(OOC_INT32*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 6078)))), &_td_Msg__IntAttributeDesc, 6078)), 6091))+16);
267       i1 = *(OOC_INT32*)((_check_pointer((_type_guard(i1, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 6104)))), &_td_Msg__IntAttributeDesc, 6104)), 6117))+16);
268       i0 = (_abs((i0-i1)))<16;
269 
270 l19:
271       if (i0) goto l21;
272       return 1u;
273       goto l24;
274 l21:
275       return 0u;
276       goto l24;
277 l23:
278       return 1u;
279 l24:
280       _failed_function(5727); return 0;
281       ;
282     }
283 
284 
285     void XML_Error__ListDesc_Write_Copy(Object__String s, OOC_CHAR8 str[], OOC_LEN str_0d) {
286       register OOC_INT64 i0;
287       Object__String8 s8;
288       Object__CharsLatin1 chars;
289 
290       i0 = (OOC_INT64)s;
291       i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 6379)))), Object__StringDesc_ToString8)),Object__StringDesc_ToString8)((Object__String)i0, 63u);
292       s8 = (Object__String8)i0;
293       i0 = (OOC_INT64)Object__String8Desc_CharsLatin1((Object__String8)i0);
294       chars = (Object__CharsLatin1)i0;
295       _copy_8((const void*)(_check_pointer(i0, 6445)),(void*)(OOC_INT64)str,str_0d);
296       return;
297       ;
298     }
299 
300 
301   i0 = (OOC_INT64)ch;
302   i0 = (OOC_INT64)TextRider__ConnectWriter((Channel__Channel)i0);
303   writer = (TextRider__Writer)i0;
304   _assert((i0!=(OOC_INT64)0), 127, 6527);
305   i0 = (OOC_INT64)errList;
306   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 6567))+24);
307   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 6567))+24);
308   i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 6574)))), URI__URIDesc_ToString)),URI__URIDesc_ToString)((URI__URI)i0);
309   XML_Error__ListDesc_Write_Copy((Object__String)i0, (void*)(OOC_INT64)repl1, 1024);
310   i0 = (OOC_INT64)errList;
311   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 6611))+24);
312   i0 = (OOC_INT64)URI_Scheme_File__URIDesc_GetPath((URI_Scheme_File__URI)(_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 6624)))), &_td_URI_Scheme_File__URIDesc, 6624)));
313   XML_Error__ListDesc_Write_Copy((Object__String)i0, (void*)(OOC_INT64)repl2, 1024);
314   Strings__Insert((OOC_CHAR8*)"file_name=", 11, 0, (void*)(OOC_INT64)repl2, 1024);
315   prev = (Msg__Msg)(OOC_INT64)0;
316   prevURI = (Msg__StringPtr)(OOC_INT64)0;
317   i0 = (OOC_INT64)errList;
318   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 6749))+8);
319   msg = (Msg__Msg)i0;
320   i1 = i0!=(OOC_INT64)0;
321   if (!i1) goto l28;
322   i1 = (OOC_INT64)_c0;
323   i2 = (OOC_INT64)_c1;
324 
325 l3_loop:
326   i3 = (OOC_INT64)prev;
327   i0 = XML_Error__ListDesc_Write_DistanceOk((Msg__Msg)i3, (Msg__Msg)i0);
328   if (!i0) goto l23;
329   i0 = (OOC_INT64)msg;
330   i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 6844)))), Msg__MsgDesc_GetAttribute)),Msg__MsgDesc_GetAttribute)((Msg__Msg)i0, (OOC_CHAR8*)"baseURI", 8);
331   uriAttr = (Msg__Attribute)i0;
332   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 6894)))), &_td_Msg__StringAttributeDesc, 6894)), 6910))+16);
333   i4 = (OOC_INT64)prevURI;
334   i3 = i3!=i4;
335   if (!i3) goto l22;
336   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 6961)))), &_td_Msg__StringAttributeDesc, 6961)), 6977))+16);
337   uri = (Msg__StringPtr)i3;
338   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 7011)))), &_td_Msg__StringAttributeDesc, 7011)), 7027))+16);
339   _copy_8((const void*)(_check_pointer(i0, 7034)),(void*)(OOC_INT64)text,8192);
340   {
341     Exception__PushContext(&_context0, &_target0);
342     if (!setjmp(_target0)) goto l13;
343     Exception__PopContext(1);
344     i0 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG(((OOC_INT64)Exception__Current()))), &_td_IO__ErrorDesc);
345     if (i0) goto l12;
346     Exception__ActivateContext();
347 l12:
348     Exception__Clear();
349     goto l21;
350 l13:
351     i0 = (OOC_INT64)OS_ProcessParameters__GetCwd();
352     i0 = (OOC_INT64)Object__Concat2((void*)((OOC_INT64)Object__Concat2((void*)i1,(void*)i0)),(void*)i2);
353     cwd = (Object__String)i0;
354     i3 = Strings__Length((void*)(OOC_INT64)text, 8192);
355     len = i3;
356     i4 = *(OOC_INT32*)(_check_pointer(i0, 7179));
357     i3 = i4<i3;
358     if (i3) goto l16;
359     i3=0u;
360     goto l18;
361 l16:
362     i3 = *(OOC_INT32*)(_check_pointer(i0, 7257));
363     i3 = (OOC_INT64)Object__NewLatin1Region((void*)(OOC_INT64)text, 8192, 0, i3);
364     i3 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 7214)))), Object__StringDesc_Equals)),Object__StringDesc_Equals)((Object__String)i0, (Object__Object)i3);
365 
366 l18:
367     if (!i3) goto l20;
368     i0 = *(OOC_INT32*)(_check_pointer(i0, 7319));
369     Strings__Delete((void*)(OOC_INT64)text, 8192, 0, i0);
370 l20:
371     Exception__PopContext(1);
372 l21:;
373   }
374   i0 = (OOC_INT64)writer;
375   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 7440)))), TextRider__WriterDesc_WriteString)),TextRider__WriterDesc_WriteString)((TextRider__Writer)i0, (OOC_CHAR8*)"In file ", 9);
376   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 7484)))), TextRider__WriterDesc_WriteString)),TextRider__WriterDesc_WriteString)((TextRider__Writer)i0, (void*)(OOC_INT64)text, 8192);
377   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 7522)))), TextRider__WriterDesc_WriteString)),TextRider__WriterDesc_WriteString)((TextRider__Writer)i0, (OOC_CHAR8*)": ", 3);
378   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 7560)))), TextRider__WriterDesc_WriteLn)),TextRider__WriterDesc_WriteLn)((TextRider__Writer)i0);
379 l22:
380   i0 = (OOC_INT64)uriAttr;
381   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 7612)))), &_td_Msg__StringAttributeDesc, 7612)), 7628))+16);
382   prevURI = (Msg__StringPtr)i0;
383   i0 = (OOC_INT64)msg;
384   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 7657)))), Msg__MsgDesc_GetText)),Msg__MsgDesc_GetText)((Msg__Msg)i0, (void*)(OOC_INT64)text, 8192);
385   XML_Error__ListDesc_Write_Replace((void*)(OOC_INT64)text, 8192, (void*)(OOC_INT64)repl1, 1024, (OOC_CHAR8*)"file:", 6);
386   XML_Error__ListDesc_Write_Replace((void*)(OOC_INT64)text, 8192, (void*)(OOC_INT64)repl2, 1024, (OOC_CHAR8*)"file_name=", 11);
387   i0 = (OOC_INT64)writer;
388   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 7774)))), TextRider__WriterDesc_WriteString)),TextRider__WriterDesc_WriteString)((TextRider__Writer)i0, (void*)(OOC_INT64)text, 8192);
389   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 7810)))), TextRider__WriterDesc_WriteLn)),TextRider__WriterDesc_WriteLn)((TextRider__Writer)i0);
390   i0 = (OOC_INT64)msg;
391   prev = (Msg__Msg)i0;
392 l23:
393   i0 = (OOC_INT64)msg;
394   i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 7868));
395   msg = (Msg__Msg)i0;
396   i3 = i0!=(OOC_INT64)0;
397   if (i3) goto l3_loop;
398 l28:
399   return;
400   ;
401 }
402 
OOC_XML_Error_init(void)403 void OOC_XML_Error_init(void) {
404   register OOC_INT64 i0;
405   _c0 = Object__NewLatin1Region((OOC_CHAR8*)"file://", 8, 0, 7);
406   _c1 = Object__NewLatin1Char(47u);
407 
408   i0 = (OOC_INT64)URI_Scheme_File__NewPrototype();
409   URI__RegisterScheme((URI__URI)i0);
410   XML_Error__errMsgLineBase = 0;
411   XML_Error__errMsgColumnBase = 0;
412   XML_Error__errMsgCharPosBase = 0;
413   return;
414   ;
415 }
416 
OOC_XML_Error_destroy(void)417 void OOC_XML_Error_destroy(void) {
418 }
419 
420 /* --- */
421