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