Update c_src with new default constructor rules.
[nit.git] / c_src / parser_prod._sep.c
1 /* This C file is generated by NIT to compile module parser_prod. */
2 #include "parser_prod._sep.h"
3 val_t parser_prod___PNode___parent(val_t self) {
4 struct trace_t trace = {NULL, NULL, 9, LOCATE_parser_prod___PNode___parent};
5 trace.prev = tracehead; tracehead = &trace;
6 trace.file = LOCATE_parser_prod;
7 tracehead = trace.prev;
8 return ATTR_parser_prod___PNode____parent( self) /*PNode::_parent*/;
9 }
10 void parser_prod___PNode___parent__eq(val_t self, val_t param0) {
11 struct trace_t trace = {NULL, NULL, 9, LOCATE_parser_prod___PNode___parent__eq};
12 trace.prev = tracehead; tracehead = &trace;
13 trace.file = LOCATE_parser_prod;
14 ATTR_parser_prod___PNode____parent( self) /*PNode::_parent*/ = param0;
15 tracehead = trace.prev;
16 return;
17 }
18 void parser_prod___PNode___remove_child(val_t self, val_t param0) {
19 struct trace_t trace = {NULL, NULL, 12, LOCATE_parser_prod___PNode___remove_child};
20 val_t variable0;
21 trace.prev = tracehead; tracehead = &trace;
22 trace.file = LOCATE_parser_prod;
23 variable0 = param0;
24 ((parser_prod___PNode___replace_child_t)CALL( self,COLOR_parser_prod___PNode___replace_child))( self, variable0 /*child*/, NIT_NULL /*null*/) /*PNode::replace_child*/;
25 tracehead = trace.prev;
26 return;
27 }
28 void parser_prod___PNode___replace_child(val_t self, val_t param0, val_t param1) {
29 struct trace_t trace = {NULL, NULL, 18, LOCATE_parser_prod___PNode___replace_child};
30 trace.prev = tracehead; tracehead = &trace;
31 trace.file = LOCATE_parser_prod;
32 fprintf(stderr, "Deferred method %s called");
33 fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___PNode___remove_child, LOCATE_parser_prod, 18);
34 nit_exit(1);
35 tracehead = trace.prev;
36 return;
37 }
38 void parser_prod___PNode___replace_with(val_t self, val_t param0) {
39 struct trace_t trace = {NULL, NULL, 21, LOCATE_parser_prod___PNode___replace_with};
40 val_t variable0;
41 val_t variable1;
42 trace.prev = tracehead; tracehead = &trace;
43 trace.file = LOCATE_parser_prod;
44 variable0 = param0;
45 variable1 = ATTR_parser_prod___PNode____parent( self) /*PNode::_parent*/;
46 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
47 if (UNTAG_Bool(variable1)) { /*if*/
48 variable1 = ATTR_parser_prod___PNode____parent( self) /*PNode::_parent*/;
49 ((parser_prod___PNode___replace_child_t)CALL(variable1,COLOR_parser_prod___PNode___replace_child))(variable1, self, variable0 /*node*/) /*PNode::replace_child*/;
50 }
51 tracehead = trace.prev;
52 return;
53 }
54 void parser_prod___PNode___visit_all(val_t self, val_t param0) {
55 struct trace_t trace = {NULL, NULL, 29, LOCATE_parser_prod___PNode___visit_all};
56 trace.prev = tracehead; tracehead = &trace;
57 trace.file = LOCATE_parser_prod;
58 fprintf(stderr, "Deferred method %s called");
59 fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___PNode___replace_with, LOCATE_parser_prod, 29);
60 nit_exit(1);
61 tracehead = trace.prev;
62 return;
63 }
64 void parser_prod___PNode___visit_all_reverse(val_t self, val_t param0) {
65 struct trace_t trace = {NULL, NULL, 33, LOCATE_parser_prod___PNode___visit_all_reverse};
66 trace.prev = tracehead; tracehead = &trace;
67 trace.file = LOCATE_parser_prod;
68 fprintf(stderr, "Deferred method %s called");
69 fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___PNode___replace_with, LOCATE_parser_prod, 33);
70 nit_exit(1);
71 tracehead = trace.prev;
72 return;
73 }
74 val_t parser_prod___PNode___locate(val_t self) {
75 struct trace_t trace = {NULL, NULL, 37, LOCATE_parser_prod___PNode___locate};
76 trace.prev = tracehead; tracehead = &trace;
77 trace.file = LOCATE_parser_prod;
78 fprintf(stderr, "Deferred method %s called");
79 fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___PNode___replace_with, LOCATE_parser_prod, 37);
80 nit_exit(1);
81 tracehead = trace.prev;
82 return NIT_NULL;
83 }
84 val_t parser_prod___PNode___line_number(val_t self) {
85 struct trace_t trace = {NULL, NULL, 40, LOCATE_parser_prod___PNode___line_number};
86 trace.prev = tracehead; tracehead = &trace;
87 trace.file = LOCATE_parser_prod;
88 fprintf(stderr, "Deferred method %s called");
89 fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___PNode___replace_with, LOCATE_parser_prod, 40);
90 nit_exit(1);
91 tracehead = trace.prev;
92 return NIT_NULL;
93 }
94 void parser_prod___PNode___printl(val_t self, val_t param0) {
95 struct trace_t trace = {NULL, NULL, 43, LOCATE_parser_prod___PNode___printl};
96 val_t variable0;
97 val_t variable1;
98 val_t variable2;
99 val_t variable3;
100 val_t variable4;
101 val_t variable5;
102 val_t variable6;
103 val_t variable7;
104 val_t variable8;
105 val_t variable9;
106 val_t variable10;
107 trace.prev = tracehead; tracehead = &trace;
108 trace.file = LOCATE_parser_prod;
109 variable0 = param0;
110 variable1 = NEW_String_string___String___init(); /*new String*/
111 variable2 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
112 variable3 = variable2;
113 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
114 variable4 = ((parser_prod___PNode___locate_t)CALL( self,COLOR_parser_prod___PNode___locate))( self) /*PNode::locate*/;
115 variable5 = variable4;
116 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
117 variable6 = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
118 variable7 = variable6;
119 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
120 variable8 = variable0 /*str*/;
121 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable8) /*String::append*/;
122 variable9 = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
123 variable10 = variable9;
124 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable10) /*String::append*/;
125 ((file___Object___print_t)CALL( self,COLOR_file___Object___print))( self, variable1) /*Object::print*/;
126 tracehead = trace.prev;
127 return;
128 }
129 void parser_prod___Token___visit_all(val_t self, val_t param0) {
130 struct trace_t trace = {NULL, NULL, 51, LOCATE_parser_prod___Token___visit_all};
131 val_t variable0;
132 trace.prev = tracehead; tracehead = &trace;
133 trace.file = LOCATE_parser_prod;
134 variable0 = param0;
135 tracehead = trace.prev;
136 return;
137 }
138 void parser_prod___Token___visit_all_reverse(val_t self, val_t param0) {
139 struct trace_t trace = {NULL, NULL, 52, LOCATE_parser_prod___Token___visit_all_reverse};
140 val_t variable0;
141 trace.prev = tracehead; tracehead = &trace;
142 trace.file = LOCATE_parser_prod;
143 variable0 = param0;
144 tracehead = trace.prev;
145 return;
146 }
147 void parser_prod___Token___replace_child(val_t self, val_t param0, val_t param1) {
148 struct trace_t trace = {NULL, NULL, 53, LOCATE_parser_prod___Token___replace_child};
149 val_t variable0;
150 val_t variable1;
151 trace.prev = tracehead; tracehead = &trace;
152 trace.file = LOCATE_parser_prod;
153 variable0 = param0;
154 variable1 = param1;
155 tracehead = trace.prev;
156 return;
157 }
158 val_t parser_prod___Token___locate(val_t self) {
159 struct trace_t trace = {NULL, NULL, 55, LOCATE_parser_prod___Token___locate};
160 val_t variable0;
161 val_t variable1;
162 val_t variable2;
163 val_t variable3;
164 val_t variable4;
165 val_t variable5;
166 val_t variable6;
167 val_t variable7;
168 val_t variable8;
169 val_t variable9;
170 val_t variable10;
171 val_t variable11;
172 val_t variable12;
173 val_t variable13;
174 val_t variable14;
175 trace.prev = tracehead; tracehead = &trace;
176 trace.file = LOCATE_parser_prod;
177 variable0 = NEW_String_string___String___init(); /*new String*/
178 variable1 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
179 variable2 = variable1;
180 ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable2) /*String::append*/;
181 variable3 = ((lexer___Token___filename_t)CALL( self,COLOR_lexer___Token___filename))( self) /*Token::filename*/;
182 variable4 = variable3;
183 ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable4) /*String::append*/;
184 variable5 = NEW_String_string___String___with_native(BOX_NativeString(":"), TAG_Int(1)); /*new String*/
185 variable6 = variable5;
186 ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable6) /*String::append*/;
187 variable7 = ((lexer___Token___line_t)CALL( self,COLOR_lexer___Token___line))( self) /*Token::line*/;
188 variable8 = variable7;
189 variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
190 ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable8) /*String::append*/;
191 variable9 = NEW_String_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
192 variable10 = variable9;
193 ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable10) /*String::append*/;
194 variable11 = ((lexer___Token___pos_t)CALL( self,COLOR_lexer___Token___pos))( self) /*Token::pos*/;
195 variable12 = variable11;
196 variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
197 ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable12) /*String::append*/;
198 variable13 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
199 variable14 = variable13;
200 ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable14) /*String::append*/;
201 goto return_label6;
202 return_label6: while(false);
203 tracehead = trace.prev;
204 return variable0;
205 }
206 val_t parser_prod___Token___line_number(val_t self) {
207 struct trace_t trace = {NULL, NULL, 60, LOCATE_parser_prod___Token___line_number};
208 val_t variable0;
209 trace.prev = tracehead; tracehead = &trace;
210 trace.file = LOCATE_parser_prod;
211 variable0 = ((lexer___Token___line_t)CALL( self,COLOR_lexer___Token___line))( self) /*Token::line*/;
212 goto return_label7;
213 return_label7: while(false);
214 tracehead = trace.prev;
215 return variable0;
216 }
217 val_t parser_prod___Prod___first_token(val_t self) {
218 struct trace_t trace = {NULL, NULL, 64, LOCATE_parser_prod___Prod___first_token};
219 trace.prev = tracehead; tracehead = &trace;
220 trace.file = LOCATE_parser_prod;
221 tracehead = trace.prev;
222 return ATTR_parser_prod___Prod____first_token( self) /*Prod::_first_token*/;
223 }
224 void parser_prod___Prod___first_token__eq(val_t self, val_t param0) {
225 struct trace_t trace = {NULL, NULL, 64, LOCATE_parser_prod___Prod___first_token__eq};
226 trace.prev = tracehead; tracehead = &trace;
227 trace.file = LOCATE_parser_prod;
228 ATTR_parser_prod___Prod____first_token( self) /*Prod::_first_token*/ = param0;
229 tracehead = trace.prev;
230 return;
231 }
232 val_t parser_prod___Prod___last_token(val_t self) {
233 struct trace_t trace = {NULL, NULL, 67, LOCATE_parser_prod___Prod___last_token};
234 trace.prev = tracehead; tracehead = &trace;
235 trace.file = LOCATE_parser_prod;
236 tracehead = trace.prev;
237 return ATTR_parser_prod___Prod____last_token( self) /*Prod::_last_token*/;
238 }
239 void parser_prod___Prod___last_token__eq(val_t self, val_t param0) {
240 struct trace_t trace = {NULL, NULL, 67, LOCATE_parser_prod___Prod___last_token__eq};
241 trace.prev = tracehead; tracehead = &trace;
242 trace.file = LOCATE_parser_prod;
243 ATTR_parser_prod___Prod____last_token( self) /*Prod::_last_token*/ = param0;
244 tracehead = trace.prev;
245 return;
246 }
247 val_t parser_prod___Prod___locate(val_t self) {
248 struct trace_t trace = {NULL, NULL, 70, LOCATE_parser_prod___Prod___locate};
249 val_t variable0;
250 val_t variable1;
251 val_t variable2;
252 val_t variable3;
253 val_t variable4;
254 val_t variable5;
255 val_t variable6;
256 val_t variable7;
257 val_t variable8;
258 val_t variable9;
259 val_t variable10;
260 val_t variable11;
261 val_t variable12;
262 val_t variable13;
263 val_t variable14;
264 trace.prev = tracehead; tracehead = &trace;
265 trace.file = LOCATE_parser_prod;
266 variable0 = ((parser_prod___Prod___first_token_t)CALL( self,COLOR_parser_prod___Prod___first_token))( self) /*Prod::first_token*/;
267 variable0 = TAG_Bool((variable0 == NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable0, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0, NIT_NULL /*null*/) /*Object::==*/)))));
268 if (UNTAG_Bool(variable0)) { /*if*/
269 variable0 = NEW_String_string___String___with_native(BOX_NativeString("????"), TAG_Int(4)); /*new String*/
270 goto return_label8;
271 }
272 variable1 = ((parser_prod___Prod___last_token_t)CALL( self,COLOR_parser_prod___Prod___last_token))( self) /*Prod::last_token*/;
273 variable1 = ((lexer___Token___pos_t)CALL(variable1,COLOR_lexer___Token___pos))(variable1) /*Token::pos*/;
274 variable2 = ((parser_prod___Prod___last_token_t)CALL( self,COLOR_parser_prod___Prod___last_token))( self) /*Prod::last_token*/;
275 variable2 = ((lexer___Token___text_t)CALL(variable2,COLOR_lexer___Token___text))(variable2) /*Token::text*/;
276 variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*AbstractArray::length*/;
277 variable1 = TAG_Int(UNTAG_Int(variable1)+UNTAG_Int(variable2));
278 variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(1)));
279 variable0 = variable1;
280 variable1 = ((parser_prod___Prod___first_token_t)CALL( self,COLOR_parser_prod___Prod___first_token))( self) /*Prod::first_token*/;
281 variable1 = ((lexer___Token___line_t)CALL(variable1,COLOR_lexer___Token___line))(variable1) /*Token::line*/;
282 variable2 = ((parser_prod___Prod___last_token_t)CALL( self,COLOR_parser_prod___Prod___last_token))( self) /*Prod::last_token*/;
283 variable2 = ((lexer___Token___line_t)CALL(variable2,COLOR_lexer___Token___line))(variable2) /*Token::line*/;
284 variable1 = TAG_Bool((variable1)==(variable2));
285 if (UNTAG_Bool(variable1)) { /*if*/
286 variable1 = NEW_String_string___String___init(); /*new String*/
287 variable2 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
288 variable3 = variable2;
289 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
290 variable4 = ((parser_prod___Prod___first_token_t)CALL( self,COLOR_parser_prod___Prod___first_token))( self) /*Prod::first_token*/;
291 variable4 = ((parser_prod___Token___locate_t)CALL(variable4,COLOR_parser_prod___PNode___locate))(variable4) /*Token::locate*/;
292 variable5 = variable4;
293 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
294 variable6 = NEW_String_string___String___with_native(BOX_NativeString("--"), TAG_Int(2)); /*new String*/
295 variable7 = variable6;
296 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
297 variable8 = variable0 /*lastpos*/;
298 variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
299 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable8) /*String::append*/;
300 variable9 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
301 variable10 = variable9;
302 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable10) /*String::append*/;
303 variable0 = variable1;
304 goto return_label8;
305 } else { /*if*/
306 variable1 = NEW_String_string___String___init(); /*new String*/
307 variable2 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
308 variable3 = variable2;
309 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
310 variable4 = ((parser_prod___Prod___first_token_t)CALL( self,COLOR_parser_prod___Prod___first_token))( self) /*Prod::first_token*/;
311 variable4 = ((parser_prod___Token___locate_t)CALL(variable4,COLOR_parser_prod___PNode___locate))(variable4) /*Token::locate*/;
312 variable5 = variable4;
313 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
314 variable6 = NEW_String_string___String___with_native(BOX_NativeString("--"), TAG_Int(2)); /*new String*/
315 variable7 = variable6;
316 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
317 variable8 = ((parser_prod___Prod___last_token_t)CALL( self,COLOR_parser_prod___Prod___last_token))( self) /*Prod::last_token*/;
318 variable8 = ((lexer___Token___line_t)CALL(variable8,COLOR_lexer___Token___line))(variable8) /*Token::line*/;
319 variable9 = variable8;
320 variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
321 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable9) /*String::append*/;
322 variable10 = NEW_String_string___String___with_native(BOX_NativeString(":"), TAG_Int(1)); /*new String*/
323 variable11 = variable10;
324 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable11) /*String::append*/;
325 variable12 = variable0 /*lastpos*/;
326 variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
327 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable12) /*String::append*/;
328 variable13 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
329 variable14 = variable13;
330 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable14) /*String::append*/;
331 variable0 = variable1;
332 goto return_label8;
333 }
334 return_label8: while(false);
335 tracehead = trace.prev;
336 return variable0;
337 }
338 void parser_prod___Prod___replace_with(val_t self, val_t param0) {
339 struct trace_t trace = {NULL, NULL, 83, LOCATE_parser_prod___Prod___replace_with};
340 val_t variable0;
341 val_t variable1;
342 trace.prev = tracehead; tracehead = &trace;
343 trace.file = LOCATE_parser_prod;
344 variable0 = param0;
345 ((parser_prod___Prod___replace_with_t)CALL( self,COLOR_SUPER_parser_prod___Prod___replace_with))( self, param0) /*super Prod::replace_with*/;
346 variable1 = TAG_Bool(( variable0 /*n*/==NIT_NULL) || VAL_ISA( variable0 /*n*/, COLOR_Prod, ID_Prod)) /*cast Prod*/;
347 if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___Prod___replace_with, LOCATE_parser_prod, 86); nit_exit(1);}
348 variable1 = ((parser_prod___Prod___first_token_t)CALL( self,COLOR_parser_prod___Prod___first_token))( self) /*Prod::first_token*/;
349 ((parser_prod___Prod___first_token__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___Prod___first_token__eq))( variable0 /*n*/, variable1) /*Prod::first_token=*/;
350 variable1 = ((parser_prod___Prod___last_token_t)CALL( self,COLOR_parser_prod___Prod___last_token))( self) /*Prod::last_token*/;
351 ((parser_prod___Prod___last_token__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___Prod___last_token__eq))( variable0 /*n*/, variable1) /*Prod::last_token=*/;
352 tracehead = trace.prev;
353 return;
354 }
355 val_t parser_prod___Prod___line_number(val_t self) {
356 struct trace_t trace = {NULL, NULL, 91, LOCATE_parser_prod___Prod___line_number};
357 val_t variable0;
358 trace.prev = tracehead; tracehead = &trace;
359 trace.file = LOCATE_parser_prod;
360 variable0 = ((parser_prod___Prod___first_token_t)CALL( self,COLOR_parser_prod___Prod___first_token))( self) /*Prod::first_token*/;
361 variable0 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable0 == NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable0, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0, NIT_NULL /*null*/) /*Object::==*/)))))));
362 if (UNTAG_Bool(variable0)) { /*if*/
363 variable0 = ((parser_prod___Prod___first_token_t)CALL( self,COLOR_parser_prod___Prod___first_token))( self) /*Prod::first_token*/;
364 variable0 = ((lexer___Token___line_t)CALL(variable0,COLOR_lexer___Token___line))(variable0) /*Token::line*/;
365 goto return_label10;
366 } else { /*if*/
367 variable0 = TAG_Int(0);
368 goto return_label10;
369 }
370 return_label10: while(false);
371 tracehead = trace.prev;
372 return variable0;
373 }
374 void parser_prod___Visitor___visit(val_t self, val_t param0) {
375 struct trace_t trace = {NULL, NULL, 103, LOCATE_parser_prod___Visitor___visit};
376 trace.prev = tracehead; tracehead = &trace;
377 trace.file = LOCATE_parser_prod;
378 fprintf(stderr, "Deferred method %s called");
379 fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___Prod___line_number, LOCATE_parser_prod, 103);
380 nit_exit(1);
381 tracehead = trace.prev;
382 return;
383 }
384 void parser_prod___Visitor___init(val_t self, int* init_table) {
385 struct trace_t trace = {NULL, NULL, 0, LOCATE_parser_prod___Visitor___init};
386 trace.prev = tracehead; tracehead = &trace;
387 trace.file = LOCATE_parser_prod;
388 tracehead = trace.prev;
389 return;
390 }
391 void parser_prod___AModule___n_packagedecl__eq(val_t self, val_t param0) {
392 struct trace_t trace = {NULL, NULL, 110, LOCATE_parser_prod___AModule___n_packagedecl__eq};
393 val_t variable0;
394 val_t variable1;
395 trace.prev = tracehead; tracehead = &trace;
396 trace.file = LOCATE_parser_prod;
397 variable0 = param0;
398 ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/ = variable0 /*n*/;
399 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
400 if (UNTAG_Bool(variable1)) { /*if*/
401 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
402 }
403 tracehead = trace.prev;
404 return;
405 }
406 void parser_prod___AModule___empty_init(val_t self, int* init_table) {
407 struct trace_t trace = {NULL, NULL, 118, LOCATE_parser_prod___AModule___empty_init};
408 trace.prev = tracehead; tracehead = &trace;
409 trace.file = LOCATE_parser_prod;
410 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AModule].i]) return;
411 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AModule].i] = 1;
412 tracehead = trace.prev;
413 return;
414 }
415 void parser_prod___AModule___init_amodule(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
416 struct trace_t trace = {NULL, NULL, 120, LOCATE_parser_prod___AModule___init_amodule};
417 val_t variable0;
418 val_t variable1;
419 val_t variable2;
420 val_t variable3;
421 val_t variable4;
422 val_t variable5;
423 trace.prev = tracehead; tracehead = &trace;
424 trace.file = LOCATE_parser_prod;
425 variable0 = param0;
426 variable1 = param1;
427 variable2 = param2;
428 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AModule].i]) return;
429 ((parser_prod___AModule___empty_init_t)CALL( self,COLOR_parser_prod___AModule___empty_init))( self, init_table /*YYY*/) /*AModule::empty_init*/;
430 ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/ = variable0 /*n_packagedecl*/;
431 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_packagedecl*/ == NIT_NULL /*null*/) || (( variable0 /*n_packagedecl*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_packagedecl*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_packagedecl*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_packagedecl*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_packagedecl*/, NIT_NULL /*null*/) /*Object::==*/)))))));
432 if (UNTAG_Bool(variable3)) { /*if*/
433 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_packagedecl*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_packagedecl*/, self) /*PNode::parent=*/;
434 }
435 variable3 = NEW_List_list___List___init(); /*new List[PImport]*/
436 ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/ = variable3;
437 variable3 = ((array___AbstractArray___iterator_t)CALL( variable1 /*n_imports*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*n_imports*/) /*AbstractArray::iterator*/;
438 while (true) { /*for*/
439 variable4 = ((array___ArrayIterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*ArrayIterator::is_ok*/;
440 if (!UNTAG_Bool(variable4)) break; /*for*/
441 variable4 = ((array___ArrayIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ArrayIterator::item*/;
442 variable5 = TAG_Bool(( variable4 /*n*/==NIT_NULL) || VAL_ISA( variable4 /*n*/, COLOR_PImport, ID_PImport)) /*cast PImport*/;
443 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AModule___init_amodule, LOCATE_parser_prod, 133); nit_exit(1);}
444 variable5 = ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/;
445 ((abstract_collection___IndexedCollection___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5, variable4 /*n*/) /*IndexedCollection::add*/;
446 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n*/, self) /*PNode::parent=*/;
447 continue_14: while(0);
448 ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
449 }
450 break_14: while(0);
451 variable3 = NEW_List_list___List___init(); /*new List[PClassdef]*/
452 ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/ = variable3;
453 variable3 = ((array___AbstractArray___iterator_t)CALL( variable2 /*n_classdefs*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*n_classdefs*/) /*AbstractArray::iterator*/;
454 while (true) { /*for*/
455 variable4 = ((array___ArrayIterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*ArrayIterator::is_ok*/;
456 if (!UNTAG_Bool(variable4)) break; /*for*/
457 variable4 = ((array___ArrayIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ArrayIterator::item*/;
458 variable5 = TAG_Bool(( variable4 /*n*/==NIT_NULL) || VAL_ISA( variable4 /*n*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
459 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AModule___init_amodule, LOCATE_parser_prod, 139); nit_exit(1);}
460 variable5 = ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/;
461 ((abstract_collection___IndexedCollection___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5, variable4 /*n*/) /*IndexedCollection::add*/;
462 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n*/, self) /*PNode::parent=*/;
463 continue_15: while(0);
464 ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
465 }
466 break_15: while(0);
467 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AModule].i] = 1;
468 tracehead = trace.prev;
469 return;
470 }
471 void parser_prod___AModule___replace_child(val_t self, val_t param0, val_t param1) {
472 struct trace_t trace = {NULL, NULL, 145, LOCATE_parser_prod___AModule___replace_child};
473 val_t variable0;
474 val_t variable1;
475 val_t variable2;
476 val_t variable3;
477 val_t variable4;
478 trace.prev = tracehead; tracehead = &trace;
479 trace.file = LOCATE_parser_prod;
480 variable0 = param0;
481 variable1 = param1;
482 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
483 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AModule___replace_child, LOCATE_parser_prod, 147); nit_exit(1);}
484 variable2 = ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/;
485 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
486 if (UNTAG_Bool(variable2)) { /*if*/
487 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
488 if (UNTAG_Bool(variable2)) { /*if*/
489 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
490 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
491 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AModule___replace_child, LOCATE_parser_prod, 151); nit_exit(1);}
492 ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/ = variable1 /*new_child*/;
493 } else { /*if*/
494 ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/ = NIT_NULL /*null*/;
495 }
496 goto return_label16;
497 }
498 variable2 = ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/;
499 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
500 variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
501 variable2 = variable3;
502 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
503 while (true) { /*for*/
504 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
505 if (!UNTAG_Bool(variable3)) break; /*for*/
506 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
507 variable4 = ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/;
508 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
509 variable4 = TAG_Bool((variable4 == variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable0 /*old_child*/) /*Object::==*/)))));
510 if (UNTAG_Bool(variable4)) { /*if*/
511 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
512 if (UNTAG_Bool(variable4)) { /*if*/
513 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PImport, ID_PImport)) /*cast PImport*/;
514 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AModule___replace_child, LOCATE_parser_prod, 161); nit_exit(1);}
515 variable4 = ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/;
516 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
517 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
518 } else { /*if*/
519 variable4 = ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/;
520 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
521 }
522 goto return_label16;
523 }
524 continue_17: while(0);
525 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
526 }
527 break_17: while(0);
528 variable2 = ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/;
529 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
530 variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
531 variable2 = variable3;
532 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
533 while (true) { /*for*/
534 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
535 if (!UNTAG_Bool(variable3)) break; /*for*/
536 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
537 variable4 = ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/;
538 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
539 variable4 = TAG_Bool((variable4 == variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable0 /*old_child*/) /*Object::==*/)))));
540 if (UNTAG_Bool(variable4)) { /*if*/
541 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
542 if (UNTAG_Bool(variable4)) { /*if*/
543 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
544 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AModule___replace_child, LOCATE_parser_prod, 173); nit_exit(1);}
545 variable4 = ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/;
546 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
547 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
548 } else { /*if*/
549 variable4 = ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/;
550 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
551 }
552 goto return_label16;
553 }
554 continue_18: while(0);
555 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
556 }
557 break_18: while(0);
558 return_label16: while(false);
559 tracehead = trace.prev;
560 return;
561 }
562 void parser_prod___AModule___visit_all(val_t self, val_t param0) {
563 struct trace_t trace = {NULL, NULL, 184, LOCATE_parser_prod___AModule___visit_all};
564 val_t variable0;
565 val_t variable1;
566 val_t variable2;
567 trace.prev = tracehead; tracehead = &trace;
568 trace.file = LOCATE_parser_prod;
569 variable0 = param0;
570 variable1 = ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/;
571 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
572 if (UNTAG_Bool(variable1)) { /*if*/
573 variable1 = ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/;
574 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
575 }
576 variable1 = ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/;
577 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
578 while (true) { /*for*/
579 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
580 if (!UNTAG_Bool(variable2)) break; /*for*/
581 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
582 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
583 continue_20: while(0);
584 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
585 }
586 break_20: while(0);
587 variable1 = ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/;
588 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
589 while (true) { /*for*/
590 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
591 if (!UNTAG_Bool(variable2)) break; /*for*/
592 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
593 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
594 continue_21: while(0);
595 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
596 }
597 break_21: while(0);
598 tracehead = trace.prev;
599 return;
600 }
601 void parser_prod___AModule___visit_all_reverse(val_t self, val_t param0) {
602 struct trace_t trace = {NULL, NULL, 197, LOCATE_parser_prod___AModule___visit_all_reverse};
603 val_t variable0;
604 val_t variable1;
605 val_t variable2;
606 trace.prev = tracehead; tracehead = &trace;
607 trace.file = LOCATE_parser_prod;
608 variable0 = param0;
609 variable1 = ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/;
610 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
611 if (UNTAG_Bool(variable1)) { /*if*/
612 variable1 = ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/;
613 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
614 }
615 variable2 = ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/;
616 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
617 variable1 = variable2;
618 while (true) { /*while*/
619 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
620 if (!UNTAG_Bool(variable2)) break; /* while*/
621 variable2 = ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/;
622 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
623 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
624 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
625 variable1 = variable2 /*i=*/;
626 continue_23: while(0);
627 }
628 break_23: while(0);
629 variable2 = ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/;
630 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
631 variable1 = variable2;
632 while (true) { /*while*/
633 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
634 if (!UNTAG_Bool(variable2)) break; /* while*/
635 variable2 = ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/;
636 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
637 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
638 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
639 variable1 = variable2 /*i=*/;
640 continue_24: while(0);
641 }
642 break_24: while(0);
643 tracehead = trace.prev;
644 return;
645 }
646 void parser_prod___APackagedecl___n_doc__eq(val_t self, val_t param0) {
647 struct trace_t trace = {NULL, NULL, 219, LOCATE_parser_prod___APackagedecl___n_doc__eq};
648 val_t variable0;
649 val_t variable1;
650 trace.prev = tracehead; tracehead = &trace;
651 trace.file = LOCATE_parser_prod;
652 variable0 = param0;
653 ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/ = variable0 /*n*/;
654 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
655 if (UNTAG_Bool(variable1)) { /*if*/
656 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
657 }
658 tracehead = trace.prev;
659 return;
660 }
661 void parser_prod___APackagedecl___n_kwpackage__eq(val_t self, val_t param0) {
662 struct trace_t trace = {NULL, NULL, 226, LOCATE_parser_prod___APackagedecl___n_kwpackage__eq};
663 val_t variable0;
664 val_t variable1;
665 trace.prev = tracehead; tracehead = &trace;
666 trace.file = LOCATE_parser_prod;
667 variable0 = param0;
668 ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/ = variable0 /*n*/;
669 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
670 if (UNTAG_Bool(variable1)) { /*if*/
671 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
672 }
673 tracehead = trace.prev;
674 return;
675 }
676 void parser_prod___APackagedecl___n_id__eq(val_t self, val_t param0) {
677 struct trace_t trace = {NULL, NULL, 233, LOCATE_parser_prod___APackagedecl___n_id__eq};
678 val_t variable0;
679 val_t variable1;
680 trace.prev = tracehead; tracehead = &trace;
681 trace.file = LOCATE_parser_prod;
682 variable0 = param0;
683 ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/ = variable0 /*n*/;
684 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
685 if (UNTAG_Bool(variable1)) { /*if*/
686 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
687 }
688 tracehead = trace.prev;
689 return;
690 }
691 void parser_prod___APackagedecl___empty_init(val_t self, int* init_table) {
692 struct trace_t trace = {NULL, NULL, 241, LOCATE_parser_prod___APackagedecl___empty_init};
693 trace.prev = tracehead; tracehead = &trace;
694 trace.file = LOCATE_parser_prod;
695 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APackagedecl].i]) return;
696 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APackagedecl].i] = 1;
697 tracehead = trace.prev;
698 return;
699 }
700 void parser_prod___APackagedecl___init_apackagedecl(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
701 struct trace_t trace = {NULL, NULL, 243, LOCATE_parser_prod___APackagedecl___init_apackagedecl};
702 val_t variable0;
703 val_t variable1;
704 val_t variable2;
705 val_t variable3;
706 trace.prev = tracehead; tracehead = &trace;
707 trace.file = LOCATE_parser_prod;
708 variable0 = param0;
709 variable1 = param1;
710 variable2 = param2;
711 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APackagedecl].i]) return;
712 ((parser_prod___APackagedecl___empty_init_t)CALL( self,COLOR_parser_prod___APackagedecl___empty_init))( self, init_table /*YYY*/) /*APackagedecl::empty_init*/;
713 ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/ = variable0 /*n_doc*/;
714 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_doc*/ == NIT_NULL /*null*/) || (( variable0 /*n_doc*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_doc*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_doc*/, NIT_NULL /*null*/) /*Object::==*/)))))));
715 if (UNTAG_Bool(variable3)) { /*if*/
716 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/, self) /*PNode::parent=*/;
717 }
718 ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/ = variable1 /*n_kwpackage*/;
719 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwpackage*/ == NIT_NULL /*null*/) || (( variable1 /*n_kwpackage*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwpackage*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwpackage*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwpackage*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwpackage*/, NIT_NULL /*null*/) /*Object::==*/)))))));
720 if (UNTAG_Bool(variable3)) { /*if*/
721 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwpackage*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwpackage*/, self) /*PNode::parent=*/;
722 }
723 ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/ = variable2 /*n_id*/;
724 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_id*/ == NIT_NULL /*null*/) || (( variable2 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_id*/, NIT_NULL /*null*/) /*Object::==*/)))))));
725 if (UNTAG_Bool(variable3)) { /*if*/
726 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_id*/, self) /*PNode::parent=*/;
727 }
728 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APackagedecl].i] = 1;
729 tracehead = trace.prev;
730 return;
731 }
732 void parser_prod___APackagedecl___replace_child(val_t self, val_t param0, val_t param1) {
733 struct trace_t trace = {NULL, NULL, 264, LOCATE_parser_prod___APackagedecl___replace_child};
734 val_t variable0;
735 val_t variable1;
736 val_t variable2;
737 trace.prev = tracehead; tracehead = &trace;
738 trace.file = LOCATE_parser_prod;
739 variable0 = param0;
740 variable1 = param1;
741 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
742 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APackagedecl___replace_child, LOCATE_parser_prod, 266); nit_exit(1);}
743 variable2 = ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/;
744 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
745 if (UNTAG_Bool(variable2)) { /*if*/
746 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
747 if (UNTAG_Bool(variable2)) { /*if*/
748 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
749 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
750 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APackagedecl___replace_child, LOCATE_parser_prod, 270); nit_exit(1);}
751 ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/ = variable1 /*new_child*/;
752 } else { /*if*/
753 ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/ = NIT_NULL /*null*/;
754 }
755 goto return_label30;
756 }
757 variable2 = ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/;
758 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
759 if (UNTAG_Bool(variable2)) { /*if*/
760 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
761 if (UNTAG_Bool(variable2)) { /*if*/
762 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
763 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwpackage, ID_TKwpackage)) /*cast TKwpackage*/;
764 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APackagedecl___replace_child, LOCATE_parser_prod, 280); nit_exit(1);}
765 ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/ = variable1 /*new_child*/;
766 } else { /*if*/
767 ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/ = NIT_NULL /*null*/;
768 }
769 goto return_label30;
770 }
771 variable2 = ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/;
772 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
773 if (UNTAG_Bool(variable2)) { /*if*/
774 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
775 if (UNTAG_Bool(variable2)) { /*if*/
776 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
777 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
778 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APackagedecl___replace_child, LOCATE_parser_prod, 290); nit_exit(1);}
779 ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/ = variable1 /*new_child*/;
780 } else { /*if*/
781 ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/ = NIT_NULL /*null*/;
782 }
783 goto return_label30;
784 }
785 return_label30: while(false);
786 tracehead = trace.prev;
787 return;
788 }
789 void parser_prod___APackagedecl___visit_all(val_t self, val_t param0) {
790 struct trace_t trace = {NULL, NULL, 299, LOCATE_parser_prod___APackagedecl___visit_all};
791 val_t variable0;
792 val_t variable1;
793 trace.prev = tracehead; tracehead = &trace;
794 trace.file = LOCATE_parser_prod;
795 variable0 = param0;
796 variable1 = ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/;
797 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
798 if (UNTAG_Bool(variable1)) { /*if*/
799 variable1 = ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/;
800 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
801 }
802 variable1 = ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/;
803 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
804 if (UNTAG_Bool(variable1)) { /*if*/
805 variable1 = ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/;
806 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
807 }
808 variable1 = ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/;
809 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
810 if (UNTAG_Bool(variable1)) { /*if*/
811 variable1 = ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/;
812 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
813 }
814 tracehead = trace.prev;
815 return;
816 }
817 void parser_prod___APackagedecl___visit_all_reverse(val_t self, val_t param0) {
818 struct trace_t trace = {NULL, NULL, 312, LOCATE_parser_prod___APackagedecl___visit_all_reverse};
819 val_t variable0;
820 val_t variable1;
821 trace.prev = tracehead; tracehead = &trace;
822 trace.file = LOCATE_parser_prod;
823 variable0 = param0;
824 variable1 = ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/;
825 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
826 if (UNTAG_Bool(variable1)) { /*if*/
827 variable1 = ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/;
828 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
829 }
830 variable1 = ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/;
831 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
832 if (UNTAG_Bool(variable1)) { /*if*/
833 variable1 = ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/;
834 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
835 }
836 variable1 = ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/;
837 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
838 if (UNTAG_Bool(variable1)) { /*if*/
839 variable1 = ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/;
840 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
841 }
842 tracehead = trace.prev;
843 return;
844 }
845 void parser_prod___AImport___n_visibility__eq(val_t self, val_t param0) {
846 struct trace_t trace = {NULL, NULL, 326, LOCATE_parser_prod___AImport___n_visibility__eq};
847 val_t variable0;
848 val_t variable1;
849 trace.prev = tracehead; tracehead = &trace;
850 trace.file = LOCATE_parser_prod;
851 variable0 = param0;
852 ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/ = variable0 /*n*/;
853 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
854 if (UNTAG_Bool(variable1)) { /*if*/
855 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
856 }
857 tracehead = trace.prev;
858 return;
859 }
860 void parser_prod___AImport___n_kwimport__eq(val_t self, val_t param0) {
861 struct trace_t trace = {NULL, NULL, 333, LOCATE_parser_prod___AImport___n_kwimport__eq};
862 val_t variable0;
863 val_t variable1;
864 trace.prev = tracehead; tracehead = &trace;
865 trace.file = LOCATE_parser_prod;
866 variable0 = param0;
867 ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/ = variable0 /*n*/;
868 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
869 if (UNTAG_Bool(variable1)) { /*if*/
870 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
871 }
872 tracehead = trace.prev;
873 return;
874 }
875 void parser_prod___AImport___n_id__eq(val_t self, val_t param0) {
876 struct trace_t trace = {NULL, NULL, 340, LOCATE_parser_prod___AImport___n_id__eq};
877 val_t variable0;
878 val_t variable1;
879 trace.prev = tracehead; tracehead = &trace;
880 trace.file = LOCATE_parser_prod;
881 variable0 = param0;
882 ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/ = variable0 /*n*/;
883 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
884 if (UNTAG_Bool(variable1)) { /*if*/
885 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
886 }
887 tracehead = trace.prev;
888 return;
889 }
890 void parser_prod___AImport___empty_init(val_t self, int* init_table) {
891 struct trace_t trace = {NULL, NULL, 348, LOCATE_parser_prod___AImport___empty_init};
892 trace.prev = tracehead; tracehead = &trace;
893 trace.file = LOCATE_parser_prod;
894 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImport].i]) return;
895 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImport].i] = 1;
896 tracehead = trace.prev;
897 return;
898 }
899 void parser_prod___AImport___init_aimport(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
900 struct trace_t trace = {NULL, NULL, 350, LOCATE_parser_prod___AImport___init_aimport};
901 val_t variable0;
902 val_t variable1;
903 val_t variable2;
904 val_t variable3;
905 trace.prev = tracehead; tracehead = &trace;
906 trace.file = LOCATE_parser_prod;
907 variable0 = param0;
908 variable1 = param1;
909 variable2 = param2;
910 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImport].i]) return;
911 ((parser_prod___AImport___empty_init_t)CALL( self,COLOR_parser_prod___AImport___empty_init))( self, init_table /*YYY*/) /*AImport::empty_init*/;
912 ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/ = variable0 /*n_visibility*/;
913 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_visibility*/ == NIT_NULL /*null*/) || (( variable0 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_visibility*/, NIT_NULL /*null*/) /*Object::==*/)))))));
914 if (UNTAG_Bool(variable3)) { /*if*/
915 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_visibility*/, self) /*PNode::parent=*/;
916 }
917 ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/ = variable1 /*n_kwimport*/;
918 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwimport*/ == NIT_NULL /*null*/) || (( variable1 /*n_kwimport*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwimport*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwimport*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwimport*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwimport*/, NIT_NULL /*null*/) /*Object::==*/)))))));
919 if (UNTAG_Bool(variable3)) { /*if*/
920 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwimport*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwimport*/, self) /*PNode::parent=*/;
921 }
922 ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/ = variable2 /*n_id*/;
923 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_id*/ == NIT_NULL /*null*/) || (( variable2 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_id*/, NIT_NULL /*null*/) /*Object::==*/)))))));
924 if (UNTAG_Bool(variable3)) { /*if*/
925 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_id*/, self) /*PNode::parent=*/;
926 }
927 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImport].i] = 1;
928 tracehead = trace.prev;
929 return;
930 }
931 void parser_prod___AImport___replace_child(val_t self, val_t param0, val_t param1) {
932 struct trace_t trace = {NULL, NULL, 371, LOCATE_parser_prod___AImport___replace_child};
933 val_t variable0;
934 val_t variable1;
935 val_t variable2;
936 trace.prev = tracehead; tracehead = &trace;
937 trace.file = LOCATE_parser_prod;
938 variable0 = param0;
939 variable1 = param1;
940 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
941 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AImport___replace_child, LOCATE_parser_prod, 373); nit_exit(1);}
942 variable2 = ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/;
943 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
944 if (UNTAG_Bool(variable2)) { /*if*/
945 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
946 if (UNTAG_Bool(variable2)) { /*if*/
947 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
948 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
949 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AImport___replace_child, LOCATE_parser_prod, 377); nit_exit(1);}
950 ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/ = variable1 /*new_child*/;
951 } else { /*if*/
952 ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/ = NIT_NULL /*null*/;
953 }
954 goto return_label38;
955 }
956 variable2 = ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/;
957 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
958 if (UNTAG_Bool(variable2)) { /*if*/
959 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
960 if (UNTAG_Bool(variable2)) { /*if*/
961 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
962 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwimport, ID_TKwimport)) /*cast TKwimport*/;
963 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AImport___replace_child, LOCATE_parser_prod, 387); nit_exit(1);}
964 ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/ = variable1 /*new_child*/;
965 } else { /*if*/
966 ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/ = NIT_NULL /*null*/;
967 }
968 goto return_label38;
969 }
970 variable2 = ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/;
971 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
972 if (UNTAG_Bool(variable2)) { /*if*/
973 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
974 if (UNTAG_Bool(variable2)) { /*if*/
975 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
976 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
977 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AImport___replace_child, LOCATE_parser_prod, 397); nit_exit(1);}
978 ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/ = variable1 /*new_child*/;
979 } else { /*if*/
980 ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/ = NIT_NULL /*null*/;
981 }
982 goto return_label38;
983 }
984 return_label38: while(false);
985 tracehead = trace.prev;
986 return;
987 }
988 void parser_prod___AImport___visit_all(val_t self, val_t param0) {
989 struct trace_t trace = {NULL, NULL, 406, LOCATE_parser_prod___AImport___visit_all};
990 val_t variable0;
991 val_t variable1;
992 trace.prev = tracehead; tracehead = &trace;
993 trace.file = LOCATE_parser_prod;
994 variable0 = param0;
995 variable1 = ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/;
996 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
997 if (UNTAG_Bool(variable1)) { /*if*/
998 variable1 = ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/;
999 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1000 }
1001 variable1 = ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/;
1002 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
1003 if (UNTAG_Bool(variable1)) { /*if*/
1004 variable1 = ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/;
1005 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1006 }
1007 variable1 = ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/;
1008 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
1009 if (UNTAG_Bool(variable1)) { /*if*/
1010 variable1 = ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/;
1011 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1012 }
1013 tracehead = trace.prev;
1014 return;
1015 }
1016 void parser_prod___AImport___visit_all_reverse(val_t self, val_t param0) {
1017 struct trace_t trace = {NULL, NULL, 419, LOCATE_parser_prod___AImport___visit_all_reverse};
1018 val_t variable0;
1019 val_t variable1;
1020 trace.prev = tracehead; tracehead = &trace;
1021 trace.file = LOCATE_parser_prod;
1022 variable0 = param0;
1023 variable1 = ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/;
1024 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
1025 if (UNTAG_Bool(variable1)) { /*if*/
1026 variable1 = ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/;
1027 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1028 }
1029 variable1 = ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/;
1030 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
1031 if (UNTAG_Bool(variable1)) { /*if*/
1032 variable1 = ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/;
1033 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1034 }
1035 variable1 = ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/;
1036 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
1037 if (UNTAG_Bool(variable1)) { /*if*/
1038 variable1 = ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/;
1039 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1040 }
1041 tracehead = trace.prev;
1042 return;
1043 }
1044 void parser_prod___ANoImport___n_visibility__eq(val_t self, val_t param0) {
1045 struct trace_t trace = {NULL, NULL, 433, LOCATE_parser_prod___ANoImport___n_visibility__eq};
1046 val_t variable0;
1047 val_t variable1;
1048 trace.prev = tracehead; tracehead = &trace;
1049 trace.file = LOCATE_parser_prod;
1050 variable0 = param0;
1051 ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/ = variable0 /*n*/;
1052 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1053 if (UNTAG_Bool(variable1)) { /*if*/
1054 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
1055 }
1056 tracehead = trace.prev;
1057 return;
1058 }
1059 void parser_prod___ANoImport___n_kwimport__eq(val_t self, val_t param0) {
1060 struct trace_t trace = {NULL, NULL, 440, LOCATE_parser_prod___ANoImport___n_kwimport__eq};
1061 val_t variable0;
1062 val_t variable1;
1063 trace.prev = tracehead; tracehead = &trace;
1064 trace.file = LOCATE_parser_prod;
1065 variable0 = param0;
1066 ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/ = variable0 /*n*/;
1067 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1068 if (UNTAG_Bool(variable1)) { /*if*/
1069 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
1070 }
1071 tracehead = trace.prev;
1072 return;
1073 }
1074 void parser_prod___ANoImport___n_kwend__eq(val_t self, val_t param0) {
1075 struct trace_t trace = {NULL, NULL, 447, LOCATE_parser_prod___ANoImport___n_kwend__eq};
1076 val_t variable0;
1077 val_t variable1;
1078 trace.prev = tracehead; tracehead = &trace;
1079 trace.file = LOCATE_parser_prod;
1080 variable0 = param0;
1081 ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/ = variable0 /*n*/;
1082 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1083 if (UNTAG_Bool(variable1)) { /*if*/
1084 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
1085 }
1086 tracehead = trace.prev;
1087 return;
1088 }
1089 void parser_prod___ANoImport___empty_init(val_t self, int* init_table) {
1090 struct trace_t trace = {NULL, NULL, 455, LOCATE_parser_prod___ANoImport___empty_init};
1091 trace.prev = tracehead; tracehead = &trace;
1092 trace.file = LOCATE_parser_prod;
1093 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANoImport].i]) return;
1094 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANoImport].i] = 1;
1095 tracehead = trace.prev;
1096 return;
1097 }
1098 void parser_prod___ANoImport___init_anoimport(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
1099 struct trace_t trace = {NULL, NULL, 457, LOCATE_parser_prod___ANoImport___init_anoimport};
1100 val_t variable0;
1101 val_t variable1;
1102 val_t variable2;
1103 val_t variable3;
1104 trace.prev = tracehead; tracehead = &trace;
1105 trace.file = LOCATE_parser_prod;
1106 variable0 = param0;
1107 variable1 = param1;
1108 variable2 = param2;
1109 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANoImport].i]) return;
1110 ((parser_prod___ANoImport___empty_init_t)CALL( self,COLOR_parser_prod___ANoImport___empty_init))( self, init_table /*YYY*/) /*ANoImport::empty_init*/;
1111 ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/ = variable0 /*n_visibility*/;
1112 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_visibility*/ == NIT_NULL /*null*/) || (( variable0 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_visibility*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1113 if (UNTAG_Bool(variable3)) { /*if*/
1114 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_visibility*/, self) /*PNode::parent=*/;
1115 }
1116 ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/ = variable1 /*n_kwimport*/;
1117 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwimport*/ == NIT_NULL /*null*/) || (( variable1 /*n_kwimport*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwimport*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwimport*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwimport*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwimport*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1118 if (UNTAG_Bool(variable3)) { /*if*/
1119 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwimport*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwimport*/, self) /*PNode::parent=*/;
1120 }
1121 ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/ = variable2 /*n_kwend*/;
1122 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_kwend*/ == NIT_NULL /*null*/) || (( variable2 /*n_kwend*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_kwend*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_kwend*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_kwend*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_kwend*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1123 if (UNTAG_Bool(variable3)) { /*if*/
1124 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_kwend*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_kwend*/, self) /*PNode::parent=*/;
1125 }
1126 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANoImport].i] = 1;
1127 tracehead = trace.prev;
1128 return;
1129 }
1130 void parser_prod___ANoImport___replace_child(val_t self, val_t param0, val_t param1) {
1131 struct trace_t trace = {NULL, NULL, 478, LOCATE_parser_prod___ANoImport___replace_child};
1132 val_t variable0;
1133 val_t variable1;
1134 val_t variable2;
1135 trace.prev = tracehead; tracehead = &trace;
1136 trace.file = LOCATE_parser_prod;
1137 variable0 = param0;
1138 variable1 = param1;
1139 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1140 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANoImport___replace_child, LOCATE_parser_prod, 480); nit_exit(1);}
1141 variable2 = ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/;
1142 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
1143 if (UNTAG_Bool(variable2)) { /*if*/
1144 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1145 if (UNTAG_Bool(variable2)) { /*if*/
1146 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
1147 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
1148 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANoImport___replace_child, LOCATE_parser_prod, 484); nit_exit(1);}
1149 ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/ = variable1 /*new_child*/;
1150 } else { /*if*/
1151 ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/ = NIT_NULL /*null*/;
1152 }
1153 goto return_label46;
1154 }
1155 variable2 = ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/;
1156 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
1157 if (UNTAG_Bool(variable2)) { /*if*/
1158 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1159 if (UNTAG_Bool(variable2)) { /*if*/
1160 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
1161 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwimport, ID_TKwimport)) /*cast TKwimport*/;
1162 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANoImport___replace_child, LOCATE_parser_prod, 494); nit_exit(1);}
1163 ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/ = variable1 /*new_child*/;
1164 } else { /*if*/
1165 ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/ = NIT_NULL /*null*/;
1166 }
1167 goto return_label46;
1168 }
1169 variable2 = ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/;
1170 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
1171 if (UNTAG_Bool(variable2)) { /*if*/
1172 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1173 if (UNTAG_Bool(variable2)) { /*if*/
1174 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
1175 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwend, ID_TKwend)) /*cast TKwend*/;
1176 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANoImport___replace_child, LOCATE_parser_prod, 504); nit_exit(1);}
1177 ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/ = variable1 /*new_child*/;
1178 } else { /*if*/
1179 ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/ = NIT_NULL /*null*/;
1180 }
1181 goto return_label46;
1182 }
1183 return_label46: while(false);
1184 tracehead = trace.prev;
1185 return;
1186 }
1187 void parser_prod___ANoImport___visit_all(val_t self, val_t param0) {
1188 struct trace_t trace = {NULL, NULL, 513, LOCATE_parser_prod___ANoImport___visit_all};
1189 val_t variable0;
1190 val_t variable1;
1191 trace.prev = tracehead; tracehead = &trace;
1192 trace.file = LOCATE_parser_prod;
1193 variable0 = param0;
1194 variable1 = ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/;
1195 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
1196 if (UNTAG_Bool(variable1)) { /*if*/
1197 variable1 = ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/;
1198 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1199 }
1200 variable1 = ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/;
1201 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
1202 if (UNTAG_Bool(variable1)) { /*if*/
1203 variable1 = ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/;
1204 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1205 }
1206 variable1 = ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/;
1207 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
1208 if (UNTAG_Bool(variable1)) { /*if*/
1209 variable1 = ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/;
1210 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1211 }
1212 tracehead = trace.prev;
1213 return;
1214 }
1215 void parser_prod___ANoImport___visit_all_reverse(val_t self, val_t param0) {
1216 struct trace_t trace = {NULL, NULL, 526, LOCATE_parser_prod___ANoImport___visit_all_reverse};
1217 val_t variable0;
1218 val_t variable1;
1219 trace.prev = tracehead; tracehead = &trace;
1220 trace.file = LOCATE_parser_prod;
1221 variable0 = param0;
1222 variable1 = ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/;
1223 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
1224 if (UNTAG_Bool(variable1)) { /*if*/
1225 variable1 = ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/;
1226 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1227 }
1228 variable1 = ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/;
1229 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
1230 if (UNTAG_Bool(variable1)) { /*if*/
1231 variable1 = ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/;
1232 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1233 }
1234 variable1 = ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/;
1235 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
1236 if (UNTAG_Bool(variable1)) { /*if*/
1237 variable1 = ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/;
1238 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1239 }
1240 tracehead = trace.prev;
1241 return;
1242 }
1243 void parser_prod___APublicVisibility___empty_init(val_t self, int* init_table) {
1244 struct trace_t trace = {NULL, NULL, 541, LOCATE_parser_prod___APublicVisibility___empty_init};
1245 trace.prev = tracehead; tracehead = &trace;
1246 trace.file = LOCATE_parser_prod;
1247 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APublicVisibility].i]) return;
1248 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APublicVisibility].i] = 1;
1249 tracehead = trace.prev;
1250 return;
1251 }
1252 void parser_prod___APublicVisibility___init_apublicvisibility(val_t self, int* init_table) {
1253 struct trace_t trace = {NULL, NULL, 543, LOCATE_parser_prod___APublicVisibility___init_apublicvisibility};
1254 trace.prev = tracehead; tracehead = &trace;
1255 trace.file = LOCATE_parser_prod;
1256 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APublicVisibility].i]) return;
1257 ((parser_prod___APublicVisibility___empty_init_t)CALL( self,COLOR_parser_prod___APublicVisibility___empty_init))( self, init_table /*YYY*/) /*APublicVisibility::empty_init*/;
1258 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APublicVisibility].i] = 1;
1259 tracehead = trace.prev;
1260 return;
1261 }
1262 void parser_prod___APublicVisibility___replace_child(val_t self, val_t param0, val_t param1) {
1263 struct trace_t trace = {NULL, NULL, 548, LOCATE_parser_prod___APublicVisibility___replace_child};
1264 val_t variable0;
1265 val_t variable1;
1266 val_t variable2;
1267 trace.prev = tracehead; tracehead = &trace;
1268 trace.file = LOCATE_parser_prod;
1269 variable0 = param0;
1270 variable1 = param1;
1271 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1272 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APublicVisibility___replace_child, LOCATE_parser_prod, 550); nit_exit(1);}
1273 tracehead = trace.prev;
1274 return;
1275 }
1276 void parser_prod___APublicVisibility___visit_all(val_t self, val_t param0) {
1277 struct trace_t trace = {NULL, NULL, 553, LOCATE_parser_prod___APublicVisibility___visit_all};
1278 val_t variable0;
1279 trace.prev = tracehead; tracehead = &trace;
1280 trace.file = LOCATE_parser_prod;
1281 variable0 = param0;
1282 tracehead = trace.prev;
1283 return;
1284 }
1285 void parser_prod___APublicVisibility___visit_all_reverse(val_t self, val_t param0) {
1286 struct trace_t trace = {NULL, NULL, 557, LOCATE_parser_prod___APublicVisibility___visit_all_reverse};
1287 val_t variable0;
1288 trace.prev = tracehead; tracehead = &trace;
1289 trace.file = LOCATE_parser_prod;
1290 variable0 = param0;
1291 tracehead = trace.prev;
1292 return;
1293 }
1294 void parser_prod___APrivateVisibility___n_kwprivate__eq(val_t self, val_t param0) {
1295 struct trace_t trace = {NULL, NULL, 562, LOCATE_parser_prod___APrivateVisibility___n_kwprivate__eq};
1296 val_t variable0;
1297 val_t variable1;
1298 trace.prev = tracehead; tracehead = &trace;
1299 trace.file = LOCATE_parser_prod;
1300 variable0 = param0;
1301 ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/ = variable0 /*n*/;
1302 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1303 if (UNTAG_Bool(variable1)) { /*if*/
1304 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
1305 }
1306 tracehead = trace.prev;
1307 return;
1308 }
1309 void parser_prod___APrivateVisibility___empty_init(val_t self, int* init_table) {
1310 struct trace_t trace = {NULL, NULL, 570, LOCATE_parser_prod___APrivateVisibility___empty_init};
1311 trace.prev = tracehead; tracehead = &trace;
1312 trace.file = LOCATE_parser_prod;
1313 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APrivateVisibility].i]) return;
1314 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APrivateVisibility].i] = 1;
1315 tracehead = trace.prev;
1316 return;
1317 }
1318 void parser_prod___APrivateVisibility___init_aprivatevisibility(val_t self, val_t param0, int* init_table) {
1319 struct trace_t trace = {NULL, NULL, 572, LOCATE_parser_prod___APrivateVisibility___init_aprivatevisibility};
1320 val_t variable0;
1321 val_t variable1;
1322 trace.prev = tracehead; tracehead = &trace;
1323 trace.file = LOCATE_parser_prod;
1324 variable0 = param0;
1325 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APrivateVisibility].i]) return;
1326 ((parser_prod___APrivateVisibility___empty_init_t)CALL( self,COLOR_parser_prod___APrivateVisibility___empty_init))( self, init_table /*YYY*/) /*APrivateVisibility::empty_init*/;
1327 ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/ = variable0 /*n_kwprivate*/;
1328 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwprivate*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwprivate*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwprivate*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwprivate*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwprivate*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwprivate*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1329 if (UNTAG_Bool(variable1)) { /*if*/
1330 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwprivate*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwprivate*/, self) /*PNode::parent=*/;
1331 }
1332 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APrivateVisibility].i] = 1;
1333 tracehead = trace.prev;
1334 return;
1335 }
1336 void parser_prod___APrivateVisibility___replace_child(val_t self, val_t param0, val_t param1) {
1337 struct trace_t trace = {NULL, NULL, 583, LOCATE_parser_prod___APrivateVisibility___replace_child};
1338 val_t variable0;
1339 val_t variable1;
1340 val_t variable2;
1341 trace.prev = tracehead; tracehead = &trace;
1342 trace.file = LOCATE_parser_prod;
1343 variable0 = param0;
1344 variable1 = param1;
1345 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1346 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APrivateVisibility___replace_child, LOCATE_parser_prod, 585); nit_exit(1);}
1347 variable2 = ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/;
1348 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
1349 if (UNTAG_Bool(variable2)) { /*if*/
1350 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1351 if (UNTAG_Bool(variable2)) { /*if*/
1352 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
1353 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwprivate, ID_TKwprivate)) /*cast TKwprivate*/;
1354 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APrivateVisibility___replace_child, LOCATE_parser_prod, 589); nit_exit(1);}
1355 ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/ = variable1 /*new_child*/;
1356 } else { /*if*/
1357 ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/ = NIT_NULL /*null*/;
1358 }
1359 goto return_label57;
1360 }
1361 return_label57: while(false);
1362 tracehead = trace.prev;
1363 return;
1364 }
1365 void parser_prod___APrivateVisibility___visit_all(val_t self, val_t param0) {
1366 struct trace_t trace = {NULL, NULL, 598, LOCATE_parser_prod___APrivateVisibility___visit_all};
1367 val_t variable0;
1368 val_t variable1;
1369 trace.prev = tracehead; tracehead = &trace;
1370 trace.file = LOCATE_parser_prod;
1371 variable0 = param0;
1372 variable1 = ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/;
1373 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
1374 if (UNTAG_Bool(variable1)) { /*if*/
1375 variable1 = ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/;
1376 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1377 }
1378 tracehead = trace.prev;
1379 return;
1380 }
1381 void parser_prod___APrivateVisibility___visit_all_reverse(val_t self, val_t param0) {
1382 struct trace_t trace = {NULL, NULL, 605, LOCATE_parser_prod___APrivateVisibility___visit_all_reverse};
1383 val_t variable0;
1384 val_t variable1;
1385 trace.prev = tracehead; tracehead = &trace;
1386 trace.file = LOCATE_parser_prod;
1387 variable0 = param0;
1388 variable1 = ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/;
1389 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
1390 if (UNTAG_Bool(variable1)) { /*if*/
1391 variable1 = ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/;
1392 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1393 }
1394 tracehead = trace.prev;
1395 return;
1396 }
1397 void parser_prod___AProtectedVisibility___n_kwprotected__eq(val_t self, val_t param0) {
1398 struct trace_t trace = {NULL, NULL, 613, LOCATE_parser_prod___AProtectedVisibility___n_kwprotected__eq};
1399 val_t variable0;
1400 val_t variable1;
1401 trace.prev = tracehead; tracehead = &trace;
1402 trace.file = LOCATE_parser_prod;
1403 variable0 = param0;
1404 ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/ = variable0 /*n*/;
1405 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1406 if (UNTAG_Bool(variable1)) { /*if*/
1407 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
1408 }
1409 tracehead = trace.prev;
1410 return;
1411 }
1412 void parser_prod___AProtectedVisibility___empty_init(val_t self, int* init_table) {
1413 struct trace_t trace = {NULL, NULL, 621, LOCATE_parser_prod___AProtectedVisibility___empty_init};
1414 trace.prev = tracehead; tracehead = &trace;
1415 trace.file = LOCATE_parser_prod;
1416 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AProtectedVisibility].i]) return;
1417 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AProtectedVisibility].i] = 1;
1418 tracehead = trace.prev;
1419 return;
1420 }
1421 void parser_prod___AProtectedVisibility___init_aprotectedvisibility(val_t self, val_t param0, int* init_table) {
1422 struct trace_t trace = {NULL, NULL, 623, LOCATE_parser_prod___AProtectedVisibility___init_aprotectedvisibility};
1423 val_t variable0;
1424 val_t variable1;
1425 trace.prev = tracehead; tracehead = &trace;
1426 trace.file = LOCATE_parser_prod;
1427 variable0 = param0;
1428 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AProtectedVisibility].i]) return;
1429 ((parser_prod___AProtectedVisibility___empty_init_t)CALL( self,COLOR_parser_prod___AProtectedVisibility___empty_init))( self, init_table /*YYY*/) /*AProtectedVisibility::empty_init*/;
1430 ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/ = variable0 /*n_kwprotected*/;
1431 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwprotected*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwprotected*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwprotected*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwprotected*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwprotected*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwprotected*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1432 if (UNTAG_Bool(variable1)) { /*if*/
1433 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwprotected*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwprotected*/, self) /*PNode::parent=*/;
1434 }
1435 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AProtectedVisibility].i] = 1;
1436 tracehead = trace.prev;
1437 return;
1438 }
1439 void parser_prod___AProtectedVisibility___replace_child(val_t self, val_t param0, val_t param1) {
1440 struct trace_t trace = {NULL, NULL, 634, LOCATE_parser_prod___AProtectedVisibility___replace_child};
1441 val_t variable0;
1442 val_t variable1;
1443 val_t variable2;
1444 trace.prev = tracehead; tracehead = &trace;
1445 trace.file = LOCATE_parser_prod;
1446 variable0 = param0;
1447 variable1 = param1;
1448 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1449 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AProtectedVisibility___replace_child, LOCATE_parser_prod, 636); nit_exit(1);}
1450 variable2 = ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/;
1451 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
1452 if (UNTAG_Bool(variable2)) { /*if*/
1453 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1454 if (UNTAG_Bool(variable2)) { /*if*/
1455 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
1456 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwprotected, ID_TKwprotected)) /*cast TKwprotected*/;
1457 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AProtectedVisibility___replace_child, LOCATE_parser_prod, 640); nit_exit(1);}
1458 ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/ = variable1 /*new_child*/;
1459 } else { /*if*/
1460 ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/ = NIT_NULL /*null*/;
1461 }
1462 goto return_label63;
1463 }
1464 return_label63: while(false);
1465 tracehead = trace.prev;
1466 return;
1467 }
1468 void parser_prod___AProtectedVisibility___visit_all(val_t self, val_t param0) {
1469 struct trace_t trace = {NULL, NULL, 649, LOCATE_parser_prod___AProtectedVisibility___visit_all};
1470 val_t variable0;
1471 val_t variable1;
1472 trace.prev = tracehead; tracehead = &trace;
1473 trace.file = LOCATE_parser_prod;
1474 variable0 = param0;
1475 variable1 = ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/;
1476 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
1477 if (UNTAG_Bool(variable1)) { /*if*/
1478 variable1 = ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/;
1479 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1480 }
1481 tracehead = trace.prev;
1482 return;
1483 }
1484 void parser_prod___AProtectedVisibility___visit_all_reverse(val_t self, val_t param0) {
1485 struct trace_t trace = {NULL, NULL, 656, LOCATE_parser_prod___AProtectedVisibility___visit_all_reverse};
1486 val_t variable0;
1487 val_t variable1;
1488 trace.prev = tracehead; tracehead = &trace;
1489 trace.file = LOCATE_parser_prod;
1490 variable0 = param0;
1491 variable1 = ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/;
1492 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
1493 if (UNTAG_Bool(variable1)) { /*if*/
1494 variable1 = ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/;
1495 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1496 }
1497 tracehead = trace.prev;
1498 return;
1499 }
1500 void parser_prod___AIntrudeVisibility___n_kwintrude__eq(val_t self, val_t param0) {
1501 struct trace_t trace = {NULL, NULL, 664, LOCATE_parser_prod___AIntrudeVisibility___n_kwintrude__eq};
1502 val_t variable0;
1503 val_t variable1;
1504 trace.prev = tracehead; tracehead = &trace;
1505 trace.file = LOCATE_parser_prod;
1506 variable0 = param0;
1507 ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/ = variable0 /*n*/;
1508 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1509 if (UNTAG_Bool(variable1)) { /*if*/
1510 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
1511 }
1512 tracehead = trace.prev;
1513 return;
1514 }
1515 void parser_prod___AIntrudeVisibility___empty_init(val_t self, int* init_table) {
1516 struct trace_t trace = {NULL, NULL, 672, LOCATE_parser_prod___AIntrudeVisibility___empty_init};
1517 trace.prev = tracehead; tracehead = &trace;
1518 trace.file = LOCATE_parser_prod;
1519 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntrudeVisibility].i]) return;
1520 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntrudeVisibility].i] = 1;
1521 tracehead = trace.prev;
1522 return;
1523 }
1524 void parser_prod___AIntrudeVisibility___init_aintrudevisibility(val_t self, val_t param0, int* init_table) {
1525 struct trace_t trace = {NULL, NULL, 674, LOCATE_parser_prod___AIntrudeVisibility___init_aintrudevisibility};
1526 val_t variable0;
1527 val_t variable1;
1528 trace.prev = tracehead; tracehead = &trace;
1529 trace.file = LOCATE_parser_prod;
1530 variable0 = param0;
1531 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntrudeVisibility].i]) return;
1532 ((parser_prod___AIntrudeVisibility___empty_init_t)CALL( self,COLOR_parser_prod___AIntrudeVisibility___empty_init))( self, init_table /*YYY*/) /*AIntrudeVisibility::empty_init*/;
1533 ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/ = variable0 /*n_kwintrude*/;
1534 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwintrude*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwintrude*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwintrude*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwintrude*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwintrude*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwintrude*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1535 if (UNTAG_Bool(variable1)) { /*if*/
1536 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwintrude*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwintrude*/, self) /*PNode::parent=*/;
1537 }
1538 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntrudeVisibility].i] = 1;
1539 tracehead = trace.prev;
1540 return;
1541 }
1542 void parser_prod___AIntrudeVisibility___replace_child(val_t self, val_t param0, val_t param1) {
1543 struct trace_t trace = {NULL, NULL, 685, LOCATE_parser_prod___AIntrudeVisibility___replace_child};
1544 val_t variable0;
1545 val_t variable1;
1546 val_t variable2;
1547 trace.prev = tracehead; tracehead = &trace;
1548 trace.file = LOCATE_parser_prod;
1549 variable0 = param0;
1550 variable1 = param1;
1551 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1552 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIntrudeVisibility___replace_child, LOCATE_parser_prod, 687); nit_exit(1);}
1553 variable2 = ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/;
1554 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
1555 if (UNTAG_Bool(variable2)) { /*if*/
1556 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1557 if (UNTAG_Bool(variable2)) { /*if*/
1558 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
1559 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwintrude, ID_TKwintrude)) /*cast TKwintrude*/;
1560 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIntrudeVisibility___replace_child, LOCATE_parser_prod, 691); nit_exit(1);}
1561 ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/ = variable1 /*new_child*/;
1562 } else { /*if*/
1563 ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/ = NIT_NULL /*null*/;
1564 }
1565 goto return_label69;
1566 }
1567 return_label69: while(false);
1568 tracehead = trace.prev;
1569 return;
1570 }
1571 void parser_prod___AIntrudeVisibility___visit_all(val_t self, val_t param0) {
1572 struct trace_t trace = {NULL, NULL, 700, LOCATE_parser_prod___AIntrudeVisibility___visit_all};
1573 val_t variable0;
1574 val_t variable1;
1575 trace.prev = tracehead; tracehead = &trace;
1576 trace.file = LOCATE_parser_prod;
1577 variable0 = param0;
1578 variable1 = ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/;
1579 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
1580 if (UNTAG_Bool(variable1)) { /*if*/
1581 variable1 = ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/;
1582 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1583 }
1584 tracehead = trace.prev;
1585 return;
1586 }
1587 void parser_prod___AIntrudeVisibility___visit_all_reverse(val_t self, val_t param0) {
1588 struct trace_t trace = {NULL, NULL, 707, LOCATE_parser_prod___AIntrudeVisibility___visit_all_reverse};
1589 val_t variable0;
1590 val_t variable1;
1591 trace.prev = tracehead; tracehead = &trace;
1592 trace.file = LOCATE_parser_prod;
1593 variable0 = param0;
1594 variable1 = ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/;
1595 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
1596 if (UNTAG_Bool(variable1)) { /*if*/
1597 variable1 = ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/;
1598 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1599 }
1600 tracehead = trace.prev;
1601 return;
1602 }
1603 void parser_prod___AClassdef___n_doc__eq(val_t self, val_t param0) {
1604 struct trace_t trace = {NULL, NULL, 715, LOCATE_parser_prod___AClassdef___n_doc__eq};
1605 val_t variable0;
1606 val_t variable1;
1607 trace.prev = tracehead; tracehead = &trace;
1608 trace.file = LOCATE_parser_prod;
1609 variable0 = param0;
1610 ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/ = variable0 /*n*/;
1611 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1612 if (UNTAG_Bool(variable1)) { /*if*/
1613 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
1614 }
1615 tracehead = trace.prev;
1616 return;
1617 }
1618 void parser_prod___AClassdef___n_kwredef__eq(val_t self, val_t param0) {
1619 struct trace_t trace = {NULL, NULL, 722, LOCATE_parser_prod___AClassdef___n_kwredef__eq};
1620 val_t variable0;
1621 val_t variable1;
1622 trace.prev = tracehead; tracehead = &trace;
1623 trace.file = LOCATE_parser_prod;
1624 variable0 = param0;
1625 ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/ = variable0 /*n*/;
1626 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1627 if (UNTAG_Bool(variable1)) { /*if*/
1628 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
1629 }
1630 tracehead = trace.prev;
1631 return;
1632 }
1633 void parser_prod___AClassdef___n_visibility__eq(val_t self, val_t param0) {
1634 struct trace_t trace = {NULL, NULL, 729, LOCATE_parser_prod___AClassdef___n_visibility__eq};
1635 val_t variable0;
1636 val_t variable1;
1637 trace.prev = tracehead; tracehead = &trace;
1638 trace.file = LOCATE_parser_prod;
1639 variable0 = param0;
1640 ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/ = variable0 /*n*/;
1641 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1642 if (UNTAG_Bool(variable1)) { /*if*/
1643 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
1644 }
1645 tracehead = trace.prev;
1646 return;
1647 }
1648 void parser_prod___AClassdef___n_classkind__eq(val_t self, val_t param0) {
1649 struct trace_t trace = {NULL, NULL, 736, LOCATE_parser_prod___AClassdef___n_classkind__eq};
1650 val_t variable0;
1651 val_t variable1;
1652 trace.prev = tracehead; tracehead = &trace;
1653 trace.file = LOCATE_parser_prod;
1654 variable0 = param0;
1655 ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/ = variable0 /*n*/;
1656 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1657 if (UNTAG_Bool(variable1)) { /*if*/
1658 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
1659 }
1660 tracehead = trace.prev;
1661 return;
1662 }
1663 void parser_prod___AClassdef___n_id__eq(val_t self, val_t param0) {
1664 struct trace_t trace = {NULL, NULL, 743, LOCATE_parser_prod___AClassdef___n_id__eq};
1665 val_t variable0;
1666 val_t variable1;
1667 trace.prev = tracehead; tracehead = &trace;
1668 trace.file = LOCATE_parser_prod;
1669 variable0 = param0;
1670 ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/ = variable0 /*n*/;
1671 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1672 if (UNTAG_Bool(variable1)) { /*if*/
1673 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
1674 }
1675 tracehead = trace.prev;
1676 return;
1677 }
1678 void parser_prod___AClassdef___empty_init(val_t self, int* init_table) {
1679 struct trace_t trace = {NULL, NULL, 751, LOCATE_parser_prod___AClassdef___empty_init};
1680 trace.prev = tracehead; tracehead = &trace;
1681 trace.file = LOCATE_parser_prod;
1682 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AClassdef].i]) return;
1683 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AClassdef].i] = 1;
1684 tracehead = trace.prev;
1685 return;
1686 }
1687 void parser_prod___AClassdef___init_aclassdef(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, val_t param4, val_t param5, val_t param6, val_t param7, int* init_table) {
1688 struct trace_t trace = {NULL, NULL, 753, LOCATE_parser_prod___AClassdef___init_aclassdef};
1689 val_t variable0;
1690 val_t variable1;
1691 val_t variable2;
1692 val_t variable3;
1693 val_t variable4;
1694 val_t variable5;
1695 val_t variable6;
1696 val_t variable7;
1697 val_t variable8;
1698 val_t variable9;
1699 val_t variable10;
1700 trace.prev = tracehead; tracehead = &trace;
1701 trace.file = LOCATE_parser_prod;
1702 variable0 = param0;
1703 variable1 = param1;
1704 variable2 = param2;
1705 variable3 = param3;
1706 variable4 = param4;
1707 variable5 = param5;
1708 variable6 = param6;
1709 variable7 = param7;
1710 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AClassdef].i]) return;
1711 ((parser_prod___AClassdef___empty_init_t)CALL( self,COLOR_parser_prod___AClassdef___empty_init))( self, init_table /*YYY*/) /*AClassdef::empty_init*/;
1712 ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/ = variable0 /*n_doc*/;
1713 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_doc*/ == NIT_NULL /*null*/) || (( variable0 /*n_doc*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_doc*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_doc*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1714 if (UNTAG_Bool(variable8)) { /*if*/
1715 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/, self) /*PNode::parent=*/;
1716 }
1717 ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/ = variable1 /*n_kwredef*/;
1718 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwredef*/ == NIT_NULL /*null*/) || (( variable1 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwredef*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1719 if (UNTAG_Bool(variable8)) { /*if*/
1720 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/, self) /*PNode::parent=*/;
1721 }
1722 ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/ = variable2 /*n_visibility*/;
1723 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_visibility*/ == NIT_NULL /*null*/) || (( variable2 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_visibility*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1724 if (UNTAG_Bool(variable8)) { /*if*/
1725 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/, self) /*PNode::parent=*/;
1726 }
1727 ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/ = variable3 /*n_classkind*/;
1728 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_classkind*/ == NIT_NULL /*null*/) || (( variable3 /*n_classkind*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_classkind*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_classkind*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_classkind*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_classkind*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1729 if (UNTAG_Bool(variable8)) { /*if*/
1730 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_classkind*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_classkind*/, self) /*PNode::parent=*/;
1731 }
1732 ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/ = variable4 /*n_id*/;
1733 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_id*/ == NIT_NULL /*null*/) || (( variable4 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_id*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1734 if (UNTAG_Bool(variable8)) { /*if*/
1735 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_id*/, self) /*PNode::parent=*/;
1736 }
1737 variable8 = NEW_List_list___List___init(); /*new List[PFormaldef]*/
1738 ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/ = variable8;
1739 variable8 = ((array___AbstractArray___iterator_t)CALL( variable5 /*n_formaldefs*/,COLOR_abstract_collection___Collection___iterator))( variable5 /*n_formaldefs*/) /*AbstractArray::iterator*/;
1740 while (true) { /*for*/
1741 variable9 = ((array___ArrayIterator___is_ok_t)CALL(variable8,COLOR_abstract_collection___Iterator___is_ok))(variable8) /*ArrayIterator::is_ok*/;
1742 if (!UNTAG_Bool(variable9)) break; /*for*/
1743 variable9 = ((array___ArrayIterator___item_t)CALL(variable8,COLOR_abstract_collection___Iterator___item))(variable8) /*ArrayIterator::item*/;
1744 variable10 = TAG_Bool(( variable9 /*n*/==NIT_NULL) || VAL_ISA( variable9 /*n*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
1745 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___init_aclassdef, LOCATE_parser_prod, 787); nit_exit(1);}
1746 variable10 = ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/;
1747 ((abstract_collection___IndexedCollection___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10, variable9 /*n*/) /*IndexedCollection::add*/;
1748 ((parser_prod___PNode___parent__eq_t)CALL( variable9 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable9 /*n*/, self) /*PNode::parent=*/;
1749 continue_79: while(0);
1750 ((array___ArrayIterator___next_t)CALL(variable8,COLOR_abstract_collection___Iterator___next))(variable8) /*ArrayIterator::next*/;
1751 }
1752 break_79: while(0);
1753 variable8 = NEW_List_list___List___init(); /*new List[PSuperclass]*/
1754 ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/ = variable8;
1755 variable8 = ((array___AbstractArray___iterator_t)CALL( variable6 /*n_superclasses*/,COLOR_abstract_collection___Collection___iterator))( variable6 /*n_superclasses*/) /*AbstractArray::iterator*/;
1756 while (true) { /*for*/
1757 variable9 = ((array___ArrayIterator___is_ok_t)CALL(variable8,COLOR_abstract_collection___Iterator___is_ok))(variable8) /*ArrayIterator::is_ok*/;
1758 if (!UNTAG_Bool(variable9)) break; /*for*/
1759 variable9 = ((array___ArrayIterator___item_t)CALL(variable8,COLOR_abstract_collection___Iterator___item))(variable8) /*ArrayIterator::item*/;
1760 variable10 = TAG_Bool(( variable9 /*n*/==NIT_NULL) || VAL_ISA( variable9 /*n*/, COLOR_PSuperclass, ID_PSuperclass)) /*cast PSuperclass*/;
1761 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___init_aclassdef, LOCATE_parser_prod, 793); nit_exit(1);}
1762 variable10 = ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/;
1763 ((abstract_collection___IndexedCollection___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10, variable9 /*n*/) /*IndexedCollection::add*/;
1764 ((parser_prod___PNode___parent__eq_t)CALL( variable9 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable9 /*n*/, self) /*PNode::parent=*/;
1765 continue_80: while(0);
1766 ((array___ArrayIterator___next_t)CALL(variable8,COLOR_abstract_collection___Iterator___next))(variable8) /*ArrayIterator::next*/;
1767 }
1768 break_80: while(0);
1769 variable8 = NEW_List_list___List___init(); /*new List[PPropdef]*/
1770 ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/ = variable8;
1771 variable8 = ((array___AbstractArray___iterator_t)CALL( variable7 /*n_propdefs*/,COLOR_abstract_collection___Collection___iterator))( variable7 /*n_propdefs*/) /*AbstractArray::iterator*/;
1772 while (true) { /*for*/
1773 variable9 = ((array___ArrayIterator___is_ok_t)CALL(variable8,COLOR_abstract_collection___Iterator___is_ok))(variable8) /*ArrayIterator::is_ok*/;
1774 if (!UNTAG_Bool(variable9)) break; /*for*/
1775 variable9 = ((array___ArrayIterator___item_t)CALL(variable8,COLOR_abstract_collection___Iterator___item))(variable8) /*ArrayIterator::item*/;
1776 variable10 = TAG_Bool(( variable9 /*n*/==NIT_NULL) || VAL_ISA( variable9 /*n*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
1777 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___init_aclassdef, LOCATE_parser_prod, 799); nit_exit(1);}
1778 variable10 = ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/;
1779 ((abstract_collection___IndexedCollection___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10, variable9 /*n*/) /*IndexedCollection::add*/;
1780 ((parser_prod___PNode___parent__eq_t)CALL( variable9 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable9 /*n*/, self) /*PNode::parent=*/;
1781 continue_81: while(0);
1782 ((array___ArrayIterator___next_t)CALL(variable8,COLOR_abstract_collection___Iterator___next))(variable8) /*ArrayIterator::next*/;
1783 }
1784 break_81: while(0);
1785 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AClassdef].i] = 1;
1786 tracehead = trace.prev;
1787 return;
1788 }
1789 void parser_prod___AClassdef___replace_child(val_t self, val_t param0, val_t param1) {
1790 struct trace_t trace = {NULL, NULL, 805, LOCATE_parser_prod___AClassdef___replace_child};
1791 val_t variable0;
1792 val_t variable1;
1793 val_t variable2;
1794 val_t variable3;
1795 val_t variable4;
1796 trace.prev = tracehead; tracehead = &trace;
1797 trace.file = LOCATE_parser_prod;
1798 variable0 = param0;
1799 variable1 = param1;
1800 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1801 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 807); nit_exit(1);}
1802 variable2 = ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/;
1803 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
1804 if (UNTAG_Bool(variable2)) { /*if*/
1805 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1806 if (UNTAG_Bool(variable2)) { /*if*/
1807 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
1808 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
1809 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 811); nit_exit(1);}
1810 ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/ = variable1 /*new_child*/;
1811 } else { /*if*/
1812 ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/ = NIT_NULL /*null*/;
1813 }
1814 goto return_label82;
1815 }
1816 variable2 = ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/;
1817 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
1818 if (UNTAG_Bool(variable2)) { /*if*/
1819 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1820 if (UNTAG_Bool(variable2)) { /*if*/
1821 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
1822 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
1823 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 821); nit_exit(1);}
1824 ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/ = variable1 /*new_child*/;
1825 } else { /*if*/
1826 ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/ = NIT_NULL /*null*/;
1827 }
1828 goto return_label82;
1829 }
1830 variable2 = ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/;
1831 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
1832 if (UNTAG_Bool(variable2)) { /*if*/
1833 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1834 if (UNTAG_Bool(variable2)) { /*if*/
1835 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
1836 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
1837 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 831); nit_exit(1);}
1838 ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/ = variable1 /*new_child*/;
1839 } else { /*if*/
1840 ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/ = NIT_NULL /*null*/;
1841 }
1842 goto return_label82;
1843 }
1844 variable2 = ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/;
1845 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
1846 if (UNTAG_Bool(variable2)) { /*if*/
1847 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1848 if (UNTAG_Bool(variable2)) { /*if*/
1849 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
1850 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
1851 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 841); nit_exit(1);}
1852 ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/ = variable1 /*new_child*/;
1853 } else { /*if*/
1854 ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/ = NIT_NULL /*null*/;
1855 }
1856 goto return_label82;
1857 }
1858 variable2 = ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/;
1859 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
1860 if (UNTAG_Bool(variable2)) { /*if*/
1861 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1862 if (UNTAG_Bool(variable2)) { /*if*/
1863 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
1864 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
1865 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 851); nit_exit(1);}
1866 ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/ = variable1 /*new_child*/;
1867 } else { /*if*/
1868 ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/ = NIT_NULL /*null*/;
1869 }
1870 goto return_label82;
1871 }
1872 variable2 = ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/;
1873 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
1874 variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
1875 variable2 = variable3;
1876 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
1877 while (true) { /*for*/
1878 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
1879 if (!UNTAG_Bool(variable3)) break; /*for*/
1880 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
1881 variable4 = ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/;
1882 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
1883 variable4 = TAG_Bool((variable4 == variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable0 /*old_child*/) /*Object::==*/)))));
1884 if (UNTAG_Bool(variable4)) { /*if*/
1885 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1886 if (UNTAG_Bool(variable4)) { /*if*/
1887 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
1888 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 861); nit_exit(1);}
1889 variable4 = ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/;
1890 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
1891 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
1892 } else { /*if*/
1893 variable4 = ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/;
1894 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
1895 }
1896 goto return_label82;
1897 }
1898 continue_83: while(0);
1899 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
1900 }
1901 break_83: while(0);
1902 variable2 = ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/;
1903 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
1904 variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
1905 variable2 = variable3;
1906 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
1907 while (true) { /*for*/
1908 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
1909 if (!UNTAG_Bool(variable3)) break; /*for*/
1910 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
1911 variable4 = ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/;
1912 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
1913 variable4 = TAG_Bool((variable4 == variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable0 /*old_child*/) /*Object::==*/)))));
1914 if (UNTAG_Bool(variable4)) { /*if*/
1915 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1916 if (UNTAG_Bool(variable4)) { /*if*/
1917 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PSuperclass, ID_PSuperclass)) /*cast PSuperclass*/;
1918 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 873); nit_exit(1);}
1919 variable4 = ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/;
1920 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
1921 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
1922 } else { /*if*/
1923 variable4 = ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/;
1924 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
1925 }
1926 goto return_label82;
1927 }
1928 continue_84: while(0);
1929 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
1930 }
1931 break_84: while(0);
1932 variable2 = ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/;
1933 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
1934 variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
1935 variable2 = variable3;
1936 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
1937 while (true) { /*for*/
1938 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
1939 if (!UNTAG_Bool(variable3)) break; /*for*/
1940 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
1941 variable4 = ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/;
1942 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
1943 variable4 = TAG_Bool((variable4 == variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable0 /*old_child*/) /*Object::==*/)))));
1944 if (UNTAG_Bool(variable4)) { /*if*/
1945 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1946 if (UNTAG_Bool(variable4)) { /*if*/
1947 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
1948 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AClassdef___replace_child, LOCATE_parser_prod, 885); nit_exit(1);}
1949 variable4 = ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/;
1950 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
1951 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
1952 } else { /*if*/
1953 variable4 = ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/;
1954 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
1955 }
1956 goto return_label82;
1957 }
1958 continue_85: while(0);
1959 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
1960 }
1961 break_85: while(0);
1962 return_label82: while(false);
1963 tracehead = trace.prev;
1964 return;
1965 }
1966 void parser_prod___AClassdef___visit_all(val_t self, val_t param0) {
1967 struct trace_t trace = {NULL, NULL, 896, LOCATE_parser_prod___AClassdef___visit_all};
1968 val_t variable0;
1969 val_t variable1;
1970 val_t variable2;
1971 trace.prev = tracehead; tracehead = &trace;
1972 trace.file = LOCATE_parser_prod;
1973 variable0 = param0;
1974 variable1 = ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/;
1975 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
1976 if (UNTAG_Bool(variable1)) { /*if*/
1977 variable1 = ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/;
1978 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1979 }
1980 variable1 = ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/;
1981 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
1982 if (UNTAG_Bool(variable1)) { /*if*/
1983 variable1 = ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/;
1984 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1985 }
1986 variable1 = ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/;
1987 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
1988 if (UNTAG_Bool(variable1)) { /*if*/
1989 variable1 = ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/;
1990 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1991 }
1992 variable1 = ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/;
1993 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
1994 if (UNTAG_Bool(variable1)) { /*if*/
1995 variable1 = ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/;
1996 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1997 }
1998 variable1 = ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/;
1999 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
2000 if (UNTAG_Bool(variable1)) { /*if*/
2001 variable1 = ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/;
2002 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2003 }
2004 variable1 = ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/;
2005 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
2006 while (true) { /*for*/
2007 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
2008 if (!UNTAG_Bool(variable2)) break; /*for*/
2009 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
2010 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
2011 continue_87: while(0);
2012 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
2013 }
2014 break_87: while(0);
2015 variable1 = ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/;
2016 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
2017 while (true) { /*for*/
2018 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
2019 if (!UNTAG_Bool(variable2)) break; /*for*/
2020 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
2021 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
2022 continue_88: while(0);
2023 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
2024 }
2025 break_88: while(0);
2026 variable1 = ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/;
2027 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
2028 while (true) { /*for*/
2029 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
2030 if (!UNTAG_Bool(variable2)) break; /*for*/
2031 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
2032 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
2033 continue_89: while(0);
2034 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
2035 }
2036 break_89: while(0);
2037 tracehead = trace.prev;
2038 return;
2039 }
2040 void parser_prod___AClassdef___visit_all_reverse(val_t self, val_t param0) {
2041 struct trace_t trace = {NULL, NULL, 924, LOCATE_parser_prod___AClassdef___visit_all_reverse};
2042 val_t variable0;
2043 val_t variable1;
2044 val_t variable2;
2045 trace.prev = tracehead; tracehead = &trace;
2046 trace.file = LOCATE_parser_prod;
2047 variable0 = param0;
2048 variable1 = ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/;
2049 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
2050 if (UNTAG_Bool(variable1)) { /*if*/
2051 variable1 = ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/;
2052 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2053 }
2054 variable1 = ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/;
2055 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
2056 if (UNTAG_Bool(variable1)) { /*if*/
2057 variable1 = ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/;
2058 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2059 }
2060 variable1 = ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/;
2061 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
2062 if (UNTAG_Bool(variable1)) { /*if*/
2063 variable1 = ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/;
2064 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2065 }
2066 variable1 = ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/;
2067 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
2068 if (UNTAG_Bool(variable1)) { /*if*/
2069 variable1 = ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/;
2070 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2071 }
2072 variable1 = ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/;
2073 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
2074 if (UNTAG_Bool(variable1)) { /*if*/
2075 variable1 = ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/;
2076 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2077 }
2078 variable2 = ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/;
2079 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
2080 variable1 = variable2;
2081 while (true) { /*while*/
2082 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
2083 if (!UNTAG_Bool(variable2)) break; /* while*/
2084 variable2 = ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/;
2085 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
2086 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
2087 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
2088 variable1 = variable2 /*i=*/;
2089 continue_91: while(0);
2090 }
2091 break_91: while(0);
2092 variable2 = ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/;
2093 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
2094 variable1 = variable2;
2095 while (true) { /*while*/
2096 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
2097 if (!UNTAG_Bool(variable2)) break; /* while*/
2098 variable2 = ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/;
2099 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
2100 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
2101 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
2102 variable1 = variable2 /*i=*/;
2103 continue_92: while(0);
2104 }
2105 break_92: while(0);
2106 variable2 = ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/;
2107 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
2108 variable1 = variable2;
2109 while (true) { /*while*/
2110 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
2111 if (!UNTAG_Bool(variable2)) break; /* while*/
2112 variable2 = ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/;
2113 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
2114 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
2115 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
2116 variable1 = variable2 /*i=*/;
2117 continue_93: while(0);
2118 }
2119 break_93: while(0);
2120 tracehead = trace.prev;
2121 return;
2122 }
2123 void parser_prod___ATopClassdef___empty_init(val_t self, int* init_table) {
2124 struct trace_t trace = {NULL, NULL, 966, LOCATE_parser_prod___ATopClassdef___empty_init};
2125 trace.prev = tracehead; tracehead = &trace;
2126 trace.file = LOCATE_parser_prod;
2127 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATopClassdef].i]) return;
2128 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATopClassdef].i] = 1;
2129 tracehead = trace.prev;
2130 return;
2131 }
2132 void parser_prod___ATopClassdef___init_atopclassdef(val_t self, val_t param0, int* init_table) {
2133 struct trace_t trace = {NULL, NULL, 968, LOCATE_parser_prod___ATopClassdef___init_atopclassdef};
2134 val_t variable0;
2135 val_t variable1;
2136 val_t variable2;
2137 val_t variable3;
2138 trace.prev = tracehead; tracehead = &trace;
2139 trace.file = LOCATE_parser_prod;
2140 variable0 = param0;
2141 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATopClassdef].i]) return;
2142 ((parser_prod___ATopClassdef___empty_init_t)CALL( self,COLOR_parser_prod___ATopClassdef___empty_init))( self, init_table /*YYY*/) /*ATopClassdef::empty_init*/;
2143 variable1 = NEW_List_list___List___init(); /*new List[PPropdef]*/
2144 ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/ = variable1;
2145 variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_propdefs*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_propdefs*/) /*AbstractArray::iterator*/;
2146 while (true) { /*for*/
2147 variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
2148 if (!UNTAG_Bool(variable2)) break; /*for*/
2149 variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
2150 variable3 = TAG_Bool(( variable2 /*n*/==NIT_NULL) || VAL_ISA( variable2 /*n*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
2151 if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATopClassdef___init_atopclassdef, LOCATE_parser_prod, 975); nit_exit(1);}
2152 variable3 = ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/;
2153 ((abstract_collection___IndexedCollection___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable2 /*n*/) /*IndexedCollection::add*/;
2154 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n*/, self) /*PNode::parent=*/;
2155 continue_96: while(0);
2156 ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
2157 }
2158 break_96: while(0);
2159 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATopClassdef].i] = 1;
2160 tracehead = trace.prev;
2161 return;
2162 }
2163 void parser_prod___ATopClassdef___replace_child(val_t self, val_t param0, val_t param1) {
2164 struct trace_t trace = {NULL, NULL, 981, LOCATE_parser_prod___ATopClassdef___replace_child};
2165 val_t variable0;
2166 val_t variable1;
2167 val_t variable2;
2168 val_t variable3;
2169 val_t variable4;
2170 trace.prev = tracehead; tracehead = &trace;
2171 trace.file = LOCATE_parser_prod;
2172 variable0 = param0;
2173 variable1 = param1;
2174 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2175 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATopClassdef___replace_child, LOCATE_parser_prod, 983); nit_exit(1);}
2176 variable2 = ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/;
2177 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
2178 variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
2179 variable2 = variable3;
2180 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
2181 while (true) { /*for*/
2182 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
2183 if (!UNTAG_Bool(variable3)) break; /*for*/
2184 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
2185 variable4 = ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/;
2186 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
2187 variable4 = TAG_Bool((variable4 == variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable0 /*old_child*/) /*Object::==*/)))));
2188 if (UNTAG_Bool(variable4)) { /*if*/
2189 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2190 if (UNTAG_Bool(variable4)) { /*if*/
2191 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
2192 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATopClassdef___replace_child, LOCATE_parser_prod, 987); nit_exit(1);}
2193 variable4 = ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/;
2194 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
2195 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
2196 } else { /*if*/
2197 variable4 = ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/;
2198 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
2199 }
2200 goto return_label97;
2201 }
2202 continue_98: while(0);
2203 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
2204 }
2205 break_98: while(0);
2206 return_label97: while(false);
2207 tracehead = trace.prev;
2208 return;
2209 }
2210 void parser_prod___ATopClassdef___visit_all(val_t self, val_t param0) {
2211 struct trace_t trace = {NULL, NULL, 998, LOCATE_parser_prod___ATopClassdef___visit_all};
2212 val_t variable0;
2213 val_t variable1;
2214 val_t variable2;
2215 trace.prev = tracehead; tracehead = &trace;
2216 trace.file = LOCATE_parser_prod;
2217 variable0 = param0;
2218 variable1 = ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/;
2219 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
2220 while (true) { /*for*/
2221 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
2222 if (!UNTAG_Bool(variable2)) break; /*for*/
2223 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
2224 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
2225 continue_100: while(0);
2226 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
2227 }
2228 break_100: while(0);
2229 tracehead = trace.prev;
2230 return;
2231 }
2232 void parser_prod___ATopClassdef___visit_all_reverse(val_t self, val_t param0) {
2233 struct trace_t trace = {NULL, NULL, 1005, LOCATE_parser_prod___ATopClassdef___visit_all_reverse};
2234 val_t variable0;
2235 val_t variable1;
2236 val_t variable2;
2237 trace.prev = tracehead; tracehead = &trace;
2238 trace.file = LOCATE_parser_prod;
2239 variable0 = param0;
2240 variable2 = ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/;
2241 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
2242 variable1 = variable2;
2243 while (true) { /*while*/
2244 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
2245 if (!UNTAG_Bool(variable2)) break; /* while*/
2246 variable2 = ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/;
2247 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
2248 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
2249 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
2250 variable1 = variable2 /*i=*/;
2251 continue_102: while(0);
2252 }
2253 break_102: while(0);
2254 tracehead = trace.prev;
2255 return;
2256 }
2257 void parser_prod___AMainClassdef___empty_init(val_t self, int* init_table) {
2258 struct trace_t trace = {NULL, NULL, 1018, LOCATE_parser_prod___AMainClassdef___empty_init};
2259 trace.prev = tracehead; tracehead = &trace;
2260 trace.file = LOCATE_parser_prod;
2261 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainClassdef].i]) return;
2262 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainClassdef].i] = 1;
2263 tracehead = trace.prev;
2264 return;
2265 }
2266 void parser_prod___AMainClassdef___init_amainclassdef(val_t self, val_t param0, int* init_table) {
2267 struct trace_t trace = {NULL, NULL, 1020, LOCATE_parser_prod___AMainClassdef___init_amainclassdef};
2268 val_t variable0;
2269 val_t variable1;
2270 val_t variable2;
2271 val_t variable3;
2272 trace.prev = tracehead; tracehead = &trace;
2273 trace.file = LOCATE_parser_prod;
2274 variable0 = param0;
2275 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainClassdef].i]) return;
2276 ((parser_prod___AMainClassdef___empty_init_t)CALL( self,COLOR_parser_prod___AMainClassdef___empty_init))( self, init_table /*YYY*/) /*AMainClassdef::empty_init*/;
2277 variable1 = NEW_List_list___List___init(); /*new List[PPropdef]*/
2278 ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/ = variable1;
2279 variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_propdefs*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_propdefs*/) /*AbstractArray::iterator*/;
2280 while (true) { /*for*/
2281 variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
2282 if (!UNTAG_Bool(variable2)) break; /*for*/
2283 variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
2284 variable3 = TAG_Bool(( variable2 /*n*/==NIT_NULL) || VAL_ISA( variable2 /*n*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
2285 if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMainClassdef___init_amainclassdef, LOCATE_parser_prod, 1027); nit_exit(1);}
2286 variable3 = ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/;
2287 ((abstract_collection___IndexedCollection___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable2 /*n*/) /*IndexedCollection::add*/;
2288 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n*/, self) /*PNode::parent=*/;
2289 continue_105: while(0);
2290 ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
2291 }
2292 break_105: while(0);
2293 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainClassdef].i] = 1;
2294 tracehead = trace.prev;
2295 return;
2296 }
2297 void parser_prod___AMainClassdef___replace_child(val_t self, val_t param0, val_t param1) {
2298 struct trace_t trace = {NULL, NULL, 1033, LOCATE_parser_prod___AMainClassdef___replace_child};
2299 val_t variable0;
2300 val_t variable1;
2301 val_t variable2;
2302 val_t variable3;
2303 val_t variable4;
2304 trace.prev = tracehead; tracehead = &trace;
2305 trace.file = LOCATE_parser_prod;
2306 variable0 = param0;
2307 variable1 = param1;
2308 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2309 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMainClassdef___replace_child, LOCATE_parser_prod, 1035); nit_exit(1);}
2310 variable2 = ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/;
2311 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
2312 variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
2313 variable2 = variable3;
2314 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
2315 while (true) { /*for*/
2316 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
2317 if (!UNTAG_Bool(variable3)) break; /*for*/
2318 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
2319 variable4 = ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/;
2320 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
2321 variable4 = TAG_Bool((variable4 == variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable0 /*old_child*/) /*Object::==*/)))));
2322 if (UNTAG_Bool(variable4)) { /*if*/
2323 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2324 if (UNTAG_Bool(variable4)) { /*if*/
2325 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
2326 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMainClassdef___replace_child, LOCATE_parser_prod, 1039); nit_exit(1);}
2327 variable4 = ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/;
2328 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
2329 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
2330 } else { /*if*/
2331 variable4 = ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/;
2332 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
2333 }
2334 goto return_label106;
2335 }
2336 continue_107: while(0);
2337 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
2338 }
2339 break_107: while(0);
2340 return_label106: while(false);
2341 tracehead = trace.prev;
2342 return;
2343 }
2344 void parser_prod___AMainClassdef___visit_all(val_t self, val_t param0) {
2345 struct trace_t trace = {NULL, NULL, 1050, LOCATE_parser_prod___AMainClassdef___visit_all};
2346 val_t variable0;
2347 val_t variable1;
2348 val_t variable2;
2349 trace.prev = tracehead; tracehead = &trace;
2350 trace.file = LOCATE_parser_prod;
2351 variable0 = param0;
2352 variable1 = ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/;
2353 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
2354 while (true) { /*for*/
2355 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
2356 if (!UNTAG_Bool(variable2)) break; /*for*/
2357 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
2358 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
2359 continue_109: while(0);
2360 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
2361 }
2362 break_109: while(0);
2363 tracehead = trace.prev;
2364 return;
2365 }
2366 void parser_prod___AMainClassdef___visit_all_reverse(val_t self, val_t param0) {
2367 struct trace_t trace = {NULL, NULL, 1057, LOCATE_parser_prod___AMainClassdef___visit_all_reverse};
2368 val_t variable0;
2369 val_t variable1;
2370 val_t variable2;
2371 trace.prev = tracehead; tracehead = &trace;
2372 trace.file = LOCATE_parser_prod;
2373 variable0 = param0;
2374 variable2 = ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/;
2375 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
2376 variable1 = variable2;
2377 while (true) { /*while*/
2378 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
2379 if (!UNTAG_Bool(variable2)) break; /* while*/
2380 variable2 = ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/;
2381 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
2382 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
2383 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
2384 variable1 = variable2 /*i=*/;
2385 continue_111: while(0);
2386 }
2387 break_111: while(0);
2388 tracehead = trace.prev;
2389 return;
2390 }
2391 void parser_prod___AConcreteClasskind___n_kwclass__eq(val_t self, val_t param0) {
2392 struct trace_t trace = {NULL, NULL, 1069, LOCATE_parser_prod___AConcreteClasskind___n_kwclass__eq};
2393 val_t variable0;
2394 val_t variable1;
2395 trace.prev = tracehead; tracehead = &trace;
2396 trace.file = LOCATE_parser_prod;
2397 variable0 = param0;
2398 ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/ = variable0 /*n*/;
2399 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2400 if (UNTAG_Bool(variable1)) { /*if*/
2401 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
2402 }
2403 tracehead = trace.prev;
2404 return;
2405 }
2406 void parser_prod___AConcreteClasskind___empty_init(val_t self, int* init_table) {
2407 struct trace_t trace = {NULL, NULL, 1077, LOCATE_parser_prod___AConcreteClasskind___empty_init};
2408 trace.prev = tracehead; tracehead = &trace;
2409 trace.file = LOCATE_parser_prod;
2410 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteClasskind].i]) return;
2411 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteClasskind].i] = 1;
2412 tracehead = trace.prev;
2413 return;
2414 }
2415 void parser_prod___AConcreteClasskind___init_aconcreteclasskind(val_t self, val_t param0, int* init_table) {
2416 struct trace_t trace = {NULL, NULL, 1079, LOCATE_parser_prod___AConcreteClasskind___init_aconcreteclasskind};
2417 val_t variable0;
2418 val_t variable1;
2419 trace.prev = tracehead; tracehead = &trace;
2420 trace.file = LOCATE_parser_prod;
2421 variable0 = param0;
2422 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteClasskind].i]) return;
2423 ((parser_prod___AConcreteClasskind___empty_init_t)CALL( self,COLOR_parser_prod___AConcreteClasskind___empty_init))( self, init_table /*YYY*/) /*AConcreteClasskind::empty_init*/;
2424 ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/ = variable0 /*n_kwclass*/;
2425 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwclass*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwclass*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwclass*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwclass*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwclass*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwclass*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2426 if (UNTAG_Bool(variable1)) { /*if*/
2427 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwclass*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwclass*/, self) /*PNode::parent=*/;
2428 }
2429 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteClasskind].i] = 1;
2430 tracehead = trace.prev;
2431 return;
2432 }
2433 void parser_prod___AConcreteClasskind___replace_child(val_t self, val_t param0, val_t param1) {
2434 struct trace_t trace = {NULL, NULL, 1090, LOCATE_parser_prod___AConcreteClasskind___replace_child};
2435 val_t variable0;
2436 val_t variable1;
2437 val_t variable2;
2438 trace.prev = tracehead; tracehead = &trace;
2439 trace.file = LOCATE_parser_prod;
2440 variable0 = param0;
2441 variable1 = param1;
2442 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2443 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteClasskind___replace_child, LOCATE_parser_prod, 1092); nit_exit(1);}
2444 variable2 = ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/;
2445 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
2446 if (UNTAG_Bool(variable2)) { /*if*/
2447 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2448 if (UNTAG_Bool(variable2)) { /*if*/
2449 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
2450 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwclass, ID_TKwclass)) /*cast TKwclass*/;
2451 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteClasskind___replace_child, LOCATE_parser_prod, 1096); nit_exit(1);}
2452 ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/ = variable1 /*new_child*/;
2453 } else { /*if*/
2454 ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/ = NIT_NULL /*null*/;
2455 }
2456 goto return_label115;
2457 }
2458 return_label115: while(false);
2459 tracehead = trace.prev;
2460 return;
2461 }
2462 void parser_prod___AConcreteClasskind___visit_all(val_t self, val_t param0) {
2463 struct trace_t trace = {NULL, NULL, 1105, LOCATE_parser_prod___AConcreteClasskind___visit_all};
2464 val_t variable0;
2465 val_t variable1;
2466 trace.prev = tracehead; tracehead = &trace;
2467 trace.file = LOCATE_parser_prod;
2468 variable0 = param0;
2469 variable1 = ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/;
2470 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
2471 if (UNTAG_Bool(variable1)) { /*if*/
2472 variable1 = ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/;
2473 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2474 }
2475 tracehead = trace.prev;
2476 return;
2477 }
2478 void parser_prod___AConcreteClasskind___visit_all_reverse(val_t self, val_t param0) {
2479 struct trace_t trace = {NULL, NULL, 1112, LOCATE_parser_prod___AConcreteClasskind___visit_all_reverse};
2480 val_t variable0;
2481 val_t variable1;
2482 trace.prev = tracehead; tracehead = &trace;
2483 trace.file = LOCATE_parser_prod;
2484 variable0 = param0;
2485 variable1 = ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/;
2486 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
2487 if (UNTAG_Bool(variable1)) { /*if*/
2488 variable1 = ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/;
2489 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2490 }
2491 tracehead = trace.prev;
2492 return;
2493 }
2494 void parser_prod___AAbstractClasskind___n_kwabstract__eq(val_t self, val_t param0) {
2495 struct trace_t trace = {NULL, NULL, 1120, LOCATE_parser_prod___AAbstractClasskind___n_kwabstract__eq};
2496 val_t variable0;
2497 val_t variable1;
2498 trace.prev = tracehead; tracehead = &trace;
2499 trace.file = LOCATE_parser_prod;
2500 variable0 = param0;
2501 ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/ = variable0 /*n*/;
2502 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2503 if (UNTAG_Bool(variable1)) { /*if*/
2504 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
2505 }
2506 tracehead = trace.prev;
2507 return;
2508 }
2509 void parser_prod___AAbstractClasskind___n_kwclass__eq(val_t self, val_t param0) {
2510 struct trace_t trace = {NULL, NULL, 1127, LOCATE_parser_prod___AAbstractClasskind___n_kwclass__eq};
2511 val_t variable0;
2512 val_t variable1;
2513 trace.prev = tracehead; tracehead = &trace;
2514 trace.file = LOCATE_parser_prod;
2515 variable0 = param0;
2516 ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/ = variable0 /*n*/;
2517 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2518 if (UNTAG_Bool(variable1)) { /*if*/
2519 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
2520 }
2521 tracehead = trace.prev;
2522 return;
2523 }
2524 void parser_prod___AAbstractClasskind___empty_init(val_t self, int* init_table) {
2525 struct trace_t trace = {NULL, NULL, 1135, LOCATE_parser_prod___AAbstractClasskind___empty_init};
2526 trace.prev = tracehead; tracehead = &trace;
2527 trace.file = LOCATE_parser_prod;
2528 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbstractClasskind].i]) return;
2529 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbstractClasskind].i] = 1;
2530 tracehead = trace.prev;
2531 return;
2532 }
2533 void parser_prod___AAbstractClasskind___init_aabstractclasskind(val_t self, val_t param0, val_t param1, int* init_table) {
2534 struct trace_t trace = {NULL, NULL, 1137, LOCATE_parser_prod___AAbstractClasskind___init_aabstractclasskind};
2535 val_t variable0;
2536 val_t variable1;
2537 val_t variable2;
2538 trace.prev = tracehead; tracehead = &trace;
2539 trace.file = LOCATE_parser_prod;
2540 variable0 = param0;
2541 variable1 = param1;
2542 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbstractClasskind].i]) return;
2543 ((parser_prod___AAbstractClasskind___empty_init_t)CALL( self,COLOR_parser_prod___AAbstractClasskind___empty_init))( self, init_table /*YYY*/) /*AAbstractClasskind::empty_init*/;
2544 ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/ = variable0 /*n_kwabstract*/;
2545 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwabstract*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwabstract*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwabstract*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwabstract*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwabstract*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwabstract*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2546 if (UNTAG_Bool(variable2)) { /*if*/
2547 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwabstract*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwabstract*/, self) /*PNode::parent=*/;
2548 }
2549 ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/ = variable1 /*n_kwclass*/;
2550 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwclass*/ == NIT_NULL /*null*/) || (( variable1 /*n_kwclass*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwclass*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwclass*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwclass*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwclass*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2551 if (UNTAG_Bool(variable2)) { /*if*/
2552 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwclass*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwclass*/, self) /*PNode::parent=*/;
2553 }
2554 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbstractClasskind].i] = 1;
2555 tracehead = trace.prev;
2556 return;
2557 }
2558 void parser_prod___AAbstractClasskind___replace_child(val_t self, val_t param0, val_t param1) {
2559 struct trace_t trace = {NULL, NULL, 1153, LOCATE_parser_prod___AAbstractClasskind___replace_child};
2560 val_t variable0;
2561 val_t variable1;
2562 val_t variable2;
2563 trace.prev = tracehead; tracehead = &trace;
2564 trace.file = LOCATE_parser_prod;
2565 variable0 = param0;
2566 variable1 = param1;
2567 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2568 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAbstractClasskind___replace_child, LOCATE_parser_prod, 1155); nit_exit(1);}
2569 variable2 = ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/;
2570 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
2571 if (UNTAG_Bool(variable2)) { /*if*/
2572 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2573 if (UNTAG_Bool(variable2)) { /*if*/
2574 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
2575 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwabstract, ID_TKwabstract)) /*cast TKwabstract*/;
2576 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAbstractClasskind___replace_child, LOCATE_parser_prod, 1159); nit_exit(1);}
2577 ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/ = variable1 /*new_child*/;
2578 } else { /*if*/
2579 ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/ = NIT_NULL /*null*/;
2580 }
2581 goto return_label122;
2582 }
2583 variable2 = ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/;
2584 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
2585 if (UNTAG_Bool(variable2)) { /*if*/
2586 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2587 if (UNTAG_Bool(variable2)) { /*if*/
2588 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
2589 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwclass, ID_TKwclass)) /*cast TKwclass*/;
2590 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAbstractClasskind___replace_child, LOCATE_parser_prod, 1169); nit_exit(1);}
2591 ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/ = variable1 /*new_child*/;
2592 } else { /*if*/
2593 ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/ = NIT_NULL /*null*/;
2594 }
2595 goto return_label122;
2596 }
2597 return_label122: while(false);
2598 tracehead = trace.prev;
2599 return;
2600 }
2601 void parser_prod___AAbstractClasskind___visit_all(val_t self, val_t param0) {
2602 struct trace_t trace = {NULL, NULL, 1178, LOCATE_parser_prod___AAbstractClasskind___visit_all};
2603 val_t variable0;
2604 val_t variable1;
2605 trace.prev = tracehead; tracehead = &trace;
2606 trace.file = LOCATE_parser_prod;
2607 variable0 = param0;
2608 variable1 = ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/;
2609 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
2610 if (UNTAG_Bool(variable1)) { /*if*/
2611 variable1 = ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/;
2612 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2613 }
2614 variable1 = ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/;
2615 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
2616 if (UNTAG_Bool(variable1)) { /*if*/
2617 variable1 = ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/;
2618 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2619 }
2620 tracehead = trace.prev;
2621 return;
2622 }
2623 void parser_prod___AAbstractClasskind___visit_all_reverse(val_t self, val_t param0) {
2624 struct trace_t trace = {NULL, NULL, 1188, LOCATE_parser_prod___AAbstractClasskind___visit_all_reverse};
2625 val_t variable0;
2626 val_t variable1;
2627 trace.prev = tracehead; tracehead = &trace;
2628 trace.file = LOCATE_parser_prod;
2629 variable0 = param0;
2630 variable1 = ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/;
2631 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
2632 if (UNTAG_Bool(variable1)) { /*if*/
2633 variable1 = ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/;
2634 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2635 }
2636 variable1 = ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/;
2637 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
2638 if (UNTAG_Bool(variable1)) { /*if*/
2639 variable1 = ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/;
2640 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2641 }
2642 tracehead = trace.prev;
2643 return;
2644 }
2645 void parser_prod___AInterfaceClasskind___n_kwinterface__eq(val_t self, val_t param0) {
2646 struct trace_t trace = {NULL, NULL, 1199, LOCATE_parser_prod___AInterfaceClasskind___n_kwinterface__eq};
2647 val_t variable0;
2648 val_t variable1;
2649 trace.prev = tracehead; tracehead = &trace;
2650 trace.file = LOCATE_parser_prod;
2651 variable0 = param0;
2652 ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/ = variable0 /*n*/;
2653 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2654 if (UNTAG_Bool(variable1)) { /*if*/
2655 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
2656 }
2657 tracehead = trace.prev;
2658 return;
2659 }
2660 void parser_prod___AInterfaceClasskind___empty_init(val_t self, int* init_table) {
2661 struct trace_t trace = {NULL, NULL, 1207, LOCATE_parser_prod___AInterfaceClasskind___empty_init};
2662 trace.prev = tracehead; tracehead = &trace;
2663 trace.file = LOCATE_parser_prod;
2664 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInterfaceClasskind].i]) return;
2665 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInterfaceClasskind].i] = 1;
2666 tracehead = trace.prev;
2667 return;
2668 }
2669 void parser_prod___AInterfaceClasskind___init_ainterfaceclasskind(val_t self, val_t param0, int* init_table) {
2670 struct trace_t trace = {NULL, NULL, 1209, LOCATE_parser_prod___AInterfaceClasskind___init_ainterfaceclasskind};
2671 val_t variable0;
2672 val_t variable1;
2673 trace.prev = tracehead; tracehead = &trace;
2674 trace.file = LOCATE_parser_prod;
2675 variable0 = param0;
2676 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInterfaceClasskind].i]) return;
2677 ((parser_prod___AInterfaceClasskind___empty_init_t)CALL( self,COLOR_parser_prod___AInterfaceClasskind___empty_init))( self, init_table /*YYY*/) /*AInterfaceClasskind::empty_init*/;
2678 ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/ = variable0 /*n_kwinterface*/;
2679 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwinterface*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwinterface*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwinterface*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwinterface*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwinterface*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwinterface*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2680 if (UNTAG_Bool(variable1)) { /*if*/
2681 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwinterface*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwinterface*/, self) /*PNode::parent=*/;
2682 }
2683 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInterfaceClasskind].i] = 1;
2684 tracehead = trace.prev;
2685 return;
2686 }
2687 void parser_prod___AInterfaceClasskind___replace_child(val_t self, val_t param0, val_t param1) {
2688 struct trace_t trace = {NULL, NULL, 1220, LOCATE_parser_prod___AInterfaceClasskind___replace_child};
2689 val_t variable0;
2690 val_t variable1;
2691 val_t variable2;
2692 trace.prev = tracehead; tracehead = &trace;
2693 trace.file = LOCATE_parser_prod;
2694 variable0 = param0;
2695 variable1 = param1;
2696 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2697 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInterfaceClasskind___replace_child, LOCATE_parser_prod, 1222); nit_exit(1);}
2698 variable2 = ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/;
2699 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
2700 if (UNTAG_Bool(variable2)) { /*if*/
2701 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2702 if (UNTAG_Bool(variable2)) { /*if*/
2703 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
2704 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwinterface, ID_TKwinterface)) /*cast TKwinterface*/;
2705 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInterfaceClasskind___replace_child, LOCATE_parser_prod, 1226); nit_exit(1);}
2706 ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/ = variable1 /*new_child*/;
2707 } else { /*if*/
2708 ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/ = NIT_NULL /*null*/;
2709 }
2710 goto return_label128;
2711 }
2712 return_label128: while(false);
2713 tracehead = trace.prev;
2714 return;
2715 }
2716 void parser_prod___AInterfaceClasskind___visit_all(val_t self, val_t param0) {
2717 struct trace_t trace = {NULL, NULL, 1235, LOCATE_parser_prod___AInterfaceClasskind___visit_all};
2718 val_t variable0;
2719 val_t variable1;
2720 trace.prev = tracehead; tracehead = &trace;
2721 trace.file = LOCATE_parser_prod;
2722 variable0 = param0;
2723 variable1 = ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/;
2724 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
2725 if (UNTAG_Bool(variable1)) { /*if*/
2726 variable1 = ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/;
2727 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2728 }
2729 tracehead = trace.prev;
2730 return;
2731 }
2732 void parser_prod___AInterfaceClasskind___visit_all_reverse(val_t self, val_t param0) {
2733 struct trace_t trace = {NULL, NULL, 1242, LOCATE_parser_prod___AInterfaceClasskind___visit_all_reverse};
2734 val_t variable0;
2735 val_t variable1;
2736 trace.prev = tracehead; tracehead = &trace;
2737 trace.file = LOCATE_parser_prod;
2738 variable0 = param0;
2739 variable1 = ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/;
2740 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
2741 if (UNTAG_Bool(variable1)) { /*if*/
2742 variable1 = ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/;
2743 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2744 }
2745 tracehead = trace.prev;
2746 return;
2747 }
2748 void parser_prod___AUniversalClasskind___n_kwuniversal__eq(val_t self, val_t param0) {
2749 struct trace_t trace = {NULL, NULL, 1250, LOCATE_parser_prod___AUniversalClasskind___n_kwuniversal__eq};
2750 val_t variable0;
2751 val_t variable1;
2752 trace.prev = tracehead; tracehead = &trace;
2753 trace.file = LOCATE_parser_prod;
2754 variable0 = param0;
2755 ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/ = variable0 /*n*/;
2756 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2757 if (UNTAG_Bool(variable1)) { /*if*/
2758 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
2759 }
2760 tracehead = trace.prev;
2761 return;
2762 }
2763 void parser_prod___AUniversalClasskind___empty_init(val_t self, int* init_table) {
2764 struct trace_t trace = {NULL, NULL, 1258, LOCATE_parser_prod___AUniversalClasskind___empty_init};
2765 trace.prev = tracehead; tracehead = &trace;
2766 trace.file = LOCATE_parser_prod;
2767 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUniversalClasskind].i]) return;
2768 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUniversalClasskind].i] = 1;
2769 tracehead = trace.prev;
2770 return;
2771 }
2772 void parser_prod___AUniversalClasskind___init_auniversalclasskind(val_t self, val_t param0, int* init_table) {
2773 struct trace_t trace = {NULL, NULL, 1260, LOCATE_parser_prod___AUniversalClasskind___init_auniversalclasskind};
2774 val_t variable0;
2775 val_t variable1;
2776 trace.prev = tracehead; tracehead = &trace;
2777 trace.file = LOCATE_parser_prod;
2778 variable0 = param0;
2779 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUniversalClasskind].i]) return;
2780 ((parser_prod___AUniversalClasskind___empty_init_t)CALL( self,COLOR_parser_prod___AUniversalClasskind___empty_init))( self, init_table /*YYY*/) /*AUniversalClasskind::empty_init*/;
2781 ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/ = variable0 /*n_kwuniversal*/;
2782 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwuniversal*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwuniversal*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwuniversal*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwuniversal*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwuniversal*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwuniversal*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2783 if (UNTAG_Bool(variable1)) { /*if*/
2784 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwuniversal*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwuniversal*/, self) /*PNode::parent=*/;
2785 }
2786 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUniversalClasskind].i] = 1;
2787 tracehead = trace.prev;
2788 return;
2789 }
2790 void parser_prod___AUniversalClasskind___replace_child(val_t self, val_t param0, val_t param1) {
2791 struct trace_t trace = {NULL, NULL, 1271, LOCATE_parser_prod___AUniversalClasskind___replace_child};
2792 val_t variable0;
2793 val_t variable1;
2794 val_t variable2;
2795 trace.prev = tracehead; tracehead = &trace;
2796 trace.file = LOCATE_parser_prod;
2797 variable0 = param0;
2798 variable1 = param1;
2799 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2800 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AUniversalClasskind___replace_child, LOCATE_parser_prod, 1273); nit_exit(1);}
2801 variable2 = ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/;
2802 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
2803 if (UNTAG_Bool(variable2)) { /*if*/
2804 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2805 if (UNTAG_Bool(variable2)) { /*if*/
2806 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
2807 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwuniversal, ID_TKwuniversal)) /*cast TKwuniversal*/;
2808 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AUniversalClasskind___replace_child, LOCATE_parser_prod, 1277); nit_exit(1);}
2809 ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/ = variable1 /*new_child*/;
2810 } else { /*if*/
2811 ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/ = NIT_NULL /*null*/;
2812 }
2813 goto return_label134;
2814 }
2815 return_label134: while(false);
2816 tracehead = trace.prev;
2817 return;
2818 }
2819 void parser_prod___AUniversalClasskind___visit_all(val_t self, val_t param0) {
2820 struct trace_t trace = {NULL, NULL, 1286, LOCATE_parser_prod___AUniversalClasskind___visit_all};
2821 val_t variable0;
2822 val_t variable1;
2823 trace.prev = tracehead; tracehead = &trace;
2824 trace.file = LOCATE_parser_prod;
2825 variable0 = param0;
2826 variable1 = ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/;
2827 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
2828 if (UNTAG_Bool(variable1)) { /*if*/
2829 variable1 = ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/;
2830 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2831 }
2832 tracehead = trace.prev;
2833 return;
2834 }
2835 void parser_prod___AUniversalClasskind___visit_all_reverse(val_t self, val_t param0) {
2836 struct trace_t trace = {NULL, NULL, 1293, LOCATE_parser_prod___AUniversalClasskind___visit_all_reverse};
2837 val_t variable0;
2838 val_t variable1;
2839 trace.prev = tracehead; tracehead = &trace;
2840 trace.file = LOCATE_parser_prod;
2841 variable0 = param0;
2842 variable1 = ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/;
2843 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
2844 if (UNTAG_Bool(variable1)) { /*if*/
2845 variable1 = ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/;
2846 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2847 }
2848 tracehead = trace.prev;
2849 return;
2850 }
2851 void parser_prod___AFormaldef___n_id__eq(val_t self, val_t param0) {
2852 struct trace_t trace = {NULL, NULL, 1301, LOCATE_parser_prod___AFormaldef___n_id__eq};
2853 val_t variable0;
2854 val_t variable1;
2855 trace.prev = tracehead; tracehead = &trace;
2856 trace.file = LOCATE_parser_prod;
2857 variable0 = param0;
2858 ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/ = variable0 /*n*/;
2859 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2860 if (UNTAG_Bool(variable1)) { /*if*/
2861 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
2862 }
2863 tracehead = trace.prev;
2864 return;
2865 }
2866 void parser_prod___AFormaldef___n_type__eq(val_t self, val_t param0) {
2867 struct trace_t trace = {NULL, NULL, 1308, LOCATE_parser_prod___AFormaldef___n_type__eq};
2868 val_t variable0;
2869 val_t variable1;
2870 trace.prev = tracehead; tracehead = &trace;
2871 trace.file = LOCATE_parser_prod;
2872 variable0 = param0;
2873 ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/ = variable0 /*n*/;
2874 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2875 if (UNTAG_Bool(variable1)) { /*if*/
2876 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
2877 }
2878 tracehead = trace.prev;
2879 return;
2880 }
2881 void parser_prod___AFormaldef___empty_init(val_t self, int* init_table) {
2882 struct trace_t trace = {NULL, NULL, 1316, LOCATE_parser_prod___AFormaldef___empty_init};
2883 trace.prev = tracehead; tracehead = &trace;
2884 trace.file = LOCATE_parser_prod;
2885 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFormaldef].i]) return;
2886 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFormaldef].i] = 1;
2887 tracehead = trace.prev;
2888 return;
2889 }
2890 void parser_prod___AFormaldef___init_aformaldef(val_t self, val_t param0, val_t param1, int* init_table) {
2891 struct trace_t trace = {NULL, NULL, 1318, LOCATE_parser_prod___AFormaldef___init_aformaldef};
2892 val_t variable0;
2893 val_t variable1;
2894 val_t variable2;
2895 trace.prev = tracehead; tracehead = &trace;
2896 trace.file = LOCATE_parser_prod;
2897 variable0 = param0;
2898 variable1 = param1;
2899 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFormaldef].i]) return;
2900 ((parser_prod___AFormaldef___empty_init_t)CALL( self,COLOR_parser_prod___AFormaldef___empty_init))( self, init_table /*YYY*/) /*AFormaldef::empty_init*/;
2901 ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/ = variable0 /*n_id*/;
2902 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_id*/ == NIT_NULL /*null*/) || (( variable0 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_id*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2903 if (UNTAG_Bool(variable2)) { /*if*/
2904 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/, self) /*PNode::parent=*/;
2905 }
2906 ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/ = variable1 /*n_type*/;
2907 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_type*/ == NIT_NULL /*null*/) || (( variable1 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_type*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2908 if (UNTAG_Bool(variable2)) { /*if*/
2909 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_type*/, self) /*PNode::parent=*/;
2910 }
2911 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFormaldef].i] = 1;
2912 tracehead = trace.prev;
2913 return;
2914 }
2915 void parser_prod___AFormaldef___replace_child(val_t self, val_t param0, val_t param1) {
2916 struct trace_t trace = {NULL, NULL, 1334, LOCATE_parser_prod___AFormaldef___replace_child};
2917 val_t variable0;
2918 val_t variable1;
2919 val_t variable2;
2920 trace.prev = tracehead; tracehead = &trace;
2921 trace.file = LOCATE_parser_prod;
2922 variable0 = param0;
2923 variable1 = param1;
2924 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2925 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AFormaldef___replace_child, LOCATE_parser_prod, 1336); nit_exit(1);}
2926 variable2 = ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/;
2927 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
2928 if (UNTAG_Bool(variable2)) { /*if*/
2929 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2930 if (UNTAG_Bool(variable2)) { /*if*/
2931 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
2932 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
2933 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AFormaldef___replace_child, LOCATE_parser_prod, 1340); nit_exit(1);}
2934 ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/ = variable1 /*new_child*/;
2935 } else { /*if*/
2936 ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/ = NIT_NULL /*null*/;
2937 }
2938 goto return_label141;
2939 }
2940 variable2 = ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/;
2941 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
2942 if (UNTAG_Bool(variable2)) { /*if*/
2943 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2944 if (UNTAG_Bool(variable2)) { /*if*/
2945 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
2946 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
2947 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AFormaldef___replace_child, LOCATE_parser_prod, 1350); nit_exit(1);}
2948 ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/ = variable1 /*new_child*/;
2949 } else { /*if*/
2950 ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/ = NIT_NULL /*null*/;
2951 }
2952 goto return_label141;
2953 }
2954 return_label141: while(false);
2955 tracehead = trace.prev;
2956 return;
2957 }
2958 void parser_prod___AFormaldef___visit_all(val_t self, val_t param0) {
2959 struct trace_t trace = {NULL, NULL, 1359, LOCATE_parser_prod___AFormaldef___visit_all};
2960 val_t variable0;
2961 val_t variable1;
2962 trace.prev = tracehead; tracehead = &trace;
2963 trace.file = LOCATE_parser_prod;
2964 variable0 = param0;
2965 variable1 = ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/;
2966 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
2967 if (UNTAG_Bool(variable1)) { /*if*/
2968 variable1 = ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/;
2969 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2970 }
2971 variable1 = ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/;
2972 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
2973 if (UNTAG_Bool(variable1)) { /*if*/
2974 variable1 = ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/;
2975 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2976 }
2977 tracehead = trace.prev;
2978 return;
2979 }
2980 void parser_prod___AFormaldef___visit_all_reverse(val_t self, val_t param0) {
2981 struct trace_t trace = {NULL, NULL, 1369, LOCATE_parser_prod___AFormaldef___visit_all_reverse};
2982 val_t variable0;
2983 val_t variable1;
2984 trace.prev = tracehead; tracehead = &trace;
2985 trace.file = LOCATE_parser_prod;
2986 variable0 = param0;
2987 variable1 = ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/;
2988 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
2989 if (UNTAG_Bool(variable1)) { /*if*/
2990 variable1 = ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/;
2991 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2992 }
2993 variable1 = ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/;
2994 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
2995 if (UNTAG_Bool(variable1)) { /*if*/
2996 variable1 = ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/;
2997 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2998 }
2999 tracehead = trace.prev;
3000 return;
3001 }
3002 void parser_prod___ASuperclass___n_kwspecial__eq(val_t self, val_t param0) {
3003 struct trace_t trace = {NULL, NULL, 1380, LOCATE_parser_prod___ASuperclass___n_kwspecial__eq};
3004 val_t variable0;
3005 val_t variable1;
3006 trace.prev = tracehead; tracehead = &trace;
3007 trace.file = LOCATE_parser_prod;
3008 variable0 = param0;
3009 ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/ = variable0 /*n*/;
3010 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3011 if (UNTAG_Bool(variable1)) { /*if*/
3012 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
3013 }
3014 tracehead = trace.prev;
3015 return;
3016 }
3017 void parser_prod___ASuperclass___n_type__eq(val_t self, val_t param0) {
3018 struct trace_t trace = {NULL, NULL, 1387, LOCATE_parser_prod___ASuperclass___n_type__eq};
3019 val_t variable0;
3020 val_t variable1;
3021 trace.prev = tracehead; tracehead = &trace;
3022 trace.file = LOCATE_parser_prod;
3023 variable0 = param0;
3024 ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/ = variable0 /*n*/;
3025 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3026 if (UNTAG_Bool(variable1)) { /*if*/
3027 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
3028 }
3029 tracehead = trace.prev;
3030 return;
3031 }
3032 void parser_prod___ASuperclass___empty_init(val_t self, int* init_table) {
3033 struct trace_t trace = {NULL, NULL, 1395, LOCATE_parser_prod___ASuperclass___empty_init};
3034 trace.prev = tracehead; tracehead = &trace;
3035 trace.file = LOCATE_parser_prod;
3036 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperclass].i]) return;
3037 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperclass].i] = 1;
3038 tracehead = trace.prev;
3039 return;
3040 }
3041 void parser_prod___ASuperclass___init_asuperclass(val_t self, val_t param0, val_t param1, int* init_table) {
3042 struct trace_t trace = {NULL, NULL, 1397, LOCATE_parser_prod___ASuperclass___init_asuperclass};
3043 val_t variable0;
3044 val_t variable1;
3045 val_t variable2;
3046 trace.prev = tracehead; tracehead = &trace;
3047 trace.file = LOCATE_parser_prod;
3048 variable0 = param0;
3049 variable1 = param1;
3050 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperclass].i]) return;
3051 ((parser_prod___ASuperclass___empty_init_t)CALL( self,COLOR_parser_prod___ASuperclass___empty_init))( self, init_table /*YYY*/) /*ASuperclass::empty_init*/;
3052 ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/ = variable0 /*n_kwspecial*/;
3053 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwspecial*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwspecial*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwspecial*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwspecial*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwspecial*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwspecial*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3054 if (UNTAG_Bool(variable2)) { /*if*/
3055 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwspecial*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwspecial*/, self) /*PNode::parent=*/;
3056 }
3057 ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/ = variable1 /*n_type*/;
3058 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_type*/ == NIT_NULL /*null*/) || (( variable1 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_type*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3059 if (UNTAG_Bool(variable2)) { /*if*/
3060 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_type*/, self) /*PNode::parent=*/;
3061 }
3062 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperclass].i] = 1;
3063 tracehead = trace.prev;
3064 return;
3065 }
3066 void parser_prod___ASuperclass___replace_child(val_t self, val_t param0, val_t param1) {
3067 struct trace_t trace = {NULL, NULL, 1413, LOCATE_parser_prod___ASuperclass___replace_child};
3068 val_t variable0;
3069 val_t variable1;
3070 val_t variable2;
3071 trace.prev = tracehead; tracehead = &trace;
3072 trace.file = LOCATE_parser_prod;
3073 variable0 = param0;
3074 variable1 = param1;
3075 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3076 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperclass___replace_child, LOCATE_parser_prod, 1415); nit_exit(1);}
3077 variable2 = ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/;
3078 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
3079 if (UNTAG_Bool(variable2)) { /*if*/
3080 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3081 if (UNTAG_Bool(variable2)) { /*if*/
3082 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3083 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwspecial, ID_TKwspecial)) /*cast TKwspecial*/;
3084 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperclass___replace_child, LOCATE_parser_prod, 1419); nit_exit(1);}
3085 ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/ = variable1 /*new_child*/;
3086 } else { /*if*/
3087 ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/ = NIT_NULL /*null*/;
3088 }
3089 goto return_label148;
3090 }
3091 variable2 = ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/;
3092 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
3093 if (UNTAG_Bool(variable2)) { /*if*/
3094 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3095 if (UNTAG_Bool(variable2)) { /*if*/
3096 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3097 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
3098 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperclass___replace_child, LOCATE_parser_prod, 1429); nit_exit(1);}
3099 ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/ = variable1 /*new_child*/;
3100 } else { /*if*/
3101 ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/ = NIT_NULL /*null*/;
3102 }
3103 goto return_label148;
3104 }
3105 return_label148: while(false);
3106 tracehead = trace.prev;
3107 return;
3108 }
3109 void parser_prod___ASuperclass___visit_all(val_t self, val_t param0) {
3110 struct trace_t trace = {NULL, NULL, 1438, LOCATE_parser_prod___ASuperclass___visit_all};
3111 val_t variable0;
3112 val_t variable1;
3113 trace.prev = tracehead; tracehead = &trace;
3114 trace.file = LOCATE_parser_prod;
3115 variable0 = param0;
3116 variable1 = ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/;
3117 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3118 if (UNTAG_Bool(variable1)) { /*if*/
3119 variable1 = ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/;
3120 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3121 }
3122 variable1 = ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/;
3123 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3124 if (UNTAG_Bool(variable1)) { /*if*/
3125 variable1 = ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/;
3126 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3127 }
3128 tracehead = trace.prev;
3129 return;
3130 }
3131 void parser_prod___ASuperclass___visit_all_reverse(val_t self, val_t param0) {
3132 struct trace_t trace = {NULL, NULL, 1448, LOCATE_parser_prod___ASuperclass___visit_all_reverse};
3133 val_t variable0;
3134 val_t variable1;
3135 trace.prev = tracehead; tracehead = &trace;
3136 trace.file = LOCATE_parser_prod;
3137 variable0 = param0;
3138 variable1 = ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/;
3139 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3140 if (UNTAG_Bool(variable1)) { /*if*/
3141 variable1 = ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/;
3142 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3143 }
3144 variable1 = ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/;
3145 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3146 if (UNTAG_Bool(variable1)) { /*if*/
3147 variable1 = ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/;
3148 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3149 }
3150 tracehead = trace.prev;
3151 return;
3152 }
3153 void parser_prod___AAttrPropdef___n_doc__eq(val_t self, val_t param0) {
3154 struct trace_t trace = {NULL, NULL, 1459, LOCATE_parser_prod___AAttrPropdef___n_doc__eq};
3155 val_t variable0;
3156 val_t variable1;
3157 trace.prev = tracehead; tracehead = &trace;
3158 trace.file = LOCATE_parser_prod;
3159 variable0 = param0;
3160 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = variable0 /*n*/;
3161 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3162 if (UNTAG_Bool(variable1)) { /*if*/
3163 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
3164 }
3165 tracehead = trace.prev;
3166 return;
3167 }
3168 void parser_prod___AAttrPropdef___n_readable__eq(val_t self, val_t param0) {
3169 struct trace_t trace = {NULL, NULL, 1466, LOCATE_parser_prod___AAttrPropdef___n_readable__eq};
3170 val_t variable0;
3171 val_t variable1;
3172 trace.prev = tracehead; tracehead = &trace;
3173 trace.file = LOCATE_parser_prod;
3174 variable0 = param0;
3175 ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/ = variable0 /*n*/;
3176 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3177 if (UNTAG_Bool(variable1)) { /*if*/
3178 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
3179 }
3180 tracehead = trace.prev;
3181 return;
3182 }
3183 void parser_prod___AAttrPropdef___n_writable__eq(val_t self, val_t param0) {
3184 struct trace_t trace = {NULL, NULL, 1473, LOCATE_parser_prod___AAttrPropdef___n_writable__eq};
3185 val_t variable0;
3186 val_t variable1;
3187 trace.prev = tracehead; tracehead = &trace;
3188 trace.file = LOCATE_parser_prod;
3189 variable0 = param0;
3190 ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/ = variable0 /*n*/;
3191 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3192 if (UNTAG_Bool(variable1)) { /*if*/
3193 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
3194 }
3195 tracehead = trace.prev;
3196 return;
3197 }
3198 void parser_prod___AAttrPropdef___n_kwredef__eq(val_t self, val_t param0) {
3199 struct trace_t trace = {NULL, NULL, 1480, LOCATE_parser_prod___AAttrPropdef___n_kwredef__eq};
3200 val_t variable0;
3201 val_t variable1;
3202 trace.prev = tracehead; tracehead = &trace;
3203 trace.file = LOCATE_parser_prod;
3204 variable0 = param0;
3205 ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/ = variable0 /*n*/;
3206 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3207 if (UNTAG_Bool(variable1)) { /*if*/
3208 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
3209 }
3210 tracehead = trace.prev;
3211 return;
3212 }
3213 void parser_prod___AAttrPropdef___n_visibility__eq(val_t self, val_t param0) {
3214 struct trace_t trace = {NULL, NULL, 1487, LOCATE_parser_prod___AAttrPropdef___n_visibility__eq};
3215 val_t variable0;
3216 val_t variable1;
3217 trace.prev = tracehead; tracehead = &trace;
3218 trace.file = LOCATE_parser_prod;
3219 variable0 = param0;
3220 ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/ = variable0 /*n*/;
3221 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3222 if (UNTAG_Bool(variable1)) { /*if*/
3223 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
3224 }
3225 tracehead = trace.prev;
3226 return;
3227 }
3228 void parser_prod___AAttrPropdef___n_kwattr__eq(val_t self, val_t param0) {
3229 struct trace_t trace = {NULL, NULL, 1494, LOCATE_parser_prod___AAttrPropdef___n_kwattr__eq};
3230 val_t variable0;
3231 val_t variable1;
3232 trace.prev = tracehead; tracehead = &trace;
3233 trace.file = LOCATE_parser_prod;
3234 variable0 = param0;
3235 ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/ = variable0 /*n*/;
3236 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3237 if (UNTAG_Bool(variable1)) { /*if*/
3238 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
3239 }
3240 tracehead = trace.prev;
3241 return;
3242 }
3243 void parser_prod___AAttrPropdef___n_id__eq(val_t self, val_t param0) {
3244 struct trace_t trace = {NULL, NULL, 1501, LOCATE_parser_prod___AAttrPropdef___n_id__eq};
3245 val_t variable0;
3246 val_t variable1;
3247 trace.prev = tracehead; tracehead = &trace;
3248 trace.file = LOCATE_parser_prod;
3249 variable0 = param0;
3250 ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/ = variable0 /*n*/;
3251 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3252 if (UNTAG_Bool(variable1)) { /*if*/
3253 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
3254 }
3255 tracehead = trace.prev;
3256 return;
3257 }
3258 void parser_prod___AAttrPropdef___n_type__eq(val_t self, val_t param0) {
3259 struct trace_t trace = {NULL, NULL, 1508, LOCATE_parser_prod___AAttrPropdef___n_type__eq};
3260 val_t variable0;
3261 val_t variable1;
3262 trace.prev = tracehead; tracehead = &trace;
3263 trace.file = LOCATE_parser_prod;
3264 variable0 = param0;
3265 ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/ = variable0 /*n*/;
3266 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3267 if (UNTAG_Bool(variable1)) { /*if*/
3268 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
3269 }
3270 tracehead = trace.prev;
3271 return;
3272 }
3273 void parser_prod___AAttrPropdef___n_expr__eq(val_t self, val_t param0) {
3274 struct trace_t trace = {NULL, NULL, 1515, LOCATE_parser_prod___AAttrPropdef___n_expr__eq};
3275 val_t variable0;
3276 val_t variable1;
3277 trace.prev = tracehead; tracehead = &trace;
3278 trace.file = LOCATE_parser_prod;
3279 variable0 = param0;
3280 ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/ = variable0 /*n*/;
3281 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3282 if (UNTAG_Bool(variable1)) { /*if*/
3283 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
3284 }
3285 tracehead = trace.prev;
3286 return;
3287 }
3288 void parser_prod___AAttrPropdef___empty_init(val_t self, int* init_table) {
3289 struct trace_t trace = {NULL, NULL, 1523, LOCATE_parser_prod___AAttrPropdef___empty_init};
3290 trace.prev = tracehead; tracehead = &trace;
3291 trace.file = LOCATE_parser_prod;
3292 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrPropdef].i]) return;
3293 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrPropdef].i] = 1;
3294 tracehead = trace.prev;
3295 return;
3296 }
3297 void parser_prod___AAttrPropdef___init_aattrpropdef(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, val_t param4, val_t param5, val_t param6, val_t param7, val_t param8, int* init_table) {
3298 struct trace_t trace = {NULL, NULL, 1525, LOCATE_parser_prod___AAttrPropdef___init_aattrpropdef};
3299 val_t variable0;
3300 val_t variable1;
3301 val_t variable2;
3302 val_t variable3;
3303 val_t variable4;
3304 val_t variable5;
3305 val_t variable6;
3306 val_t variable7;
3307 val_t variable8;
3308 val_t variable9;
3309 trace.prev = tracehead; tracehead = &trace;
3310 trace.file = LOCATE_parser_prod;
3311 variable0 = param0;
3312 variable1 = param1;
3313 variable2 = param2;
3314 variable3 = param3;
3315 variable4 = param4;
3316 variable5 = param5;
3317 variable6 = param6;
3318 variable7 = param7;
3319 variable8 = param8;
3320 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrPropdef].i]) return;
3321 ((parser_prod___AAttrPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AAttrPropdef___empty_init))( self, init_table /*YYY*/) /*AAttrPropdef::empty_init*/;
3322 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = variable0 /*n_doc*/;
3323 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_doc*/ == NIT_NULL /*null*/) || (( variable0 /*n_doc*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_doc*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_doc*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3324 if (UNTAG_Bool(variable9)) { /*if*/
3325 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/, self) /*PNode::parent=*/;
3326 }
3327 ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/ = variable1 /*n_readable*/;
3328 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_readable*/ == NIT_NULL /*null*/) || (( variable1 /*n_readable*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_readable*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_readable*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_readable*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_readable*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3329 if (UNTAG_Bool(variable9)) { /*if*/
3330 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_readable*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_readable*/, self) /*PNode::parent=*/;
3331 }
3332 ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/ = variable2 /*n_writable*/;
3333 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_writable*/ == NIT_NULL /*null*/) || (( variable2 /*n_writable*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_writable*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_writable*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_writable*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_writable*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3334 if (UNTAG_Bool(variable9)) { /*if*/
3335 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_writable*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_writable*/, self) /*PNode::parent=*/;
3336 }
3337 ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/ = variable3 /*n_kwredef*/;
3338 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_kwredef*/ == NIT_NULL /*null*/) || (( variable3 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_kwredef*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3339 if (UNTAG_Bool(variable9)) { /*if*/
3340 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwredef*/, self) /*PNode::parent=*/;
3341 }
3342 ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/ = variable4 /*n_visibility*/;
3343 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_visibility*/ == NIT_NULL /*null*/) || (( variable4 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_visibility*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3344 if (UNTAG_Bool(variable9)) { /*if*/
3345 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_visibility*/, self) /*PNode::parent=*/;
3346 }
3347 ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/ = variable5 /*n_kwattr*/;
3348 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*n_kwattr*/ == NIT_NULL /*null*/) || (( variable5 /*n_kwattr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*n_kwattr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*n_kwattr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*n_kwattr*/,COLOR_kernel___Object_____eqeq))( variable5 /*n_kwattr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3349 if (UNTAG_Bool(variable9)) { /*if*/
3350 ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_kwattr*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_kwattr*/, self) /*PNode::parent=*/;
3351 }
3352 ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/ = variable6 /*n_id*/;
3353 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*n_id*/ == NIT_NULL /*null*/) || (( variable6 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable6 /*n_id*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3354 if (UNTAG_Bool(variable9)) { /*if*/
3355 ((parser_prod___PNode___parent__eq_t)CALL( variable6 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable6 /*n_id*/, self) /*PNode::parent=*/;
3356 }
3357 ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/ = variable7 /*n_type*/;
3358 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*n_type*/ == NIT_NULL /*null*/) || (( variable7 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable7 /*n_type*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3359 if (UNTAG_Bool(variable9)) { /*if*/
3360 ((parser_prod___PNode___parent__eq_t)CALL( variable7 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable7 /*n_type*/, self) /*PNode::parent=*/;
3361 }
3362 ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/ = variable8 /*n_expr*/;
3363 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*n_expr*/ == NIT_NULL /*null*/) || (( variable8 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable8 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3364 if (UNTAG_Bool(variable9)) { /*if*/
3365 ((parser_prod___PNode___parent__eq_t)CALL( variable8 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable8 /*n_expr*/, self) /*PNode::parent=*/;
3366 }
3367 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrPropdef].i] = 1;
3368 tracehead = trace.prev;
3369 return;
3370 }
3371 void parser_prod___AAttrPropdef___replace_child(val_t self, val_t param0, val_t param1) {
3372 struct trace_t trace = {NULL, NULL, 1576, LOCATE_parser_prod___AAttrPropdef___replace_child};
3373 val_t variable0;
3374 val_t variable1;
3375 val_t variable2;
3376 trace.prev = tracehead; tracehead = &trace;
3377 trace.file = LOCATE_parser_prod;
3378 variable0 = param0;
3379 variable1 = param1;
3380 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3381 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1578); nit_exit(1);}
3382 variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
3383 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
3384 if (UNTAG_Bool(variable2)) { /*if*/
3385 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3386 if (UNTAG_Bool(variable2)) { /*if*/
3387 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3388 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
3389 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1582); nit_exit(1);}
3390 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = variable1 /*new_child*/;
3391 } else { /*if*/
3392 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = NIT_NULL /*null*/;
3393 }
3394 goto return_label162;
3395 }
3396 variable2 = ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/;
3397 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
3398 if (UNTAG_Bool(variable2)) { /*if*/
3399 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3400 if (UNTAG_Bool(variable2)) { /*if*/
3401 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3402 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PAble, ID_PAble)) /*cast PAble*/;
3403 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1592); nit_exit(1);}
3404 ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/ = variable1 /*new_child*/;
3405 } else { /*if*/
3406 ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/ = NIT_NULL /*null*/;
3407 }
3408 goto return_label162;
3409 }
3410 variable2 = ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/;
3411 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
3412 if (UNTAG_Bool(variable2)) { /*if*/
3413 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3414 if (UNTAG_Bool(variable2)) { /*if*/
3415 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3416 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PAble, ID_PAble)) /*cast PAble*/;
3417 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1602); nit_exit(1);}
3418 ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/ = variable1 /*new_child*/;
3419 } else { /*if*/
3420 ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/ = NIT_NULL /*null*/;
3421 }
3422 goto return_label162;
3423 }
3424 variable2 = ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/;
3425 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
3426 if (UNTAG_Bool(variable2)) { /*if*/
3427 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3428 if (UNTAG_Bool(variable2)) { /*if*/
3429 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3430 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
3431 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1612); nit_exit(1);}
3432 ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/ = variable1 /*new_child*/;
3433 } else { /*if*/
3434 ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/ = NIT_NULL /*null*/;
3435 }
3436 goto return_label162;
3437 }
3438 variable2 = ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/;
3439 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
3440 if (UNTAG_Bool(variable2)) { /*if*/
3441 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3442 if (UNTAG_Bool(variable2)) { /*if*/
3443 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3444 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
3445 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1622); nit_exit(1);}
3446 ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/ = variable1 /*new_child*/;
3447 } else { /*if*/
3448 ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/ = NIT_NULL /*null*/;
3449 }
3450 goto return_label162;
3451 }
3452 variable2 = ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/;
3453 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
3454 if (UNTAG_Bool(variable2)) { /*if*/
3455 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3456 if (UNTAG_Bool(variable2)) { /*if*/
3457 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3458 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
3459 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1632); nit_exit(1);}
3460 ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/ = variable1 /*new_child*/;
3461 } else { /*if*/
3462 ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/ = NIT_NULL /*null*/;
3463 }
3464 goto return_label162;
3465 }
3466 variable2 = ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/;
3467 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
3468 if (UNTAG_Bool(variable2)) { /*if*/
3469 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3470 if (UNTAG_Bool(variable2)) { /*if*/
3471 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3472 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
3473 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1642); nit_exit(1);}
3474 ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/ = variable1 /*new_child*/;
3475 } else { /*if*/
3476 ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/ = NIT_NULL /*null*/;
3477 }
3478 goto return_label162;
3479 }
3480 variable2 = ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/;
3481 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
3482 if (UNTAG_Bool(variable2)) { /*if*/
3483 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3484 if (UNTAG_Bool(variable2)) { /*if*/
3485 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3486 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
3487 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1652); nit_exit(1);}
3488 ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/ = variable1 /*new_child*/;
3489 } else { /*if*/
3490 ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/ = NIT_NULL /*null*/;
3491 }
3492 goto return_label162;
3493 }
3494 variable2 = ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/;
3495 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
3496 if (UNTAG_Bool(variable2)) { /*if*/
3497 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3498 if (UNTAG_Bool(variable2)) { /*if*/
3499 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3500 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
3501 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrPropdef___replace_child, LOCATE_parser_prod, 1662); nit_exit(1);}
3502 ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/ = variable1 /*new_child*/;
3503 } else { /*if*/
3504 ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/ = NIT_NULL /*null*/;
3505 }
3506 goto return_label162;
3507 }
3508 return_label162: while(false);
3509 tracehead = trace.prev;
3510 return;
3511 }
3512 void parser_prod___AAttrPropdef___visit_all(val_t self, val_t param0) {
3513 struct trace_t trace = {NULL, NULL, 1671, LOCATE_parser_prod___AAttrPropdef___visit_all};
3514 val_t variable0;
3515 val_t variable1;
3516 trace.prev = tracehead; tracehead = &trace;
3517 trace.file = LOCATE_parser_prod;
3518 variable0 = param0;
3519 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
3520 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3521 if (UNTAG_Bool(variable1)) { /*if*/
3522 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
3523 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3524 }
3525 variable1 = ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/;
3526 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3527 if (UNTAG_Bool(variable1)) { /*if*/
3528 variable1 = ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/;
3529 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3530 }
3531 variable1 = ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/;
3532 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3533 if (UNTAG_Bool(variable1)) { /*if*/
3534 variable1 = ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/;
3535 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3536 }
3537 variable1 = ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/;
3538 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3539 if (UNTAG_Bool(variable1)) { /*if*/
3540 variable1 = ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/;
3541 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3542 }
3543 variable1 = ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/;
3544 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3545 if (UNTAG_Bool(variable1)) { /*if*/
3546 variable1 = ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/;
3547 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3548 }
3549 variable1 = ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/;
3550 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3551 if (UNTAG_Bool(variable1)) { /*if*/
3552 variable1 = ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/;
3553 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3554 }
3555 variable1 = ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/;
3556 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3557 if (UNTAG_Bool(variable1)) { /*if*/
3558 variable1 = ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/;
3559 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3560 }
3561 variable1 = ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/;
3562 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3563 if (UNTAG_Bool(variable1)) { /*if*/
3564 variable1 = ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/;
3565 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3566 }
3567 variable1 = ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/;
3568 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3569 if (UNTAG_Bool(variable1)) { /*if*/
3570 variable1 = ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/;
3571 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3572 }
3573 tracehead = trace.prev;
3574 return;
3575 }
3576 void parser_prod___AAttrPropdef___visit_all_reverse(val_t self, val_t param0) {
3577 struct trace_t trace = {NULL, NULL, 1702, LOCATE_parser_prod___AAttrPropdef___visit_all_reverse};
3578 val_t variable0;
3579 val_t variable1;
3580 trace.prev = tracehead; tracehead = &trace;
3581 trace.file = LOCATE_parser_prod;
3582 variable0 = param0;
3583 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
3584 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3585 if (UNTAG_Bool(variable1)) { /*if*/
3586 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
3587 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3588 }
3589 variable1 = ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/;
3590 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3591 if (UNTAG_Bool(variable1)) { /*if*/
3592 variable1 = ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/;
3593 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3594 }
3595 variable1 = ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/;
3596 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3597 if (UNTAG_Bool(variable1)) { /*if*/
3598 variable1 = ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/;
3599 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3600 }
3601 variable1 = ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/;
3602 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3603 if (UNTAG_Bool(variable1)) { /*if*/
3604 variable1 = ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/;
3605 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3606 }
3607 variable1 = ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/;
3608 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3609 if (UNTAG_Bool(variable1)) { /*if*/
3610 variable1 = ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/;
3611 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3612 }
3613 variable1 = ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/;
3614 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3615 if (UNTAG_Bool(variable1)) { /*if*/
3616 variable1 = ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/;
3617 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3618 }
3619 variable1 = ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/;
3620 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3621 if (UNTAG_Bool(variable1)) { /*if*/
3622 variable1 = ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/;
3623 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3624 }
3625 variable1 = ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/;
3626 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3627 if (UNTAG_Bool(variable1)) { /*if*/
3628 variable1 = ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/;
3629 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3630 }
3631 variable1 = ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/;
3632 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3633 if (UNTAG_Bool(variable1)) { /*if*/
3634 variable1 = ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/;
3635 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3636 }
3637 tracehead = trace.prev;
3638 return;
3639 }
3640 void parser_prod___AMethPropdef___n_doc__eq(val_t self, val_t param0) {
3641 struct trace_t trace = {NULL, NULL, 1734, LOCATE_parser_prod___AMethPropdef___n_doc__eq};
3642 val_t variable0;
3643 val_t variable1;
3644 trace.prev = tracehead; tracehead = &trace;
3645 trace.file = LOCATE_parser_prod;
3646 variable0 = param0;
3647 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = variable0 /*n*/;
3648 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3649 if (UNTAG_Bool(variable1)) { /*if*/
3650 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
3651 }
3652 tracehead = trace.prev;
3653 return;
3654 }
3655 void parser_prod___AMethPropdef___n_kwredef__eq(val_t self, val_t param0) {
3656 struct trace_t trace = {NULL, NULL, 1741, LOCATE_parser_prod___AMethPropdef___n_kwredef__eq};
3657 val_t variable0;
3658 val_t variable1;
3659 trace.prev = tracehead; tracehead = &trace;
3660 trace.file = LOCATE_parser_prod;
3661 variable0 = param0;
3662 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = variable0 /*n*/;
3663 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3664 if (UNTAG_Bool(variable1)) { /*if*/
3665 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
3666 }
3667 tracehead = trace.prev;
3668 return;
3669 }
3670 void parser_prod___AMethPropdef___n_visibility__eq(val_t self, val_t param0) {
3671 struct trace_t trace = {NULL, NULL, 1748, LOCATE_parser_prod___AMethPropdef___n_visibility__eq};
3672 val_t variable0;
3673 val_t variable1;
3674 trace.prev = tracehead; tracehead = &trace;
3675 trace.file = LOCATE_parser_prod;
3676 variable0 = param0;
3677 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = variable0 /*n*/;
3678 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3679 if (UNTAG_Bool(variable1)) { /*if*/
3680 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
3681 }
3682 tracehead = trace.prev;
3683 return;
3684 }
3685 void parser_prod___AMethPropdef___n_methid__eq(val_t self, val_t param0) {
3686 struct trace_t trace = {NULL, NULL, 1755, LOCATE_parser_prod___AMethPropdef___n_methid__eq};
3687 val_t variable0;
3688 val_t variable1;
3689 trace.prev = tracehead; tracehead = &trace;
3690 trace.file = LOCATE_parser_prod;
3691 variable0 = param0;
3692 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = variable0 /*n*/;
3693 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3694 if (UNTAG_Bool(variable1)) { /*if*/
3695 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
3696 }
3697 tracehead = trace.prev;
3698 return;
3699 }
3700 void parser_prod___AMethPropdef___n_signature__eq(val_t self, val_t param0) {
3701 struct trace_t trace = {NULL, NULL, 1762, LOCATE_parser_prod___AMethPropdef___n_signature__eq};
3702 val_t variable0;
3703 val_t variable1;
3704 trace.prev = tracehead; tracehead = &trace;
3705 trace.file = LOCATE_parser_prod;
3706 variable0 = param0;
3707 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = variable0 /*n*/;
3708 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3709 if (UNTAG_Bool(variable1)) { /*if*/
3710 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
3711 }
3712 tracehead = trace.prev;
3713 return;
3714 }
3715 void parser_prod___AMethPropdef___empty_init(val_t self, int* init_table) {
3716 struct trace_t trace = {NULL, NULL, 1770, LOCATE_parser_prod___AMethPropdef___empty_init};
3717 trace.prev = tracehead; tracehead = &trace;
3718 trace.file = LOCATE_parser_prod;
3719 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMethPropdef].i]) return;
3720 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMethPropdef].i] = 1;
3721 tracehead = trace.prev;
3722 return;
3723 }
3724 void parser_prod___AMethPropdef___init_amethpropdef(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, val_t param4, int* init_table) {
3725 struct trace_t trace = {NULL, NULL, 1772, LOCATE_parser_prod___AMethPropdef___init_amethpropdef};
3726 val_t variable0;
3727 val_t variable1;
3728 val_t variable2;
3729 val_t variable3;
3730 val_t variable4;
3731 val_t variable5;
3732 trace.prev = tracehead; tracehead = &trace;
3733 trace.file = LOCATE_parser_prod;
3734 variable0 = param0;
3735 variable1 = param1;
3736 variable2 = param2;
3737 variable3 = param3;
3738 variable4 = param4;
3739 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMethPropdef].i]) return;
3740 ((parser_prod___AMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AMethPropdef___empty_init))( self, init_table /*YYY*/) /*AMethPropdef::empty_init*/;
3741 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = variable0 /*n_doc*/;
3742 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_doc*/ == NIT_NULL /*null*/) || (( variable0 /*n_doc*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_doc*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_doc*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3743 if (UNTAG_Bool(variable5)) { /*if*/
3744 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/, self) /*PNode::parent=*/;
3745 }
3746 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = variable1 /*n_kwredef*/;
3747 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwredef*/ == NIT_NULL /*null*/) || (( variable1 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwredef*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3748 if (UNTAG_Bool(variable5)) { /*if*/
3749 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/, self) /*PNode::parent=*/;
3750 }
3751 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = variable2 /*n_visibility*/;
3752 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_visibility*/ == NIT_NULL /*null*/) || (( variable2 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_visibility*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3753 if (UNTAG_Bool(variable5)) { /*if*/
3754 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/, self) /*PNode::parent=*/;
3755 }
3756 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = variable3 /*n_methid*/;
3757 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_methid*/ == NIT_NULL /*null*/) || (( variable3 /*n_methid*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_methid*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_methid*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_methid*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_methid*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3758 if (UNTAG_Bool(variable5)) { /*if*/
3759 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_methid*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_methid*/, self) /*PNode::parent=*/;
3760 }
3761 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = variable4 /*n_signature*/;
3762 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_signature*/ == NIT_NULL /*null*/) || (( variable4 /*n_signature*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_signature*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_signature*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_signature*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_signature*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3763 if (UNTAG_Bool(variable5)) { /*if*/
3764 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_signature*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_signature*/, self) /*PNode::parent=*/;
3765 }
3766 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMethPropdef].i] = 1;
3767 tracehead = trace.prev;
3768 return;
3769 }
3770 void parser_prod___AMethPropdef___replace_child(val_t self, val_t param0, val_t param1) {
3771 struct trace_t trace = {NULL, NULL, 1803, LOCATE_parser_prod___AMethPropdef___replace_child};
3772 val_t variable0;
3773 val_t variable1;
3774 val_t variable2;
3775 trace.prev = tracehead; tracehead = &trace;
3776 trace.file = LOCATE_parser_prod;
3777 variable0 = param0;
3778 variable1 = param1;
3779 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3780 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMethPropdef___replace_child, LOCATE_parser_prod, 1805); nit_exit(1);}
3781 variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
3782 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
3783 if (UNTAG_Bool(variable2)) { /*if*/
3784 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3785 if (UNTAG_Bool(variable2)) { /*if*/
3786 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3787 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
3788 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMethPropdef___replace_child, LOCATE_parser_prod, 1809); nit_exit(1);}
3789 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = variable1 /*new_child*/;
3790 } else { /*if*/
3791 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = NIT_NULL /*null*/;
3792 }
3793 goto return_label172;
3794 }
3795 variable2 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
3796 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
3797 if (UNTAG_Bool(variable2)) { /*if*/
3798 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3799 if (UNTAG_Bool(variable2)) { /*if*/
3800 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3801 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
3802 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMethPropdef___replace_child, LOCATE_parser_prod, 1819); nit_exit(1);}
3803 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = variable1 /*new_child*/;
3804 } else { /*if*/
3805 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = NIT_NULL /*null*/;
3806 }
3807 goto return_label172;
3808 }
3809 variable2 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
3810 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
3811 if (UNTAG_Bool(variable2)) { /*if*/
3812 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3813 if (UNTAG_Bool(variable2)) { /*if*/
3814 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3815 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
3816 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMethPropdef___replace_child, LOCATE_parser_prod, 1829); nit_exit(1);}
3817 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = variable1 /*new_child*/;
3818 } else { /*if*/
3819 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = NIT_NULL /*null*/;
3820 }
3821 goto return_label172;
3822 }
3823 variable2 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
3824 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
3825 if (UNTAG_Bool(variable2)) { /*if*/
3826 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3827 if (UNTAG_Bool(variable2)) { /*if*/
3828 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3829 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
3830 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMethPropdef___replace_child, LOCATE_parser_prod, 1839); nit_exit(1);}
3831 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = variable1 /*new_child*/;
3832 } else { /*if*/
3833 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = NIT_NULL /*null*/;
3834 }
3835 goto return_label172;
3836 }
3837 variable2 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
3838 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
3839 if (UNTAG_Bool(variable2)) { /*if*/
3840 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3841 if (UNTAG_Bool(variable2)) { /*if*/
3842 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3843 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
3844 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMethPropdef___replace_child, LOCATE_parser_prod, 1849); nit_exit(1);}
3845 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = variable1 /*new_child*/;
3846 } else { /*if*/
3847 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = NIT_NULL /*null*/;
3848 }
3849 goto return_label172;
3850 }
3851 return_label172: while(false);
3852 tracehead = trace.prev;
3853 return;
3854 }
3855 void parser_prod___AMethPropdef___visit_all(val_t self, val_t param0) {
3856 struct trace_t trace = {NULL, NULL, 1858, LOCATE_parser_prod___AMethPropdef___visit_all};
3857 val_t variable0;
3858 val_t variable1;
3859 trace.prev = tracehead; tracehead = &trace;
3860 trace.file = LOCATE_parser_prod;
3861 variable0 = param0;
3862 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
3863 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3864 if (UNTAG_Bool(variable1)) { /*if*/
3865 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
3866 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3867 }
3868 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
3869 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3870 if (UNTAG_Bool(variable1)) { /*if*/
3871 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
3872 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3873 }
3874 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
3875 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3876 if (UNTAG_Bool(variable1)) { /*if*/
3877 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
3878 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3879 }
3880 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
3881 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3882 if (UNTAG_Bool(variable1)) { /*if*/
3883 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
3884 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3885 }
3886 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
3887 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3888 if (UNTAG_Bool(variable1)) { /*if*/
3889 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
3890 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3891 }
3892 tracehead = trace.prev;
3893 return;
3894 }
3895 void parser_prod___AMethPropdef___visit_all_reverse(val_t self, val_t param0) {
3896 struct trace_t trace = {NULL, NULL, 1877, LOCATE_parser_prod___AMethPropdef___visit_all_reverse};
3897 val_t variable0;
3898 val_t variable1;
3899 trace.prev = tracehead; tracehead = &trace;
3900 trace.file = LOCATE_parser_prod;
3901 variable0 = param0;
3902 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
3903 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3904 if (UNTAG_Bool(variable1)) { /*if*/
3905 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
3906 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3907 }
3908 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
3909 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3910 if (UNTAG_Bool(variable1)) { /*if*/
3911 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
3912 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3913 }
3914 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
3915 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3916 if (UNTAG_Bool(variable1)) { /*if*/
3917 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
3918 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3919 }
3920 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
3921 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3922 if (UNTAG_Bool(variable1)) { /*if*/
3923 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
3924 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3925 }
3926 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
3927 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
3928 if (UNTAG_Bool(variable1)) { /*if*/
3929 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
3930 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3931 }
3932 tracehead = trace.prev;
3933 return;
3934 }
3935 void parser_prod___ADeferredMethPropdef___n_doc__eq(val_t self, val_t param0) {
3936 struct trace_t trace = {NULL, NULL, 1897, LOCATE_parser_prod___ADeferredMethPropdef___n_doc__eq};
3937 val_t variable0;
3938 val_t variable1;
3939 trace.prev = tracehead; tracehead = &trace;
3940 trace.file = LOCATE_parser_prod;
3941 variable0 = param0;
3942 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = variable0 /*n*/;
3943 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3944 if (UNTAG_Bool(variable1)) { /*if*/
3945 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
3946 }
3947 tracehead = trace.prev;
3948 return;
3949 }
3950 void parser_prod___ADeferredMethPropdef___n_kwredef__eq(val_t self, val_t param0) {
3951 struct trace_t trace = {NULL, NULL, 1904, LOCATE_parser_prod___ADeferredMethPropdef___n_kwredef__eq};
3952 val_t variable0;
3953 val_t variable1;
3954 trace.prev = tracehead; tracehead = &trace;
3955 trace.file = LOCATE_parser_prod;
3956 variable0 = param0;
3957 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = variable0 /*n*/;
3958 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3959 if (UNTAG_Bool(variable1)) { /*if*/
3960 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
3961 }
3962 tracehead = trace.prev;
3963 return;
3964 }
3965 void parser_prod___ADeferredMethPropdef___n_visibility__eq(val_t self, val_t param0) {
3966 struct trace_t trace = {NULL, NULL, 1911, LOCATE_parser_prod___ADeferredMethPropdef___n_visibility__eq};
3967 val_t variable0;
3968 val_t variable1;
3969 trace.prev = tracehead; tracehead = &trace;
3970 trace.file = LOCATE_parser_prod;
3971 variable0 = param0;
3972 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = variable0 /*n*/;
3973 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3974 if (UNTAG_Bool(variable1)) { /*if*/
3975 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
3976 }
3977 tracehead = trace.prev;
3978 return;
3979 }
3980 void parser_prod___ADeferredMethPropdef___n_kwmeth__eq(val_t self, val_t param0) {
3981 struct trace_t trace = {NULL, NULL, 1918, LOCATE_parser_prod___ADeferredMethPropdef___n_kwmeth__eq};
3982 val_t variable0;
3983 val_t variable1;
3984 trace.prev = tracehead; tracehead = &trace;
3985 trace.file = LOCATE_parser_prod;
3986 variable0 = param0;
3987 ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/ = variable0 /*n*/;
3988 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3989 if (UNTAG_Bool(variable1)) { /*if*/
3990 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
3991 }
3992 tracehead = trace.prev;
3993 return;
3994 }
3995 void parser_prod___ADeferredMethPropdef___n_methid__eq(val_t self, val_t param0) {
3996 struct trace_t trace = {NULL, NULL, 1925, LOCATE_parser_prod___ADeferredMethPropdef___n_methid__eq};
3997 val_t variable0;
3998 val_t variable1;
3999 trace.prev = tracehead; tracehead = &trace;
4000 trace.file = LOCATE_parser_prod;
4001 variable0 = param0;
4002 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = variable0 /*n*/;
4003 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4004 if (UNTAG_Bool(variable1)) { /*if*/
4005 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
4006 }
4007 tracehead = trace.prev;
4008 return;
4009 }
4010 void parser_prod___ADeferredMethPropdef___n_signature__eq(val_t self, val_t param0) {
4011 struct trace_t trace = {NULL, NULL, 1932, LOCATE_parser_prod___ADeferredMethPropdef___n_signature__eq};
4012 val_t variable0;
4013 val_t variable1;
4014 trace.prev = tracehead; tracehead = &trace;
4015 trace.file = LOCATE_parser_prod;
4016 variable0 = param0;
4017 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = variable0 /*n*/;
4018 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4019 if (UNTAG_Bool(variable1)) { /*if*/
4020 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
4021 }
4022 tracehead = trace.prev;
4023 return;
4024 }
4025 void parser_prod___ADeferredMethPropdef___empty_init(val_t self, int* init_table) {
4026 struct trace_t trace = {NULL, NULL, 1940, LOCATE_parser_prod___ADeferredMethPropdef___empty_init};
4027 trace.prev = tracehead; tracehead = &trace;
4028 trace.file = LOCATE_parser_prod;
4029 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADeferredMethPropdef].i]) return;
4030 ((parser_prod___AMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AMethPropdef___empty_init))( self, init_table /*YYY*/) /*AMethPropdef::empty_init*/;
4031 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADeferredMethPropdef].i] = 1;
4032 tracehead = trace.prev;
4033 return;
4034 }
4035 void parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, val_t param4, val_t param5, int* init_table) {
4036 struct trace_t trace = {NULL, NULL, 1942, LOCATE_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef};
4037 val_t variable0;
4038 val_t variable1;
4039 val_t variable2;
4040 val_t variable3;
4041 val_t variable4;
4042 val_t variable5;
4043 val_t variable6;
4044 trace.prev = tracehead; tracehead = &trace;
4045 trace.file = LOCATE_parser_prod;
4046 variable0 = param0;
4047 variable1 = param1;
4048 variable2 = param2;
4049 variable3 = param3;
4050 variable4 = param4;
4051 variable5 = param5;
4052 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADeferredMethPropdef].i]) return;
4053 ((parser_prod___ADeferredMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___ADeferredMethPropdef___empty_init))( self, init_table /*YYY*/) /*ADeferredMethPropdef::empty_init*/;
4054 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = variable0 /*n_doc*/;
4055 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_doc*/ == NIT_NULL /*null*/) || (( variable0 /*n_doc*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_doc*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_doc*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4056 if (UNTAG_Bool(variable6)) { /*if*/
4057 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/, self) /*PNode::parent=*/;
4058 }
4059 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = variable1 /*n_kwredef*/;
4060 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwredef*/ == NIT_NULL /*null*/) || (( variable1 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwredef*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4061 if (UNTAG_Bool(variable6)) { /*if*/
4062 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/, self) /*PNode::parent=*/;
4063 }
4064 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = variable2 /*n_visibility*/;
4065 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_visibility*/ == NIT_NULL /*null*/) || (( variable2 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_visibility*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4066 if (UNTAG_Bool(variable6)) { /*if*/
4067 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/, self) /*PNode::parent=*/;
4068 }
4069 ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/ = variable3 /*n_kwmeth*/;
4070 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_kwmeth*/ == NIT_NULL /*null*/) || (( variable3 /*n_kwmeth*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwmeth*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_kwmeth*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwmeth*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_kwmeth*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4071 if (UNTAG_Bool(variable6)) { /*if*/
4072 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwmeth*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwmeth*/, self) /*PNode::parent=*/;
4073 }
4074 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = variable4 /*n_methid*/;
4075 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_methid*/ == NIT_NULL /*null*/) || (( variable4 /*n_methid*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_methid*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_methid*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4076 if (UNTAG_Bool(variable6)) { /*if*/
4077 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_methid*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_methid*/, self) /*PNode::parent=*/;
4078 }
4079 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = variable5 /*n_signature*/;
4080 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*n_signature*/ == NIT_NULL /*null*/) || (( variable5 /*n_signature*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*n_signature*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))( variable5 /*n_signature*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4081 if (UNTAG_Bool(variable6)) { /*if*/
4082 ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_signature*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_signature*/, self) /*PNode::parent=*/;
4083 }
4084 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADeferredMethPropdef].i] = 1;
4085 tracehead = trace.prev;
4086 return;
4087 }
4088 void parser_prod___ADeferredMethPropdef___replace_child(val_t self, val_t param0, val_t param1) {
4089 struct trace_t trace = {NULL, NULL, 1978, LOCATE_parser_prod___ADeferredMethPropdef___replace_child};
4090 val_t variable0;
4091 val_t variable1;
4092 val_t variable2;
4093 trace.prev = tracehead; tracehead = &trace;
4094 trace.file = LOCATE_parser_prod;
4095 variable0 = param0;
4096 variable1 = param1;
4097 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4098 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, LOCATE_parser_prod, 1980); nit_exit(1);}
4099 variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
4100 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
4101 if (UNTAG_Bool(variable2)) { /*if*/
4102 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4103 if (UNTAG_Bool(variable2)) { /*if*/
4104 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4105 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
4106 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, LOCATE_parser_prod, 1984); nit_exit(1);}
4107 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = variable1 /*new_child*/;
4108 } else { /*if*/
4109 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = NIT_NULL /*null*/;
4110 }
4111 goto return_label183;
4112 }
4113 variable2 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
4114 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
4115 if (UNTAG_Bool(variable2)) { /*if*/
4116 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4117 if (UNTAG_Bool(variable2)) { /*if*/
4118 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4119 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
4120 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, LOCATE_parser_prod, 1994); nit_exit(1);}
4121 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = variable1 /*new_child*/;
4122 } else { /*if*/
4123 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = NIT_NULL /*null*/;
4124 }
4125 goto return_label183;
4126 }
4127 variable2 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
4128 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
4129 if (UNTAG_Bool(variable2)) { /*if*/
4130 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4131 if (UNTAG_Bool(variable2)) { /*if*/
4132 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4133 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
4134 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, LOCATE_parser_prod, 2004); nit_exit(1);}
4135 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = variable1 /*new_child*/;
4136 } else { /*if*/
4137 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = NIT_NULL /*null*/;
4138 }
4139 goto return_label183;
4140 }
4141 variable2 = ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/;
4142 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
4143 if (UNTAG_Bool(variable2)) { /*if*/
4144 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4145 if (UNTAG_Bool(variable2)) { /*if*/
4146 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4147 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
4148 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, LOCATE_parser_prod, 2014); nit_exit(1);}
4149 ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/ = variable1 /*new_child*/;
4150 } else { /*if*/
4151 ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/ = NIT_NULL /*null*/;
4152 }
4153 goto return_label183;
4154 }
4155 variable2 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
4156 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
4157 if (UNTAG_Bool(variable2)) { /*if*/
4158 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4159 if (UNTAG_Bool(variable2)) { /*if*/
4160 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4161 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
4162 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, LOCATE_parser_prod, 2024); nit_exit(1);}
4163 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = variable1 /*new_child*/;
4164 } else { /*if*/
4165 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = NIT_NULL /*null*/;
4166 }
4167 goto return_label183;
4168 }
4169 variable2 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
4170 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
4171 if (UNTAG_Bool(variable2)) { /*if*/
4172 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4173 if (UNTAG_Bool(variable2)) { /*if*/
4174 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4175 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
4176 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, LOCATE_parser_prod, 2034); nit_exit(1);}
4177 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = variable1 /*new_child*/;
4178 } else { /*if*/
4179 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = NIT_NULL /*null*/;
4180 }
4181 goto return_label183;
4182 }
4183 return_label183: while(false);
4184 tracehead = trace.prev;
4185 return;
4186 }
4187 void parser_prod___ADeferredMethPropdef___visit_all(val_t self, val_t param0) {
4188 struct trace_t trace = {NULL, NULL, 2043, LOCATE_parser_prod___ADeferredMethPropdef___visit_all};
4189 val_t variable0;
4190 val_t variable1;
4191 trace.prev = tracehead; tracehead = &trace;
4192 trace.file = LOCATE_parser_prod;
4193 variable0 = param0;
4194 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
4195 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4196 if (UNTAG_Bool(variable1)) { /*if*/
4197 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
4198 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4199 }
4200 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
4201 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4202 if (UNTAG_Bool(variable1)) { /*if*/
4203 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
4204 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4205 }
4206 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
4207 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4208 if (UNTAG_Bool(variable1)) { /*if*/
4209 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
4210 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4211 }
4212 variable1 = ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/;
4213 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4214 if (UNTAG_Bool(variable1)) { /*if*/
4215 variable1 = ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/;
4216 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4217 }
4218 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
4219 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4220 if (UNTAG_Bool(variable1)) { /*if*/
4221 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
4222 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4223 }
4224 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
4225 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4226 if (UNTAG_Bool(variable1)) { /*if*/
4227 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
4228 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4229 }
4230 tracehead = trace.prev;
4231 return;
4232 }
4233 void parser_prod___ADeferredMethPropdef___visit_all_reverse(val_t self, val_t param0) {
4234 struct trace_t trace = {NULL, NULL, 2065, LOCATE_parser_prod___ADeferredMethPropdef___visit_all_reverse};
4235 val_t variable0;
4236 val_t variable1;
4237 trace.prev = tracehead; tracehead = &trace;
4238 trace.file = LOCATE_parser_prod;
4239 variable0 = param0;
4240 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
4241 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4242 if (UNTAG_Bool(variable1)) { /*if*/
4243 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
4244 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4245 }
4246 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
4247 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4248 if (UNTAG_Bool(variable1)) { /*if*/
4249 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
4250 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4251 }
4252 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
4253 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4254 if (UNTAG_Bool(variable1)) { /*if*/
4255 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
4256 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4257 }
4258 variable1 = ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/;
4259 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4260 if (UNTAG_Bool(variable1)) { /*if*/
4261 variable1 = ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/;
4262 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4263 }
4264 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
4265 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4266 if (UNTAG_Bool(variable1)) { /*if*/
4267 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
4268 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4269 }
4270 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
4271 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4272 if (UNTAG_Bool(variable1)) { /*if*/
4273 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
4274 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4275 }
4276 tracehead = trace.prev;
4277 return;
4278 }
4279 void parser_prod___AInternMethPropdef___n_doc__eq(val_t self, val_t param0) {
4280 struct trace_t trace = {NULL, NULL, 2088, LOCATE_parser_prod___AInternMethPropdef___n_doc__eq};
4281 val_t variable0;
4282 val_t variable1;
4283 trace.prev = tracehead; tracehead = &trace;
4284 trace.file = LOCATE_parser_prod;
4285 variable0 = param0;
4286 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = variable0 /*n*/;
4287 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4288 if (UNTAG_Bool(variable1)) { /*if*/
4289 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
4290 }
4291 tracehead = trace.prev;
4292 return;
4293 }
4294 void parser_prod___AInternMethPropdef___n_kwredef__eq(val_t self, val_t param0) {
4295 struct trace_t trace = {NULL, NULL, 2095, LOCATE_parser_prod___AInternMethPropdef___n_kwredef__eq};
4296 val_t variable0;
4297 val_t variable1;
4298 trace.prev = tracehead; tracehead = &trace;
4299 trace.file = LOCATE_parser_prod;
4300 variable0 = param0;
4301 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = variable0 /*n*/;
4302 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4303 if (UNTAG_Bool(variable1)) { /*if*/
4304 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
4305 }
4306 tracehead = trace.prev;
4307 return;
4308 }
4309 void parser_prod___AInternMethPropdef___n_visibility__eq(val_t self, val_t param0) {
4310 struct trace_t trace = {NULL, NULL, 2102, LOCATE_parser_prod___AInternMethPropdef___n_visibility__eq};
4311 val_t variable0;
4312 val_t variable1;
4313 trace.prev = tracehead; tracehead = &trace;
4314 trace.file = LOCATE_parser_prod;
4315 variable0 = param0;
4316 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = variable0 /*n*/;
4317 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4318 if (UNTAG_Bool(variable1)) { /*if*/
4319 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
4320 }
4321 tracehead = trace.prev;
4322 return;
4323 }
4324 void parser_prod___AInternMethPropdef___n_kwmeth__eq(val_t self, val_t param0) {
4325 struct trace_t trace = {NULL, NULL, 2109, LOCATE_parser_prod___AInternMethPropdef___n_kwmeth__eq};
4326 val_t variable0;
4327 val_t variable1;
4328 trace.prev = tracehead; tracehead = &trace;
4329 trace.file = LOCATE_parser_prod;
4330 variable0 = param0;
4331 ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/ = variable0 /*n*/;
4332 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4333 if (UNTAG_Bool(variable1)) { /*if*/
4334 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
4335 }
4336 tracehead = trace.prev;
4337 return;
4338 }
4339 void parser_prod___AInternMethPropdef___n_methid__eq(val_t self, val_t param0) {
4340 struct trace_t trace = {NULL, NULL, 2116, LOCATE_parser_prod___AInternMethPropdef___n_methid__eq};
4341 val_t variable0;
4342 val_t variable1;
4343 trace.prev = tracehead; tracehead = &trace;
4344 trace.file = LOCATE_parser_prod;
4345 variable0 = param0;
4346 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = variable0 /*n*/;
4347 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4348 if (UNTAG_Bool(variable1)) { /*if*/
4349 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
4350 }
4351 tracehead = trace.prev;
4352 return;
4353 }
4354 void parser_prod___AInternMethPropdef___n_signature__eq(val_t self, val_t param0) {
4355 struct trace_t trace = {NULL, NULL, 2123, LOCATE_parser_prod___AInternMethPropdef___n_signature__eq};
4356 val_t variable0;
4357 val_t variable1;
4358 trace.prev = tracehead; tracehead = &trace;
4359 trace.file = LOCATE_parser_prod;
4360 variable0 = param0;
4361 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = variable0 /*n*/;
4362 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4363 if (UNTAG_Bool(variable1)) { /*if*/
4364 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
4365 }
4366 tracehead = trace.prev;
4367 return;
4368 }
4369 void parser_prod___AInternMethPropdef___empty_init(val_t self, int* init_table) {
4370 struct trace_t trace = {NULL, NULL, 2131, LOCATE_parser_prod___AInternMethPropdef___empty_init};
4371 trace.prev = tracehead; tracehead = &trace;
4372 trace.file = LOCATE_parser_prod;
4373 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInternMethPropdef].i]) return;
4374 ((parser_prod___AMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AMethPropdef___empty_init))( self, init_table /*YYY*/) /*AMethPropdef::empty_init*/;
4375 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInternMethPropdef].i] = 1;
4376 tracehead = trace.prev;
4377 return;
4378 }
4379 void parser_prod___AInternMethPropdef___init_ainternmethpropdef(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, val_t param4, val_t param5, int* init_table) {
4380 struct trace_t trace = {NULL, NULL, 2133, LOCATE_parser_prod___AInternMethPropdef___init_ainternmethpropdef};
4381 val_t variable0;
4382 val_t variable1;
4383 val_t variable2;
4384 val_t variable3;
4385 val_t variable4;
4386 val_t variable5;
4387 val_t variable6;
4388 trace.prev = tracehead; tracehead = &trace;
4389 trace.file = LOCATE_parser_prod;
4390 variable0 = param0;
4391 variable1 = param1;
4392 variable2 = param2;
4393 variable3 = param3;
4394 variable4 = param4;
4395 variable5 = param5;
4396 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInternMethPropdef].i]) return;
4397 ((parser_prod___AInternMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AInternMethPropdef___empty_init))( self, init_table /*YYY*/) /*AInternMethPropdef::empty_init*/;
4398 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = variable0 /*n_doc*/;
4399 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_doc*/ == NIT_NULL /*null*/) || (( variable0 /*n_doc*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_doc*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_doc*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4400 if (UNTAG_Bool(variable6)) { /*if*/
4401 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/, self) /*PNode::parent=*/;
4402 }
4403 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = variable1 /*n_kwredef*/;
4404 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwredef*/ == NIT_NULL /*null*/) || (( variable1 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwredef*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4405 if (UNTAG_Bool(variable6)) { /*if*/
4406 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/, self) /*PNode::parent=*/;
4407 }
4408 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = variable2 /*n_visibility*/;
4409 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_visibility*/ == NIT_NULL /*null*/) || (( variable2 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_visibility*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4410 if (UNTAG_Bool(variable6)) { /*if*/
4411 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/, self) /*PNode::parent=*/;
4412 }
4413 ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/ = variable3 /*n_kwmeth*/;
4414 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_kwmeth*/ == NIT_NULL /*null*/) || (( variable3 /*n_kwmeth*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwmeth*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_kwmeth*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwmeth*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_kwmeth*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4415 if (UNTAG_Bool(variable6)) { /*if*/
4416 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwmeth*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwmeth*/, self) /*PNode::parent=*/;
4417 }
4418 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = variable4 /*n_methid*/;
4419 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_methid*/ == NIT_NULL /*null*/) || (( variable4 /*n_methid*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_methid*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_methid*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4420 if (UNTAG_Bool(variable6)) { /*if*/
4421 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_methid*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_methid*/, self) /*PNode::parent=*/;
4422 }
4423 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = variable5 /*n_signature*/;
4424 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*n_signature*/ == NIT_NULL /*null*/) || (( variable5 /*n_signature*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*n_signature*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))( variable5 /*n_signature*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4425 if (UNTAG_Bool(variable6)) { /*if*/
4426 ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_signature*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_signature*/, self) /*PNode::parent=*/;
4427 }
4428 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInternMethPropdef].i] = 1;
4429 tracehead = trace.prev;
4430 return;
4431 }
4432 void parser_prod___AInternMethPropdef___replace_child(val_t self, val_t param0, val_t param1) {
4433 struct trace_t trace = {NULL, NULL, 2169, LOCATE_parser_prod___AInternMethPropdef___replace_child};
4434 val_t variable0;
4435 val_t variable1;
4436 val_t variable2;
4437 trace.prev = tracehead; tracehead = &trace;
4438 trace.file = LOCATE_parser_prod;
4439 variable0 = param0;
4440 variable1 = param1;
4441 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4442 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInternMethPropdef___replace_child, LOCATE_parser_prod, 2171); nit_exit(1);}
4443 variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
4444 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
4445 if (UNTAG_Bool(variable2)) { /*if*/
4446 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4447 if (UNTAG_Bool(variable2)) { /*if*/
4448 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4449 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
4450 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInternMethPropdef___replace_child, LOCATE_parser_prod, 2175); nit_exit(1);}
4451 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = variable1 /*new_child*/;
4452 } else { /*if*/
4453 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = NIT_NULL /*null*/;
4454 }
4455 goto return_label194;
4456 }
4457 variable2 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
4458 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
4459 if (UNTAG_Bool(variable2)) { /*if*/
4460 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4461 if (UNTAG_Bool(variable2)) { /*if*/
4462 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4463 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
4464 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInternMethPropdef___replace_child, LOCATE_parser_prod, 2185); nit_exit(1);}
4465 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = variable1 /*new_child*/;
4466 } else { /*if*/
4467 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = NIT_NULL /*null*/;
4468 }
4469 goto return_label194;
4470 }
4471 variable2 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
4472 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
4473 if (UNTAG_Bool(variable2)) { /*if*/
4474 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4475 if (UNTAG_Bool(variable2)) { /*if*/
4476 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4477 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
4478 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInternMethPropdef___replace_child, LOCATE_parser_prod, 2195); nit_exit(1);}
4479 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = variable1 /*new_child*/;
4480 } else { /*if*/
4481 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = NIT_NULL /*null*/;
4482 }
4483 goto return_label194;
4484 }
4485 variable2 = ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/;
4486 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
4487 if (UNTAG_Bool(variable2)) { /*if*/
4488 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4489 if (UNTAG_Bool(variable2)) { /*if*/
4490 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4491 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
4492 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInternMethPropdef___replace_child, LOCATE_parser_prod, 2205); nit_exit(1);}
4493 ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/ = variable1 /*new_child*/;
4494 } else { /*if*/
4495 ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/ = NIT_NULL /*null*/;
4496 }
4497 goto return_label194;
4498 }
4499 variable2 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
4500 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
4501 if (UNTAG_Bool(variable2)) { /*if*/
4502 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4503 if (UNTAG_Bool(variable2)) { /*if*/
4504 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4505 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
4506 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInternMethPropdef___replace_child, LOCATE_parser_prod, 2215); nit_exit(1);}
4507 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = variable1 /*new_child*/;
4508 } else { /*if*/
4509 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = NIT_NULL /*null*/;
4510 }
4511 goto return_label194;
4512 }
4513 variable2 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
4514 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
4515 if (UNTAG_Bool(variable2)) { /*if*/
4516 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4517 if (UNTAG_Bool(variable2)) { /*if*/
4518 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4519 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
4520 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInternMethPropdef___replace_child, LOCATE_parser_prod, 2225); nit_exit(1);}
4521 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = variable1 /*new_child*/;
4522 } else { /*if*/
4523 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = NIT_NULL /*null*/;
4524 }
4525 goto return_label194;
4526 }
4527 return_label194: while(false);
4528 tracehead = trace.prev;
4529 return;
4530 }
4531 void parser_prod___AInternMethPropdef___visit_all(val_t self, val_t param0) {
4532 struct trace_t trace = {NULL, NULL, 2234, LOCATE_parser_prod___AInternMethPropdef___visit_all};
4533 val_t variable0;
4534 val_t variable1;
4535 trace.prev = tracehead; tracehead = &trace;
4536 trace.file = LOCATE_parser_prod;
4537 variable0 = param0;
4538 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
4539 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4540 if (UNTAG_Bool(variable1)) { /*if*/
4541 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
4542 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4543 }
4544 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
4545 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4546 if (UNTAG_Bool(variable1)) { /*if*/
4547 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
4548 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4549 }
4550 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
4551 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4552 if (UNTAG_Bool(variable1)) { /*if*/
4553 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
4554 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4555 }
4556 variable1 = ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/;
4557 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4558 if (UNTAG_Bool(variable1)) { /*if*/
4559 variable1 = ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/;
4560 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4561 }
4562 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
4563 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4564 if (UNTAG_Bool(variable1)) { /*if*/
4565 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
4566 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4567 }
4568 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
4569 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4570 if (UNTAG_Bool(variable1)) { /*if*/
4571 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
4572 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4573 }
4574 tracehead = trace.prev;
4575 return;
4576 }
4577 void parser_prod___AInternMethPropdef___visit_all_reverse(val_t self, val_t param0) {
4578 struct trace_t trace = {NULL, NULL, 2256, LOCATE_parser_prod___AInternMethPropdef___visit_all_reverse};
4579 val_t variable0;
4580 val_t variable1;
4581 trace.prev = tracehead; tracehead = &trace;
4582 trace.file = LOCATE_parser_prod;
4583 variable0 = param0;
4584 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
4585 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4586 if (UNTAG_Bool(variable1)) { /*if*/
4587 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
4588 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4589 }
4590 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
4591 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4592 if (UNTAG_Bool(variable1)) { /*if*/
4593 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
4594 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4595 }
4596 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
4597 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4598 if (UNTAG_Bool(variable1)) { /*if*/
4599 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
4600 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4601 }
4602 variable1 = ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/;
4603 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4604 if (UNTAG_Bool(variable1)) { /*if*/
4605 variable1 = ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/;
4606 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4607 }
4608 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
4609 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4610 if (UNTAG_Bool(variable1)) { /*if*/
4611 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
4612 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4613 }
4614 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
4615 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4616 if (UNTAG_Bool(variable1)) { /*if*/
4617 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
4618 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4619 }
4620 tracehead = trace.prev;
4621 return;
4622 }
4623 void parser_prod___AExternMethPropdef___n_doc__eq(val_t self, val_t param0) {
4624 struct trace_t trace = {NULL, NULL, 2279, LOCATE_parser_prod___AExternMethPropdef___n_doc__eq};
4625 val_t variable0;
4626 val_t variable1;
4627 trace.prev = tracehead; tracehead = &trace;
4628 trace.file = LOCATE_parser_prod;
4629 variable0 = param0;
4630 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = variable0 /*n*/;
4631 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4632 if (UNTAG_Bool(variable1)) { /*if*/
4633 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
4634 }
4635 tracehead = trace.prev;
4636 return;
4637 }
4638 void parser_prod___AExternMethPropdef___n_kwredef__eq(val_t self, val_t param0) {
4639 struct trace_t trace = {NULL, NULL, 2286, LOCATE_parser_prod___AExternMethPropdef___n_kwredef__eq};
4640 val_t variable0;
4641 val_t variable1;
4642 trace.prev = tracehead; tracehead = &trace;
4643 trace.file = LOCATE_parser_prod;
4644 variable0 = param0;
4645 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = variable0 /*n*/;
4646 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4647 if (UNTAG_Bool(variable1)) { /*if*/
4648 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
4649 }
4650 tracehead = trace.prev;
4651 return;
4652 }
4653 void parser_prod___AExternMethPropdef___n_visibility__eq(val_t self, val_t param0) {
4654 struct trace_t trace = {NULL, NULL, 2293, LOCATE_parser_prod___AExternMethPropdef___n_visibility__eq};
4655 val_t variable0;
4656 val_t variable1;
4657 trace.prev = tracehead; tracehead = &trace;
4658 trace.file = LOCATE_parser_prod;
4659 variable0 = param0;
4660 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = variable0 /*n*/;
4661 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4662 if (UNTAG_Bool(variable1)) { /*if*/
4663 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
4664 }
4665 tracehead = trace.prev;
4666 return;
4667 }
4668 void parser_prod___AExternMethPropdef___n_kwmeth__eq(val_t self, val_t param0) {
4669 struct trace_t trace = {NULL, NULL, 2300, LOCATE_parser_prod___AExternMethPropdef___n_kwmeth__eq};
4670 val_t variable0;
4671 val_t variable1;
4672 trace.prev = tracehead; tracehead = &trace;
4673 trace.file = LOCATE_parser_prod;
4674 variable0 = param0;
4675 ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/ = variable0 /*n*/;
4676 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4677 if (UNTAG_Bool(variable1)) { /*if*/
4678 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
4679 }
4680 tracehead = trace.prev;
4681 return;
4682 }
4683 void parser_prod___AExternMethPropdef___n_methid__eq(val_t self, val_t param0) {
4684 struct trace_t trace = {NULL, NULL, 2307, LOCATE_parser_prod___AExternMethPropdef___n_methid__eq};
4685 val_t variable0;
4686 val_t variable1;
4687 trace.prev = tracehead; tracehead = &trace;
4688 trace.file = LOCATE_parser_prod;
4689 variable0 = param0;
4690 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = variable0 /*n*/;
4691 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4692 if (UNTAG_Bool(variable1)) { /*if*/
4693 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
4694 }
4695 tracehead = trace.prev;
4696 return;
4697 }
4698 void parser_prod___AExternMethPropdef___n_signature__eq(val_t self, val_t param0) {
4699 struct trace_t trace = {NULL, NULL, 2314, LOCATE_parser_prod___AExternMethPropdef___n_signature__eq};
4700 val_t variable0;
4701 val_t variable1;
4702 trace.prev = tracehead; tracehead = &trace;
4703 trace.file = LOCATE_parser_prod;
4704 variable0 = param0;
4705 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = variable0 /*n*/;
4706 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4707 if (UNTAG_Bool(variable1)) { /*if*/
4708 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
4709 }
4710 tracehead = trace.prev;
4711 return;
4712 }
4713 void parser_prod___AExternMethPropdef___n_extern__eq(val_t self, val_t param0) {
4714 struct trace_t trace = {NULL, NULL, 2321, LOCATE_parser_prod___AExternMethPropdef___n_extern__eq};
4715 val_t variable0;
4716 val_t variable1;
4717 trace.prev = tracehead; tracehead = &trace;
4718 trace.file = LOCATE_parser_prod;
4719 variable0 = param0;
4720 ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/ = variable0 /*n*/;
4721 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4722 if (UNTAG_Bool(variable1)) { /*if*/
4723 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
4724 }
4725 tracehead = trace.prev;
4726 return;
4727 }
4728 void parser_prod___AExternMethPropdef___empty_init(val_t self, int* init_table) {
4729 struct trace_t trace = {NULL, NULL, 2329, LOCATE_parser_prod___AExternMethPropdef___empty_init};
4730 trace.prev = tracehead; tracehead = &trace;
4731 trace.file = LOCATE_parser_prod;
4732 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AExternMethPropdef].i]) return;
4733 ((parser_prod___AMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AMethPropdef___empty_init))( self, init_table /*YYY*/) /*AMethPropdef::empty_init*/;
4734 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AExternMethPropdef].i] = 1;
4735 tracehead = trace.prev;
4736 return;
4737 }
4738 void parser_prod___AExternMethPropdef___init_aexternmethpropdef(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, val_t param4, val_t param5, val_t param6, int* init_table) {
4739 struct trace_t trace = {NULL, NULL, 2331, LOCATE_parser_prod___AExternMethPropdef___init_aexternmethpropdef};
4740 val_t variable0;
4741 val_t variable1;
4742 val_t variable2;
4743 val_t variable3;
4744 val_t variable4;
4745 val_t variable5;
4746 val_t variable6;
4747 val_t variable7;
4748 trace.prev = tracehead; tracehead = &trace;
4749 trace.file = LOCATE_parser_prod;
4750 variable0 = param0;
4751 variable1 = param1;
4752 variable2 = param2;
4753 variable3 = param3;
4754 variable4 = param4;
4755 variable5 = param5;
4756 variable6 = param6;
4757 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AExternMethPropdef].i]) return;
4758 ((parser_prod___AExternMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AExternMethPropdef___empty_init))( self, init_table /*YYY*/) /*AExternMethPropdef::empty_init*/;
4759 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = variable0 /*n_doc*/;
4760 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_doc*/ == NIT_NULL /*null*/) || (( variable0 /*n_doc*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_doc*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_doc*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4761 if (UNTAG_Bool(variable7)) { /*if*/
4762 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/, self) /*PNode::parent=*/;
4763 }
4764 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = variable1 /*n_kwredef*/;
4765 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwredef*/ == NIT_NULL /*null*/) || (( variable1 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwredef*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4766 if (UNTAG_Bool(variable7)) { /*if*/
4767 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/, self) /*PNode::parent=*/;
4768 }
4769 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = variable2 /*n_visibility*/;
4770 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_visibility*/ == NIT_NULL /*null*/) || (( variable2 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_visibility*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4771 if (UNTAG_Bool(variable7)) { /*if*/
4772 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/, self) /*PNode::parent=*/;
4773 }
4774 ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/ = variable3 /*n_kwmeth*/;
4775 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_kwmeth*/ == NIT_NULL /*null*/) || (( variable3 /*n_kwmeth*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwmeth*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_kwmeth*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwmeth*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_kwmeth*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4776 if (UNTAG_Bool(variable7)) { /*if*/
4777 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwmeth*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwmeth*/, self) /*PNode::parent=*/;
4778 }
4779 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = variable4 /*n_methid*/;
4780 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_methid*/ == NIT_NULL /*null*/) || (( variable4 /*n_methid*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_methid*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_methid*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4781 if (UNTAG_Bool(variable7)) { /*if*/
4782 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_methid*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_methid*/, self) /*PNode::parent=*/;
4783 }
4784 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = variable5 /*n_signature*/;
4785 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*n_signature*/ == NIT_NULL /*null*/) || (( variable5 /*n_signature*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*n_signature*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))( variable5 /*n_signature*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4786 if (UNTAG_Bool(variable7)) { /*if*/
4787 ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_signature*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_signature*/, self) /*PNode::parent=*/;
4788 }
4789 ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/ = variable6 /*n_extern*/;
4790 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*n_extern*/ == NIT_NULL /*null*/) || (( variable6 /*n_extern*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*n_extern*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*n_extern*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*n_extern*/,COLOR_kernel___Object_____eqeq))( variable6 /*n_extern*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4791 if (UNTAG_Bool(variable7)) { /*if*/
4792 ((parser_prod___PNode___parent__eq_t)CALL( variable6 /*n_extern*/,COLOR_parser_prod___PNode___parent__eq))( variable6 /*n_extern*/, self) /*PNode::parent=*/;
4793 }
4794 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AExternMethPropdef].i] = 1;
4795 tracehead = trace.prev;
4796 return;
4797 }
4798 void parser_prod___AExternMethPropdef___replace_child(val_t self, val_t param0, val_t param1) {
4799 struct trace_t trace = {NULL, NULL, 2372, LOCATE_parser_prod___AExternMethPropdef___replace_child};
4800 val_t variable0;
4801 val_t variable1;
4802 val_t variable2;
4803 trace.prev = tracehead; tracehead = &trace;
4804 trace.file = LOCATE_parser_prod;
4805 variable0 = param0;
4806 variable1 = param1;
4807 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4808 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AExternMethPropdef___replace_child, LOCATE_parser_prod, 2374); nit_exit(1);}
4809 variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
4810 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
4811 if (UNTAG_Bool(variable2)) { /*if*/
4812 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4813 if (UNTAG_Bool(variable2)) { /*if*/
4814 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4815 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
4816 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AExternMethPropdef___replace_child, LOCATE_parser_prod, 2378); nit_exit(1);}
4817 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = variable1 /*new_child*/;
4818 } else { /*if*/
4819 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = NIT_NULL /*null*/;
4820 }
4821 goto return_label206;
4822 }
4823 variable2 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
4824 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
4825 if (UNTAG_Bool(variable2)) { /*if*/
4826 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4827 if (UNTAG_Bool(variable2)) { /*if*/
4828 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4829 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
4830 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AExternMethPropdef___replace_child, LOCATE_parser_prod, 2388); nit_exit(1);}
4831 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = variable1 /*new_child*/;
4832 } else { /*if*/
4833 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = NIT_NULL /*null*/;
4834 }
4835 goto return_label206;
4836 }
4837 variable2 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
4838 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
4839 if (UNTAG_Bool(variable2)) { /*if*/
4840 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4841 if (UNTAG_Bool(variable2)) { /*if*/
4842 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4843 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
4844 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AExternMethPropdef___replace_child, LOCATE_parser_prod, 2398); nit_exit(1);}
4845 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = variable1 /*new_child*/;
4846 } else { /*if*/
4847 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = NIT_NULL /*null*/;
4848 }
4849 goto return_label206;
4850 }
4851 variable2 = ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/;
4852 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
4853 if (UNTAG_Bool(variable2)) { /*if*/
4854 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4855 if (UNTAG_Bool(variable2)) { /*if*/
4856 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4857 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
4858 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AExternMethPropdef___replace_child, LOCATE_parser_prod, 2408); nit_exit(1);}
4859 ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/ = variable1 /*new_child*/;
4860 } else { /*if*/
4861 ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/ = NIT_NULL /*null*/;
4862 }
4863 goto return_label206;
4864 }
4865 variable2 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
4866 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
4867 if (UNTAG_Bool(variable2)) { /*if*/
4868 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4869 if (UNTAG_Bool(variable2)) { /*if*/
4870 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4871 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
4872 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AExternMethPropdef___replace_child, LOCATE_parser_prod, 2418); nit_exit(1);}
4873 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = variable1 /*new_child*/;
4874 } else { /*if*/
4875 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = NIT_NULL /*null*/;
4876 }
4877 goto return_label206;
4878 }
4879 variable2 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
4880 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
4881 if (UNTAG_Bool(variable2)) { /*if*/
4882 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4883 if (UNTAG_Bool(variable2)) { /*if*/
4884 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4885 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
4886 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AExternMethPropdef___replace_child, LOCATE_parser_prod, 2428); nit_exit(1);}
4887 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = variable1 /*new_child*/;
4888 } else { /*if*/
4889 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = NIT_NULL /*null*/;
4890 }
4891 goto return_label206;
4892 }
4893 variable2 = ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/;
4894 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
4895 if (UNTAG_Bool(variable2)) { /*if*/
4896 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4897 if (UNTAG_Bool(variable2)) { /*if*/
4898 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4899 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TString, ID_TString)) /*cast TString*/;
4900 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AExternMethPropdef___replace_child, LOCATE_parser_prod, 2438); nit_exit(1);}
4901 ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/ = variable1 /*new_child*/;
4902 } else { /*if*/
4903 ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/ = NIT_NULL /*null*/;
4904 }
4905 goto return_label206;
4906 }
4907 return_label206: while(false);
4908 tracehead = trace.prev;
4909 return;
4910 }
4911 void parser_prod___AExternMethPropdef___visit_all(val_t self, val_t param0) {
4912 struct trace_t trace = {NULL, NULL, 2447, LOCATE_parser_prod___AExternMethPropdef___visit_all};
4913 val_t variable0;
4914 val_t variable1;
4915 trace.prev = tracehead; tracehead = &trace;
4916 trace.file = LOCATE_parser_prod;
4917 variable0 = param0;
4918 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
4919 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4920 if (UNTAG_Bool(variable1)) { /*if*/
4921 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
4922 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4923 }
4924 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
4925 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4926 if (UNTAG_Bool(variable1)) { /*if*/
4927 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
4928 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4929 }
4930 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
4931 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4932 if (UNTAG_Bool(variable1)) { /*if*/
4933 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
4934 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4935 }
4936 variable1 = ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/;
4937 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4938 if (UNTAG_Bool(variable1)) { /*if*/
4939 variable1 = ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/;
4940 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4941 }
4942 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
4943 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4944 if (UNTAG_Bool(variable1)) { /*if*/
4945 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
4946 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4947 }
4948 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
4949 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4950 if (UNTAG_Bool(variable1)) { /*if*/
4951 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
4952 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4953 }
4954 variable1 = ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/;
4955 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4956 if (UNTAG_Bool(variable1)) { /*if*/
4957 variable1 = ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/;
4958 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4959 }
4960 tracehead = trace.prev;
4961 return;
4962 }
4963 void parser_prod___AExternMethPropdef___visit_all_reverse(val_t self, val_t param0) {
4964 struct trace_t trace = {NULL, NULL, 2472, LOCATE_parser_prod___AExternMethPropdef___visit_all_reverse};
4965 val_t variable0;
4966 val_t variable1;
4967 trace.prev = tracehead; tracehead = &trace;
4968 trace.file = LOCATE_parser_prod;
4969 variable0 = param0;
4970 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
4971 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4972 if (UNTAG_Bool(variable1)) { /*if*/
4973 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
4974 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4975 }
4976 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
4977 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4978 if (UNTAG_Bool(variable1)) { /*if*/
4979 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
4980 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4981 }
4982 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
4983 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4984 if (UNTAG_Bool(variable1)) { /*if*/
4985 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
4986 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4987 }
4988 variable1 = ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/;
4989 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4990 if (UNTAG_Bool(variable1)) { /*if*/
4991 variable1 = ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/;
4992 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4993 }
4994 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
4995 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
4996 if (UNTAG_Bool(variable1)) { /*if*/
4997 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
4998 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4999 }
5000 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
5001 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5002 if (UNTAG_Bool(variable1)) { /*if*/
5003 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
5004 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5005 }
5006 variable1 = ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/;
5007 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5008 if (UNTAG_Bool(variable1)) { /*if*/
5009 variable1 = ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/;
5010 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5011 }
5012 tracehead = trace.prev;
5013 return;
5014 }
5015 void parser_prod___AConcreteMethPropdef___n_doc__eq(val_t self, val_t param0) {
5016 struct trace_t trace = {NULL, NULL, 2498, LOCATE_parser_prod___AConcreteMethPropdef___n_doc__eq};
5017 val_t variable0;
5018 val_t variable1;
5019 trace.prev = tracehead; tracehead = &trace;
5020 trace.file = LOCATE_parser_prod;
5021 variable0 = param0;
5022 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = variable0 /*n*/;
5023 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5024 if (UNTAG_Bool(variable1)) { /*if*/
5025 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
5026 }
5027 tracehead = trace.prev;
5028 return;
5029 }
5030 void parser_prod___AConcreteMethPropdef___n_kwredef__eq(val_t self, val_t param0) {
5031 struct trace_t trace = {NULL, NULL, 2505, LOCATE_parser_prod___AConcreteMethPropdef___n_kwredef__eq};
5032 val_t variable0;
5033 val_t variable1;
5034 trace.prev = tracehead; tracehead = &trace;
5035 trace.file = LOCATE_parser_prod;
5036 variable0 = param0;
5037 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = variable0 /*n*/;
5038 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5039 if (UNTAG_Bool(variable1)) { /*if*/
5040 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
5041 }
5042 tracehead = trace.prev;
5043 return;
5044 }
5045 void parser_prod___AConcreteMethPropdef___n_visibility__eq(val_t self, val_t param0) {
5046 struct trace_t trace = {NULL, NULL, 2512, LOCATE_parser_prod___AConcreteMethPropdef___n_visibility__eq};
5047 val_t variable0;
5048 val_t variable1;
5049 trace.prev = tracehead; tracehead = &trace;
5050 trace.file = LOCATE_parser_prod;
5051 variable0 = param0;
5052 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = variable0 /*n*/;
5053 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5054 if (UNTAG_Bool(variable1)) { /*if*/
5055 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
5056 }
5057 tracehead = trace.prev;
5058 return;
5059 }
5060 void parser_prod___AConcreteMethPropdef___n_kwmeth__eq(val_t self, val_t param0) {
5061 struct trace_t trace = {NULL, NULL, 2519, LOCATE_parser_prod___AConcreteMethPropdef___n_kwmeth__eq};
5062 val_t variable0;
5063 val_t variable1;
5064 trace.prev = tracehead; tracehead = &trace;
5065 trace.file = LOCATE_parser_prod;
5066 variable0 = param0;
5067 ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/ = variable0 /*n*/;
5068 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5069 if (UNTAG_Bool(variable1)) { /*if*/
5070 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
5071 }
5072 tracehead = trace.prev;
5073 return;
5074 }
5075 void parser_prod___AConcreteMethPropdef___n_methid__eq(val_t self, val_t param0) {
5076 struct trace_t trace = {NULL, NULL, 2526, LOCATE_parser_prod___AConcreteMethPropdef___n_methid__eq};
5077 val_t variable0;
5078 val_t variable1;
5079 trace.prev = tracehead; tracehead = &trace;
5080 trace.file = LOCATE_parser_prod;
5081 variable0 = param0;
5082 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = variable0 /*n*/;
5083 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5084 if (UNTAG_Bool(variable1)) { /*if*/
5085 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
5086 }
5087 tracehead = trace.prev;
5088 return;
5089 }
5090 void parser_prod___AConcreteMethPropdef___n_signature__eq(val_t self, val_t param0) {
5091 struct trace_t trace = {NULL, NULL, 2533, LOCATE_parser_prod___AConcreteMethPropdef___n_signature__eq};
5092 val_t variable0;
5093 val_t variable1;
5094 trace.prev = tracehead; tracehead = &trace;
5095 trace.file = LOCATE_parser_prod;
5096 variable0 = param0;
5097 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = variable0 /*n*/;
5098 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5099 if (UNTAG_Bool(variable1)) { /*if*/
5100 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
5101 }
5102 tracehead = trace.prev;
5103 return;
5104 }
5105 void parser_prod___AConcreteMethPropdef___n_block__eq(val_t self, val_t param0) {
5106 struct trace_t trace = {NULL, NULL, 2540, LOCATE_parser_prod___AConcreteMethPropdef___n_block__eq};
5107 val_t variable0;
5108 val_t variable1;
5109 trace.prev = tracehead; tracehead = &trace;
5110 trace.file = LOCATE_parser_prod;
5111 variable0 = param0;
5112 ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ = variable0 /*n*/;
5113 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5114 if (UNTAG_Bool(variable1)) { /*if*/
5115 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
5116 }
5117 tracehead = trace.prev;
5118 return;
5119 }
5120 void parser_prod___AConcreteMethPropdef___empty_init(val_t self, int* init_table) {
5121 struct trace_t trace = {NULL, NULL, 2548, LOCATE_parser_prod___AConcreteMethPropdef___empty_init};
5122 trace.prev = tracehead; tracehead = &trace;
5123 trace.file = LOCATE_parser_prod;
5124 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteMethPropdef].i]) return;
5125 ((parser_prod___AMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AMethPropdef___empty_init))( self, init_table /*YYY*/) /*AMethPropdef::empty_init*/;
5126 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteMethPropdef].i] = 1;
5127 tracehead = trace.prev;
5128 return;
5129 }
5130 void parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, val_t param4, val_t param5, val_t param6, int* init_table) {
5131 struct trace_t trace = {NULL, NULL, 2550, LOCATE_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef};
5132 val_t variable0;
5133 val_t variable1;
5134 val_t variable2;
5135 val_t variable3;
5136 val_t variable4;
5137 val_t variable5;
5138 val_t variable6;
5139 val_t variable7;
5140 trace.prev = tracehead; tracehead = &trace;
5141 trace.file = LOCATE_parser_prod;
5142 variable0 = param0;
5143 variable1 = param1;
5144 variable2 = param2;
5145 variable3 = param3;
5146 variable4 = param4;
5147 variable5 = param5;
5148 variable6 = param6;
5149 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteMethPropdef].i]) return;
5150 ((parser_prod___AConcreteMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AConcreteMethPropdef___empty_init))( self, init_table /*YYY*/) /*AConcreteMethPropdef::empty_init*/;
5151 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = variable0 /*n_doc*/;
5152 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_doc*/ == NIT_NULL /*null*/) || (( variable0 /*n_doc*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_doc*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_doc*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5153 if (UNTAG_Bool(variable7)) { /*if*/
5154 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/, self) /*PNode::parent=*/;
5155 }
5156 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = variable1 /*n_kwredef*/;
5157 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwredef*/ == NIT_NULL /*null*/) || (( variable1 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwredef*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5158 if (UNTAG_Bool(variable7)) { /*if*/
5159 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/, self) /*PNode::parent=*/;
5160 }
5161 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = variable2 /*n_visibility*/;
5162 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_visibility*/ == NIT_NULL /*null*/) || (( variable2 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_visibility*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5163 if (UNTAG_Bool(variable7)) { /*if*/
5164 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/, self) /*PNode::parent=*/;
5165 }
5166 ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/ = variable3 /*n_kwmeth*/;
5167 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_kwmeth*/ == NIT_NULL /*null*/) || (( variable3 /*n_kwmeth*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwmeth*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_kwmeth*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwmeth*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_kwmeth*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5168 if (UNTAG_Bool(variable7)) { /*if*/
5169 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwmeth*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwmeth*/, self) /*PNode::parent=*/;
5170 }
5171 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = variable4 /*n_methid*/;
5172 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_methid*/ == NIT_NULL /*null*/) || (( variable4 /*n_methid*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_methid*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_methid*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5173 if (UNTAG_Bool(variable7)) { /*if*/
5174 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_methid*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_methid*/, self) /*PNode::parent=*/;
5175 }
5176 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = variable5 /*n_signature*/;
5177 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*n_signature*/ == NIT_NULL /*null*/) || (( variable5 /*n_signature*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*n_signature*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))( variable5 /*n_signature*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5178 if (UNTAG_Bool(variable7)) { /*if*/
5179 ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_signature*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_signature*/, self) /*PNode::parent=*/;
5180 }
5181 ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ = variable6 /*n_block*/;
5182 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*n_block*/ == NIT_NULL /*null*/) || (( variable6 /*n_block*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*n_block*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*n_block*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*n_block*/,COLOR_kernel___Object_____eqeq))( variable6 /*n_block*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5183 if (UNTAG_Bool(variable7)) { /*if*/
5184 ((parser_prod___PNode___parent__eq_t)CALL( variable6 /*n_block*/,COLOR_parser_prod___PNode___parent__eq))( variable6 /*n_block*/, self) /*PNode::parent=*/;
5185 }
5186 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteMethPropdef].i] = 1;
5187 tracehead = trace.prev;
5188 return;
5189 }
5190 void parser_prod___AConcreteMethPropdef___replace_child(val_t self, val_t param0, val_t param1) {
5191 struct trace_t trace = {NULL, NULL, 2591, LOCATE_parser_prod___AConcreteMethPropdef___replace_child};
5192 val_t variable0;
5193 val_t variable1;
5194 val_t variable2;
5195 trace.prev = tracehead; tracehead = &trace;
5196 trace.file = LOCATE_parser_prod;
5197 variable0 = param0;
5198 variable1 = param1;
5199 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5200 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, LOCATE_parser_prod, 2593); nit_exit(1);}
5201 variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
5202 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
5203 if (UNTAG_Bool(variable2)) { /*if*/
5204 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5205 if (UNTAG_Bool(variable2)) { /*if*/
5206 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5207 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
5208 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, LOCATE_parser_prod, 2597); nit_exit(1);}
5209 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = variable1 /*new_child*/;
5210 } else { /*if*/
5211 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = NIT_NULL /*null*/;
5212 }
5213 goto return_label218;
5214 }
5215 variable2 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
5216 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
5217 if (UNTAG_Bool(variable2)) { /*if*/
5218 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5219 if (UNTAG_Bool(variable2)) { /*if*/
5220 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5221 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
5222 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, LOCATE_parser_prod, 2607); nit_exit(1);}
5223 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = variable1 /*new_child*/;
5224 } else { /*if*/
5225 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = NIT_NULL /*null*/;
5226 }
5227 goto return_label218;
5228 }
5229 variable2 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
5230 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
5231 if (UNTAG_Bool(variable2)) { /*if*/
5232 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5233 if (UNTAG_Bool(variable2)) { /*if*/
5234 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5235 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
5236 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, LOCATE_parser_prod, 2617); nit_exit(1);}
5237 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = variable1 /*new_child*/;
5238 } else { /*if*/
5239 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = NIT_NULL /*null*/;
5240 }
5241 goto return_label218;
5242 }
5243 variable2 = ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/;
5244 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
5245 if (UNTAG_Bool(variable2)) { /*if*/
5246 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5247 if (UNTAG_Bool(variable2)) { /*if*/
5248 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5249 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
5250 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, LOCATE_parser_prod, 2627); nit_exit(1);}
5251 ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/ = variable1 /*new_child*/;
5252 } else { /*if*/
5253 ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/ = NIT_NULL /*null*/;
5254 }
5255 goto return_label218;
5256 }
5257 variable2 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
5258 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
5259 if (UNTAG_Bool(variable2)) { /*if*/
5260 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5261 if (UNTAG_Bool(variable2)) { /*if*/
5262 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5263 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
5264 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, LOCATE_parser_prod, 2637); nit_exit(1);}
5265 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = variable1 /*new_child*/;
5266 } else { /*if*/
5267 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = NIT_NULL /*null*/;
5268 }
5269 goto return_label218;
5270 }
5271 variable2 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
5272 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
5273 if (UNTAG_Bool(variable2)) { /*if*/
5274 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5275 if (UNTAG_Bool(variable2)) { /*if*/
5276 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5277 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
5278 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, LOCATE_parser_prod, 2647); nit_exit(1);}
5279 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = variable1 /*new_child*/;
5280 } else { /*if*/
5281 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = NIT_NULL /*null*/;
5282 }
5283 goto return_label218;
5284 }
5285 variable2 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
5286 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
5287 if (UNTAG_Bool(variable2)) { /*if*/
5288 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5289 if (UNTAG_Bool(variable2)) { /*if*/
5290 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5291 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
5292 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, LOCATE_parser_prod, 2657); nit_exit(1);}
5293 ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ = variable1 /*new_child*/;
5294 } else { /*if*/
5295 ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ = NIT_NULL /*null*/;
5296 }
5297 goto return_label218;
5298 }
5299 return_label218: while(false);
5300 tracehead = trace.prev;
5301 return;
5302 }
5303 void parser_prod___AConcreteMethPropdef___visit_all(val_t self, val_t param0) {
5304 struct trace_t trace = {NULL, NULL, 2666, LOCATE_parser_prod___AConcreteMethPropdef___visit_all};
5305 val_t variable0;
5306 val_t variable1;
5307 trace.prev = tracehead; tracehead = &trace;
5308 trace.file = LOCATE_parser_prod;
5309 variable0 = param0;
5310 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
5311 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5312 if (UNTAG_Bool(variable1)) { /*if*/
5313 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
5314 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5315 }
5316 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
5317 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5318 if (UNTAG_Bool(variable1)) { /*if*/
5319 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
5320 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5321 }
5322 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
5323 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5324 if (UNTAG_Bool(variable1)) { /*if*/
5325 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
5326 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5327 }
5328 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/;
5329 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5330 if (UNTAG_Bool(variable1)) { /*if*/
5331 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/;
5332 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5333 }
5334 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
5335 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5336 if (UNTAG_Bool(variable1)) { /*if*/
5337 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
5338 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5339 }
5340 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
5341 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5342 if (UNTAG_Bool(variable1)) { /*if*/
5343 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
5344 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5345 }
5346 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
5347 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5348 if (UNTAG_Bool(variable1)) { /*if*/
5349 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
5350 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5351 }
5352 tracehead = trace.prev;
5353 return;
5354 }
5355 void parser_prod___AConcreteMethPropdef___visit_all_reverse(val_t self, val_t param0) {
5356 struct trace_t trace = {NULL, NULL, 2691, LOCATE_parser_prod___AConcreteMethPropdef___visit_all_reverse};
5357 val_t variable0;
5358 val_t variable1;
5359 trace.prev = tracehead; tracehead = &trace;
5360 trace.file = LOCATE_parser_prod;
5361 variable0 = param0;
5362 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
5363 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5364 if (UNTAG_Bool(variable1)) { /*if*/
5365 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
5366 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5367 }
5368 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
5369 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5370 if (UNTAG_Bool(variable1)) { /*if*/
5371 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
5372 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5373 }
5374 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
5375 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5376 if (UNTAG_Bool(variable1)) { /*if*/
5377 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
5378 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5379 }
5380 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/;
5381 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5382 if (UNTAG_Bool(variable1)) { /*if*/
5383 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/;
5384 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5385 }
5386 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
5387 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5388 if (UNTAG_Bool(variable1)) { /*if*/
5389 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
5390 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5391 }
5392 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
5393 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5394 if (UNTAG_Bool(variable1)) { /*if*/
5395 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
5396 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5397 }
5398 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
5399 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5400 if (UNTAG_Bool(variable1)) { /*if*/
5401 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
5402 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5403 }
5404 tracehead = trace.prev;
5405 return;
5406 }
5407 void parser_prod___AConcreteInitPropdef___n_doc__eq(val_t self, val_t param0) {
5408 struct trace_t trace = {NULL, NULL, 2717, LOCATE_parser_prod___AConcreteInitPropdef___n_doc__eq};
5409 val_t variable0;
5410 val_t variable1;
5411 trace.prev = tracehead; tracehead = &trace;
5412 trace.file = LOCATE_parser_prod;
5413 variable0 = param0;
5414 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = variable0 /*n*/;
5415 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5416 if (UNTAG_Bool(variable1)) { /*if*/
5417 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
5418 }
5419 tracehead = trace.prev;
5420 return;
5421 }
5422 void parser_prod___AConcreteInitPropdef___n_kwredef__eq(val_t self, val_t param0) {
5423 struct trace_t trace = {NULL, NULL, 2724, LOCATE_parser_prod___AConcreteInitPropdef___n_kwredef__eq};
5424 val_t variable0;
5425 val_t variable1;
5426 trace.prev = tracehead; tracehead = &trace;
5427 trace.file = LOCATE_parser_prod;
5428 variable0 = param0;
5429 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = variable0 /*n*/;
5430 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5431 if (UNTAG_Bool(variable1)) { /*if*/
5432 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
5433 }
5434 tracehead = trace.prev;
5435 return;
5436 }
5437 void parser_prod___AConcreteInitPropdef___n_visibility__eq(val_t self, val_t param0) {
5438 struct trace_t trace = {NULL, NULL, 2731, LOCATE_parser_prod___AConcreteInitPropdef___n_visibility__eq};
5439 val_t variable0;
5440 val_t variable1;
5441 trace.prev = tracehead; tracehead = &trace;
5442 trace.file = LOCATE_parser_prod;
5443 variable0 = param0;
5444 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = variable0 /*n*/;
5445 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5446 if (UNTAG_Bool(variable1)) { /*if*/
5447 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
5448 }
5449 tracehead = trace.prev;
5450 return;
5451 }
5452 void parser_prod___AConcreteInitPropdef___n_kwinit__eq(val_t self, val_t param0) {
5453 struct trace_t trace = {NULL, NULL, 2738, LOCATE_parser_prod___AConcreteInitPropdef___n_kwinit__eq};
5454 val_t variable0;
5455 val_t variable1;
5456 trace.prev = tracehead; tracehead = &trace;
5457 trace.file = LOCATE_parser_prod;
5458 variable0 = param0;
5459 ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/ = variable0 /*n*/;
5460 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5461 if (UNTAG_Bool(variable1)) { /*if*/
5462 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
5463 }
5464 tracehead = trace.prev;
5465 return;
5466 }
5467 void parser_prod___AConcreteInitPropdef___n_methid__eq(val_t self, val_t param0) {
5468 struct trace_t trace = {NULL, NULL, 2745, LOCATE_parser_prod___AConcreteInitPropdef___n_methid__eq};
5469 val_t variable0;
5470 val_t variable1;
5471 trace.prev = tracehead; tracehead = &trace;
5472 trace.file = LOCATE_parser_prod;
5473 variable0 = param0;
5474 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = variable0 /*n*/;
5475 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5476 if (UNTAG_Bool(variable1)) { /*if*/
5477 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
5478 }
5479 tracehead = trace.prev;
5480 return;
5481 }
5482 void parser_prod___AConcreteInitPropdef___n_signature__eq(val_t self, val_t param0) {
5483 struct trace_t trace = {NULL, NULL, 2752, LOCATE_parser_prod___AConcreteInitPropdef___n_signature__eq};
5484 val_t variable0;
5485 val_t variable1;
5486 trace.prev = tracehead; tracehead = &trace;
5487 trace.file = LOCATE_parser_prod;
5488 variable0 = param0;
5489 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = variable0 /*n*/;
5490 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5491 if (UNTAG_Bool(variable1)) { /*if*/
5492 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
5493 }
5494 tracehead = trace.prev;
5495 return;
5496 }
5497 void parser_prod___AConcreteInitPropdef___n_block__eq(val_t self, val_t param0) {
5498 struct trace_t trace = {NULL, NULL, 2759, LOCATE_parser_prod___AConcreteInitPropdef___n_block__eq};
5499 val_t variable0;
5500 val_t variable1;
5501 trace.prev = tracehead; tracehead = &trace;
5502 trace.file = LOCATE_parser_prod;
5503 variable0 = param0;
5504 ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ = variable0 /*n*/;
5505 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5506 if (UNTAG_Bool(variable1)) { /*if*/
5507 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
5508 }
5509 tracehead = trace.prev;
5510 return;
5511 }
5512 void parser_prod___AConcreteInitPropdef___empty_init(val_t self, int* init_table) {
5513 struct trace_t trace = {NULL, NULL, 2767, LOCATE_parser_prod___AConcreteInitPropdef___empty_init};
5514 trace.prev = tracehead; tracehead = &trace;
5515 trace.file = LOCATE_parser_prod;
5516 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteInitPropdef].i]) return;
5517 ((parser_prod___AConcreteMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AConcreteMethPropdef___empty_init))( self, init_table /*YYY*/) /*AConcreteMethPropdef::empty_init*/;
5518 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteInitPropdef].i] = 1;
5519 tracehead = trace.prev;
5520 return;
5521 }
5522 void parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, val_t param4, val_t param5, val_t param6, int* init_table) {
5523 struct trace_t trace = {NULL, NULL, 2769, LOCATE_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef};
5524 val_t variable0;
5525 val_t variable1;
5526 val_t variable2;
5527 val_t variable3;
5528 val_t variable4;
5529 val_t variable5;
5530 val_t variable6;
5531 val_t variable7;
5532 trace.prev = tracehead; tracehead = &trace;
5533 trace.file = LOCATE_parser_prod;
5534 variable0 = param0;
5535 variable1 = param1;
5536 variable2 = param2;
5537 variable3 = param3;
5538 variable4 = param4;
5539 variable5 = param5;
5540 variable6 = param6;
5541 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteInitPropdef].i]) return;
5542 ((parser_prod___AConcreteInitPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AConcreteInitPropdef___empty_init))( self, init_table /*YYY*/) /*AConcreteInitPropdef::empty_init*/;
5543 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = variable0 /*n_doc*/;
5544 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_doc*/ == NIT_NULL /*null*/) || (( variable0 /*n_doc*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_doc*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_doc*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5545 if (UNTAG_Bool(variable7)) { /*if*/
5546 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/, self) /*PNode::parent=*/;
5547 }
5548 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = variable1 /*n_kwredef*/;
5549 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwredef*/ == NIT_NULL /*null*/) || (( variable1 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwredef*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5550 if (UNTAG_Bool(variable7)) { /*if*/
5551 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/, self) /*PNode::parent=*/;
5552 }
5553 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = variable2 /*n_visibility*/;
5554 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_visibility*/ == NIT_NULL /*null*/) || (( variable2 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_visibility*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5555 if (UNTAG_Bool(variable7)) { /*if*/
5556 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/, self) /*PNode::parent=*/;
5557 }
5558 ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/ = variable3 /*n_kwinit*/;
5559 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_kwinit*/ == NIT_NULL /*null*/) || (( variable3 /*n_kwinit*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwinit*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_kwinit*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwinit*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_kwinit*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5560 if (UNTAG_Bool(variable7)) { /*if*/
5561 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwinit*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwinit*/, self) /*PNode::parent=*/;
5562 }
5563 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = variable4 /*n_methid*/;
5564 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_methid*/ == NIT_NULL /*null*/) || (( variable4 /*n_methid*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_methid*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_methid*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5565 if (UNTAG_Bool(variable7)) { /*if*/
5566 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_methid*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_methid*/, self) /*PNode::parent=*/;
5567 }
5568 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = variable5 /*n_signature*/;
5569 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*n_signature*/ == NIT_NULL /*null*/) || (( variable5 /*n_signature*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*n_signature*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))( variable5 /*n_signature*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5570 if (UNTAG_Bool(variable7)) { /*if*/
5571 ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_signature*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_signature*/, self) /*PNode::parent=*/;
5572 }
5573 ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ = variable6 /*n_block*/;
5574 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*n_block*/ == NIT_NULL /*null*/) || (( variable6 /*n_block*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*n_block*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*n_block*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*n_block*/,COLOR_kernel___Object_____eqeq))( variable6 /*n_block*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5575 if (UNTAG_Bool(variable7)) { /*if*/
5576 ((parser_prod___PNode___parent__eq_t)CALL( variable6 /*n_block*/,COLOR_parser_prod___PNode___parent__eq))( variable6 /*n_block*/, self) /*PNode::parent=*/;
5577 }
5578 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteInitPropdef].i] = 1;
5579 tracehead = trace.prev;
5580 return;
5581 }
5582 void parser_prod___AConcreteInitPropdef___replace_child(val_t self, val_t param0, val_t param1) {
5583 struct trace_t trace = {NULL, NULL, 2810, LOCATE_parser_prod___AConcreteInitPropdef___replace_child};
5584 val_t variable0;
5585 val_t variable1;
5586 val_t variable2;
5587 trace.prev = tracehead; tracehead = &trace;
5588 trace.file = LOCATE_parser_prod;
5589 variable0 = param0;
5590 variable1 = param1;
5591 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5592 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, LOCATE_parser_prod, 2812); nit_exit(1);}
5593 variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
5594 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
5595 if (UNTAG_Bool(variable2)) { /*if*/
5596 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5597 if (UNTAG_Bool(variable2)) { /*if*/
5598 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5599 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
5600 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, LOCATE_parser_prod, 2816); nit_exit(1);}
5601 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = variable1 /*new_child*/;
5602 } else { /*if*/
5603 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = NIT_NULL /*null*/;
5604 }
5605 goto return_label230;
5606 }
5607 variable2 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
5608 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
5609 if (UNTAG_Bool(variable2)) { /*if*/
5610 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5611 if (UNTAG_Bool(variable2)) { /*if*/
5612 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5613 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
5614 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, LOCATE_parser_prod, 2826); nit_exit(1);}
5615 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = variable1 /*new_child*/;
5616 } else { /*if*/
5617 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = NIT_NULL /*null*/;
5618 }
5619 goto return_label230;
5620 }
5621 variable2 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
5622 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
5623 if (UNTAG_Bool(variable2)) { /*if*/
5624 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5625 if (UNTAG_Bool(variable2)) { /*if*/
5626 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5627 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
5628 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, LOCATE_parser_prod, 2836); nit_exit(1);}
5629 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = variable1 /*new_child*/;
5630 } else { /*if*/
5631 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = NIT_NULL /*null*/;
5632 }
5633 goto return_label230;
5634 }
5635 variable2 = ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/;
5636 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
5637 if (UNTAG_Bool(variable2)) { /*if*/
5638 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5639 if (UNTAG_Bool(variable2)) { /*if*/
5640 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5641 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
5642 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, LOCATE_parser_prod, 2846); nit_exit(1);}
5643 ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/ = variable1 /*new_child*/;
5644 } else { /*if*/
5645 ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/ = NIT_NULL /*null*/;
5646 }
5647 goto return_label230;
5648 }
5649 variable2 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
5650 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
5651 if (UNTAG_Bool(variable2)) { /*if*/
5652 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5653 if (UNTAG_Bool(variable2)) { /*if*/
5654 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5655 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
5656 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, LOCATE_parser_prod, 2856); nit_exit(1);}
5657 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = variable1 /*new_child*/;
5658 } else { /*if*/
5659 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = NIT_NULL /*null*/;
5660 }
5661 goto return_label230;
5662 }
5663 variable2 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
5664 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
5665 if (UNTAG_Bool(variable2)) { /*if*/
5666 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5667 if (UNTAG_Bool(variable2)) { /*if*/
5668 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5669 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
5670 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, LOCATE_parser_prod, 2866); nit_exit(1);}
5671 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = variable1 /*new_child*/;
5672 } else { /*if*/
5673 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = NIT_NULL /*null*/;
5674 }
5675 goto return_label230;
5676 }
5677 variable2 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
5678 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
5679 if (UNTAG_Bool(variable2)) { /*if*/
5680 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5681 if (UNTAG_Bool(variable2)) { /*if*/
5682 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5683 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
5684 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, LOCATE_parser_prod, 2876); nit_exit(1);}
5685 ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ = variable1 /*new_child*/;
5686 } else { /*if*/
5687 ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ = NIT_NULL /*null*/;
5688 }
5689 goto return_label230;
5690 }
5691 return_label230: while(false);
5692 tracehead = trace.prev;
5693 return;
5694 }
5695 void parser_prod___AConcreteInitPropdef___visit_all(val_t self, val_t param0) {
5696 struct trace_t trace = {NULL, NULL, 2885, LOCATE_parser_prod___AConcreteInitPropdef___visit_all};
5697 val_t variable0;
5698 val_t variable1;
5699 trace.prev = tracehead; tracehead = &trace;
5700 trace.file = LOCATE_parser_prod;
5701 variable0 = param0;
5702 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
5703 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5704 if (UNTAG_Bool(variable1)) { /*if*/
5705 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
5706 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5707 }
5708 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
5709 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5710 if (UNTAG_Bool(variable1)) { /*if*/
5711 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
5712 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5713 }
5714 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
5715 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5716 if (UNTAG_Bool(variable1)) { /*if*/
5717 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
5718 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5719 }
5720 variable1 = ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/;
5721 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5722 if (UNTAG_Bool(variable1)) { /*if*/
5723 variable1 = ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/;
5724 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5725 }
5726 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
5727 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5728 if (UNTAG_Bool(variable1)) { /*if*/
5729 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
5730 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5731 }
5732 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
5733 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5734 if (UNTAG_Bool(variable1)) { /*if*/
5735 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
5736 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5737 }
5738 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
5739 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5740 if (UNTAG_Bool(variable1)) { /*if*/
5741 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
5742 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5743 }
5744 tracehead = trace.prev;
5745 return;
5746 }
5747 void parser_prod___AConcreteInitPropdef___visit_all_reverse(val_t self, val_t param0) {
5748 struct trace_t trace = {NULL, NULL, 2910, LOCATE_parser_prod___AConcreteInitPropdef___visit_all_reverse};
5749 val_t variable0;
5750 val_t variable1;
5751 trace.prev = tracehead; tracehead = &trace;
5752 trace.file = LOCATE_parser_prod;
5753 variable0 = param0;
5754 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
5755 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5756 if (UNTAG_Bool(variable1)) { /*if*/
5757 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
5758 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5759 }
5760 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
5761 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5762 if (UNTAG_Bool(variable1)) { /*if*/
5763 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
5764 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5765 }
5766 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
5767 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5768 if (UNTAG_Bool(variable1)) { /*if*/
5769 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
5770 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5771 }
5772 variable1 = ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/;
5773 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5774 if (UNTAG_Bool(variable1)) { /*if*/
5775 variable1 = ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/;
5776 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5777 }
5778 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
5779 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5780 if (UNTAG_Bool(variable1)) { /*if*/
5781 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
5782 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5783 }
5784 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
5785 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5786 if (UNTAG_Bool(variable1)) { /*if*/
5787 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
5788 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5789 }
5790 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
5791 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5792 if (UNTAG_Bool(variable1)) { /*if*/
5793 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
5794 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5795 }
5796 tracehead = trace.prev;
5797 return;
5798 }
5799 void parser_prod___AMainMethPropdef___n_kwredef__eq(val_t self, val_t param0) {
5800 struct trace_t trace = {NULL, NULL, 2936, LOCATE_parser_prod___AMainMethPropdef___n_kwredef__eq};
5801 val_t variable0;
5802 val_t variable1;
5803 trace.prev = tracehead; tracehead = &trace;
5804 trace.file = LOCATE_parser_prod;
5805 variable0 = param0;
5806 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = variable0 /*n*/;
5807 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5808 if (UNTAG_Bool(variable1)) { /*if*/
5809 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
5810 }
5811 tracehead = trace.prev;
5812 return;
5813 }
5814 void parser_prod___AMainMethPropdef___n_block__eq(val_t self, val_t param0) {
5815 struct trace_t trace = {NULL, NULL, 2943, LOCATE_parser_prod___AMainMethPropdef___n_block__eq};
5816 val_t variable0;
5817 val_t variable1;
5818 trace.prev = tracehead; tracehead = &trace;
5819 trace.file = LOCATE_parser_prod;
5820 variable0 = param0;
5821 ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ = variable0 /*n*/;
5822 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5823 if (UNTAG_Bool(variable1)) { /*if*/
5824 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
5825 }
5826 tracehead = trace.prev;
5827 return;
5828 }
5829 void parser_prod___AMainMethPropdef___empty_init(val_t self, int* init_table) {
5830 struct trace_t trace = {NULL, NULL, 2951, LOCATE_parser_prod___AMainMethPropdef___empty_init};
5831 trace.prev = tracehead; tracehead = &trace;
5832 trace.file = LOCATE_parser_prod;
5833 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainMethPropdef].i]) return;
5834 ((parser_prod___AConcreteMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AConcreteMethPropdef___empty_init))( self, init_table /*YYY*/) /*AConcreteMethPropdef::empty_init*/;
5835 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainMethPropdef].i] = 1;
5836 tracehead = trace.prev;
5837 return;
5838 }
5839 void parser_prod___AMainMethPropdef___init_amainmethpropdef(val_t self, val_t param0, val_t param1, int* init_table) {
5840 struct trace_t trace = {NULL, NULL, 2953, LOCATE_parser_prod___AMainMethPropdef___init_amainmethpropdef};
5841 val_t variable0;
5842 val_t variable1;
5843 val_t variable2;
5844 trace.prev = tracehead; tracehead = &trace;
5845 trace.file = LOCATE_parser_prod;
5846 variable0 = param0;
5847 variable1 = param1;
5848 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainMethPropdef].i]) return;
5849 ((parser_prod___AMainMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AMainMethPropdef___empty_init))( self, init_table /*YYY*/) /*AMainMethPropdef::empty_init*/;
5850 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = variable0 /*n_kwredef*/;
5851 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwredef*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwredef*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5852 if (UNTAG_Bool(variable2)) { /*if*/
5853 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwredef*/, self) /*PNode::parent=*/;
5854 }
5855 ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ = variable1 /*n_block*/;
5856 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_block*/ == NIT_NULL /*null*/) || (( variable1 /*n_block*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_block*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_block*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_block*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_block*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5857 if (UNTAG_Bool(variable2)) { /*if*/
5858 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_block*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_block*/, self) /*PNode::parent=*/;
5859 }
5860 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainMethPropdef].i] = 1;
5861 tracehead = trace.prev;
5862 return;
5863 }
5864 void parser_prod___AMainMethPropdef___replace_child(val_t self, val_t param0, val_t param1) {
5865 struct trace_t trace = {NULL, NULL, 2969, LOCATE_parser_prod___AMainMethPropdef___replace_child};
5866 val_t variable0;
5867 val_t variable1;
5868 val_t variable2;
5869 trace.prev = tracehead; tracehead = &trace;
5870 trace.file = LOCATE_parser_prod;
5871 variable0 = param0;
5872 variable1 = param1;
5873 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5874 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMainMethPropdef___replace_child, LOCATE_parser_prod, 2971); nit_exit(1);}
5875 variable2 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
5876 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
5877 if (UNTAG_Bool(variable2)) { /*if*/
5878 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5879 if (UNTAG_Bool(variable2)) { /*if*/
5880 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5881 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
5882 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMainMethPropdef___replace_child, LOCATE_parser_prod, 2975); nit_exit(1);}
5883 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = variable1 /*new_child*/;
5884 } else { /*if*/
5885 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = NIT_NULL /*null*/;
5886 }
5887 goto return_label237;
5888 }
5889 variable2 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
5890 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
5891 if (UNTAG_Bool(variable2)) { /*if*/
5892 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5893 if (UNTAG_Bool(variable2)) { /*if*/
5894 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5895 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
5896 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMainMethPropdef___replace_child, LOCATE_parser_prod, 2985); nit_exit(1);}
5897 ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ = variable1 /*new_child*/;
5898 } else { /*if*/
5899 ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ = NIT_NULL /*null*/;
5900 }
5901 goto return_label237;
5902 }
5903 return_label237: while(false);
5904 tracehead = trace.prev;
5905 return;
5906 }
5907 void parser_prod___AMainMethPropdef___visit_all(val_t self, val_t param0) {
5908 struct trace_t trace = {NULL, NULL, 2994, LOCATE_parser_prod___AMainMethPropdef___visit_all};
5909 val_t variable0;
5910 val_t variable1;
5911 trace.prev = tracehead; tracehead = &trace;
5912 trace.file = LOCATE_parser_prod;
5913 variable0 = param0;
5914 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
5915 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5916 if (UNTAG_Bool(variable1)) { /*if*/
5917 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
5918 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5919 }
5920 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
5921 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5922 if (UNTAG_Bool(variable1)) { /*if*/
5923 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
5924 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5925 }
5926 tracehead = trace.prev;
5927 return;
5928 }
5929 void parser_prod___AMainMethPropdef___visit_all_reverse(val_t self, val_t param0) {
5930 struct trace_t trace = {NULL, NULL, 3004, LOCATE_parser_prod___AMainMethPropdef___visit_all_reverse};
5931 val_t variable0;
5932 val_t variable1;
5933 trace.prev = tracehead; tracehead = &trace;
5934 trace.file = LOCATE_parser_prod;
5935 variable0 = param0;
5936 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
5937 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5938 if (UNTAG_Bool(variable1)) { /*if*/
5939 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
5940 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5941 }
5942 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
5943 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
5944 if (UNTAG_Bool(variable1)) { /*if*/
5945 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
5946 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5947 }
5948 tracehead = trace.prev;
5949 return;
5950 }
5951 void parser_prod___ATypePropdef___n_doc__eq(val_t self, val_t param0) {
5952 struct trace_t trace = {NULL, NULL, 3015, LOCATE_parser_prod___ATypePropdef___n_doc__eq};
5953 val_t variable0;
5954 val_t variable1;
5955 trace.prev = tracehead; tracehead = &trace;
5956 trace.file = LOCATE_parser_prod;
5957 variable0 = param0;
5958 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = variable0 /*n*/;
5959 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5960 if (UNTAG_Bool(variable1)) { /*if*/
5961 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
5962 }
5963 tracehead = trace.prev;
5964 return;
5965 }
5966 void parser_prod___ATypePropdef___n_kwredef__eq(val_t self, val_t param0) {
5967 struct trace_t trace = {NULL, NULL, 3022, LOCATE_parser_prod___ATypePropdef___n_kwredef__eq};
5968 val_t variable0;
5969 val_t variable1;
5970 trace.prev = tracehead; tracehead = &trace;
5971 trace.file = LOCATE_parser_prod;
5972 variable0 = param0;
5973 ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/ = variable0 /*n*/;
5974 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5975 if (UNTAG_Bool(variable1)) { /*if*/
5976 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
5977 }
5978 tracehead = trace.prev;
5979 return;
5980 }
5981 void parser_prod___ATypePropdef___n_visibility__eq(val_t self, val_t param0) {
5982 struct trace_t trace = {NULL, NULL, 3029, LOCATE_parser_prod___ATypePropdef___n_visibility__eq};
5983 val_t variable0;
5984 val_t variable1;
5985 trace.prev = tracehead; tracehead = &trace;
5986 trace.file = LOCATE_parser_prod;
5987 variable0 = param0;
5988 ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/ = variable0 /*n*/;
5989 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5990 if (UNTAG_Bool(variable1)) { /*if*/
5991 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
5992 }
5993 tracehead = trace.prev;
5994 return;
5995 }
5996 void parser_prod___ATypePropdef___n_kwtype__eq(val_t self, val_t param0) {
5997 struct trace_t trace = {NULL, NULL, 3036, LOCATE_parser_prod___ATypePropdef___n_kwtype__eq};
5998 val_t variable0;
5999 val_t variable1;
6000 trace.prev = tracehead; tracehead = &trace;
6001 trace.file = LOCATE_parser_prod;
6002 variable0 = param0;
6003 ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/ = variable0 /*n*/;
6004 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6005 if (UNTAG_Bool(variable1)) { /*if*/
6006 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
6007 }
6008 tracehead = trace.prev;
6009 return;
6010 }
6011 void parser_prod___ATypePropdef___n_id__eq(val_t self, val_t param0) {
6012 struct trace_t trace = {NULL, NULL, 3043, LOCATE_parser_prod___ATypePropdef___n_id__eq};
6013 val_t variable0;
6014 val_t variable1;
6015 trace.prev = tracehead; tracehead = &trace;
6016 trace.file = LOCATE_parser_prod;
6017 variable0 = param0;
6018 ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/ = variable0 /*n*/;
6019 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6020 if (UNTAG_Bool(variable1)) { /*if*/
6021 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
6022 }
6023 tracehead = trace.prev;
6024 return;
6025 }
6026 void parser_prod___ATypePropdef___n_type__eq(val_t self, val_t param0) {
6027 struct trace_t trace = {NULL, NULL, 3050, LOCATE_parser_prod___ATypePropdef___n_type__eq};
6028 val_t variable0;
6029 val_t variable1;
6030 trace.prev = tracehead; tracehead = &trace;
6031 trace.file = LOCATE_parser_prod;
6032 variable0 = param0;
6033 ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/ = variable0 /*n*/;
6034 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6035 if (UNTAG_Bool(variable1)) { /*if*/
6036 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
6037 }
6038 tracehead = trace.prev;
6039 return;
6040 }
6041 void parser_prod___ATypePropdef___empty_init(val_t self, int* init_table) {
6042 struct trace_t trace = {NULL, NULL, 3058, LOCATE_parser_prod___ATypePropdef___empty_init};
6043 trace.prev = tracehead; tracehead = &trace;
6044 trace.file = LOCATE_parser_prod;
6045 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATypePropdef].i]) return;
6046 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATypePropdef].i] = 1;
6047 tracehead = trace.prev;
6048 return;
6049 }
6050 void parser_prod___ATypePropdef___init_atypepropdef(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, val_t param4, val_t param5, int* init_table) {
6051 struct trace_t trace = {NULL, NULL, 3060, LOCATE_parser_prod___ATypePropdef___init_atypepropdef};
6052 val_t variable0;
6053 val_t variable1;
6054 val_t variable2;
6055 val_t variable3;
6056 val_t variable4;
6057 val_t variable5;
6058 val_t variable6;
6059 trace.prev = tracehead; tracehead = &trace;
6060 trace.file = LOCATE_parser_prod;
6061 variable0 = param0;
6062 variable1 = param1;
6063 variable2 = param2;
6064 variable3 = param3;
6065 variable4 = param4;
6066 variable5 = param5;
6067 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATypePropdef].i]) return;
6068 ((parser_prod___ATypePropdef___empty_init_t)CALL( self,COLOR_parser_prod___ATypePropdef___empty_init))( self, init_table /*YYY*/) /*ATypePropdef::empty_init*/;
6069 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = variable0 /*n_doc*/;
6070 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_doc*/ == NIT_NULL /*null*/) || (( variable0 /*n_doc*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_doc*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_doc*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_doc*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6071 if (UNTAG_Bool(variable6)) { /*if*/
6072 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/, self) /*PNode::parent=*/;
6073 }
6074 ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/ = variable1 /*n_kwredef*/;
6075 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwredef*/ == NIT_NULL /*null*/) || (( variable1 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwredef*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6076 if (UNTAG_Bool(variable6)) { /*if*/
6077 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/, self) /*PNode::parent=*/;
6078 }
6079 ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/ = variable2 /*n_visibility*/;
6080 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_visibility*/ == NIT_NULL /*null*/) || (( variable2 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_visibility*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6081 if (UNTAG_Bool(variable6)) { /*if*/
6082 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/, self) /*PNode::parent=*/;
6083 }
6084 ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/ = variable3 /*n_kwtype*/;
6085 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_kwtype*/ == NIT_NULL /*null*/) || (( variable3 /*n_kwtype*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwtype*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_kwtype*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwtype*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_kwtype*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6086 if (UNTAG_Bool(variable6)) { /*if*/
6087 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwtype*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwtype*/, self) /*PNode::parent=*/;
6088 }
6089 ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/ = variable4 /*n_id*/;
6090 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_id*/ == NIT_NULL /*null*/) || (( variable4 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_id*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6091 if (UNTAG_Bool(variable6)) { /*if*/
6092 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_id*/, self) /*PNode::parent=*/;
6093 }
6094 ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/ = variable5 /*n_type*/;
6095 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*n_type*/ == NIT_NULL /*null*/) || (( variable5 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable5 /*n_type*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6096 if (UNTAG_Bool(variable6)) { /*if*/
6097 ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_type*/, self) /*PNode::parent=*/;
6098 }
6099 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATypePropdef].i] = 1;
6100 tracehead = trace.prev;
6101 return;
6102 }
6103 void parser_prod___ATypePropdef___replace_child(val_t self, val_t param0, val_t param1) {
6104 struct trace_t trace = {NULL, NULL, 3096, LOCATE_parser_prod___ATypePropdef___replace_child};
6105 val_t variable0;
6106 val_t variable1;
6107 val_t variable2;
6108 trace.prev = tracehead; tracehead = &trace;
6109 trace.file = LOCATE_parser_prod;
6110 variable0 = param0;
6111 variable1 = param1;
6112 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6113 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATypePropdef___replace_child, LOCATE_parser_prod, 3098); nit_exit(1);}
6114 variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
6115 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
6116 if (UNTAG_Bool(variable2)) { /*if*/
6117 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6118 if (UNTAG_Bool(variable2)) { /*if*/
6119 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
6120 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6121 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATypePropdef___replace_child, LOCATE_parser_prod, 3102); nit_exit(1);}
6122 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = variable1 /*new_child*/;
6123 } else { /*if*/
6124 ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ = NIT_NULL /*null*/;
6125 }
6126 goto return_label248;
6127 }
6128 variable2 = ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/;
6129 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
6130 if (UNTAG_Bool(variable2)) { /*if*/
6131 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6132 if (UNTAG_Bool(variable2)) { /*if*/
6133 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
6134 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
6135 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATypePropdef___replace_child, LOCATE_parser_prod, 3112); nit_exit(1);}
6136 ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/ = variable1 /*new_child*/;
6137 } else { /*if*/
6138 ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/ = NIT_NULL /*null*/;
6139 }
6140 goto return_label248;
6141 }
6142 variable2 = ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/;
6143 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
6144 if (UNTAG_Bool(variable2)) { /*if*/
6145 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6146 if (UNTAG_Bool(variable2)) { /*if*/
6147 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
6148 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6149 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATypePropdef___replace_child, LOCATE_parser_prod, 3122); nit_exit(1);}
6150 ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/ = variable1 /*new_child*/;
6151 } else { /*if*/
6152 ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/ = NIT_NULL /*null*/;
6153 }
6154 goto return_label248;
6155 }
6156 variable2 = ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/;
6157 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
6158 if (UNTAG_Bool(variable2)) { /*if*/
6159 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6160 if (UNTAG_Bool(variable2)) { /*if*/
6161 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
6162 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwtype, ID_TKwtype)) /*cast TKwtype*/;
6163 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATypePropdef___replace_child, LOCATE_parser_prod, 3132); nit_exit(1);}
6164 ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/ = variable1 /*new_child*/;
6165 } else { /*if*/
6166 ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/ = NIT_NULL /*null*/;
6167 }
6168 goto return_label248;
6169 }
6170 variable2 = ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/;
6171 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
6172 if (UNTAG_Bool(variable2)) { /*if*/
6173 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6174 if (UNTAG_Bool(variable2)) { /*if*/
6175 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
6176 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6177 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATypePropdef___replace_child, LOCATE_parser_prod, 3142); nit_exit(1);}
6178 ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/ = variable1 /*new_child*/;
6179 } else { /*if*/
6180 ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/ = NIT_NULL /*null*/;
6181 }
6182 goto return_label248;
6183 }
6184 variable2 = ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/;
6185 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
6186 if (UNTAG_Bool(variable2)) { /*if*/
6187 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6188 if (UNTAG_Bool(variable2)) { /*if*/
6189 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
6190 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
6191 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATypePropdef___replace_child, LOCATE_parser_prod, 3152); nit_exit(1);}
6192 ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/ = variable1 /*new_child*/;
6193 } else { /*if*/
6194 ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/ = NIT_NULL /*null*/;
6195 }
6196 goto return_label248;
6197 }
6198 return_label248: while(false);
6199 tracehead = trace.prev;
6200 return;
6201 }
6202 void parser_prod___ATypePropdef___visit_all(val_t self, val_t param0) {
6203 struct trace_t trace = {NULL, NULL, 3161, LOCATE_parser_prod___ATypePropdef___visit_all};
6204 val_t variable0;
6205 val_t variable1;
6206 trace.prev = tracehead; tracehead = &trace;
6207 trace.file = LOCATE_parser_prod;
6208 variable0 = param0;
6209 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
6210 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6211 if (UNTAG_Bool(variable1)) { /*if*/
6212 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
6213 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6214 }
6215 variable1 = ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/;
6216 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6217 if (UNTAG_Bool(variable1)) { /*if*/
6218 variable1 = ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/;
6219 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6220 }
6221 variable1 = ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/;
6222 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6223 if (UNTAG_Bool(variable1)) { /*if*/
6224 variable1 = ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/;
6225 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6226 }
6227 variable1 = ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/;
6228 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6229 if (UNTAG_Bool(variable1)) { /*if*/
6230 variable1 = ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/;
6231 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6232 }
6233 variable1 = ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/;
6234 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6235 if (UNTAG_Bool(variable1)) { /*if*/
6236 variable1 = ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/;
6237 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6238 }
6239 variable1 = ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/;
6240 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6241 if (UNTAG_Bool(variable1)) { /*if*/
6242 variable1 = ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/;
6243 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6244 }
6245 tracehead = trace.prev;
6246 return;
6247 }
6248 void parser_prod___ATypePropdef___visit_all_reverse(val_t self, val_t param0) {
6249 struct trace_t trace = {NULL, NULL, 3183, LOCATE_parser_prod___ATypePropdef___visit_all_reverse};
6250 val_t variable0;
6251 val_t variable1;
6252 trace.prev = tracehead; tracehead = &trace;
6253 trace.file = LOCATE_parser_prod;
6254 variable0 = param0;
6255 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
6256 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6257 if (UNTAG_Bool(variable1)) { /*if*/
6258 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
6259 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6260 }
6261 variable1 = ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/;
6262 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6263 if (UNTAG_Bool(variable1)) { /*if*/
6264 variable1 = ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/;
6265 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6266 }
6267 variable1 = ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/;
6268 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6269 if (UNTAG_Bool(variable1)) { /*if*/
6270 variable1 = ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/;
6271 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6272 }
6273 variable1 = ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/;
6274 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6275 if (UNTAG_Bool(variable1)) { /*if*/
6276 variable1 = ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/;
6277 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6278 }
6279 variable1 = ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/;
6280 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6281 if (UNTAG_Bool(variable1)) { /*if*/
6282 variable1 = ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/;
6283 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6284 }
6285 variable1 = ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/;
6286 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6287 if (UNTAG_Bool(variable1)) { /*if*/
6288 variable1 = ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/;
6289 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6290 }
6291 tracehead = trace.prev;
6292 return;
6293 }
6294 void parser_prod___AReadAble___n_kwredef__eq(val_t self, val_t param0) {
6295 struct trace_t trace = {NULL, NULL, 3206, LOCATE_parser_prod___AReadAble___n_kwredef__eq};
6296 val_t variable0;
6297 val_t variable1;
6298 trace.prev = tracehead; tracehead = &trace;
6299 trace.file = LOCATE_parser_prod;
6300 variable0 = param0;
6301 ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/ = variable0 /*n*/;
6302 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6303 if (UNTAG_Bool(variable1)) { /*if*/
6304 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
6305 }
6306 tracehead = trace.prev;
6307 return;
6308 }
6309 void parser_prod___AReadAble___n_kwreadable__eq(val_t self, val_t param0) {
6310 struct trace_t trace = {NULL, NULL, 3213, LOCATE_parser_prod___AReadAble___n_kwreadable__eq};
6311 val_t variable0;
6312 val_t variable1;
6313 trace.prev = tracehead; tracehead = &trace;
6314 trace.file = LOCATE_parser_prod;
6315 variable0 = param0;
6316 ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/ = variable0 /*n*/;
6317 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6318 if (UNTAG_Bool(variable1)) { /*if*/
6319 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
6320 }
6321 tracehead = trace.prev;
6322 return;
6323 }
6324 void parser_prod___AReadAble___empty_init(val_t self, int* init_table) {
6325 struct trace_t trace = {NULL, NULL, 3221, LOCATE_parser_prod___AReadAble___empty_init};
6326 trace.prev = tracehead; tracehead = &trace;
6327 trace.file = LOCATE_parser_prod;
6328 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReadAble].i]) return;
6329 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReadAble].i] = 1;
6330 tracehead = trace.prev;
6331 return;
6332 }
6333 void parser_prod___AReadAble___init_areadable(val_t self, val_t param0, val_t param1, int* init_table) {
6334 struct trace_t trace = {NULL, NULL, 3223, LOCATE_parser_prod___AReadAble___init_areadable};
6335 val_t variable0;
6336 val_t variable1;
6337 val_t variable2;
6338 trace.prev = tracehead; tracehead = &trace;
6339 trace.file = LOCATE_parser_prod;
6340 variable0 = param0;
6341 variable1 = param1;
6342 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReadAble].i]) return;
6343 ((parser_prod___AReadAble___empty_init_t)CALL( self,COLOR_parser_prod___AReadAble___empty_init))( self, init_table /*YYY*/) /*AReadAble::empty_init*/;
6344 ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/ = variable0 /*n_kwredef*/;
6345 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwredef*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwredef*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6346 if (UNTAG_Bool(variable2)) { /*if*/
6347 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwredef*/, self) /*PNode::parent=*/;
6348 }
6349 ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/ = variable1 /*n_kwreadable*/;
6350 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwreadable*/ == NIT_NULL /*null*/) || (( variable1 /*n_kwreadable*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwreadable*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwreadable*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwreadable*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwreadable*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6351 if (UNTAG_Bool(variable2)) { /*if*/
6352 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwreadable*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwreadable*/, self) /*PNode::parent=*/;
6353 }
6354 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReadAble].i] = 1;
6355 tracehead = trace.prev;
6356 return;
6357 }
6358 void parser_prod___AReadAble___replace_child(val_t self, val_t param0, val_t param1) {
6359 struct trace_t trace = {NULL, NULL, 3239, LOCATE_parser_prod___AReadAble___replace_child};
6360 val_t variable0;
6361 val_t variable1;
6362 val_t variable2;
6363 trace.prev = tracehead; tracehead = &trace;
6364 trace.file = LOCATE_parser_prod;
6365 variable0 = param0;
6366 variable1 = param1;
6367 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6368 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AReadAble___replace_child, LOCATE_parser_prod, 3241); nit_exit(1);}
6369 variable2 = ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
6370 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
6371 if (UNTAG_Bool(variable2)) { /*if*/
6372 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6373 if (UNTAG_Bool(variable2)) { /*if*/
6374 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
6375 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
6376 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AReadAble___replace_child, LOCATE_parser_prod, 3245); nit_exit(1);}
6377 ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/ = variable1 /*new_child*/;
6378 } else { /*if*/
6379 ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/ = NIT_NULL /*null*/;
6380 }
6381 goto return_label255;
6382 }
6383 variable2 = ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/;
6384 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
6385 if (UNTAG_Bool(variable2)) { /*if*/
6386 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6387 if (UNTAG_Bool(variable2)) { /*if*/
6388 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
6389 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
6390 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AReadAble___replace_child, LOCATE_parser_prod, 3255); nit_exit(1);}
6391 ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/ = variable1 /*new_child*/;
6392 } else { /*if*/
6393 ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/ = NIT_NULL /*null*/;
6394 }
6395 goto return_label255;
6396 }
6397 return_label255: while(false);
6398 tracehead = trace.prev;
6399 return;
6400 }
6401 void parser_prod___AReadAble___visit_all(val_t self, val_t param0) {
6402 struct trace_t trace = {NULL, NULL, 3264, LOCATE_parser_prod___AReadAble___visit_all};
6403 val_t variable0;
6404 val_t variable1;
6405 trace.prev = tracehead; tracehead = &trace;
6406 trace.file = LOCATE_parser_prod;
6407 variable0 = param0;
6408 variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
6409 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6410 if (UNTAG_Bool(variable1)) { /*if*/
6411 variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
6412 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6413 }
6414 variable1 = ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/;
6415 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6416 if (UNTAG_Bool(variable1)) { /*if*/
6417 variable1 = ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/;
6418 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6419 }
6420 tracehead = trace.prev;
6421 return;
6422 }
6423 void parser_prod___AReadAble___visit_all_reverse(val_t self, val_t param0) {
6424 struct trace_t trace = {NULL, NULL, 3274, LOCATE_parser_prod___AReadAble___visit_all_reverse};
6425 val_t variable0;
6426 val_t variable1;
6427 trace.prev = tracehead; tracehead = &trace;
6428 trace.file = LOCATE_parser_prod;
6429 variable0 = param0;
6430 variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
6431 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6432 if (UNTAG_Bool(variable1)) { /*if*/
6433 variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
6434 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6435 }
6436 variable1 = ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/;
6437 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6438 if (UNTAG_Bool(variable1)) { /*if*/
6439 variable1 = ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/;
6440 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6441 }
6442 tracehead = trace.prev;
6443 return;
6444 }
6445 void parser_prod___AWriteAble___n_kwredef__eq(val_t self, val_t param0) {
6446 struct trace_t trace = {NULL, NULL, 3285, LOCATE_parser_prod___AWriteAble___n_kwredef__eq};
6447 val_t variable0;
6448 val_t variable1;
6449 trace.prev = tracehead; tracehead = &trace;
6450 trace.file = LOCATE_parser_prod;
6451 variable0 = param0;
6452 ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/ = variable0 /*n*/;
6453 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6454 if (UNTAG_Bool(variable1)) { /*if*/
6455 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
6456 }
6457 tracehead = trace.prev;
6458 return;
6459 }
6460 void parser_prod___AWriteAble___n_kwwritable__eq(val_t self, val_t param0) {
6461 struct trace_t trace = {NULL, NULL, 3292, LOCATE_parser_prod___AWriteAble___n_kwwritable__eq};
6462 val_t variable0;
6463 val_t variable1;
6464 trace.prev = tracehead; tracehead = &trace;
6465 trace.file = LOCATE_parser_prod;
6466 variable0 = param0;
6467 ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/ = variable0 /*n*/;
6468 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6469 if (UNTAG_Bool(variable1)) { /*if*/
6470 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
6471 }
6472 tracehead = trace.prev;
6473 return;
6474 }
6475 void parser_prod___AWriteAble___empty_init(val_t self, int* init_table) {
6476 struct trace_t trace = {NULL, NULL, 3300, LOCATE_parser_prod___AWriteAble___empty_init};
6477 trace.prev = tracehead; tracehead = &trace;
6478 trace.file = LOCATE_parser_prod;
6479 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWriteAble].i]) return;
6480 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWriteAble].i] = 1;
6481 tracehead = trace.prev;
6482 return;
6483 }
6484 void parser_prod___AWriteAble___init_awriteable(val_t self, val_t param0, val_t param1, int* init_table) {
6485 struct trace_t trace = {NULL, NULL, 3302, LOCATE_parser_prod___AWriteAble___init_awriteable};
6486 val_t variable0;
6487 val_t variable1;
6488 val_t variable2;
6489 trace.prev = tracehead; tracehead = &trace;
6490 trace.file = LOCATE_parser_prod;
6491 variable0 = param0;
6492 variable1 = param1;
6493 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWriteAble].i]) return;
6494 ((parser_prod___AWriteAble___empty_init_t)CALL( self,COLOR_parser_prod___AWriteAble___empty_init))( self, init_table /*YYY*/) /*AWriteAble::empty_init*/;
6495 ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/ = variable0 /*n_kwredef*/;
6496 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwredef*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwredef*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6497 if (UNTAG_Bool(variable2)) { /*if*/
6498 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwredef*/, self) /*PNode::parent=*/;
6499 }
6500 ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/ = variable1 /*n_kwwritable*/;
6501 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwwritable*/ == NIT_NULL /*null*/) || (( variable1 /*n_kwwritable*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwwritable*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwwritable*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwwritable*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwwritable*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6502 if (UNTAG_Bool(variable2)) { /*if*/
6503 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwwritable*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwwritable*/, self) /*PNode::parent=*/;
6504 }
6505 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWriteAble].i] = 1;
6506 tracehead = trace.prev;
6507 return;
6508 }
6509 void parser_prod___AWriteAble___replace_child(val_t self, val_t param0, val_t param1) {
6510 struct trace_t trace = {NULL, NULL, 3318, LOCATE_parser_prod___AWriteAble___replace_child};
6511 val_t variable0;
6512 val_t variable1;
6513 val_t variable2;
6514 trace.prev = tracehead; tracehead = &trace;
6515 trace.file = LOCATE_parser_prod;
6516 variable0 = param0;
6517 variable1 = param1;
6518 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6519 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AWriteAble___replace_child, LOCATE_parser_prod, 3320); nit_exit(1);}
6520 variable2 = ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
6521 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
6522 if (UNTAG_Bool(variable2)) { /*if*/
6523 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6524 if (UNTAG_Bool(variable2)) { /*if*/
6525 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
6526 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
6527 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AWriteAble___replace_child, LOCATE_parser_prod, 3324); nit_exit(1);}
6528 ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/ = variable1 /*new_child*/;
6529 } else { /*if*/
6530 ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/ = NIT_NULL /*null*/;
6531 }
6532 goto return_label262;
6533 }
6534 variable2 = ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/;
6535 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
6536 if (UNTAG_Bool(variable2)) { /*if*/
6537 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6538 if (UNTAG_Bool(variable2)) { /*if*/
6539 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
6540 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
6541 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AWriteAble___replace_child, LOCATE_parser_prod, 3334); nit_exit(1);}
6542 ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/ = variable1 /*new_child*/;
6543 } else { /*if*/
6544 ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/ = NIT_NULL /*null*/;
6545 }
6546 goto return_label262;
6547 }
6548 return_label262: while(false);
6549 tracehead = trace.prev;
6550 return;
6551 }
6552 void parser_prod___AWriteAble___visit_all(val_t self, val_t param0) {
6553 struct trace_t trace = {NULL, NULL, 3343, LOCATE_parser_prod___AWriteAble___visit_all};
6554 val_t variable0;
6555 val_t variable1;
6556 trace.prev = tracehead; tracehead = &trace;
6557 trace.file = LOCATE_parser_prod;
6558 variable0 = param0;
6559 variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
6560 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6561 if (UNTAG_Bool(variable1)) { /*if*/
6562 variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
6563 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6564 }
6565 variable1 = ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/;
6566 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6567 if (UNTAG_Bool(variable1)) { /*if*/
6568 variable1 = ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/;
6569 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6570 }
6571 tracehead = trace.prev;
6572 return;
6573 }
6574 void parser_prod___AWriteAble___visit_all_reverse(val_t self, val_t param0) {
6575 struct trace_t trace = {NULL, NULL, 3353, LOCATE_parser_prod___AWriteAble___visit_all_reverse};
6576 val_t variable0;
6577 val_t variable1;
6578 trace.prev = tracehead; tracehead = &trace;
6579 trace.file = LOCATE_parser_prod;
6580 variable0 = param0;
6581 variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
6582 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6583 if (UNTAG_Bool(variable1)) { /*if*/
6584 variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
6585 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6586 }
6587 variable1 = ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/;
6588 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6589 if (UNTAG_Bool(variable1)) { /*if*/
6590 variable1 = ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/;
6591 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6592 }
6593 tracehead = trace.prev;
6594 return;
6595 }
6596 void parser_prod___AIdMethid___n_id__eq(val_t self, val_t param0) {
6597 struct trace_t trace = {NULL, NULL, 3364, LOCATE_parser_prod___AIdMethid___n_id__eq};
6598 val_t variable0;
6599 val_t variable1;
6600 trace.prev = tracehead; tracehead = &trace;
6601 trace.file = LOCATE_parser_prod;
6602 variable0 = param0;
6603 ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/ = variable0 /*n*/;
6604 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6605 if (UNTAG_Bool(variable1)) { /*if*/
6606 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
6607 }
6608 tracehead = trace.prev;
6609 return;
6610 }
6611 void parser_prod___AIdMethid___empty_init(val_t self, int* init_table) {
6612 struct trace_t trace = {NULL, NULL, 3372, LOCATE_parser_prod___AIdMethid___empty_init};
6613 trace.prev = tracehead; tracehead = &trace;
6614 trace.file = LOCATE_parser_prod;
6615 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIdMethid].i]) return;
6616 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIdMethid].i] = 1;
6617 tracehead = trace.prev;
6618 return;
6619 }
6620 void parser_prod___AIdMethid___init_aidmethid(val_t self, val_t param0, int* init_table) {
6621 struct trace_t trace = {NULL, NULL, 3374, LOCATE_parser_prod___AIdMethid___init_aidmethid};
6622 val_t variable0;
6623 val_t variable1;
6624 trace.prev = tracehead; tracehead = &trace;
6625 trace.file = LOCATE_parser_prod;
6626 variable0 = param0;
6627 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIdMethid].i]) return;
6628 ((parser_prod___AIdMethid___empty_init_t)CALL( self,COLOR_parser_prod___AIdMethid___empty_init))( self, init_table /*YYY*/) /*AIdMethid::empty_init*/;
6629 ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/ = variable0 /*n_id*/;
6630 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_id*/ == NIT_NULL /*null*/) || (( variable0 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_id*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6631 if (UNTAG_Bool(variable1)) { /*if*/
6632 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/, self) /*PNode::parent=*/;
6633 }
6634 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIdMethid].i] = 1;
6635 tracehead = trace.prev;
6636 return;
6637 }
6638 void parser_prod___AIdMethid___replace_child(val_t self, val_t param0, val_t param1) {
6639 struct trace_t trace = {NULL, NULL, 3385, LOCATE_parser_prod___AIdMethid___replace_child};
6640 val_t variable0;
6641 val_t variable1;
6642 val_t variable2;
6643 trace.prev = tracehead; tracehead = &trace;
6644 trace.file = LOCATE_parser_prod;
6645 variable0 = param0;
6646 variable1 = param1;
6647 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6648 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIdMethid___replace_child, LOCATE_parser_prod, 3387); nit_exit(1);}
6649 variable2 = ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/;
6650 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
6651 if (UNTAG_Bool(variable2)) { /*if*/
6652 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6653 if (UNTAG_Bool(variable2)) { /*if*/
6654 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
6655 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
6656 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIdMethid___replace_child, LOCATE_parser_prod, 3391); nit_exit(1);}
6657 ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/ = variable1 /*new_child*/;
6658 } else { /*if*/
6659 ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/ = NIT_NULL /*null*/;
6660 }
6661 goto return_label268;
6662 }
6663 return_label268: while(false);
6664 tracehead = trace.prev;
6665 return;
6666 }
6667 void parser_prod___AIdMethid___visit_all(val_t self, val_t param0) {
6668 struct trace_t trace = {NULL, NULL, 3400, LOCATE_parser_prod___AIdMethid___visit_all};
6669 val_t variable0;
6670 val_t variable1;
6671 trace.prev = tracehead; tracehead = &trace;
6672 trace.file = LOCATE_parser_prod;
6673 variable0 = param0;
6674 variable1 = ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/;
6675 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6676 if (UNTAG_Bool(variable1)) { /*if*/
6677 variable1 = ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/;
6678 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6679 }
6680 tracehead = trace.prev;
6681 return;
6682 }
6683 void parser_prod___AIdMethid___visit_all_reverse(val_t self, val_t param0) {
6684 struct trace_t trace = {NULL, NULL, 3407, LOCATE_parser_prod___AIdMethid___visit_all_reverse};
6685 val_t variable0;
6686 val_t variable1;
6687 trace.prev = tracehead; tracehead = &trace;
6688 trace.file = LOCATE_parser_prod;
6689 variable0 = param0;
6690 variable1 = ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/;
6691 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6692 if (UNTAG_Bool(variable1)) { /*if*/
6693 variable1 = ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/;
6694 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6695 }
6696 tracehead = trace.prev;
6697 return;
6698 }
6699 void parser_prod___APlusMethid___n_plus__eq(val_t self, val_t param0) {
6700 struct trace_t trace = {NULL, NULL, 3415, LOCATE_parser_prod___APlusMethid___n_plus__eq};
6701 val_t variable0;
6702 val_t variable1;
6703 trace.prev = tracehead; tracehead = &trace;
6704 trace.file = LOCATE_parser_prod;
6705 variable0 = param0;
6706 ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/ = variable0 /*n*/;
6707 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6708 if (UNTAG_Bool(variable1)) { /*if*/
6709 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
6710 }
6711 tracehead = trace.prev;
6712 return;
6713 }
6714 void parser_prod___APlusMethid___empty_init(val_t self, int* init_table) {
6715 struct trace_t trace = {NULL, NULL, 3423, LOCATE_parser_prod___APlusMethid___empty_init};
6716 trace.prev = tracehead; tracehead = &trace;
6717 trace.file = LOCATE_parser_prod;
6718 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusMethid].i]) return;
6719 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusMethid].i] = 1;
6720 tracehead = trace.prev;
6721 return;
6722 }
6723 void parser_prod___APlusMethid___init_aplusmethid(val_t self, val_t param0, int* init_table) {
6724 struct trace_t trace = {NULL, NULL, 3425, LOCATE_parser_prod___APlusMethid___init_aplusmethid};
6725 val_t variable0;
6726 val_t variable1;
6727 trace.prev = tracehead; tracehead = &trace;
6728 trace.file = LOCATE_parser_prod;
6729 variable0 = param0;
6730 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusMethid].i]) return;
6731 ((parser_prod___APlusMethid___empty_init_t)CALL( self,COLOR_parser_prod___APlusMethid___empty_init))( self, init_table /*YYY*/) /*APlusMethid::empty_init*/;
6732 ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/ = variable0 /*n_plus*/;
6733 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_plus*/ == NIT_NULL /*null*/) || (( variable0 /*n_plus*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_plus*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_plus*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_plus*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_plus*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6734 if (UNTAG_Bool(variable1)) { /*if*/
6735 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_plus*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_plus*/, self) /*PNode::parent=*/;
6736 }
6737 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusMethid].i] = 1;
6738 tracehead = trace.prev;
6739 return;
6740 }
6741 void parser_prod___APlusMethid___replace_child(val_t self, val_t param0, val_t param1) {
6742 struct trace_t trace = {NULL, NULL, 3436, LOCATE_parser_prod___APlusMethid___replace_child};
6743 val_t variable0;
6744 val_t variable1;
6745 val_t variable2;
6746 trace.prev = tracehead; tracehead = &trace;
6747 trace.file = LOCATE_parser_prod;
6748 variable0 = param0;
6749 variable1 = param1;
6750 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6751 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APlusMethid___replace_child, LOCATE_parser_prod, 3438); nit_exit(1);}
6752 variable2 = ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/;
6753 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
6754 if (UNTAG_Bool(variable2)) { /*if*/
6755 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6756 if (UNTAG_Bool(variable2)) { /*if*/
6757 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
6758 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TPlus, ID_TPlus)) /*cast TPlus*/;
6759 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APlusMethid___replace_child, LOCATE_parser_prod, 3442); nit_exit(1);}
6760 ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/ = variable1 /*new_child*/;
6761 } else { /*if*/
6762 ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/ = NIT_NULL /*null*/;
6763 }
6764 goto return_label274;
6765 }
6766 return_label274: while(false);
6767 tracehead = trace.prev;
6768 return;
6769 }
6770 void parser_prod___APlusMethid___visit_all(val_t self, val_t param0) {
6771 struct trace_t trace = {NULL, NULL, 3451, LOCATE_parser_prod___APlusMethid___visit_all};
6772 val_t variable0;
6773 val_t variable1;
6774 trace.prev = tracehead; tracehead = &trace;
6775 trace.file = LOCATE_parser_prod;
6776 variable0 = param0;
6777 variable1 = ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/;
6778 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6779 if (UNTAG_Bool(variable1)) { /*if*/
6780 variable1 = ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/;
6781 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6782 }
6783 tracehead = trace.prev;
6784 return;
6785 }
6786 void parser_prod___APlusMethid___visit_all_reverse(val_t self, val_t param0) {
6787 struct trace_t trace = {NULL, NULL, 3458, LOCATE_parser_prod___APlusMethid___visit_all_reverse};
6788 val_t variable0;
6789 val_t variable1;
6790 trace.prev = tracehead; tracehead = &trace;
6791 trace.file = LOCATE_parser_prod;
6792 variable0 = param0;
6793 variable1 = ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/;
6794 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6795 if (UNTAG_Bool(variable1)) { /*if*/
6796 variable1 = ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/;
6797 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6798 }
6799 tracehead = trace.prev;
6800 return;
6801 }
6802 void parser_prod___AMinusMethid___n_minus__eq(val_t self, val_t param0) {
6803 struct trace_t trace = {NULL, NULL, 3466, LOCATE_parser_prod___AMinusMethid___n_minus__eq};
6804 val_t variable0;
6805 val_t variable1;
6806 trace.prev = tracehead; tracehead = &trace;
6807 trace.file = LOCATE_parser_prod;
6808 variable0 = param0;
6809 ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/ = variable0 /*n*/;
6810 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6811 if (UNTAG_Bool(variable1)) { /*if*/
6812 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
6813 }
6814 tracehead = trace.prev;
6815 return;
6816 }
6817 void parser_prod___AMinusMethid___empty_init(val_t self, int* init_table) {
6818 struct trace_t trace = {NULL, NULL, 3474, LOCATE_parser_prod___AMinusMethid___empty_init};
6819 trace.prev = tracehead; tracehead = &trace;
6820 trace.file = LOCATE_parser_prod;
6821 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusMethid].i]) return;
6822 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusMethid].i] = 1;
6823 tracehead = trace.prev;
6824 return;
6825 }
6826 void parser_prod___AMinusMethid___init_aminusmethid(val_t self, val_t param0, int* init_table) {
6827 struct trace_t trace = {NULL, NULL, 3476, LOCATE_parser_prod___AMinusMethid___init_aminusmethid};
6828 val_t variable0;
6829 val_t variable1;
6830 trace.prev = tracehead; tracehead = &trace;
6831 trace.file = LOCATE_parser_prod;
6832 variable0 = param0;
6833 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusMethid].i]) return;
6834 ((parser_prod___AMinusMethid___empty_init_t)CALL( self,COLOR_parser_prod___AMinusMethid___empty_init))( self, init_table /*YYY*/) /*AMinusMethid::empty_init*/;
6835 ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/ = variable0 /*n_minus*/;
6836 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_minus*/ == NIT_NULL /*null*/) || (( variable0 /*n_minus*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_minus*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_minus*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_minus*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_minus*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6837 if (UNTAG_Bool(variable1)) { /*if*/
6838 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_minus*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_minus*/, self) /*PNode::parent=*/;
6839 }
6840 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusMethid].i] = 1;
6841 tracehead = trace.prev;
6842 return;
6843 }
6844 void parser_prod___AMinusMethid___replace_child(val_t self, val_t param0, val_t param1) {
6845 struct trace_t trace = {NULL, NULL, 3487, LOCATE_parser_prod___AMinusMethid___replace_child};
6846 val_t variable0;
6847 val_t variable1;
6848 val_t variable2;
6849 trace.prev = tracehead; tracehead = &trace;
6850 trace.file = LOCATE_parser_prod;
6851 variable0 = param0;
6852 variable1 = param1;
6853 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6854 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMinusMethid___replace_child, LOCATE_parser_prod, 3489); nit_exit(1);}
6855 variable2 = ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/;
6856 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
6857 if (UNTAG_Bool(variable2)) { /*if*/
6858 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6859 if (UNTAG_Bool(variable2)) { /*if*/
6860 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
6861 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
6862 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMinusMethid___replace_child, LOCATE_parser_prod, 3493); nit_exit(1);}
6863 ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/ = variable1 /*new_child*/;
6864 } else { /*if*/
6865 ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/ = NIT_NULL /*null*/;
6866 }
6867 goto return_label280;
6868 }
6869 return_label280: while(false);
6870 tracehead = trace.prev;
6871 return;
6872 }
6873 void parser_prod___AMinusMethid___visit_all(val_t self, val_t param0) {
6874 struct trace_t trace = {NULL, NULL, 3502, LOCATE_parser_prod___AMinusMethid___visit_all};
6875 val_t variable0;
6876 val_t variable1;
6877 trace.prev = tracehead; tracehead = &trace;
6878 trace.file = LOCATE_parser_prod;
6879 variable0 = param0;
6880 variable1 = ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/;
6881 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6882 if (UNTAG_Bool(variable1)) { /*if*/
6883 variable1 = ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/;
6884 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6885 }
6886 tracehead = trace.prev;
6887 return;
6888 }
6889 void parser_prod___AMinusMethid___visit_all_reverse(val_t self, val_t param0) {
6890 struct trace_t trace = {NULL, NULL, 3509, LOCATE_parser_prod___AMinusMethid___visit_all_reverse};
6891 val_t variable0;
6892 val_t variable1;
6893 trace.prev = tracehead; tracehead = &trace;
6894 trace.file = LOCATE_parser_prod;
6895 variable0 = param0;
6896 variable1 = ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/;
6897 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6898 if (UNTAG_Bool(variable1)) { /*if*/
6899 variable1 = ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/;
6900 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6901 }
6902 tracehead = trace.prev;
6903 return;
6904 }
6905 void parser_prod___AStarMethid___n_star__eq(val_t self, val_t param0) {
6906 struct trace_t trace = {NULL, NULL, 3517, LOCATE_parser_prod___AStarMethid___n_star__eq};
6907 val_t variable0;
6908 val_t variable1;
6909 trace.prev = tracehead; tracehead = &trace;
6910 trace.file = LOCATE_parser_prod;
6911 variable0 = param0;
6912 ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/ = variable0 /*n*/;
6913 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6914 if (UNTAG_Bool(variable1)) { /*if*/
6915 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
6916 }
6917 tracehead = trace.prev;
6918 return;
6919 }
6920 void parser_prod___AStarMethid___empty_init(val_t self, int* init_table) {
6921 struct trace_t trace = {NULL, NULL, 3525, LOCATE_parser_prod___AStarMethid___empty_init};
6922 trace.prev = tracehead; tracehead = &trace;
6923 trace.file = LOCATE_parser_prod;
6924 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarMethid].i]) return;
6925 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarMethid].i] = 1;
6926 tracehead = trace.prev;
6927 return;
6928 }
6929 void parser_prod___AStarMethid___init_astarmethid(val_t self, val_t param0, int* init_table) {
6930 struct trace_t trace = {NULL, NULL, 3527, LOCATE_parser_prod___AStarMethid___init_astarmethid};
6931 val_t variable0;
6932 val_t variable1;
6933 trace.prev = tracehead; tracehead = &trace;
6934 trace.file = LOCATE_parser_prod;
6935 variable0 = param0;
6936 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarMethid].i]) return;
6937 ((parser_prod___AStarMethid___empty_init_t)CALL( self,COLOR_parser_prod___AStarMethid___empty_init))( self, init_table /*YYY*/) /*AStarMethid::empty_init*/;
6938 ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/ = variable0 /*n_star*/;
6939 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_star*/ == NIT_NULL /*null*/) || (( variable0 /*n_star*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_star*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_star*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_star*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_star*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6940 if (UNTAG_Bool(variable1)) { /*if*/
6941 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_star*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_star*/, self) /*PNode::parent=*/;
6942 }
6943 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarMethid].i] = 1;
6944 tracehead = trace.prev;
6945 return;
6946 }
6947 void parser_prod___AStarMethid___replace_child(val_t self, val_t param0, val_t param1) {
6948 struct trace_t trace = {NULL, NULL, 3538, LOCATE_parser_prod___AStarMethid___replace_child};
6949 val_t variable0;
6950 val_t variable1;
6951 val_t variable2;
6952 trace.prev = tracehead; tracehead = &trace;
6953 trace.file = LOCATE_parser_prod;
6954 variable0 = param0;
6955 variable1 = param1;
6956 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6957 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarMethid___replace_child, LOCATE_parser_prod, 3540); nit_exit(1);}
6958 variable2 = ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/;
6959 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
6960 if (UNTAG_Bool(variable2)) { /*if*/
6961 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6962 if (UNTAG_Bool(variable2)) { /*if*/
6963 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
6964 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TStar, ID_TStar)) /*cast TStar*/;
6965 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarMethid___replace_child, LOCATE_parser_prod, 3544); nit_exit(1);}
6966 ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/ = variable1 /*new_child*/;
6967 } else { /*if*/
6968 ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/ = NIT_NULL /*null*/;
6969 }
6970 goto return_label286;
6971 }
6972 return_label286: while(false);
6973 tracehead = trace.prev;
6974 return;
6975 }
6976 void parser_prod___AStarMethid___visit_all(val_t self, val_t param0) {
6977 struct trace_t trace = {NULL, NULL, 3553, LOCATE_parser_prod___AStarMethid___visit_all};
6978 val_t variable0;
6979 val_t variable1;
6980 trace.prev = tracehead; tracehead = &trace;
6981 trace.file = LOCATE_parser_prod;
6982 variable0 = param0;
6983 variable1 = ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/;
6984 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
6985 if (UNTAG_Bool(variable1)) { /*if*/
6986 variable1 = ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/;
6987 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6988 }
6989 tracehead = trace.prev;
6990 return;
6991 }
6992 void parser_prod___AStarMethid___visit_all_reverse(val_t self, val_t param0) {
6993 struct trace_t trace = {NULL, NULL, 3560, LOCATE_parser_prod___AStarMethid___visit_all_reverse};
6994 val_t variable0;
6995 val_t variable1;
6996 trace.prev = tracehead; tracehead = &trace;
6997 trace.file = LOCATE_parser_prod;
6998 variable0 = param0;
6999 variable1 = ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/;
7000 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
7001 if (UNTAG_Bool(variable1)) { /*if*/
7002 variable1 = ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/;
7003 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7004 }
7005 tracehead = trace.prev;
7006 return;
7007 }
7008 void parser_prod___ASlashMethid___n_slash__eq(val_t self, val_t param0) {
7009 struct trace_t trace = {NULL, NULL, 3568, LOCATE_parser_prod___ASlashMethid___n_slash__eq};
7010 val_t variable0;
7011 val_t variable1;
7012 trace.prev = tracehead; tracehead = &trace;
7013 trace.file = LOCATE_parser_prod;
7014 variable0 = param0;
7015 ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/ = variable0 /*n*/;
7016 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7017 if (UNTAG_Bool(variable1)) { /*if*/
7018 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
7019 }
7020 tracehead = trace.prev;
7021 return;
7022 }
7023 void parser_prod___ASlashMethid___empty_init(val_t self, int* init_table) {
7024 struct trace_t trace = {NULL, NULL, 3576, LOCATE_parser_prod___ASlashMethid___empty_init};
7025 trace.prev = tracehead; tracehead = &trace;
7026 trace.file = LOCATE_parser_prod;
7027 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashMethid].i]) return;
7028 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashMethid].i] = 1;
7029 tracehead = trace.prev;
7030 return;
7031 }
7032 void parser_prod___ASlashMethid___init_aslashmethid(val_t self, val_t param0, int* init_table) {
7033 struct trace_t trace = {NULL, NULL, 3578, LOCATE_parser_prod___ASlashMethid___init_aslashmethid};
7034 val_t variable0;
7035 val_t variable1;
7036 trace.prev = tracehead; tracehead = &trace;
7037 trace.file = LOCATE_parser_prod;
7038 variable0 = param0;
7039 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashMethid].i]) return;
7040 ((parser_prod___ASlashMethid___empty_init_t)CALL( self,COLOR_parser_prod___ASlashMethid___empty_init))( self, init_table /*YYY*/) /*ASlashMethid::empty_init*/;
7041 ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/ = variable0 /*n_slash*/;
7042 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_slash*/ == NIT_NULL /*null*/) || (( variable0 /*n_slash*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_slash*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_slash*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_slash*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_slash*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7043 if (UNTAG_Bool(variable1)) { /*if*/
7044 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_slash*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_slash*/, self) /*PNode::parent=*/;
7045 }
7046 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashMethid].i] = 1;
7047 tracehead = trace.prev;
7048 return;
7049 }
7050 void parser_prod___ASlashMethid___replace_child(val_t self, val_t param0, val_t param1) {
7051 struct trace_t trace = {NULL, NULL, 3589, LOCATE_parser_prod___ASlashMethid___replace_child};
7052 val_t variable0;
7053 val_t variable1;
7054 val_t variable2;
7055 trace.prev = tracehead; tracehead = &trace;
7056 trace.file = LOCATE_parser_prod;
7057 variable0 = param0;
7058 variable1 = param1;
7059 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7060 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASlashMethid___replace_child, LOCATE_parser_prod, 3591); nit_exit(1);}
7061 variable2 = ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/;
7062 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
7063 if (UNTAG_Bool(variable2)) { /*if*/
7064 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7065 if (UNTAG_Bool(variable2)) { /*if*/
7066 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
7067 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TSlash, ID_TSlash)) /*cast TSlash*/;
7068 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASlashMethid___replace_child, LOCATE_parser_prod, 3595); nit_exit(1);}
7069 ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/ = variable1 /*new_child*/;
7070 } else { /*if*/
7071 ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/ = NIT_NULL /*null*/;
7072 }
7073 goto return_label292;
7074 }
7075 return_label292: while(false);
7076 tracehead = trace.prev;
7077 return;
7078 }
7079 void parser_prod___ASlashMethid___visit_all(val_t self, val_t param0) {
7080 struct trace_t trace = {NULL, NULL, 3604, LOCATE_parser_prod___ASlashMethid___visit_all};
7081 val_t variable0;
7082 val_t variable1;
7083 trace.prev = tracehead; tracehead = &trace;
7084 trace.file = LOCATE_parser_prod;
7085 variable0 = param0;
7086 variable1 = ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/;
7087 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
7088 if (UNTAG_Bool(variable1)) { /*if*/
7089 variable1 = ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/;
7090 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7091 }
7092 tracehead = trace.prev;
7093 return;
7094 }
7095 void parser_prod___ASlashMethid___visit_all_reverse(val_t self, val_t param0) {
7096 struct trace_t trace = {NULL, NULL, 3611, LOCATE_parser_prod___ASlashMethid___visit_all_reverse};
7097 val_t variable0;
7098 val_t variable1;
7099 trace.prev = tracehead; tracehead = &trace;
7100 trace.file = LOCATE_parser_prod;
7101 variable0 = param0;
7102 variable1 = ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/;
7103 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
7104 if (UNTAG_Bool(variable1)) { /*if*/
7105 variable1 = ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/;
7106 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7107 }
7108 tracehead = trace.prev;
7109 return;
7110 }
7111 void parser_prod___APercentMethid___n_percent__eq(val_t self, val_t param0) {
7112 struct trace_t trace = {NULL, NULL, 3619, LOCATE_parser_prod___APercentMethid___n_percent__eq};
7113 val_t variable0;
7114 val_t variable1;
7115 trace.prev = tracehead; tracehead = &trace;
7116 trace.file = LOCATE_parser_prod;
7117 variable0 = param0;
7118 ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/ = variable0 /*n*/;
7119 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7120 if (UNTAG_Bool(variable1)) { /*if*/
7121 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
7122 }
7123 tracehead = trace.prev;
7124 return;
7125 }
7126 void parser_prod___APercentMethid___empty_init(val_t self, int* init_table) {
7127 struct trace_t trace = {NULL, NULL, 3627, LOCATE_parser_prod___APercentMethid___empty_init};
7128 trace.prev = tracehead; tracehead = &trace;
7129 trace.file = LOCATE_parser_prod;
7130 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentMethid].i]) return;
7131 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentMethid].i] = 1;
7132 tracehead = trace.prev;
7133 return;
7134 }
7135 void parser_prod___APercentMethid___init_apercentmethid(val_t self, val_t param0, int* init_table) {
7136 struct trace_t trace = {NULL, NULL, 3629, LOCATE_parser_prod___APercentMethid___init_apercentmethid};
7137 val_t variable0;
7138 val_t variable1;
7139 trace.prev = tracehead; tracehead = &trace;
7140 trace.file = LOCATE_parser_prod;
7141 variable0 = param0;
7142 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentMethid].i]) return;
7143 ((parser_prod___APercentMethid___empty_init_t)CALL( self,COLOR_parser_prod___APercentMethid___empty_init))( self, init_table /*YYY*/) /*APercentMethid::empty_init*/;
7144 ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/ = variable0 /*n_percent*/;
7145 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_percent*/ == NIT_NULL /*null*/) || (( variable0 /*n_percent*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_percent*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_percent*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_percent*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_percent*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7146 if (UNTAG_Bool(variable1)) { /*if*/
7147 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_percent*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_percent*/, self) /*PNode::parent=*/;
7148 }
7149 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentMethid].i] = 1;
7150 tracehead = trace.prev;
7151 return;
7152 }
7153 void parser_prod___APercentMethid___replace_child(val_t self, val_t param0, val_t param1) {
7154 struct trace_t trace = {NULL, NULL, 3640, LOCATE_parser_prod___APercentMethid___replace_child};
7155 val_t variable0;
7156 val_t variable1;
7157 val_t variable2;
7158 trace.prev = tracehead; tracehead = &trace;
7159 trace.file = LOCATE_parser_prod;
7160 variable0 = param0;
7161 variable1 = param1;
7162 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7163 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APercentMethid___replace_child, LOCATE_parser_prod, 3642); nit_exit(1);}
7164 variable2 = ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/;
7165 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
7166 if (UNTAG_Bool(variable2)) { /*if*/
7167 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7168 if (UNTAG_Bool(variable2)) { /*if*/
7169 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
7170 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TPercent, ID_TPercent)) /*cast TPercent*/;
7171 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APercentMethid___replace_child, LOCATE_parser_prod, 3646); nit_exit(1);}
7172 ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/ = variable1 /*new_child*/;
7173 } else { /*if*/
7174 ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/ = NIT_NULL /*null*/;
7175 }
7176 goto return_label298;
7177 }
7178 return_label298: while(false);
7179 tracehead = trace.prev;
7180 return;
7181 }
7182 void parser_prod___APercentMethid___visit_all(val_t self, val_t param0) {
7183 struct trace_t trace = {NULL, NULL, 3655, LOCATE_parser_prod___APercentMethid___visit_all};
7184 val_t variable0;
7185 val_t variable1;
7186 trace.prev = tracehead; tracehead = &trace;
7187 trace.file = LOCATE_parser_prod;
7188 variable0 = param0;
7189 variable1 = ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/;
7190 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
7191 if (UNTAG_Bool(variable1)) { /*if*/
7192 variable1 = ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/;
7193 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7194 }
7195 tracehead = trace.prev;
7196 return;
7197 }
7198 void parser_prod___APercentMethid___visit_all_reverse(val_t self, val_t param0) {
7199 struct trace_t trace = {NULL, NULL, 3662, LOCATE_parser_prod___APercentMethid___visit_all_reverse};
7200 val_t variable0;
7201 val_t variable1;
7202 trace.prev = tracehead; tracehead = &trace;
7203 trace.file = LOCATE_parser_prod;
7204 variable0 = param0;
7205 variable1 = ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/;
7206 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
7207 if (UNTAG_Bool(variable1)) { /*if*/
7208 variable1 = ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/;
7209 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7210 }
7211 tracehead = trace.prev;
7212 return;
7213 }
7214 void parser_prod___AEqMethid___n_eq__eq(val_t self, val_t param0) {
7215 struct trace_t trace = {NULL, NULL, 3670, LOCATE_parser_prod___AEqMethid___n_eq__eq};
7216 val_t variable0;
7217 val_t variable1;
7218 trace.prev = tracehead; tracehead = &trace;
7219 trace.file = LOCATE_parser_prod;
7220 variable0 = param0;
7221 ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/ = variable0 /*n*/;
7222 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7223 if (UNTAG_Bool(variable1)) { /*if*/
7224 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
7225 }
7226 tracehead = trace.prev;
7227 return;
7228 }
7229 void parser_prod___AEqMethid___empty_init(val_t self, int* init_table) {
7230 struct trace_t trace = {NULL, NULL, 3678, LOCATE_parser_prod___AEqMethid___empty_init};
7231 trace.prev = tracehead; tracehead = &trace;
7232 trace.file = LOCATE_parser_prod;
7233 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqMethid].i]) return;
7234 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqMethid].i] = 1;
7235 tracehead = trace.prev;
7236 return;
7237 }
7238 void parser_prod___AEqMethid___init_aeqmethid(val_t self, val_t param0, int* init_table) {
7239 struct trace_t trace = {NULL, NULL, 3680, LOCATE_parser_prod___AEqMethid___init_aeqmethid};
7240 val_t variable0;
7241 val_t variable1;
7242 trace.prev = tracehead; tracehead = &trace;
7243 trace.file = LOCATE_parser_prod;
7244 variable0 = param0;
7245 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqMethid].i]) return;
7246 ((parser_prod___AEqMethid___empty_init_t)CALL( self,COLOR_parser_prod___AEqMethid___empty_init))( self, init_table /*YYY*/) /*AEqMethid::empty_init*/;
7247 ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/ = variable0 /*n_eq*/;
7248 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_eq*/ == NIT_NULL /*null*/) || (( variable0 /*n_eq*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_eq*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_eq*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_eq*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_eq*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7249 if (UNTAG_Bool(variable1)) { /*if*/
7250 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_eq*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_eq*/, self) /*PNode::parent=*/;
7251 }
7252 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqMethid].i] = 1;
7253 tracehead = trace.prev;
7254 return;
7255 }
7256 void parser_prod___AEqMethid___replace_child(val_t self, val_t param0, val_t param1) {
7257 struct trace_t trace = {NULL, NULL, 3691, LOCATE_parser_prod___AEqMethid___replace_child};
7258 val_t variable0;
7259 val_t variable1;
7260 val_t variable2;
7261 trace.prev = tracehead; tracehead = &trace;
7262 trace.file = LOCATE_parser_prod;
7263 variable0 = param0;
7264 variable1 = param1;
7265 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7266 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEqMethid___replace_child, LOCATE_parser_prod, 3693); nit_exit(1);}
7267 variable2 = ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/;
7268 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
7269 if (UNTAG_Bool(variable2)) { /*if*/
7270 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7271 if (UNTAG_Bool(variable2)) { /*if*/
7272 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
7273 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TEq, ID_TEq)) /*cast TEq*/;
7274 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEqMethid___replace_child, LOCATE_parser_prod, 3697); nit_exit(1);}
7275 ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/ = variable1 /*new_child*/;
7276 } else { /*if*/
7277 ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/ = NIT_NULL /*null*/;
7278 }
7279 goto return_label304;
7280 }
7281 return_label304: while(false);
7282 tracehead = trace.prev;
7283 return;
7284 }
7285 void parser_prod___AEqMethid___visit_all(val_t self, val_t param0) {
7286 struct trace_t trace = {NULL, NULL, 3706, LOCATE_parser_prod___AEqMethid___visit_all};
7287 val_t variable0;
7288 val_t variable1;
7289 trace.prev = tracehead; tracehead = &trace;
7290 trace.file = LOCATE_parser_prod;
7291 variable0 = param0;
7292 variable1 = ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/;
7293 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
7294 if (UNTAG_Bool(variable1)) { /*if*/
7295 variable1 = ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/;
7296 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7297 }
7298 tracehead = trace.prev;
7299 return;
7300 }
7301 void parser_prod___AEqMethid___visit_all_reverse(val_t self, val_t param0) {
7302 struct trace_t trace = {NULL, NULL, 3713, LOCATE_parser_prod___AEqMethid___visit_all_reverse};
7303 val_t variable0;
7304 val_t variable1;
7305 trace.prev = tracehead; tracehead = &trace;
7306 trace.file = LOCATE_parser_prod;
7307 variable0 = param0;
7308 variable1 = ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/;
7309 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
7310 if (UNTAG_Bool(variable1)) { /*if*/
7311 variable1 = ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/;
7312 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7313 }
7314 tracehead = trace.prev;
7315 return;
7316 }
7317 void parser_prod___ANeMethid___n_ne__eq(val_t self, val_t param0) {
7318 struct trace_t trace = {NULL, NULL, 3721, LOCATE_parser_prod___ANeMethid___n_ne__eq};
7319 val_t variable0;
7320 val_t variable1;
7321 trace.prev = tracehead; tracehead = &trace;
7322 trace.file = LOCATE_parser_prod;
7323 variable0 = param0;
7324 ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/ = variable0 /*n*/;
7325 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7326 if (UNTAG_Bool(variable1)) { /*if*/
7327 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
7328 }
7329 tracehead = trace.prev;
7330 return;
7331 }
7332 void parser_prod___ANeMethid___empty_init(val_t self, int* init_table) {
7333 struct trace_t trace = {NULL, NULL, 3729, LOCATE_parser_prod___ANeMethid___empty_init};
7334 trace.prev = tracehead; tracehead = &trace;
7335 trace.file = LOCATE_parser_prod;
7336 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeMethid].i]) return;
7337 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeMethid].i] = 1;
7338 tracehead = trace.prev;
7339 return;
7340 }
7341 void parser_prod___ANeMethid___init_anemethid(val_t self, val_t param0, int* init_table) {
7342 struct trace_t trace = {NULL, NULL, 3731, LOCATE_parser_prod___ANeMethid___init_anemethid};
7343 val_t variable0;
7344 val_t variable1;
7345 trace.prev = tracehead; tracehead = &trace;
7346 trace.file = LOCATE_parser_prod;
7347 variable0 = param0;
7348 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeMethid].i]) return;
7349 ((parser_prod___ANeMethid___empty_init_t)CALL( self,COLOR_parser_prod___ANeMethid___empty_init))( self, init_table /*YYY*/) /*ANeMethid::empty_init*/;
7350 ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/ = variable0 /*n_ne*/;
7351 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_ne*/ == NIT_NULL /*null*/) || (( variable0 /*n_ne*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_ne*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_ne*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_ne*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_ne*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7352 if (UNTAG_Bool(variable1)) { /*if*/
7353 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_ne*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_ne*/, self) /*PNode::parent=*/;
7354 }
7355 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeMethid].i] = 1;
7356 tracehead = trace.prev;
7357 return;
7358 }
7359 void parser_prod___ANeMethid___replace_child(val_t self, val_t param0, val_t param1) {
7360 struct trace_t trace = {NULL, NULL, 3742, LOCATE_parser_prod___ANeMethid___replace_child};
7361 val_t variable0;
7362 val_t variable1;
7363 val_t variable2;
7364 trace.prev = tracehead; tracehead = &trace;
7365 trace.file = LOCATE_parser_prod;
7366 variable0 = param0;
7367 variable1 = param1;
7368 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7369 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANeMethid___replace_child, LOCATE_parser_prod, 3744); nit_exit(1);}
7370 variable2 = ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/;
7371 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
7372 if (UNTAG_Bool(variable2)) { /*if*/
7373 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7374 if (UNTAG_Bool(variable2)) { /*if*/
7375 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
7376 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TNe, ID_TNe)) /*cast TNe*/;
7377 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANeMethid___replace_child, LOCATE_parser_prod, 3748); nit_exit(1);}
7378 ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/ = variable1 /*new_child*/;
7379 } else { /*if*/
7380 ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/ = NIT_NULL /*null*/;
7381 }
7382 goto return_label310;
7383 }
7384 return_label310: while(false);
7385 tracehead = trace.prev;
7386 return;
7387 }
7388 void parser_prod___ANeMethid___visit_all(val_t self, val_t param0) {
7389 struct trace_t trace = {NULL, NULL, 3757, LOCATE_parser_prod___ANeMethid___visit_all};
7390 val_t variable0;
7391 val_t variable1;
7392 trace.prev = tracehead; tracehead = &trace;
7393 trace.file = LOCATE_parser_prod;
7394 variable0 = param0;
7395 variable1 = ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/;
7396 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
7397 if (UNTAG_Bool(variable1)) { /*if*/
7398 variable1 = ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/;
7399 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7400 }
7401 tracehead = trace.prev;
7402 return;
7403 }
7404 void parser_prod___ANeMethid___visit_all_reverse(val_t self, val_t param0) {
7405 struct trace_t trace = {NULL, NULL, 3764, LOCATE_parser_prod___ANeMethid___visit_all_reverse};
7406 val_t variable0;
7407 val_t variable1;
7408 trace.prev = tracehead; tracehead = &trace;
7409 trace.file = LOCATE_parser_prod;
7410 variable0 = param0;
7411 variable1 = ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/;
7412 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
7413 if (UNTAG_Bool(variable1)) { /*if*/
7414 variable1 = ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/;
7415 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7416 }
7417 tracehead = trace.prev;
7418 return;
7419 }
7420 void parser_prod___ALeMethid___n_le__eq(val_t self, val_t param0) {
7421 struct trace_t trace = {NULL, NULL, 3772, LOCATE_parser_prod___ALeMethid___n_le__eq};
7422 val_t variable0;
7423 val_t variable1;
7424 trace.prev = tracehead; tracehead = &trace;
7425 trace.file = LOCATE_parser_prod;
7426 variable0 = param0;
7427 ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/ = variable0 /*n*/;
7428 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7429 if (UNTAG_Bool(variable1)) { /*if*/
7430 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
7431 }
7432 tracehead = trace.prev;
7433 return;
7434 }
7435 void parser_prod___ALeMethid___empty_init(val_t self, int* init_table) {
7436 struct trace_t trace = {NULL, NULL, 3780, LOCATE_parser_prod___ALeMethid___empty_init};
7437 trace.prev = tracehead; tracehead = &trace;
7438 trace.file = LOCATE_parser_prod;
7439 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeMethid].i]) return;
7440 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeMethid].i] = 1;
7441 tracehead = trace.prev;
7442 return;
7443 }
7444 void parser_prod___ALeMethid___init_alemethid(val_t self, val_t param0, int* init_table) {
7445 struct trace_t trace = {NULL, NULL, 3782, LOCATE_parser_prod___ALeMethid___init_alemethid};
7446 val_t variable0;
7447 val_t variable1;
7448 trace.prev = tracehead; tracehead = &trace;
7449 trace.file = LOCATE_parser_prod;
7450 variable0 = param0;
7451 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeMethid].i]) return;
7452 ((parser_prod___ALeMethid___empty_init_t)CALL( self,COLOR_parser_prod___ALeMethid___empty_init))( self, init_table /*YYY*/) /*ALeMethid::empty_init*/;
7453 ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/ = variable0 /*n_le*/;
7454 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_le*/ == NIT_NULL /*null*/) || (( variable0 /*n_le*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_le*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_le*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_le*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_le*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7455 if (UNTAG_Bool(variable1)) { /*if*/
7456 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_le*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_le*/, self) /*PNode::parent=*/;
7457 }
7458 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeMethid].i] = 1;
7459 tracehead = trace.prev;
7460 return;
7461 }
7462 void parser_prod___ALeMethid___replace_child(val_t self, val_t param0, val_t param1) {
7463 struct trace_t trace = {NULL, NULL, 3793, LOCATE_parser_prod___ALeMethid___replace_child};
7464 val_t variable0;
7465 val_t variable1;
7466 val_t variable2;
7467 trace.prev = tracehead; tracehead = &trace;
7468 trace.file = LOCATE_parser_prod;
7469 variable0 = param0;
7470 variable1 = param1;
7471 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7472 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALeMethid___replace_child, LOCATE_parser_prod, 3795); nit_exit(1);}
7473 variable2 = ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/;
7474 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
7475 if (UNTAG_Bool(variable2)) { /*if*/
7476 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7477 if (UNTAG_Bool(variable2)) { /*if*/
7478 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
7479 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TLe, ID_TLe)) /*cast TLe*/;
7480 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALeMethid___replace_child, LOCATE_parser_prod, 3799); nit_exit(1);}
7481 ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/ = variable1 /*new_child*/;
7482 } else { /*if*/
7483 ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/ = NIT_NULL /*null*/;
7484 }
7485 goto return_label316;
7486 }
7487 return_label316: while(false);
7488 tracehead = trace.prev;
7489 return;
7490 }
7491 void parser_prod___ALeMethid___visit_all(val_t self, val_t param0) {
7492 struct trace_t trace = {NULL, NULL, 3808, LOCATE_parser_prod___ALeMethid___visit_all};
7493 val_t variable0;
7494 val_t variable1;
7495 trace.prev = tracehead; tracehead = &trace;
7496 trace.file = LOCATE_parser_prod;
7497 variable0 = param0;
7498 variable1 = ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/;
7499 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
7500 if (UNTAG_Bool(variable1)) { /*if*/
7501 variable1 = ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/;
7502 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7503 }
7504 tracehead = trace.prev;
7505 return;
7506 }
7507 void parser_prod___ALeMethid___visit_all_reverse(val_t self, val_t param0) {
7508 struct trace_t trace = {NULL, NULL, 3815, LOCATE_parser_prod___ALeMethid___visit_all_reverse};
7509 val_t variable0;
7510 val_t variable1;
7511 trace.prev = tracehead; tracehead = &trace;
7512 trace.file = LOCATE_parser_prod;
7513 variable0 = param0;
7514 variable1 = ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/;
7515 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
7516 if (UNTAG_Bool(variable1)) { /*if*/
7517 variable1 = ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/;
7518 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7519 }
7520 tracehead = trace.prev;
7521 return;
7522 }
7523 void parser_prod___AGeMethid___n_ge__eq(val_t self, val_t param0) {
7524 struct trace_t trace = {NULL, NULL, 3823, LOCATE_parser_prod___AGeMethid___n_ge__eq};
7525 val_t variable0;
7526 val_t variable1;
7527 trace.prev = tracehead; tracehead = &trace;
7528 trace.file = LOCATE_parser_prod;
7529 variable0 = param0;
7530 ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/ = variable0 /*n*/;
7531 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7532 if (UNTAG_Bool(variable1)) { /*if*/
7533 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
7534 }
7535 tracehead = trace.prev;
7536 return;
7537 }
7538 void parser_prod___AGeMethid___empty_init(val_t self, int* init_table) {
7539 struct trace_t trace = {NULL, NULL, 3831, LOCATE_parser_prod___AGeMethid___empty_init};
7540 trace.prev = tracehead; tracehead = &trace;
7541 trace.file = LOCATE_parser_prod;
7542 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeMethid].i]) return;
7543 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeMethid].i] = 1;
7544 tracehead = trace.prev;
7545 return;
7546 }
7547 void parser_prod___AGeMethid___init_agemethid(val_t self, val_t param0, int* init_table) {
7548 struct trace_t trace = {NULL, NULL, 3833, LOCATE_parser_prod___AGeMethid___init_agemethid};
7549 val_t variable0;
7550 val_t variable1;
7551 trace.prev = tracehead; tracehead = &trace;
7552 trace.file = LOCATE_parser_prod;
7553 variable0 = param0;
7554 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeMethid].i]) return;
7555 ((parser_prod___AGeMethid___empty_init_t)CALL( self,COLOR_parser_prod___AGeMethid___empty_init))( self, init_table /*YYY*/) /*AGeMethid::empty_init*/;
7556 ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/ = variable0 /*n_ge*/;
7557 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_ge*/ == NIT_NULL /*null*/) || (( variable0 /*n_ge*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_ge*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_ge*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_ge*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_ge*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7558 if (UNTAG_Bool(variable1)) { /*if*/
7559 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_ge*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_ge*/, self) /*PNode::parent=*/;
7560 }
7561 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeMethid].i] = 1;
7562 tracehead = trace.prev;
7563 return;
7564 }
7565 void parser_prod___AGeMethid___replace_child(val_t self, val_t param0, val_t param1) {
7566 struct trace_t trace = {NULL, NULL, 3844, LOCATE_parser_prod___AGeMethid___replace_child};
7567 val_t variable0;
7568 val_t variable1;
7569 val_t variable2;
7570 trace.prev = tracehead; tracehead = &trace;
7571 trace.file = LOCATE_parser_prod;
7572 variable0 = param0;
7573 variable1 = param1;
7574 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7575 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGeMethid___replace_child, LOCATE_parser_prod, 3846); nit_exit(1);}
7576 variable2 = ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/;
7577 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
7578 if (UNTAG_Bool(variable2)) { /*if*/
7579 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7580 if (UNTAG_Bool(variable2)) { /*if*/
7581 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
7582 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TGe, ID_TGe)) /*cast TGe*/;
7583 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGeMethid___replace_child, LOCATE_parser_prod, 3850); nit_exit(1);}
7584 ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/ = variable1 /*new_child*/;
7585 } else { /*if*/
7586 ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/ = NIT_NULL /*null*/;
7587 }
7588 goto return_label322;
7589 }
7590 return_label322: while(false);
7591 tracehead = trace.prev;
7592 return;
7593 }
7594 void parser_prod___AGeMethid___visit_all(val_t self, val_t param0) {
7595 struct trace_t trace = {NULL, NULL, 3859, LOCATE_parser_prod___AGeMethid___visit_all};
7596 val_t variable0;
7597 val_t variable1;
7598 trace.prev = tracehead; tracehead = &trace;
7599 trace.file = LOCATE_parser_prod;
7600 variable0 = param0;
7601 variable1 = ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/;
7602 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
7603 if (UNTAG_Bool(variable1)) { /*if*/
7604 variable1 = ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/;
7605 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7606 }
7607 tracehead = trace.prev;
7608 return;
7609 }
7610 void parser_prod___AGeMethid___visit_all_reverse(val_t self, val_t param0) {
7611 struct trace_t trace = {NULL, NULL, 3866, LOCATE_parser_prod___AGeMethid___visit_all_reverse};
7612 val_t variable0;
7613 val_t variable1;
7614 trace.prev = tracehead; tracehead = &trace;
7615 trace.file = LOCATE_parser_prod;
7616 variable0 = param0;
7617 variable1 = ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/;
7618 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
7619 if (UNTAG_Bool(variable1)) { /*if*/
7620 variable1 = ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/;
7621 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7622 }
7623 tracehead = trace.prev;
7624 return;
7625 }
7626 void parser_prod___ALtMethid___n_lt__eq(val_t self, val_t param0) {
7627 struct trace_t trace = {NULL, NULL, 3874, LOCATE_parser_prod___ALtMethid___n_lt__eq};
7628 val_t variable0;
7629 val_t variable1;
7630 trace.prev = tracehead; tracehead = &trace;
7631 trace.file = LOCATE_parser_prod;
7632 variable0 = param0;
7633 ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/ = variable0 /*n*/;
7634 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7635 if (UNTAG_Bool(variable1)) { /*if*/
7636 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
7637 }
7638 tracehead = trace.prev;
7639 return;
7640 }
7641 void parser_prod___ALtMethid___empty_init(val_t self, int* init_table) {
7642 struct trace_t trace = {NULL, NULL, 3882, LOCATE_parser_prod___ALtMethid___empty_init};
7643 trace.prev = tracehead; tracehead = &trace;
7644 trace.file = LOCATE_parser_prod;
7645 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtMethid].i]) return;
7646 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtMethid].i] = 1;
7647 tracehead = trace.prev;
7648 return;
7649 }
7650 void parser_prod___ALtMethid___init_altmethid(val_t self, val_t param0, int* init_table) {
7651 struct trace_t trace = {NULL, NULL, 3884, LOCATE_parser_prod___ALtMethid___init_altmethid};
7652 val_t variable0;
7653 val_t variable1;
7654 trace.prev = tracehead; tracehead = &trace;
7655 trace.file = LOCATE_parser_prod;
7656 variable0 = param0;
7657 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtMethid].i]) return;
7658 ((parser_prod___ALtMethid___empty_init_t)CALL( self,COLOR_parser_prod___ALtMethid___empty_init))( self, init_table /*YYY*/) /*ALtMethid::empty_init*/;
7659 ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/ = variable0 /*n_lt*/;
7660 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_lt*/ == NIT_NULL /*null*/) || (( variable0 /*n_lt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_lt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_lt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_lt*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_lt*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7661 if (UNTAG_Bool(variable1)) { /*if*/
7662 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_lt*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_lt*/, self) /*PNode::parent=*/;
7663 }
7664 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtMethid].i] = 1;
7665 tracehead = trace.prev;
7666 return;
7667 }
7668 void parser_prod___ALtMethid___replace_child(val_t self, val_t param0, val_t param1) {
7669 struct trace_t trace = {NULL, NULL, 3895, LOCATE_parser_prod___ALtMethid___replace_child};
7670 val_t variable0;
7671 val_t variable1;
7672 val_t variable2;
7673 trace.prev = tracehead; tracehead = &trace;
7674 trace.file = LOCATE_parser_prod;
7675 variable0 = param0;
7676 variable1 = param1;
7677 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7678 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALtMethid___replace_child, LOCATE_parser_prod, 3897); nit_exit(1);}
7679 variable2 = ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/;
7680 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
7681 if (UNTAG_Bool(variable2)) { /*if*/
7682 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7683 if (UNTAG_Bool(variable2)) { /*if*/
7684 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
7685 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TLt, ID_TLt)) /*cast TLt*/;
7686 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALtMethid___replace_child, LOCATE_parser_prod, 3901); nit_exit(1);}
7687 ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/ = variable1 /*new_child*/;
7688 } else { /*if*/
7689 ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/ = NIT_NULL /*null*/;
7690 }
7691 goto return_label328;
7692 }
7693 return_label328: while(false);
7694 tracehead = trace.prev;
7695 return;
7696 }
7697 void parser_prod___ALtMethid___visit_all(val_t self, val_t param0) {
7698 struct trace_t trace = {NULL, NULL, 3910, LOCATE_parser_prod___ALtMethid___visit_all};
7699 val_t variable0;
7700 val_t variable1;
7701 trace.prev = tracehead; tracehead = &trace;
7702 trace.file = LOCATE_parser_prod;
7703 variable0 = param0;
7704 variable1 = ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/;
7705 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
7706 if (UNTAG_Bool(variable1)) { /*if*/
7707 variable1 = ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/;
7708 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7709 }
7710 tracehead = trace.prev;
7711 return;
7712 }
7713 void parser_prod___ALtMethid___visit_all_reverse(val_t self, val_t param0) {
7714 struct trace_t trace = {NULL, NULL, 3917, LOCATE_parser_prod___ALtMethid___visit_all_reverse};
7715 val_t variable0;
7716 val_t variable1;
7717 trace.prev = tracehead; tracehead = &trace;
7718 trace.file = LOCATE_parser_prod;
7719 variable0 = param0;
7720 variable1 = ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/;
7721 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
7722 if (UNTAG_Bool(variable1)) { /*if*/
7723 variable1 = ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/;
7724 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7725 }
7726 tracehead = trace.prev;
7727 return;
7728 }
7729 void parser_prod___AGtMethid___n_gt__eq(val_t self, val_t param0) {
7730 struct trace_t trace = {NULL, NULL, 3925, LOCATE_parser_prod___AGtMethid___n_gt__eq};
7731 val_t variable0;
7732 val_t variable1;
7733 trace.prev = tracehead; tracehead = &trace;
7734 trace.file = LOCATE_parser_prod;
7735 variable0 = param0;
7736 ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/ = variable0 /*n*/;
7737 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7738 if (UNTAG_Bool(variable1)) { /*if*/
7739 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
7740 }
7741 tracehead = trace.prev;
7742 return;
7743 }
7744 void parser_prod___AGtMethid___empty_init(val_t self, int* init_table) {
7745 struct trace_t trace = {NULL, NULL, 3933, LOCATE_parser_prod___AGtMethid___empty_init};
7746 trace.prev = tracehead; tracehead = &trace;
7747 trace.file = LOCATE_parser_prod;
7748 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtMethid].i]) return;
7749 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtMethid].i] = 1;
7750 tracehead = trace.prev;
7751 return;
7752 }
7753 void parser_prod___AGtMethid___init_agtmethid(val_t self, val_t param0, int* init_table) {
7754 struct trace_t trace = {NULL, NULL, 3935, LOCATE_parser_prod___AGtMethid___init_agtmethid};
7755 val_t variable0;
7756 val_t variable1;
7757 trace.prev = tracehead; tracehead = &trace;
7758 trace.file = LOCATE_parser_prod;
7759 variable0 = param0;
7760 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtMethid].i]) return;
7761 ((parser_prod___AGtMethid___empty_init_t)CALL( self,COLOR_parser_prod___AGtMethid___empty_init))( self, init_table /*YYY*/) /*AGtMethid::empty_init*/;
7762 ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/ = variable0 /*n_gt*/;
7763 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_gt*/ == NIT_NULL /*null*/) || (( variable0 /*n_gt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_gt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_gt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_gt*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_gt*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7764 if (UNTAG_Bool(variable1)) { /*if*/
7765 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_gt*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_gt*/, self) /*PNode::parent=*/;
7766 }
7767 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtMethid].i] = 1;
7768 tracehead = trace.prev;
7769 return;
7770 }
7771 void parser_prod___AGtMethid___replace_child(val_t self, val_t param0, val_t param1) {
7772 struct trace_t trace = {NULL, NULL, 3946, LOCATE_parser_prod___AGtMethid___replace_child};
7773 val_t variable0;
7774 val_t variable1;
7775 val_t variable2;
7776 trace.prev = tracehead; tracehead = &trace;
7777 trace.file = LOCATE_parser_prod;
7778 variable0 = param0;
7779 variable1 = param1;
7780 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7781 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGtMethid___replace_child, LOCATE_parser_prod, 3948); nit_exit(1);}
7782 variable2 = ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/;
7783 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
7784 if (UNTAG_Bool(variable2)) { /*if*/
7785 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7786 if (UNTAG_Bool(variable2)) { /*if*/
7787 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
7788 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TGt, ID_TGt)) /*cast TGt*/;
7789 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGtMethid___replace_child, LOCATE_parser_prod, 3952); nit_exit(1);}
7790 ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/ = variable1 /*new_child*/;
7791 } else { /*if*/
7792 ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/ = NIT_NULL /*null*/;
7793 }
7794 goto return_label334;
7795 }
7796 return_label334: while(false);
7797 tracehead = trace.prev;
7798 return;
7799 }
7800 void parser_prod___AGtMethid___visit_all(val_t self, val_t param0) {
7801 struct trace_t trace = {NULL, NULL, 3961, LOCATE_parser_prod___AGtMethid___visit_all};
7802 val_t variable0;
7803 val_t variable1;
7804 trace.prev = tracehead; tracehead = &trace;
7805 trace.file = LOCATE_parser_prod;
7806 variable0 = param0;
7807 variable1 = ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/;
7808 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
7809 if (UNTAG_Bool(variable1)) { /*if*/
7810 variable1 = ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/;
7811 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7812 }
7813 tracehead = trace.prev;
7814 return;
7815 }
7816 void parser_prod___AGtMethid___visit_all_reverse(val_t self, val_t param0) {
7817 struct trace_t trace = {NULL, NULL, 3968, LOCATE_parser_prod___AGtMethid___visit_all_reverse};
7818 val_t variable0;
7819 val_t variable1;
7820 trace.prev = tracehead; tracehead = &trace;
7821 trace.file = LOCATE_parser_prod;
7822 variable0 = param0;
7823 variable1 = ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/;
7824 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
7825 if (UNTAG_Bool(variable1)) { /*if*/
7826 variable1 = ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/;
7827 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7828 }
7829 tracehead = trace.prev;
7830 return;
7831 }
7832 void parser_prod___ABraMethid___n_obra__eq(val_t self, val_t param0) {
7833 struct trace_t trace = {NULL, NULL, 3976, LOCATE_parser_prod___ABraMethid___n_obra__eq};
7834 val_t variable0;
7835 val_t variable1;
7836 trace.prev = tracehead; tracehead = &trace;
7837 trace.file = LOCATE_parser_prod;
7838 variable0 = param0;
7839 ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/ = variable0 /*n*/;
7840 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7841 if (UNTAG_Bool(variable1)) { /*if*/
7842 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
7843 }
7844 tracehead = trace.prev;
7845 return;
7846 }
7847 void parser_prod___ABraMethid___n_cbra__eq(val_t self, val_t param0) {
7848 struct trace_t trace = {NULL, NULL, 3983, LOCATE_parser_prod___ABraMethid___n_cbra__eq};
7849 val_t variable0;
7850 val_t variable1;
7851 trace.prev = tracehead; tracehead = &trace;
7852 trace.file = LOCATE_parser_prod;
7853 variable0 = param0;
7854 ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/ = variable0 /*n*/;
7855 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7856 if (UNTAG_Bool(variable1)) { /*if*/
7857 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
7858 }
7859 tracehead = trace.prev;
7860 return;
7861 }
7862 void parser_prod___ABraMethid___empty_init(val_t self, int* init_table) {
7863 struct trace_t trace = {NULL, NULL, 3991, LOCATE_parser_prod___ABraMethid___empty_init};
7864 trace.prev = tracehead; tracehead = &trace;
7865 trace.file = LOCATE_parser_prod;
7866 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraMethid].i]) return;
7867 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraMethid].i] = 1;
7868 tracehead = trace.prev;
7869 return;
7870 }
7871 void parser_prod___ABraMethid___init_abramethid(val_t self, val_t param0, val_t param1, int* init_table) {
7872 struct trace_t trace = {NULL, NULL, 3993, LOCATE_parser_prod___ABraMethid___init_abramethid};
7873 val_t variable0;
7874 val_t variable1;
7875 val_t variable2;
7876 trace.prev = tracehead; tracehead = &trace;
7877 trace.file = LOCATE_parser_prod;
7878 variable0 = param0;
7879 variable1 = param1;
7880 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraMethid].i]) return;
7881 ((parser_prod___ABraMethid___empty_init_t)CALL( self,COLOR_parser_prod___ABraMethid___empty_init))( self, init_table /*YYY*/) /*ABraMethid::empty_init*/;
7882 ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/ = variable0 /*n_obra*/;
7883 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_obra*/ == NIT_NULL /*null*/) || (( variable0 /*n_obra*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_obra*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_obra*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_obra*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_obra*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7884 if (UNTAG_Bool(variable2)) { /*if*/
7885 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_obra*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_obra*/, self) /*PNode::parent=*/;
7886 }
7887 ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/ = variable1 /*n_cbra*/;
7888 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_cbra*/ == NIT_NULL /*null*/) || (( variable1 /*n_cbra*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_cbra*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_cbra*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_cbra*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_cbra*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7889 if (UNTAG_Bool(variable2)) { /*if*/
7890 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_cbra*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_cbra*/, self) /*PNode::parent=*/;
7891 }
7892 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraMethid].i] = 1;
7893 tracehead = trace.prev;
7894 return;
7895 }
7896 void parser_prod___ABraMethid___replace_child(val_t self, val_t param0, val_t param1) {
7897 struct trace_t trace = {NULL, NULL, 4009, LOCATE_parser_prod___ABraMethid___replace_child};
7898 val_t variable0;
7899 val_t variable1;
7900 val_t variable2;
7901 trace.prev = tracehead; tracehead = &trace;
7902 trace.file = LOCATE_parser_prod;
7903 variable0 = param0;
7904 variable1 = param1;
7905 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7906 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraMethid___replace_child, LOCATE_parser_prod, 4011); nit_exit(1);}
7907 variable2 = ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/;
7908 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
7909 if (UNTAG_Bool(variable2)) { /*if*/
7910 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7911 if (UNTAG_Bool(variable2)) { /*if*/
7912 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
7913 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TObra, ID_TObra)) /*cast TObra*/;
7914 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraMethid___replace_child, LOCATE_parser_prod, 4015); nit_exit(1);}
7915 ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/ = variable1 /*new_child*/;
7916 } else { /*if*/
7917 ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/ = NIT_NULL /*null*/;
7918 }
7919 goto return_label341;
7920 }
7921 variable2 = ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/;
7922 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
7923 if (UNTAG_Bool(variable2)) { /*if*/
7924 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7925 if (UNTAG_Bool(variable2)) { /*if*/
7926 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
7927 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TCbra, ID_TCbra)) /*cast TCbra*/;
7928 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraMethid___replace_child, LOCATE_parser_prod, 4025); nit_exit(1);}
7929 ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/ = variable1 /*new_child*/;
7930 } else { /*if*/
7931 ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/ = NIT_NULL /*null*/;
7932 }
7933 goto return_label341;
7934 }
7935 return_label341: while(false);
7936 tracehead = trace.prev;
7937 return;
7938 }
7939 void parser_prod___ABraMethid___visit_all(val_t self, val_t param0) {
7940 struct trace_t trace = {NULL, NULL, 4034, LOCATE_parser_prod___ABraMethid___visit_all};
7941 val_t variable0;
7942 val_t variable1;
7943 trace.prev = tracehead; tracehead = &trace;
7944 trace.file = LOCATE_parser_prod;
7945 variable0 = param0;
7946 variable1 = ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/;
7947 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
7948 if (UNTAG_Bool(variable1)) { /*if*/
7949 variable1 = ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/;
7950 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7951 }
7952 variable1 = ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/;
7953 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
7954 if (UNTAG_Bool(variable1)) { /*if*/
7955 variable1 = ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/;
7956 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7957 }
7958 tracehead = trace.prev;
7959 return;
7960 }
7961 void parser_prod___ABraMethid___visit_all_reverse(val_t self, val_t param0) {
7962 struct trace_t trace = {NULL, NULL, 4044, LOCATE_parser_prod___ABraMethid___visit_all_reverse};
7963 val_t variable0;
7964 val_t variable1;
7965 trace.prev = tracehead; tracehead = &trace;
7966 trace.file = LOCATE_parser_prod;
7967 variable0 = param0;
7968 variable1 = ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/;
7969 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
7970 if (UNTAG_Bool(variable1)) { /*if*/
7971 variable1 = ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/;
7972 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7973 }
7974 variable1 = ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/;
7975 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
7976 if (UNTAG_Bool(variable1)) { /*if*/
7977 variable1 = ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/;
7978 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7979 }
7980 tracehead = trace.prev;
7981 return;
7982 }
7983 void parser_prod___AStarshipMethid___n_starship__eq(val_t self, val_t param0) {
7984 struct trace_t trace = {NULL, NULL, 4055, LOCATE_parser_prod___AStarshipMethid___n_starship__eq};
7985 val_t variable0;
7986 val_t variable1;
7987 trace.prev = tracehead; tracehead = &trace;
7988 trace.file = LOCATE_parser_prod;
7989 variable0 = param0;
7990 ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/ = variable0 /*n*/;
7991 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7992 if (UNTAG_Bool(variable1)) { /*if*/
7993 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
7994 }
7995 tracehead = trace.prev;
7996 return;
7997 }
7998 void parser_prod___AStarshipMethid___empty_init(val_t self, int* init_table) {
7999 struct trace_t trace = {NULL, NULL, 4063, LOCATE_parser_prod___AStarshipMethid___empty_init};
8000 trace.prev = tracehead; tracehead = &trace;
8001 trace.file = LOCATE_parser_prod;
8002 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipMethid].i]) return;
8003 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipMethid].i] = 1;
8004 tracehead = trace.prev;
8005 return;
8006 }
8007 void parser_prod___AStarshipMethid___init_astarshipmethid(val_t self, val_t param0, int* init_table) {
8008 struct trace_t trace = {NULL, NULL, 4065, LOCATE_parser_prod___AStarshipMethid___init_astarshipmethid};
8009 val_t variable0;
8010 val_t variable1;
8011 trace.prev = tracehead; tracehead = &trace;
8012 trace.file = LOCATE_parser_prod;
8013 variable0 = param0;
8014 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipMethid].i]) return;
8015 ((parser_prod___AStarshipMethid___empty_init_t)CALL( self,COLOR_parser_prod___AStarshipMethid___empty_init))( self, init_table /*YYY*/) /*AStarshipMethid::empty_init*/;
8016 ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/ = variable0 /*n_starship*/;
8017 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_starship*/ == NIT_NULL /*null*/) || (( variable0 /*n_starship*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_starship*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_starship*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_starship*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_starship*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8018 if (UNTAG_Bool(variable1)) { /*if*/
8019 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_starship*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_starship*/, self) /*PNode::parent=*/;
8020 }
8021 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipMethid].i] = 1;
8022 tracehead = trace.prev;
8023 return;
8024 }
8025 void parser_prod___AStarshipMethid___replace_child(val_t self, val_t param0, val_t param1) {
8026 struct trace_t trace = {NULL, NULL, 4076, LOCATE_parser_prod___AStarshipMethid___replace_child};
8027 val_t variable0;
8028 val_t variable1;
8029 val_t variable2;
8030 trace.prev = tracehead; tracehead = &trace;
8031 trace.file = LOCATE_parser_prod;
8032 variable0 = param0;
8033 variable1 = param1;
8034 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8035 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarshipMethid___replace_child, LOCATE_parser_prod, 4078); nit_exit(1);}
8036 variable2 = ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/;
8037 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
8038 if (UNTAG_Bool(variable2)) { /*if*/
8039 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8040 if (UNTAG_Bool(variable2)) { /*if*/
8041 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
8042 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TStarship, ID_TStarship)) /*cast TStarship*/;
8043 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarshipMethid___replace_child, LOCATE_parser_prod, 4082); nit_exit(1);}
8044 ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/ = variable1 /*new_child*/;
8045 } else { /*if*/
8046 ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/ = NIT_NULL /*null*/;
8047 }
8048 goto return_label347;
8049 }
8050 return_label347: while(false);
8051 tracehead = trace.prev;
8052 return;
8053 }
8054 void parser_prod___AStarshipMethid___visit_all(val_t self, val_t param0) {
8055 struct trace_t trace = {NULL, NULL, 4091, LOCATE_parser_prod___AStarshipMethid___visit_all};
8056 val_t variable0;
8057 val_t variable1;
8058 trace.prev = tracehead; tracehead = &trace;
8059 trace.file = LOCATE_parser_prod;
8060 variable0 = param0;
8061 variable1 = ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/;
8062 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
8063 if (UNTAG_Bool(variable1)) { /*if*/
8064 variable1 = ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/;
8065 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8066 }
8067 tracehead = trace.prev;
8068 return;
8069 }
8070 void parser_prod___AStarshipMethid___visit_all_reverse(val_t self, val_t param0) {
8071 struct trace_t trace = {NULL, NULL, 4098, LOCATE_parser_prod___AStarshipMethid___visit_all_reverse};
8072 val_t variable0;
8073 val_t variable1;
8074 trace.prev = tracehead; tracehead = &trace;
8075 trace.file = LOCATE_parser_prod;
8076 variable0 = param0;
8077 variable1 = ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/;
8078 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
8079 if (UNTAG_Bool(variable1)) { /*if*/
8080 variable1 = ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/;
8081 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8082 }
8083 tracehead = trace.prev;
8084 return;
8085 }
8086 void parser_prod___AAssignMethid___n_id__eq(val_t self, val_t param0) {
8087 struct trace_t trace = {NULL, NULL, 4106, LOCATE_parser_prod___AAssignMethid___n_id__eq};
8088 val_t variable0;
8089 val_t variable1;
8090 trace.prev = tracehead; tracehead = &trace;
8091 trace.file = LOCATE_parser_prod;
8092 variable0 = param0;
8093 ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/ = variable0 /*n*/;
8094 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8095 if (UNTAG_Bool(variable1)) { /*if*/
8096 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
8097 }
8098 tracehead = trace.prev;
8099 return;
8100 }
8101 void parser_prod___AAssignMethid___n_assign__eq(val_t self, val_t param0) {
8102 struct trace_t trace = {NULL, NULL, 4113, LOCATE_parser_prod___AAssignMethid___n_assign__eq};
8103 val_t variable0;
8104 val_t variable1;
8105 trace.prev = tracehead; tracehead = &trace;
8106 trace.file = LOCATE_parser_prod;
8107 variable0 = param0;
8108 ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/ = variable0 /*n*/;
8109 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8110 if (UNTAG_Bool(variable1)) { /*if*/
8111 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
8112 }
8113 tracehead = trace.prev;
8114 return;
8115 }
8116 void parser_prod___AAssignMethid___empty_init(val_t self, int* init_table) {
8117 struct trace_t trace = {NULL, NULL, 4121, LOCATE_parser_prod___AAssignMethid___empty_init};
8118 trace.prev = tracehead; tracehead = &trace;
8119 trace.file = LOCATE_parser_prod;
8120 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssignMethid].i]) return;
8121 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssignMethid].i] = 1;
8122 tracehead = trace.prev;
8123 return;
8124 }
8125 void parser_prod___AAssignMethid___init_aassignmethid(val_t self, val_t param0, val_t param1, int* init_table) {
8126 struct trace_t trace = {NULL, NULL, 4123, LOCATE_parser_prod___AAssignMethid___init_aassignmethid};
8127 val_t variable0;
8128 val_t variable1;
8129 val_t variable2;
8130 trace.prev = tracehead; tracehead = &trace;
8131 trace.file = LOCATE_parser_prod;
8132 variable0 = param0;
8133 variable1 = param1;
8134 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssignMethid].i]) return;
8135 ((parser_prod___AAssignMethid___empty_init_t)CALL( self,COLOR_parser_prod___AAssignMethid___empty_init))( self, init_table /*YYY*/) /*AAssignMethid::empty_init*/;
8136 ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/ = variable0 /*n_id*/;
8137 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_id*/ == NIT_NULL /*null*/) || (( variable0 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_id*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8138 if (UNTAG_Bool(variable2)) { /*if*/
8139 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/, self) /*PNode::parent=*/;
8140 }
8141 ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/ = variable1 /*n_assign*/;
8142 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_assign*/ == NIT_NULL /*null*/) || (( variable1 /*n_assign*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_assign*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_assign*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_assign*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_assign*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8143 if (UNTAG_Bool(variable2)) { /*if*/
8144 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_assign*/, self) /*PNode::parent=*/;
8145 }
8146 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssignMethid].i] = 1;
8147 tracehead = trace.prev;
8148 return;
8149 }
8150 void parser_prod___AAssignMethid___replace_child(val_t self, val_t param0, val_t param1) {
8151 struct trace_t trace = {NULL, NULL, 4139, LOCATE_parser_prod___AAssignMethid___replace_child};
8152 val_t variable0;
8153 val_t variable1;
8154 val_t variable2;
8155 trace.prev = tracehead; tracehead = &trace;
8156 trace.file = LOCATE_parser_prod;
8157 variable0 = param0;
8158 variable1 = param1;
8159 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8160 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAssignMethid___replace_child, LOCATE_parser_prod, 4141); nit_exit(1);}
8161 variable2 = ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/;
8162 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
8163 if (UNTAG_Bool(variable2)) { /*if*/
8164 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8165 if (UNTAG_Bool(variable2)) { /*if*/
8166 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
8167 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
8168 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAssignMethid___replace_child, LOCATE_parser_prod, 4145); nit_exit(1);}
8169 ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/ = variable1 /*new_child*/;
8170 } else { /*if*/
8171 ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/ = NIT_NULL /*null*/;
8172 }
8173 goto return_label354;
8174 }
8175 variable2 = ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/;
8176 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
8177 if (UNTAG_Bool(variable2)) { /*if*/
8178 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8179 if (UNTAG_Bool(variable2)) { /*if*/
8180 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
8181 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
8182 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAssignMethid___replace_child, LOCATE_parser_prod, 4155); nit_exit(1);}
8183 ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/ = variable1 /*new_child*/;
8184 } else { /*if*/
8185 ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/ = NIT_NULL /*null*/;
8186 }
8187 goto return_label354;
8188 }
8189 return_label354: while(false);
8190 tracehead = trace.prev;
8191 return;
8192 }
8193 void parser_prod___AAssignMethid___visit_all(val_t self, val_t param0) {
8194 struct trace_t trace = {NULL, NULL, 4164, LOCATE_parser_prod___AAssignMethid___visit_all};
8195 val_t variable0;
8196 val_t variable1;
8197 trace.prev = tracehead; tracehead = &trace;
8198 trace.file = LOCATE_parser_prod;
8199 variable0 = param0;
8200 variable1 = ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/;
8201 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
8202 if (UNTAG_Bool(variable1)) { /*if*/
8203 variable1 = ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/;
8204 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8205 }
8206 variable1 = ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/;
8207 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
8208 if (UNTAG_Bool(variable1)) { /*if*/
8209 variable1 = ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/;
8210 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8211 }
8212 tracehead = trace.prev;
8213 return;
8214 }
8215 void parser_prod___AAssignMethid___visit_all_reverse(val_t self, val_t param0) {
8216 struct trace_t trace = {NULL, NULL, 4174, LOCATE_parser_prod___AAssignMethid___visit_all_reverse};
8217 val_t variable0;
8218 val_t variable1;
8219 trace.prev = tracehead; tracehead = &trace;
8220 trace.file = LOCATE_parser_prod;
8221 variable0 = param0;
8222 variable1 = ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/;
8223 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
8224 if (UNTAG_Bool(variable1)) { /*if*/
8225 variable1 = ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/;
8226 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8227 }
8228 variable1 = ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/;
8229 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
8230 if (UNTAG_Bool(variable1)) { /*if*/
8231 variable1 = ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/;
8232 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8233 }
8234 tracehead = trace.prev;
8235 return;
8236 }
8237 void parser_prod___ABraassignMethid___n_obra__eq(val_t self, val_t param0) {
8238 struct trace_t trace = {NULL, NULL, 4185, LOCATE_parser_prod___ABraassignMethid___n_obra__eq};
8239 val_t variable0;
8240 val_t variable1;
8241 trace.prev = tracehead; tracehead = &trace;
8242 trace.file = LOCATE_parser_prod;
8243 variable0 = param0;
8244 ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/ = variable0 /*n*/;
8245 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8246 if (UNTAG_Bool(variable1)) { /*if*/
8247 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
8248 }
8249 tracehead = trace.prev;
8250 return;
8251 }
8252 void parser_prod___ABraassignMethid___n_cbra__eq(val_t self, val_t param0) {
8253 struct trace_t trace = {NULL, NULL, 4192, LOCATE_parser_prod___ABraassignMethid___n_cbra__eq};
8254 val_t variable0;
8255 val_t variable1;
8256 trace.prev = tracehead; tracehead = &trace;
8257 trace.file = LOCATE_parser_prod;
8258 variable0 = param0;
8259 ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/ = variable0 /*n*/;
8260 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8261 if (UNTAG_Bool(variable1)) { /*if*/
8262 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
8263 }
8264 tracehead = trace.prev;
8265 return;
8266 }
8267 void parser_prod___ABraassignMethid___n_assign__eq(val_t self, val_t param0) {
8268 struct trace_t trace = {NULL, NULL, 4199, LOCATE_parser_prod___ABraassignMethid___n_assign__eq};
8269 val_t variable0;
8270 val_t variable1;
8271 trace.prev = tracehead; tracehead = &trace;
8272 trace.file = LOCATE_parser_prod;
8273 variable0 = param0;
8274 ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/ = variable0 /*n*/;
8275 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8276 if (UNTAG_Bool(variable1)) { /*if*/
8277 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
8278 }
8279 tracehead = trace.prev;
8280 return;
8281 }
8282 void parser_prod___ABraassignMethid___empty_init(val_t self, int* init_table) {
8283 struct trace_t trace = {NULL, NULL, 4207, LOCATE_parser_prod___ABraassignMethid___empty_init};
8284 trace.prev = tracehead; tracehead = &trace;
8285 trace.file = LOCATE_parser_prod;
8286 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraassignMethid].i]) return;
8287 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraassignMethid].i] = 1;
8288 tracehead = trace.prev;
8289 return;
8290 }
8291 void parser_prod___ABraassignMethid___init_abraassignmethid(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
8292 struct trace_t trace = {NULL, NULL, 4209, LOCATE_parser_prod___ABraassignMethid___init_abraassignmethid};
8293 val_t variable0;
8294 val_t variable1;
8295 val_t variable2;
8296 val_t variable3;
8297 trace.prev = tracehead; tracehead = &trace;
8298 trace.file = LOCATE_parser_prod;
8299 variable0 = param0;
8300 variable1 = param1;
8301 variable2 = param2;
8302 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraassignMethid].i]) return;
8303 ((parser_prod___ABraassignMethid___empty_init_t)CALL( self,COLOR_parser_prod___ABraassignMethid___empty_init))( self, init_table /*YYY*/) /*ABraassignMethid::empty_init*/;
8304 ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/ = variable0 /*n_obra*/;
8305 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_obra*/ == NIT_NULL /*null*/) || (( variable0 /*n_obra*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_obra*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_obra*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_obra*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_obra*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8306 if (UNTAG_Bool(variable3)) { /*if*/
8307 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_obra*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_obra*/, self) /*PNode::parent=*/;
8308 }
8309 ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/ = variable1 /*n_cbra*/;
8310 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_cbra*/ == NIT_NULL /*null*/) || (( variable1 /*n_cbra*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_cbra*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_cbra*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_cbra*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_cbra*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8311 if (UNTAG_Bool(variable3)) { /*if*/
8312 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_cbra*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_cbra*/, self) /*PNode::parent=*/;
8313 }
8314 ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/ = variable2 /*n_assign*/;
8315 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_assign*/ == NIT_NULL /*null*/) || (( variable2 /*n_assign*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_assign*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_assign*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8316 if (UNTAG_Bool(variable3)) { /*if*/
8317 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_assign*/, self) /*PNode::parent=*/;
8318 }
8319 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraassignMethid].i] = 1;
8320 tracehead = trace.prev;
8321 return;
8322 }
8323 void parser_prod___ABraassignMethid___replace_child(val_t self, val_t param0, val_t param1) {
8324 struct trace_t trace = {NULL, NULL, 4230, LOCATE_parser_prod___ABraassignMethid___replace_child};
8325 val_t variable0;
8326 val_t variable1;
8327 val_t variable2;
8328 trace.prev = tracehead; tracehead = &trace;
8329 trace.file = LOCATE_parser_prod;
8330 variable0 = param0;
8331 variable1 = param1;
8332 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8333 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraassignMethid___replace_child, LOCATE_parser_prod, 4232); nit_exit(1);}
8334 variable2 = ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/;
8335 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
8336 if (UNTAG_Bool(variable2)) { /*if*/
8337 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8338 if (UNTAG_Bool(variable2)) { /*if*/
8339 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
8340 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TObra, ID_TObra)) /*cast TObra*/;
8341 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraassignMethid___replace_child, LOCATE_parser_prod, 4236); nit_exit(1);}
8342 ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/ = variable1 /*new_child*/;
8343 } else { /*if*/
8344 ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/ = NIT_NULL /*null*/;
8345 }
8346 goto return_label362;
8347 }
8348 variable2 = ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/;
8349 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
8350 if (UNTAG_Bool(variable2)) { /*if*/
8351 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8352 if (UNTAG_Bool(variable2)) { /*if*/
8353 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
8354 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TCbra, ID_TCbra)) /*cast TCbra*/;
8355 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraassignMethid___replace_child, LOCATE_parser_prod, 4246); nit_exit(1);}
8356 ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/ = variable1 /*new_child*/;
8357 } else { /*if*/
8358 ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/ = NIT_NULL /*null*/;
8359 }
8360 goto return_label362;
8361 }
8362 variable2 = ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/;
8363 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
8364 if (UNTAG_Bool(variable2)) { /*if*/
8365 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8366 if (UNTAG_Bool(variable2)) { /*if*/
8367 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
8368 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
8369 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraassignMethid___replace_child, LOCATE_parser_prod, 4256); nit_exit(1);}
8370 ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/ = variable1 /*new_child*/;
8371 } else { /*if*/
8372 ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/ = NIT_NULL /*null*/;
8373 }
8374 goto return_label362;
8375 }
8376 return_label362: while(false);
8377 tracehead = trace.prev;
8378 return;
8379 }
8380 void parser_prod___ABraassignMethid___visit_all(val_t self, val_t param0) {
8381 struct trace_t trace = {NULL, NULL, 4265, LOCATE_parser_prod___ABraassignMethid___visit_all};
8382 val_t variable0;
8383 val_t variable1;
8384 trace.prev = tracehead; tracehead = &trace;
8385 trace.file = LOCATE_parser_prod;
8386 variable0 = param0;
8387 variable1 = ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/;
8388 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
8389 if (UNTAG_Bool(variable1)) { /*if*/
8390 variable1 = ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/;
8391 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8392 }
8393 variable1 = ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/;
8394 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
8395 if (UNTAG_Bool(variable1)) { /*if*/
8396 variable1 = ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/;
8397 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8398 }
8399 variable1 = ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/;
8400 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
8401 if (UNTAG_Bool(variable1)) { /*if*/
8402 variable1 = ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/;
8403 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8404 }
8405 tracehead = trace.prev;
8406 return;
8407 }
8408 void parser_prod___ABraassignMethid___visit_all_reverse(val_t self, val_t param0) {
8409 struct trace_t trace = {NULL, NULL, 4278, LOCATE_parser_prod___ABraassignMethid___visit_all_reverse};
8410 val_t variable0;
8411 val_t variable1;
8412 trace.prev = tracehead; tracehead = &trace;
8413 trace.file = LOCATE_parser_prod;
8414 variable0 = param0;
8415 variable1 = ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/;
8416 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
8417 if (UNTAG_Bool(variable1)) { /*if*/
8418 variable1 = ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/;
8419 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8420 }
8421 variable1 = ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/;
8422 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
8423 if (UNTAG_Bool(variable1)) { /*if*/
8424 variable1 = ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/;
8425 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8426 }
8427 variable1 = ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/;
8428 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
8429 if (UNTAG_Bool(variable1)) { /*if*/
8430 variable1 = ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/;
8431 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8432 }
8433 tracehead = trace.prev;
8434 return;
8435 }
8436 void parser_prod___ASignature___n_type__eq(val_t self, val_t param0) {
8437 struct trace_t trace = {NULL, NULL, 4292, LOCATE_parser_prod___ASignature___n_type__eq};
8438 val_t variable0;
8439 val_t variable1;
8440 trace.prev = tracehead; tracehead = &trace;
8441 trace.file = LOCATE_parser_prod;
8442 variable0 = param0;
8443 ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/ = variable0 /*n*/;
8444 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8445 if (UNTAG_Bool(variable1)) { /*if*/
8446 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
8447 }
8448 tracehead = trace.prev;
8449 return;
8450 }
8451 void parser_prod___ASignature___empty_init(val_t self, int* init_table) {
8452 struct trace_t trace = {NULL, NULL, 4300, LOCATE_parser_prod___ASignature___empty_init};
8453 trace.prev = tracehead; tracehead = &trace;
8454 trace.file = LOCATE_parser_prod;
8455 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASignature].i]) return;
8456 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASignature].i] = 1;
8457 tracehead = trace.prev;
8458 return;
8459 }
8460 void parser_prod___ASignature___init_asignature(val_t self, val_t param0, val_t param1, int* init_table) {
8461 struct trace_t trace = {NULL, NULL, 4302, LOCATE_parser_prod___ASignature___init_asignature};
8462 val_t variable0;
8463 val_t variable1;
8464 val_t variable2;
8465 val_t variable3;
8466 val_t variable4;
8467 trace.prev = tracehead; tracehead = &trace;
8468 trace.file = LOCATE_parser_prod;
8469 variable0 = param0;
8470 variable1 = param1;
8471 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASignature].i]) return;
8472 ((parser_prod___ASignature___empty_init_t)CALL( self,COLOR_parser_prod___ASignature___empty_init))( self, init_table /*YYY*/) /*ASignature::empty_init*/;
8473 variable2 = NEW_List_list___List___init(); /*new List[PParam]*/
8474 ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/ = variable2;
8475 variable2 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_params*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_params*/) /*AbstractArray::iterator*/;
8476 while (true) { /*for*/
8477 variable3 = ((array___ArrayIterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*ArrayIterator::is_ok*/;
8478 if (!UNTAG_Bool(variable3)) break; /*for*/
8479 variable3 = ((array___ArrayIterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*ArrayIterator::item*/;
8480 variable4 = TAG_Bool(( variable3 /*n*/==NIT_NULL) || VAL_ISA( variable3 /*n*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
8481 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASignature___init_asignature, LOCATE_parser_prod, 4310); nit_exit(1);}
8482 variable4 = ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/;
8483 ((abstract_collection___IndexedCollection___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable3 /*n*/) /*IndexedCollection::add*/;
8484 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n*/, self) /*PNode::parent=*/;
8485 continue_368: while(0);
8486 ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
8487 }
8488 break_368: while(0);
8489 ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/ = variable1 /*n_type*/;
8490 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_type*/ == NIT_NULL /*null*/) || (( variable1 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_type*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8491 if (UNTAG_Bool(variable2)) { /*if*/
8492 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_type*/, self) /*PNode::parent=*/;
8493 }
8494 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASignature].i] = 1;
8495 tracehead = trace.prev;
8496 return;
8497 }
8498 void parser_prod___ASignature___replace_child(val_t self, val_t param0, val_t param1) {
8499 struct trace_t trace = {NULL, NULL, 4320, LOCATE_parser_prod___ASignature___replace_child};
8500 val_t variable0;
8501 val_t variable1;
8502 val_t variable2;
8503 val_t variable3;
8504 val_t variable4;
8505 trace.prev = tracehead; tracehead = &trace;
8506 trace.file = LOCATE_parser_prod;
8507 variable0 = param0;
8508 variable1 = param1;
8509 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8510 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASignature___replace_child, LOCATE_parser_prod, 4322); nit_exit(1);}
8511 variable2 = ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/;
8512 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
8513 variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
8514 variable2 = variable3;
8515 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
8516 while (true) { /*for*/
8517 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
8518 if (!UNTAG_Bool(variable3)) break; /*for*/
8519 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
8520 variable4 = ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/;
8521 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
8522 variable4 = TAG_Bool((variable4 == variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable0 /*old_child*/) /*Object::==*/)))));
8523 if (UNTAG_Bool(variable4)) { /*if*/
8524 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8525 if (UNTAG_Bool(variable4)) { /*if*/
8526 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
8527 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASignature___replace_child, LOCATE_parser_prod, 4326); nit_exit(1);}
8528 variable4 = ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/;
8529 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
8530 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
8531 } else { /*if*/
8532 variable4 = ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/;
8533 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
8534 }
8535 goto return_label369;
8536 }
8537 continue_370: while(0);
8538 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
8539 }
8540 break_370: while(0);
8541 variable2 = ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/;
8542 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
8543 if (UNTAG_Bool(variable2)) { /*if*/
8544 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8545 if (UNTAG_Bool(variable2)) { /*if*/
8546 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
8547 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
8548 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASignature___replace_child, LOCATE_parser_prod, 4338); nit_exit(1);}
8549 ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/ = variable1 /*new_child*/;
8550 } else { /*if*/
8551 ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/ = NIT_NULL /*null*/;
8552 }
8553 goto return_label369;
8554 }
8555 return_label369: while(false);
8556 tracehead = trace.prev;
8557 return;
8558 }
8559 void parser_prod___ASignature___visit_all(val_t self, val_t param0) {
8560 struct trace_t trace = {NULL, NULL, 4347, LOCATE_parser_prod___ASignature___visit_all};
8561 val_t variable0;
8562 val_t variable1;
8563 val_t variable2;
8564 trace.prev = tracehead; tracehead = &trace;
8565 trace.file = LOCATE_parser_prod;
8566 variable0 = param0;
8567 variable1 = ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/;
8568 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
8569 while (true) { /*for*/
8570 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
8571 if (!UNTAG_Bool(variable2)) break; /*for*/
8572 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
8573 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
8574 continue_372: while(0);
8575 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
8576 }
8577 break_372: while(0);
8578 variable1 = ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/;
8579 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
8580 if (UNTAG_Bool(variable1)) { /*if*/
8581 variable1 = ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/;
8582 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8583 }
8584 tracehead = trace.prev;
8585 return;
8586 }
8587 void parser_prod___ASignature___visit_all_reverse(val_t self, val_t param0) {
8588 struct trace_t trace = {NULL, NULL, 4357, LOCATE_parser_prod___ASignature___visit_all_reverse};
8589 val_t variable0;
8590 val_t variable1;
8591 val_t variable2;
8592 trace.prev = tracehead; tracehead = &trace;
8593 trace.file = LOCATE_parser_prod;
8594 variable0 = param0;
8595 variable2 = ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/;
8596 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
8597 variable1 = variable2;
8598 while (true) { /*while*/
8599 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
8600 if (!UNTAG_Bool(variable2)) break; /* while*/
8601 variable2 = ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/;
8602 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
8603 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
8604 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
8605 variable1 = variable2 /*i=*/;
8606 continue_374: while(0);
8607 }
8608 break_374: while(0);
8609 variable1 = ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/;
8610 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
8611 if (UNTAG_Bool(variable1)) { /*if*/
8612 variable1 = ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/;
8613 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8614 }
8615 tracehead = trace.prev;
8616 return;
8617 }
8618 void parser_prod___AParam___n_id__eq(val_t self, val_t param0) {
8619 struct trace_t trace = {NULL, NULL, 4372, LOCATE_parser_prod___AParam___n_id__eq};
8620 val_t variable0;
8621 val_t variable1;
8622 trace.prev = tracehead; tracehead = &trace;
8623 trace.file = LOCATE_parser_prod;
8624 variable0 = param0;
8625 ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/ = variable0 /*n*/;
8626 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8627 if (UNTAG_Bool(variable1)) { /*if*/
8628 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
8629 }
8630 tracehead = trace.prev;
8631 return;
8632 }
8633 void parser_prod___AParam___n_type__eq(val_t self, val_t param0) {
8634 struct trace_t trace = {NULL, NULL, 4379, LOCATE_parser_prod___AParam___n_type__eq};
8635 val_t variable0;
8636 val_t variable1;
8637 trace.prev = tracehead; tracehead = &trace;
8638 trace.file = LOCATE_parser_prod;
8639 variable0 = param0;
8640 ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_type*/ = variable0 /*n*/;
8641 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8642 if (UNTAG_Bool(variable1)) { /*if*/
8643 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
8644 }
8645 tracehead = trace.prev;
8646 return;
8647 }
8648 void parser_prod___AParam___n_dotdotdot__eq(val_t self, val_t param0) {
8649 struct trace_t trace = {NULL, NULL, 4386, LOCATE_parser_prod___AParam___n_dotdotdot__eq};
8650 val_t variable0;
8651 val_t variable1;
8652 trace.prev = tracehead; tracehead = &trace;
8653 trace.file = LOCATE_parser_prod;
8654 variable0 = param0;
8655 ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/ = variable0 /*n*/;
8656 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8657 if (UNTAG_Bool(variable1)) { /*if*/
8658 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
8659 }
8660 tracehead = trace.prev;
8661 return;
8662 }
8663 void parser_prod___AParam___empty_init(val_t self, int* init_table) {
8664 struct trace_t trace = {NULL, NULL, 4394, LOCATE_parser_prod___AParam___empty_init};
8665 trace.prev = tracehead; tracehead = &trace;
8666 trace.file = LOCATE_parser_prod;
8667 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParam].i]) return;
8668 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParam].i] = 1;
8669 tracehead = trace.prev;
8670 return;
8671 }
8672 void parser_prod___AParam___init_aparam(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
8673 struct trace_t trace = {NULL, NULL, 4396, LOCATE_parser_prod___AParam___init_aparam};
8674 val_t variable0;
8675 val_t variable1;
8676 val_t variable2;
8677 val_t variable3;
8678 trace.prev = tracehead; tracehead = &trace;
8679 trace.file = LOCATE_parser_prod;
8680 variable0 = param0;
8681 variable1 = param1;
8682 variable2 = param2;
8683 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParam].i]) return;
8684 ((parser_prod___AParam___empty_init_t)CALL( self,COLOR_parser_prod___AParam___empty_init))( self, init_table /*YYY*/) /*AParam::empty_init*/;
8685 ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/ = variable0 /*n_id*/;
8686 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_id*/ == NIT_NULL /*null*/) || (( variable0 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_id*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8687 if (UNTAG_Bool(variable3)) { /*if*/
8688 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/, self) /*PNode::parent=*/;
8689 }
8690 ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_type*/ = variable1 /*n_type*/;
8691 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_type*/ == NIT_NULL /*null*/) || (( variable1 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_type*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8692 if (UNTAG_Bool(variable3)) { /*if*/
8693 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_type*/, self) /*PNode::parent=*/;
8694 }
8695 ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/ = variable2 /*n_dotdotdot*/;
8696 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_dotdotdot*/ == NIT_NULL /*null*/) || (( variable2 /*n_dotdotdot*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_dotdotdot*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_dotdotdot*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_dotdotdot*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_dotdotdot*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8697 if (UNTAG_Bool(variable3)) { /*if*/
8698 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_dotdotdot*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_dotdotdot*/, self) /*PNode::parent=*/;
8699 }
8700 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParam].i] = 1;
8701 tracehead = trace.prev;
8702 return;
8703 }
8704 void parser_prod___AParam___replace_child(val_t self, val_t param0, val_t param1) {
8705 struct trace_t trace = {NULL, NULL, 4417, LOCATE_parser_prod___AParam___replace_child};
8706 val_t variable0;
8707 val_t variable1;
8708 val_t variable2;
8709 trace.prev = tracehead; tracehead = &trace;
8710 trace.file = LOCATE_parser_prod;
8711 variable0 = param0;
8712 variable1 = param1;
8713 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8714 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AParam___replace_child, LOCATE_parser_prod, 4419); nit_exit(1);}
8715 variable2 = ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/;
8716 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
8717 if (UNTAG_Bool(variable2)) { /*if*/
8718 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8719 if (UNTAG_Bool(variable2)) { /*if*/
8720 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
8721 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
8722 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AParam___replace_child, LOCATE_parser_prod, 4423); nit_exit(1);}
8723 ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/ = variable1 /*new_child*/;
8724 } else { /*if*/
8725 ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/ = NIT_NULL /*null*/;
8726 }
8727 goto return_label380;
8728 }
8729 variable2 = ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_type*/;
8730 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
8731 if (UNTAG_Bool(variable2)) { /*if*/
8732 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8733 if (UNTAG_Bool(variable2)) { /*if*/
8734 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
8735 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
8736 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AParam___replace_child, LOCATE_parser_prod, 4433); nit_exit(1);}
8737 ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_type*/ = variable1 /*new_child*/;
8738 } else { /*if*/
8739 ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_type*/ = NIT_NULL /*null*/;
8740 }
8741 goto return_label380;
8742 }
8743 variable2 = ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/;
8744 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
8745 if (UNTAG_Bool(variable2)) { /*if*/
8746 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8747 if (UNTAG_Bool(variable2)) { /*if*/
8748 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
8749 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TDotdotdot, ID_TDotdotdot)) /*cast TDotdotdot*/;
8750 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AParam___replace_child, LOCATE_parser_prod, 4443); nit_exit(1);}
8751 ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/ = variable1 /*new_child*/;
8752 } else { /*if*/
8753 ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/ = NIT_NULL /*null*/;
8754 }
8755 goto return_label380;
8756 }
8757 return_label380: while(false);
8758 tracehead = trace.prev;
8759 return;
8760 }
8761 void parser_prod___AParam___visit_all(val_t self, val_t param0) {
8762 struct trace_t trace = {NULL, NULL, 4452, LOCATE_parser_prod___AParam___visit_all};
8763 val_t variable0;
8764 val_t variable1;
8765 trace.prev = tracehead; tracehead = &trace;
8766 trace.file = LOCATE_parser_prod;
8767 variable0 = param0;
8768 variable1 = ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/;
8769 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
8770 if (UNTAG_Bool(variable1)) { /*if*/
8771 variable1 = ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/;
8772 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8773 }
8774 variable1 = ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_type*/;
8775 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
8776 if (UNTAG_Bool(variable1)) { /*if*/
8777 variable1 = ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_type*/;
8778 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8779 }
8780 variable1 = ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/;
8781 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
8782 if (UNTAG_Bool(variable1)) { /*if*/
8783 variable1 = ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/;
8784 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8785 }
8786 tracehead = trace.prev;
8787 return;
8788 }
8789 void parser_prod___AParam___visit_all_reverse(val_t self, val_t param0) {
8790 struct trace_t trace = {NULL, NULL, 4465, LOCATE_parser_prod___AParam___visit_all_reverse};
8791 val_t variable0;
8792 val_t variable1;
8793 trace.prev = tracehead; tracehead = &trace;
8794 trace.file = LOCATE_parser_prod;
8795 variable0 = param0;
8796 variable1 = ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/;
8797 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
8798 if (UNTAG_Bool(variable1)) { /*if*/
8799 variable1 = ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/;
8800 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8801 }
8802 variable1 = ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_type*/;
8803 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
8804 if (UNTAG_Bool(variable1)) { /*if*/
8805 variable1 = ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_type*/;
8806 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8807 }
8808 variable1 = ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/;
8809 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
8810 if (UNTAG_Bool(variable1)) { /*if*/
8811 variable1 = ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/;
8812 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8813 }
8814 tracehead = trace.prev;
8815 return;
8816 }
8817 void parser_prod___AType___n_id__eq(val_t self, val_t param0) {
8818 struct trace_t trace = {NULL, NULL, 4479, LOCATE_parser_prod___AType___n_id__eq};
8819 val_t variable0;
8820 val_t variable1;
8821 trace.prev = tracehead; tracehead = &trace;
8822 trace.file = LOCATE_parser_prod;
8823 variable0 = param0;
8824 ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/ = variable0 /*n*/;
8825 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8826 if (UNTAG_Bool(variable1)) { /*if*/
8827 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
8828 }
8829 tracehead = trace.prev;
8830 return;
8831 }
8832 void parser_prod___AType___empty_init(val_t self, int* init_table) {
8833 struct trace_t trace = {NULL, NULL, 4487, LOCATE_parser_prod___AType___empty_init};
8834 trace.prev = tracehead; tracehead = &trace;
8835 trace.file = LOCATE_parser_prod;
8836 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AType].i]) return;
8837 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AType].i] = 1;
8838 tracehead = trace.prev;
8839 return;
8840 }
8841 void parser_prod___AType___init_atype(val_t self, val_t param0, val_t param1, int* init_table) {
8842 struct trace_t trace = {NULL, NULL, 4489, LOCATE_parser_prod___AType___init_atype};
8843 val_t variable0;
8844 val_t variable1;
8845 val_t variable2;
8846 val_t variable3;
8847 val_t variable4;
8848 trace.prev = tracehead; tracehead = &trace;
8849 trace.file = LOCATE_parser_prod;
8850 variable0 = param0;
8851 variable1 = param1;
8852 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AType].i]) return;
8853 ((parser_prod___AType___empty_init_t)CALL( self,COLOR_parser_prod___AType___empty_init))( self, init_table /*YYY*/) /*AType::empty_init*/;
8854 ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/ = variable0 /*n_id*/;
8855 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_id*/ == NIT_NULL /*null*/) || (( variable0 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_id*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8856 if (UNTAG_Bool(variable2)) { /*if*/
8857 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/, self) /*PNode::parent=*/;
8858 }
8859 variable2 = NEW_List_list___List___init(); /*new List[PType]*/
8860 ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/ = variable2;
8861 variable2 = ((array___AbstractArray___iterator_t)CALL( variable1 /*n_types*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*n_types*/) /*AbstractArray::iterator*/;
8862 while (true) { /*for*/
8863 variable3 = ((array___ArrayIterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*ArrayIterator::is_ok*/;
8864 if (!UNTAG_Bool(variable3)) break; /*for*/
8865 variable3 = ((array___ArrayIterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*ArrayIterator::item*/;
8866 variable4 = TAG_Bool(( variable3 /*n*/==NIT_NULL) || VAL_ISA( variable3 /*n*/, COLOR_PType, ID_PType)) /*cast PType*/;
8867 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AType___init_atype, LOCATE_parser_prod, 4501); nit_exit(1);}
8868 variable4 = ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/;
8869 ((abstract_collection___IndexedCollection___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable3 /*n*/) /*IndexedCollection::add*/;
8870 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n*/, self) /*PNode::parent=*/;
8871 continue_386: while(0);
8872 ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
8873 }
8874 break_386: while(0);
8875 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AType].i] = 1;
8876 tracehead = trace.prev;
8877 return;
8878 }
8879 void parser_prod___AType___replace_child(val_t self, val_t param0, val_t param1) {
8880 struct trace_t trace = {NULL, NULL, 4507, LOCATE_parser_prod___AType___replace_child};
8881 val_t variable0;
8882 val_t variable1;
8883 val_t variable2;
8884 val_t variable3;
8885 val_t variable4;
8886 trace.prev = tracehead; tracehead = &trace;
8887 trace.file = LOCATE_parser_prod;
8888 variable0 = param0;
8889 variable1 = param1;
8890 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8891 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AType___replace_child, LOCATE_parser_prod, 4509); nit_exit(1);}
8892 variable2 = ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/;
8893 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
8894 if (UNTAG_Bool(variable2)) { /*if*/
8895 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8896 if (UNTAG_Bool(variable2)) { /*if*/
8897 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
8898 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
8899 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AType___replace_child, LOCATE_parser_prod, 4513); nit_exit(1);}
8900 ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/ = variable1 /*new_child*/;
8901 } else { /*if*/
8902 ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/ = NIT_NULL /*null*/;
8903 }
8904 goto return_label387;
8905 }
8906 variable2 = ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/;
8907 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
8908 variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
8909 variable2 = variable3;
8910 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
8911 while (true) { /*for*/
8912 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
8913 if (!UNTAG_Bool(variable3)) break; /*for*/
8914 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
8915 variable4 = ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/;
8916 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
8917 variable4 = TAG_Bool((variable4 == variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable0 /*old_child*/) /*Object::==*/)))));
8918 if (UNTAG_Bool(variable4)) { /*if*/
8919 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8920 if (UNTAG_Bool(variable4)) { /*if*/
8921 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
8922 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AType___replace_child, LOCATE_parser_prod, 4523); nit_exit(1);}
8923 variable4 = ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/;
8924 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
8925 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
8926 } else { /*if*/
8927 variable4 = ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/;
8928 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
8929 }
8930 goto return_label387;
8931 }
8932 continue_388: while(0);
8933 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
8934 }
8935 break_388: while(0);
8936 return_label387: while(false);
8937 tracehead = trace.prev;
8938 return;
8939 }
8940 void parser_prod___AType___visit_all(val_t self, val_t param0) {
8941 struct trace_t trace = {NULL, NULL, 4534, LOCATE_parser_prod___AType___visit_all};
8942 val_t variable0;
8943 val_t variable1;
8944 val_t variable2;
8945 trace.prev = tracehead; tracehead = &trace;
8946 trace.file = LOCATE_parser_prod;
8947 variable0 = param0;
8948 variable1 = ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/;
8949 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
8950 if (UNTAG_Bool(variable1)) { /*if*/
8951 variable1 = ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/;
8952 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8953 }
8954 variable1 = ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/;
8955 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
8956 while (true) { /*for*/
8957 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
8958 if (!UNTAG_Bool(variable2)) break; /*for*/
8959 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
8960 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
8961 continue_390: while(0);
8962 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
8963 }
8964 break_390: while(0);
8965 tracehead = trace.prev;
8966 return;
8967 }
8968 void parser_prod___AType___visit_all_reverse(val_t self, val_t param0) {
8969 struct trace_t trace = {NULL, NULL, 4544, LOCATE_parser_prod___AType___visit_all_reverse};
8970 val_t variable0;
8971 val_t variable1;
8972 val_t variable2;
8973 trace.prev = tracehead; tracehead = &trace;
8974 trace.file = LOCATE_parser_prod;
8975 variable0 = param0;
8976 variable1 = ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/;
8977 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
8978 if (UNTAG_Bool(variable1)) { /*if*/
8979 variable1 = ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/;
8980 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8981 }
8982 variable2 = ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/;
8983 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
8984 variable1 = variable2;
8985 while (true) { /*while*/
8986 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
8987 if (!UNTAG_Bool(variable2)) break; /* while*/
8988 variable2 = ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/;
8989 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
8990 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
8991 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
8992 variable1 = variable2 /*i=*/;
8993 continue_392: while(0);
8994 }
8995 break_392: while(0);
8996 tracehead = trace.prev;
8997 return;
8998 }
8999 void parser_prod___ABlockExpr___empty_init(val_t self, int* init_table) {
9000 struct trace_t trace = {NULL, NULL, 4560, LOCATE_parser_prod___ABlockExpr___empty_init};
9001 trace.prev = tracehead; tracehead = &trace;
9002 trace.file = LOCATE_parser_prod;
9003 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABlockExpr].i]) return;
9004 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABlockExpr].i] = 1;
9005 tracehead = trace.prev;
9006 return;
9007 }
9008 void parser_prod___ABlockExpr___init_ablockexpr(val_t self, val_t param0, int* init_table) {
9009 struct trace_t trace = {NULL, NULL, 4562, LOCATE_parser_prod___ABlockExpr___init_ablockexpr};
9010 val_t variable0;
9011 val_t variable1;
9012 val_t variable2;
9013 val_t variable3;
9014 trace.prev = tracehead; tracehead = &trace;
9015 trace.file = LOCATE_parser_prod;
9016 variable0 = param0;
9017 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABlockExpr].i]) return;
9018 ((parser_prod___ABlockExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABlockExpr___empty_init))( self, init_table /*YYY*/) /*ABlockExpr::empty_init*/;
9019 variable1 = NEW_List_list___List___init(); /*new List[PExpr]*/
9020 ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/ = variable1;
9021 variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_expr*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_expr*/) /*AbstractArray::iterator*/;
9022 while (true) { /*for*/
9023 variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
9024 if (!UNTAG_Bool(variable2)) break; /*for*/
9025 variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
9026 variable3 = TAG_Bool(( variable2 /*n*/==NIT_NULL) || VAL_ISA( variable2 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
9027 if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABlockExpr___init_ablockexpr, LOCATE_parser_prod, 4569); nit_exit(1);}
9028 variable3 = ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/;
9029 ((abstract_collection___IndexedCollection___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable2 /*n*/) /*IndexedCollection::add*/;
9030 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n*/, self) /*PNode::parent=*/;
9031 continue_395: while(0);
9032 ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
9033 }
9034 break_395: while(0);
9035 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABlockExpr].i] = 1;
9036 tracehead = trace.prev;
9037 return;
9038 }
9039 void parser_prod___ABlockExpr___replace_child(val_t self, val_t param0, val_t param1) {
9040 struct trace_t trace = {NULL, NULL, 4575, LOCATE_parser_prod___ABlockExpr___replace_child};
9041 val_t variable0;
9042 val_t variable1;
9043 val_t variable2;
9044 val_t variable3;
9045 val_t variable4;
9046 trace.prev = tracehead; tracehead = &trace;
9047 trace.file = LOCATE_parser_prod;
9048 variable0 = param0;
9049 variable1 = param1;
9050 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9051 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABlockExpr___replace_child, LOCATE_parser_prod, 4577); nit_exit(1);}
9052 variable2 = ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/;
9053 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
9054 variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
9055 variable2 = variable3;
9056 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
9057 while (true) { /*for*/
9058 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
9059 if (!UNTAG_Bool(variable3)) break; /*for*/
9060 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
9061 variable4 = ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/;
9062 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
9063 variable4 = TAG_Bool((variable4 == variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable0 /*old_child*/) /*Object::==*/)))));
9064 if (UNTAG_Bool(variable4)) { /*if*/
9065 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9066 if (UNTAG_Bool(variable4)) { /*if*/
9067 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
9068 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABlockExpr___replace_child, LOCATE_parser_prod, 4581); nit_exit(1);}
9069 variable4 = ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/;
9070 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
9071 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9072 } else { /*if*/
9073 variable4 = ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/;
9074 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
9075 }
9076 goto return_label396;
9077 }
9078 continue_397: while(0);
9079 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
9080 }
9081 break_397: while(0);
9082 return_label396: while(false);
9083 tracehead = trace.prev;
9084 return;
9085 }
9086 void parser_prod___ABlockExpr___visit_all(val_t self, val_t param0) {
9087 struct trace_t trace = {NULL, NULL, 4592, LOCATE_parser_prod___ABlockExpr___visit_all};
9088 val_t variable0;
9089 val_t variable1;
9090 val_t variable2;
9091 trace.prev = tracehead; tracehead = &trace;
9092 trace.file = LOCATE_parser_prod;
9093 variable0 = param0;
9094 variable1 = ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/;
9095 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
9096 while (true) { /*for*/
9097 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
9098 if (!UNTAG_Bool(variable2)) break; /*for*/
9099 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
9100 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
9101 continue_399: while(0);
9102 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
9103 }
9104 break_399: while(0);
9105 tracehead = trace.prev;
9106 return;
9107 }
9108 void parser_prod___ABlockExpr___visit_all_reverse(val_t self, val_t param0) {
9109 struct trace_t trace = {NULL, NULL, 4599, LOCATE_parser_prod___ABlockExpr___visit_all_reverse};
9110 val_t variable0;
9111 val_t variable1;
9112 val_t variable2;
9113 trace.prev = tracehead; tracehead = &trace;
9114 trace.file = LOCATE_parser_prod;
9115 variable0 = param0;
9116 variable2 = ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/;
9117 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
9118 variable1 = variable2;
9119 while (true) { /*while*/
9120 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
9121 if (!UNTAG_Bool(variable2)) break; /* while*/
9122 variable2 = ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/;
9123 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
9124 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
9125 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
9126 variable1 = variable2 /*i=*/;
9127 continue_401: while(0);
9128 }
9129 break_401: while(0);
9130 tracehead = trace.prev;
9131 return;
9132 }
9133 void parser_prod___AVardeclExpr___n_kwvar__eq(val_t self, val_t param0) {
9134 struct trace_t trace = {NULL, NULL, 4611, LOCATE_parser_prod___AVardeclExpr___n_kwvar__eq};
9135 val_t variable0;
9136 val_t variable1;
9137 trace.prev = tracehead; tracehead = &trace;
9138 trace.file = LOCATE_parser_prod;
9139 variable0 = param0;
9140 ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/ = variable0 /*n*/;
9141 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9142 if (UNTAG_Bool(variable1)) { /*if*/
9143 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
9144 }
9145 tracehead = trace.prev;
9146 return;
9147 }
9148 void parser_prod___AVardeclExpr___n_id__eq(val_t self, val_t param0) {
9149 struct trace_t trace = {NULL, NULL, 4618, LOCATE_parser_prod___AVardeclExpr___n_id__eq};
9150 val_t variable0;
9151 val_t variable1;
9152 trace.prev = tracehead; tracehead = &trace;
9153 trace.file = LOCATE_parser_prod;
9154 variable0 = param0;
9155 ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/ = variable0 /*n*/;
9156 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9157 if (UNTAG_Bool(variable1)) { /*if*/
9158 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
9159 }
9160 tracehead = trace.prev;
9161 return;
9162 }
9163 void parser_prod___AVardeclExpr___n_type__eq(val_t self, val_t param0) {
9164 struct trace_t trace = {NULL, NULL, 4625, LOCATE_parser_prod___AVardeclExpr___n_type__eq};
9165 val_t variable0;
9166 val_t variable1;
9167 trace.prev = tracehead; tracehead = &trace;
9168 trace.file = LOCATE_parser_prod;
9169 variable0 = param0;
9170 ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/ = variable0 /*n*/;
9171 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9172 if (UNTAG_Bool(variable1)) { /*if*/
9173 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
9174 }
9175 tracehead = trace.prev;
9176 return;
9177 }
9178 void parser_prod___AVardeclExpr___n_assign__eq(val_t self, val_t param0) {
9179 struct trace_t trace = {NULL, NULL, 4632, LOCATE_parser_prod___AVardeclExpr___n_assign__eq};
9180 val_t variable0;
9181 val_t variable1;
9182 trace.prev = tracehead; tracehead = &trace;
9183 trace.file = LOCATE_parser_prod;
9184 variable0 = param0;
9185 ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/ = variable0 /*n*/;
9186 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9187 if (UNTAG_Bool(variable1)) { /*if*/
9188 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
9189 }
9190 tracehead = trace.prev;
9191 return;
9192 }
9193 void parser_prod___AVardeclExpr___n_expr__eq(val_t self, val_t param0) {
9194 struct trace_t trace = {NULL, NULL, 4639, LOCATE_parser_prod___AVardeclExpr___n_expr__eq};
9195 val_t variable0;
9196 val_t variable1;
9197 trace.prev = tracehead; tracehead = &trace;
9198 trace.file = LOCATE_parser_prod;
9199 variable0 = param0;
9200 ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/ = variable0 /*n*/;
9201 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9202 if (UNTAG_Bool(variable1)) { /*if*/
9203 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
9204 }
9205 tracehead = trace.prev;
9206 return;
9207 }
9208 void parser_prod___AVardeclExpr___empty_init(val_t self, int* init_table) {
9209 struct trace_t trace = {NULL, NULL, 4647, LOCATE_parser_prod___AVardeclExpr___empty_init};
9210 trace.prev = tracehead; tracehead = &trace;
9211 trace.file = LOCATE_parser_prod;
9212 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVardeclExpr].i]) return;
9213 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVardeclExpr].i] = 1;
9214 tracehead = trace.prev;
9215 return;
9216 }
9217 void parser_prod___AVardeclExpr___init_avardeclexpr(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, val_t param4, int* init_table) {
9218 struct trace_t trace = {NULL, NULL, 4649, LOCATE_parser_prod___AVardeclExpr___init_avardeclexpr};
9219 val_t variable0;
9220 val_t variable1;
9221 val_t variable2;
9222 val_t variable3;
9223 val_t variable4;
9224 val_t variable5;
9225 trace.prev = tracehead; tracehead = &trace;
9226 trace.file = LOCATE_parser_prod;
9227 variable0 = param0;
9228 variable1 = param1;
9229 variable2 = param2;
9230 variable3 = param3;
9231 variable4 = param4;
9232 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVardeclExpr].i]) return;
9233 ((parser_prod___AVardeclExpr___empty_init_t)CALL( self,COLOR_parser_prod___AVardeclExpr___empty_init))( self, init_table /*YYY*/) /*AVardeclExpr::empty_init*/;
9234 ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/ = variable0 /*n_kwvar*/;
9235 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwvar*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwvar*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwvar*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwvar*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwvar*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwvar*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9236 if (UNTAG_Bool(variable5)) { /*if*/
9237 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwvar*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwvar*/, self) /*PNode::parent=*/;
9238 }
9239 ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/ = variable1 /*n_id*/;
9240 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ == NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9241 if (UNTAG_Bool(variable5)) { /*if*/
9242 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/, self) /*PNode::parent=*/;
9243 }
9244 ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/ = variable2 /*n_type*/;
9245 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_type*/ == NIT_NULL /*null*/) || (( variable2 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_type*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9246 if (UNTAG_Bool(variable5)) { /*if*/
9247 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_type*/, self) /*PNode::parent=*/;
9248 }
9249 ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/ = variable3 /*n_assign*/;
9250 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_assign*/ == NIT_NULL /*null*/) || (( variable3 /*n_assign*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_assign*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_assign*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_assign*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_assign*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9251 if (UNTAG_Bool(variable5)) { /*if*/
9252 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_assign*/, self) /*PNode::parent=*/;
9253 }
9254 ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/ = variable4 /*n_expr*/;
9255 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_expr*/ == NIT_NULL /*null*/) || (( variable4 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9256 if (UNTAG_Bool(variable5)) { /*if*/
9257 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_expr*/, self) /*PNode::parent=*/;
9258 }
9259 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVardeclExpr].i] = 1;
9260 tracehead = trace.prev;
9261 return;
9262 }
9263 void parser_prod___AVardeclExpr___replace_child(val_t self, val_t param0, val_t param1) {
9264 struct trace_t trace = {NULL, NULL, 4680, LOCATE_parser_prod___AVardeclExpr___replace_child};
9265 val_t variable0;
9266 val_t variable1;
9267 val_t variable2;
9268 trace.prev = tracehead; tracehead = &trace;
9269 trace.file = LOCATE_parser_prod;
9270 variable0 = param0;
9271 variable1 = param1;
9272 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9273 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVardeclExpr___replace_child, LOCATE_parser_prod, 4682); nit_exit(1);}
9274 variable2 = ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/;
9275 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
9276 if (UNTAG_Bool(variable2)) { /*if*/
9277 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9278 if (UNTAG_Bool(variable2)) { /*if*/
9279 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9280 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
9281 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVardeclExpr___replace_child, LOCATE_parser_prod, 4686); nit_exit(1);}
9282 ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/ = variable1 /*new_child*/;
9283 } else { /*if*/
9284 ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/ = NIT_NULL /*null*/;
9285 }
9286 goto return_label409;
9287 }
9288 variable2 = ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/;
9289 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
9290 if (UNTAG_Bool(variable2)) { /*if*/
9291 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9292 if (UNTAG_Bool(variable2)) { /*if*/
9293 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9294 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
9295 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVardeclExpr___replace_child, LOCATE_parser_prod, 4696); nit_exit(1);}
9296 ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/ = variable1 /*new_child*/;
9297 } else { /*if*/
9298 ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/ = NIT_NULL /*null*/;
9299 }
9300 goto return_label409;
9301 }
9302 variable2 = ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/;
9303 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
9304 if (UNTAG_Bool(variable2)) { /*if*/
9305 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9306 if (UNTAG_Bool(variable2)) { /*if*/
9307 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9308 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
9309 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVardeclExpr___replace_child, LOCATE_parser_prod, 4706); nit_exit(1);}
9310 ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/ = variable1 /*new_child*/;
9311 } else { /*if*/
9312 ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/ = NIT_NULL /*null*/;
9313 }
9314 goto return_label409;
9315 }
9316 variable2 = ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/;
9317 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
9318 if (UNTAG_Bool(variable2)) { /*if*/
9319 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9320 if (UNTAG_Bool(variable2)) { /*if*/
9321 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9322 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
9323 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVardeclExpr___replace_child, LOCATE_parser_prod, 4716); nit_exit(1);}
9324 ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/ = variable1 /*new_child*/;
9325 } else { /*if*/
9326 ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/ = NIT_NULL /*null*/;
9327 }
9328 goto return_label409;
9329 }
9330 variable2 = ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/;
9331 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
9332 if (UNTAG_Bool(variable2)) { /*if*/
9333 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9334 if (UNTAG_Bool(variable2)) { /*if*/
9335 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9336 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
9337 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVardeclExpr___replace_child, LOCATE_parser_prod, 4726); nit_exit(1);}
9338 ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/ = variable1 /*new_child*/;
9339 } else { /*if*/
9340 ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/ = NIT_NULL /*null*/;
9341 }
9342 goto return_label409;
9343 }
9344 return_label409: while(false);
9345 tracehead = trace.prev;
9346 return;
9347 }
9348 void parser_prod___AVardeclExpr___visit_all(val_t self, val_t param0) {
9349 struct trace_t trace = {NULL, NULL, 4735, LOCATE_parser_prod___AVardeclExpr___visit_all};
9350 val_t variable0;
9351 val_t variable1;
9352 trace.prev = tracehead; tracehead = &trace;
9353 trace.file = LOCATE_parser_prod;
9354 variable0 = param0;
9355 variable1 = ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/;
9356 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
9357 if (UNTAG_Bool(variable1)) { /*if*/
9358 variable1 = ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/;
9359 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9360 }
9361 variable1 = ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/;
9362 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
9363 if (UNTAG_Bool(variable1)) { /*if*/
9364 variable1 = ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/;
9365 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9366 }
9367 variable1 = ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/;
9368 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
9369 if (UNTAG_Bool(variable1)) { /*if*/
9370 variable1 = ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/;
9371 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9372 }
9373 variable1 = ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/;
9374 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
9375 if (UNTAG_Bool(variable1)) { /*if*/
9376 variable1 = ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/;
9377 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9378 }
9379 variable1 = ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/;
9380 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
9381 if (UNTAG_Bool(variable1)) { /*if*/
9382 variable1 = ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/;
9383 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9384 }
9385 tracehead = trace.prev;
9386 return;
9387 }
9388 void parser_prod___AVardeclExpr___visit_all_reverse(val_t self, val_t param0) {
9389 struct trace_t trace = {NULL, NULL, 4754, LOCATE_parser_prod___AVardeclExpr___visit_all_reverse};
9390 val_t variable0;
9391 val_t variable1;
9392 trace.prev = tracehead; tracehead = &trace;
9393 trace.file = LOCATE_parser_prod;
9394 variable0 = param0;
9395 variable1 = ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/;
9396 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
9397 if (UNTAG_Bool(variable1)) { /*if*/
9398 variable1 = ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/;
9399 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9400 }
9401 variable1 = ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/;
9402 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
9403 if (UNTAG_Bool(variable1)) { /*if*/
9404 variable1 = ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/;
9405 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9406 }
9407 variable1 = ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/;
9408 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
9409 if (UNTAG_Bool(variable1)) { /*if*/
9410 variable1 = ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/;
9411 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9412 }
9413 variable1 = ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/;
9414 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
9415 if (UNTAG_Bool(variable1)) { /*if*/
9416 variable1 = ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/;
9417 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9418 }
9419 variable1 = ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/;
9420 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
9421 if (UNTAG_Bool(variable1)) { /*if*/
9422 variable1 = ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/;
9423 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9424 }
9425 tracehead = trace.prev;
9426 return;
9427 }
9428 void parser_prod___AReturnExpr___n_kwreturn__eq(val_t self, val_t param0) {
9429 struct trace_t trace = {NULL, NULL, 4774, LOCATE_parser_prod___AReturnExpr___n_kwreturn__eq};
9430 val_t variable0;
9431 val_t variable1;
9432 trace.prev = tracehead; tracehead = &trace;
9433 trace.file = LOCATE_parser_prod;
9434 variable0 = param0;
9435 ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/ = variable0 /*n*/;
9436 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9437 if (UNTAG_Bool(variable1)) { /*if*/
9438 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
9439 }
9440 tracehead = trace.prev;
9441 return;
9442 }
9443 void parser_prod___AReturnExpr___n_expr__eq(val_t self, val_t param0) {
9444 struct trace_t trace = {NULL, NULL, 4781, LOCATE_parser_prod___AReturnExpr___n_expr__eq};
9445 val_t variable0;
9446 val_t variable1;
9447 trace.prev = tracehead; tracehead = &trace;
9448 trace.file = LOCATE_parser_prod;
9449 variable0 = param0;
9450 ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/ = variable0 /*n*/;
9451 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9452 if (UNTAG_Bool(variable1)) { /*if*/
9453 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
9454 }
9455 tracehead = trace.prev;
9456 return;
9457 }
9458 void parser_prod___AReturnExpr___empty_init(val_t self, int* init_table) {
9459 struct trace_t trace = {NULL, NULL, 4789, LOCATE_parser_prod___AReturnExpr___empty_init};
9460 trace.prev = tracehead; tracehead = &trace;
9461 trace.file = LOCATE_parser_prod;
9462 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReturnExpr].i]) return;
9463 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReturnExpr].i] = 1;
9464 tracehead = trace.prev;
9465 return;
9466 }
9467 void parser_prod___AReturnExpr___init_areturnexpr(val_t self, val_t param0, val_t param1, int* init_table) {
9468 struct trace_t trace = {NULL, NULL, 4791, LOCATE_parser_prod___AReturnExpr___init_areturnexpr};
9469 val_t variable0;
9470 val_t variable1;
9471 val_t variable2;
9472 trace.prev = tracehead; tracehead = &trace;
9473 trace.file = LOCATE_parser_prod;
9474 variable0 = param0;
9475 variable1 = param1;
9476 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReturnExpr].i]) return;
9477 ((parser_prod___AReturnExpr___empty_init_t)CALL( self,COLOR_parser_prod___AReturnExpr___empty_init))( self, init_table /*YYY*/) /*AReturnExpr::empty_init*/;
9478 ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/ = variable0 /*n_kwreturn*/;
9479 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwreturn*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwreturn*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwreturn*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwreturn*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwreturn*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwreturn*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9480 if (UNTAG_Bool(variable2)) { /*if*/
9481 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwreturn*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwreturn*/, self) /*PNode::parent=*/;
9482 }
9483 ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/ = variable1 /*n_expr*/;
9484 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9485 if (UNTAG_Bool(variable2)) { /*if*/
9486 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/, self) /*PNode::parent=*/;
9487 }
9488 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReturnExpr].i] = 1;
9489 tracehead = trace.prev;
9490 return;
9491 }
9492 void parser_prod___AReturnExpr___replace_child(val_t self, val_t param0, val_t param1) {
9493 struct trace_t trace = {NULL, NULL, 4807, LOCATE_parser_prod___AReturnExpr___replace_child};
9494 val_t variable0;
9495 val_t variable1;
9496 val_t variable2;
9497 trace.prev = tracehead; tracehead = &trace;
9498 trace.file = LOCATE_parser_prod;
9499 variable0 = param0;
9500 variable1 = param1;
9501 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9502 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AReturnExpr___replace_child, LOCATE_parser_prod, 4809); nit_exit(1);}
9503 variable2 = ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/;
9504 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
9505 if (UNTAG_Bool(variable2)) { /*if*/
9506 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9507 if (UNTAG_Bool(variable2)) { /*if*/
9508 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9509 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
9510 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AReturnExpr___replace_child, LOCATE_parser_prod, 4813); nit_exit(1);}
9511 ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/ = variable1 /*new_child*/;
9512 } else { /*if*/
9513 ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/ = NIT_NULL /*null*/;
9514 }
9515 goto return_label416;
9516 }
9517 variable2 = ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/;
9518 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
9519 if (UNTAG_Bool(variable2)) { /*if*/
9520 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9521 if (UNTAG_Bool(variable2)) { /*if*/
9522 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9523 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
9524 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AReturnExpr___replace_child, LOCATE_parser_prod, 4823); nit_exit(1);}
9525 ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/ = variable1 /*new_child*/;
9526 } else { /*if*/
9527 ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/ = NIT_NULL /*null*/;
9528 }
9529 goto return_label416;
9530 }
9531 return_label416: while(false);
9532 tracehead = trace.prev;
9533 return;
9534 }
9535 void parser_prod___AReturnExpr___visit_all(val_t self, val_t param0) {
9536 struct trace_t trace = {NULL, NULL, 4832, LOCATE_parser_prod___AReturnExpr___visit_all};
9537 val_t variable0;
9538 val_t variable1;
9539 trace.prev = tracehead; tracehead = &trace;
9540 trace.file = LOCATE_parser_prod;
9541 variable0 = param0;
9542 variable1 = ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/;
9543 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
9544 if (UNTAG_Bool(variable1)) { /*if*/
9545 variable1 = ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/;
9546 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9547 }
9548 variable1 = ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/;
9549 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
9550 if (UNTAG_Bool(variable1)) { /*if*/
9551 variable1 = ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/;
9552 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9553 }
9554 tracehead = trace.prev;
9555 return;
9556 }
9557 void parser_prod___AReturnExpr___visit_all_reverse(val_t self, val_t param0) {
9558 struct trace_t trace = {NULL, NULL, 4842, LOCATE_parser_prod___AReturnExpr___visit_all_reverse};
9559 val_t variable0;
9560 val_t variable1;
9561 trace.prev = tracehead; tracehead = &trace;
9562 trace.file = LOCATE_parser_prod;
9563 variable0 = param0;
9564 variable1 = ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/;
9565 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
9566 if (UNTAG_Bool(variable1)) { /*if*/
9567 variable1 = ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/;
9568 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9569 }
9570 variable1 = ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/;
9571 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
9572 if (UNTAG_Bool(variable1)) { /*if*/
9573 variable1 = ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/;
9574 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9575 }
9576 tracehead = trace.prev;
9577 return;
9578 }
9579 void parser_prod___ABreakExpr___n_kwbreak__eq(val_t self, val_t param0) {
9580 struct trace_t trace = {NULL, NULL, 4853, LOCATE_parser_prod___ABreakExpr___n_kwbreak__eq};
9581 val_t variable0;
9582 val_t variable1;
9583 trace.prev = tracehead; tracehead = &trace;
9584 trace.file = LOCATE_parser_prod;
9585 variable0 = param0;
9586 ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/ = variable0 /*n*/;
9587 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9588 if (UNTAG_Bool(variable1)) { /*if*/
9589 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
9590 }
9591 tracehead = trace.prev;
9592 return;
9593 }
9594 void parser_prod___ABreakExpr___empty_init(val_t self, int* init_table) {
9595 struct trace_t trace = {NULL, NULL, 4861, LOCATE_parser_prod___ABreakExpr___empty_init};
9596 trace.prev = tracehead; tracehead = &trace;
9597 trace.file = LOCATE_parser_prod;
9598 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABreakExpr].i]) return;
9599 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABreakExpr].i] = 1;
9600 tracehead = trace.prev;
9601 return;
9602 }
9603 void parser_prod___ABreakExpr___init_abreakexpr(val_t self, val_t param0, int* init_table) {
9604 struct trace_t trace = {NULL, NULL, 4863, LOCATE_parser_prod___ABreakExpr___init_abreakexpr};
9605 val_t variable0;
9606 val_t variable1;
9607 trace.prev = tracehead; tracehead = &trace;
9608 trace.file = LOCATE_parser_prod;
9609 variable0 = param0;
9610 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABreakExpr].i]) return;
9611 ((parser_prod___ABreakExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABreakExpr___empty_init))( self, init_table /*YYY*/) /*ABreakExpr::empty_init*/;
9612 ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/ = variable0 /*n_kwbreak*/;
9613 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwbreak*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwbreak*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwbreak*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwbreak*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwbreak*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwbreak*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9614 if (UNTAG_Bool(variable1)) { /*if*/
9615 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwbreak*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwbreak*/, self) /*PNode::parent=*/;
9616 }
9617 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABreakExpr].i] = 1;
9618 tracehead = trace.prev;
9619 return;
9620 }
9621 void parser_prod___ABreakExpr___replace_child(val_t self, val_t param0, val_t param1) {
9622 struct trace_t trace = {NULL, NULL, 4874, LOCATE_parser_prod___ABreakExpr___replace_child};
9623 val_t variable0;
9624 val_t variable1;
9625 val_t variable2;
9626 trace.prev = tracehead; tracehead = &trace;
9627 trace.file = LOCATE_parser_prod;
9628 variable0 = param0;
9629 variable1 = param1;
9630 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9631 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABreakExpr___replace_child, LOCATE_parser_prod, 4876); nit_exit(1);}
9632 variable2 = ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/;
9633 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
9634 if (UNTAG_Bool(variable2)) { /*if*/
9635 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9636 if (UNTAG_Bool(variable2)) { /*if*/
9637 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9638 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
9639 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABreakExpr___replace_child, LOCATE_parser_prod, 4880); nit_exit(1);}
9640 ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/ = variable1 /*new_child*/;
9641 } else { /*if*/
9642 ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/ = NIT_NULL /*null*/;
9643 }
9644 goto return_label422;
9645 }
9646 return_label422: while(false);
9647 tracehead = trace.prev;
9648 return;
9649 }
9650 void parser_prod___ABreakExpr___visit_all(val_t self, val_t param0) {
9651 struct trace_t trace = {NULL, NULL, 4889, LOCATE_parser_prod___ABreakExpr___visit_all};
9652 val_t variable0;
9653 val_t variable1;
9654 trace.prev = tracehead; tracehead = &trace;
9655 trace.file = LOCATE_parser_prod;
9656 variable0 = param0;
9657 variable1 = ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/;
9658 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
9659 if (UNTAG_Bool(variable1)) { /*if*/
9660 variable1 = ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/;
9661 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9662 }
9663 tracehead = trace.prev;
9664 return;
9665 }
9666 void parser_prod___ABreakExpr___visit_all_reverse(val_t self, val_t param0) {
9667 struct trace_t trace = {NULL, NULL, 4896, LOCATE_parser_prod___ABreakExpr___visit_all_reverse};
9668 val_t variable0;
9669 val_t variable1;
9670 trace.prev = tracehead; tracehead = &trace;
9671 trace.file = LOCATE_parser_prod;
9672 variable0 = param0;
9673 variable1 = ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/;
9674 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
9675 if (UNTAG_Bool(variable1)) { /*if*/
9676 variable1 = ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/;
9677 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9678 }
9679 tracehead = trace.prev;
9680 return;
9681 }
9682 void parser_prod___AAbortExpr___n_kwabort__eq(val_t self, val_t param0) {
9683 struct trace_t trace = {NULL, NULL, 4904, LOCATE_parser_prod___AAbortExpr___n_kwabort__eq};
9684 val_t variable0;
9685 val_t variable1;
9686 trace.prev = tracehead; tracehead = &trace;
9687 trace.file = LOCATE_parser_prod;
9688 variable0 = param0;
9689 ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/ = variable0 /*n*/;
9690 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9691 if (UNTAG_Bool(variable1)) { /*if*/
9692 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
9693 }
9694 tracehead = trace.prev;
9695 return;
9696 }
9697 void parser_prod___AAbortExpr___empty_init(val_t self, int* init_table) {
9698 struct trace_t trace = {NULL, NULL, 4912, LOCATE_parser_prod___AAbortExpr___empty_init};
9699 trace.prev = tracehead; tracehead = &trace;
9700 trace.file = LOCATE_parser_prod;
9701 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbortExpr].i]) return;
9702 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbortExpr].i] = 1;
9703 tracehead = trace.prev;
9704 return;
9705 }
9706 void parser_prod___AAbortExpr___init_aabortexpr(val_t self, val_t param0, int* init_table) {
9707 struct trace_t trace = {NULL, NULL, 4914, LOCATE_parser_prod___AAbortExpr___init_aabortexpr};
9708 val_t variable0;
9709 val_t variable1;
9710 trace.prev = tracehead; tracehead = &trace;
9711 trace.file = LOCATE_parser_prod;
9712 variable0 = param0;
9713 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbortExpr].i]) return;
9714 ((parser_prod___AAbortExpr___empty_init_t)CALL( self,COLOR_parser_prod___AAbortExpr___empty_init))( self, init_table /*YYY*/) /*AAbortExpr::empty_init*/;
9715 ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/ = variable0 /*n_kwabort*/;
9716 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwabort*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwabort*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwabort*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwabort*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwabort*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwabort*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9717 if (UNTAG_Bool(variable1)) { /*if*/
9718 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwabort*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwabort*/, self) /*PNode::parent=*/;
9719 }
9720 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbortExpr].i] = 1;
9721 tracehead = trace.prev;
9722 return;
9723 }
9724 void parser_prod___AAbortExpr___replace_child(val_t self, val_t param0, val_t param1) {
9725 struct trace_t trace = {NULL, NULL, 4925, LOCATE_parser_prod___AAbortExpr___replace_child};
9726 val_t variable0;
9727 val_t variable1;
9728 val_t variable2;
9729 trace.prev = tracehead; tracehead = &trace;
9730 trace.file = LOCATE_parser_prod;
9731 variable0 = param0;
9732 variable1 = param1;
9733 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9734 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAbortExpr___replace_child, LOCATE_parser_prod, 4927); nit_exit(1);}
9735 variable2 = ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/;
9736 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
9737 if (UNTAG_Bool(variable2)) { /*if*/
9738 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9739 if (UNTAG_Bool(variable2)) { /*if*/
9740 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9741 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwabort, ID_TKwabort)) /*cast TKwabort*/;
9742 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAbortExpr___replace_child, LOCATE_parser_prod, 4931); nit_exit(1);}
9743 ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/ = variable1 /*new_child*/;
9744 } else { /*if*/
9745 ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/ = NIT_NULL /*null*/;
9746 }
9747 goto return_label428;
9748 }
9749 return_label428: while(false);
9750 tracehead = trace.prev;
9751 return;
9752 }
9753 void parser_prod___AAbortExpr___visit_all(val_t self, val_t param0) {
9754 struct trace_t trace = {NULL, NULL, 4940, LOCATE_parser_prod___AAbortExpr___visit_all};
9755 val_t variable0;
9756 val_t variable1;
9757 trace.prev = tracehead; tracehead = &trace;
9758 trace.file = LOCATE_parser_prod;
9759 variable0 = param0;
9760 variable1 = ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/;
9761 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
9762 if (UNTAG_Bool(variable1)) { /*if*/
9763 variable1 = ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/;
9764 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9765 }
9766 tracehead = trace.prev;
9767 return;
9768 }
9769 void parser_prod___AAbortExpr___visit_all_reverse(val_t self, val_t param0) {
9770 struct trace_t trace = {NULL, NULL, 4947, LOCATE_parser_prod___AAbortExpr___visit_all_reverse};
9771 val_t variable0;
9772 val_t variable1;
9773 trace.prev = tracehead; tracehead = &trace;
9774 trace.file = LOCATE_parser_prod;
9775 variable0 = param0;
9776 variable1 = ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/;
9777 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
9778 if (UNTAG_Bool(variable1)) { /*if*/
9779 variable1 = ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/;
9780 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9781 }
9782 tracehead = trace.prev;
9783 return;
9784 }
9785 void parser_prod___AContinueExpr___n_kwcontinue__eq(val_t self, val_t param0) {
9786 struct trace_t trace = {NULL, NULL, 4955, LOCATE_parser_prod___AContinueExpr___n_kwcontinue__eq};
9787 val_t variable0;
9788 val_t variable1;
9789 trace.prev = tracehead; tracehead = &trace;
9790 trace.file = LOCATE_parser_prod;
9791 variable0 = param0;
9792 ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/ = variable0 /*n*/;
9793 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9794 if (UNTAG_Bool(variable1)) { /*if*/
9795 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
9796 }
9797 tracehead = trace.prev;
9798 return;
9799 }
9800 void parser_prod___AContinueExpr___empty_init(val_t self, int* init_table) {
9801 struct trace_t trace = {NULL, NULL, 4963, LOCATE_parser_prod___AContinueExpr___empty_init};
9802 trace.prev = tracehead; tracehead = &trace;
9803 trace.file = LOCATE_parser_prod;
9804 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AContinueExpr].i]) return;
9805 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AContinueExpr].i] = 1;
9806 tracehead = trace.prev;
9807 return;
9808 }
9809 void parser_prod___AContinueExpr___init_acontinueexpr(val_t self, val_t param0, int* init_table) {
9810 struct trace_t trace = {NULL, NULL, 4965, LOCATE_parser_prod___AContinueExpr___init_acontinueexpr};
9811 val_t variable0;
9812 val_t variable1;
9813 trace.prev = tracehead; tracehead = &trace;
9814 trace.file = LOCATE_parser_prod;
9815 variable0 = param0;
9816 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AContinueExpr].i]) return;
9817 ((parser_prod___AContinueExpr___empty_init_t)CALL( self,COLOR_parser_prod___AContinueExpr___empty_init))( self, init_table /*YYY*/) /*AContinueExpr::empty_init*/;
9818 ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/ = variable0 /*n_kwcontinue*/;
9819 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwcontinue*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwcontinue*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwcontinue*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwcontinue*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwcontinue*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwcontinue*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9820 if (UNTAG_Bool(variable1)) { /*if*/
9821 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwcontinue*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwcontinue*/, self) /*PNode::parent=*/;
9822 }
9823 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AContinueExpr].i] = 1;
9824 tracehead = trace.prev;
9825 return;
9826 }
9827 void parser_prod___AContinueExpr___replace_child(val_t self, val_t param0, val_t param1) {
9828 struct trace_t trace = {NULL, NULL, 4976, LOCATE_parser_prod___AContinueExpr___replace_child};
9829 val_t variable0;
9830 val_t variable1;
9831 val_t variable2;
9832 trace.prev = tracehead; tracehead = &trace;
9833 trace.file = LOCATE_parser_prod;
9834 variable0 = param0;
9835 variable1 = param1;
9836 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9837 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AContinueExpr___replace_child, LOCATE_parser_prod, 4978); nit_exit(1);}
9838 variable2 = ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/;
9839 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
9840 if (UNTAG_Bool(variable2)) { /*if*/
9841 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9842 if (UNTAG_Bool(variable2)) { /*if*/
9843 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9844 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwcontinue, ID_TKwcontinue)) /*cast TKwcontinue*/;
9845 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AContinueExpr___replace_child, LOCATE_parser_prod, 4982); nit_exit(1);}
9846 ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/ = variable1 /*new_child*/;
9847 } else { /*if*/
9848 ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/ = NIT_NULL /*null*/;
9849 }
9850 goto return_label434;
9851 }
9852 return_label434: while(false);
9853 tracehead = trace.prev;
9854 return;
9855 }
9856 void parser_prod___AContinueExpr___visit_all(val_t self, val_t param0) {
9857 struct trace_t trace = {NULL, NULL, 4991, LOCATE_parser_prod___AContinueExpr___visit_all};
9858 val_t variable0;
9859 val_t variable1;
9860 trace.prev = tracehead; tracehead = &trace;
9861 trace.file = LOCATE_parser_prod;
9862 variable0 = param0;
9863 variable1 = ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/;
9864 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
9865 if (UNTAG_Bool(variable1)) { /*if*/
9866 variable1 = ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/;
9867 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9868 }
9869 tracehead = trace.prev;
9870 return;
9871 }
9872 void parser_prod___AContinueExpr___visit_all_reverse(val_t self, val_t param0) {
9873 struct trace_t trace = {NULL, NULL, 4998, LOCATE_parser_prod___AContinueExpr___visit_all_reverse};
9874 val_t variable0;
9875 val_t variable1;
9876 trace.prev = tracehead; tracehead = &trace;
9877 trace.file = LOCATE_parser_prod;
9878 variable0 = param0;
9879 variable1 = ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/;
9880 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
9881 if (UNTAG_Bool(variable1)) { /*if*/
9882 variable1 = ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/;
9883 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9884 }
9885 tracehead = trace.prev;
9886 return;
9887 }
9888 void parser_prod___ADoExpr___n_kwdo__eq(val_t self, val_t param0) {
9889 struct trace_t trace = {NULL, NULL, 5006, LOCATE_parser_prod___ADoExpr___n_kwdo__eq};
9890 val_t variable0;
9891 val_t variable1;
9892 trace.prev = tracehead; tracehead = &trace;
9893 trace.file = LOCATE_parser_prod;
9894 variable0 = param0;
9895 ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/ = variable0 /*n*/;
9896 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9897 if (UNTAG_Bool(variable1)) { /*if*/
9898 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
9899 }
9900 tracehead = trace.prev;
9901 return;
9902 }
9903 void parser_prod___ADoExpr___n_block__eq(val_t self, val_t param0) {
9904 struct trace_t trace = {NULL, NULL, 5013, LOCATE_parser_prod___ADoExpr___n_block__eq};
9905 val_t variable0;
9906 val_t variable1;
9907 trace.prev = tracehead; tracehead = &trace;
9908 trace.file = LOCATE_parser_prod;
9909 variable0 = param0;
9910 ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/ = variable0 /*n*/;
9911 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9912 if (UNTAG_Bool(variable1)) { /*if*/
9913 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
9914 }
9915 tracehead = trace.prev;
9916 return;
9917 }
9918 void parser_prod___ADoExpr___empty_init(val_t self, int* init_table) {
9919 struct trace_t trace = {NULL, NULL, 5021, LOCATE_parser_prod___ADoExpr___empty_init};
9920 trace.prev = tracehead; tracehead = &trace;
9921 trace.file = LOCATE_parser_prod;
9922 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoExpr].i]) return;
9923 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoExpr].i] = 1;
9924 tracehead = trace.prev;
9925 return;
9926 }
9927 void parser_prod___ADoExpr___init_adoexpr(val_t self, val_t param0, val_t param1, int* init_table) {
9928 struct trace_t trace = {NULL, NULL, 5023, LOCATE_parser_prod___ADoExpr___init_adoexpr};
9929 val_t variable0;
9930 val_t variable1;
9931 val_t variable2;
9932 trace.prev = tracehead; tracehead = &trace;
9933 trace.file = LOCATE_parser_prod;
9934 variable0 = param0;
9935 variable1 = param1;
9936 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoExpr].i]) return;
9937 ((parser_prod___ADoExpr___empty_init_t)CALL( self,COLOR_parser_prod___ADoExpr___empty_init))( self, init_table /*YYY*/) /*ADoExpr::empty_init*/;
9938 ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/ = variable0 /*n_kwdo*/;
9939 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwdo*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwdo*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwdo*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwdo*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwdo*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwdo*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9940 if (UNTAG_Bool(variable2)) { /*if*/
9941 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwdo*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwdo*/, self) /*PNode::parent=*/;
9942 }
9943 ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/ = variable1 /*n_block*/;
9944 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_block*/ == NIT_NULL /*null*/) || (( variable1 /*n_block*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_block*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_block*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_block*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_block*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9945 if (UNTAG_Bool(variable2)) { /*if*/
9946 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_block*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_block*/, self) /*PNode::parent=*/;
9947 }
9948 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoExpr].i] = 1;
9949 tracehead = trace.prev;
9950 return;
9951 }
9952 void parser_prod___ADoExpr___replace_child(val_t self, val_t param0, val_t param1) {
9953 struct trace_t trace = {NULL, NULL, 5039, LOCATE_parser_prod___ADoExpr___replace_child};
9954 val_t variable0;
9955 val_t variable1;
9956 val_t variable2;
9957 trace.prev = tracehead; tracehead = &trace;
9958 trace.file = LOCATE_parser_prod;
9959 variable0 = param0;
9960 variable1 = param1;
9961 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9962 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADoExpr___replace_child, LOCATE_parser_prod, 5041); nit_exit(1);}
9963 variable2 = ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/;
9964 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
9965 if (UNTAG_Bool(variable2)) { /*if*/
9966 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9967 if (UNTAG_Bool(variable2)) { /*if*/
9968 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9969 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
9970 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADoExpr___replace_child, LOCATE_parser_prod, 5045); nit_exit(1);}
9971 ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/ = variable1 /*new_child*/;
9972 } else { /*if*/
9973 ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/ = NIT_NULL /*null*/;
9974 }
9975 goto return_label441;
9976 }
9977 variable2 = ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/;
9978 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
9979 if (UNTAG_Bool(variable2)) { /*if*/
9980 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9981 if (UNTAG_Bool(variable2)) { /*if*/
9982 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9983 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
9984 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADoExpr___replace_child, LOCATE_parser_prod, 5055); nit_exit(1);}
9985 ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/ = variable1 /*new_child*/;
9986 } else { /*if*/
9987 ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/ = NIT_NULL /*null*/;
9988 }
9989 goto return_label441;
9990 }
9991 return_label441: while(false);
9992 tracehead = trace.prev;
9993 return;
9994 }
9995 void parser_prod___ADoExpr___visit_all(val_t self, val_t param0) {
9996 struct trace_t trace = {NULL, NULL, 5064, LOCATE_parser_prod___ADoExpr___visit_all};
9997 val_t variable0;
9998 val_t variable1;
9999 trace.prev = tracehead; tracehead = &trace;
10000 trace.file = LOCATE_parser_prod;
10001 variable0 = param0;
10002 variable1 = ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/;
10003 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10004 if (UNTAG_Bool(variable1)) { /*if*/
10005 variable1 = ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/;
10006 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10007 }
10008 variable1 = ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/;
10009 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10010 if (UNTAG_Bool(variable1)) { /*if*/
10011 variable1 = ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/;
10012 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10013 }
10014 tracehead = trace.prev;
10015 return;
10016 }
10017 void parser_prod___ADoExpr___visit_all_reverse(val_t self, val_t param0) {
10018 struct trace_t trace = {NULL, NULL, 5074, LOCATE_parser_prod___ADoExpr___visit_all_reverse};
10019 val_t variable0;
10020 val_t variable1;
10021 trace.prev = tracehead; tracehead = &trace;
10022 trace.file = LOCATE_parser_prod;
10023 variable0 = param0;
10024 variable1 = ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/;
10025 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10026 if (UNTAG_Bool(variable1)) { /*if*/
10027 variable1 = ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/;
10028 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10029 }
10030 variable1 = ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/;
10031 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10032 if (UNTAG_Bool(variable1)) { /*if*/
10033 variable1 = ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/;
10034 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10035 }
10036 tracehead = trace.prev;
10037 return;
10038 }
10039 void parser_prod___AIfExpr___n_kwif__eq(val_t self, val_t param0) {
10040 struct trace_t trace = {NULL, NULL, 5085, LOCATE_parser_prod___AIfExpr___n_kwif__eq};
10041 val_t variable0;
10042 val_t variable1;
10043 trace.prev = tracehead; tracehead = &trace;
10044 trace.file = LOCATE_parser_prod;
10045 variable0 = param0;
10046 ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/ = variable0 /*n*/;
10047 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10048 if (UNTAG_Bool(variable1)) { /*if*/
10049 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
10050 }
10051 tracehead = trace.prev;
10052 return;
10053 }
10054 void parser_prod___AIfExpr___n_expr__eq(val_t self, val_t param0) {
10055 struct trace_t trace = {NULL, NULL, 5092, LOCATE_parser_prod___AIfExpr___n_expr__eq};
10056 val_t variable0;
10057 val_t variable1;
10058 trace.prev = tracehead; tracehead = &trace;
10059 trace.file = LOCATE_parser_prod;
10060 variable0 = param0;
10061 ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/ = variable0 /*n*/;
10062 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10063 if (UNTAG_Bool(variable1)) { /*if*/
10064 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
10065 }
10066 tracehead = trace.prev;
10067 return;
10068 }
10069 void parser_prod___AIfExpr___n_then__eq(val_t self, val_t param0) {
10070 struct trace_t trace = {NULL, NULL, 5099, LOCATE_parser_prod___AIfExpr___n_then__eq};
10071 val_t variable0;
10072 val_t variable1;
10073 trace.prev = tracehead; tracehead = &trace;
10074 trace.file = LOCATE_parser_prod;
10075 variable0 = param0;
10076 ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/ = variable0 /*n*/;
10077 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10078 if (UNTAG_Bool(variable1)) { /*if*/
10079 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
10080 }
10081 tracehead = trace.prev;
10082 return;
10083 }
10084 void parser_prod___AIfExpr___n_else__eq(val_t self, val_t param0) {
10085 struct trace_t trace = {NULL, NULL, 5106, LOCATE_parser_prod___AIfExpr___n_else__eq};
10086 val_t variable0;
10087 val_t variable1;
10088 trace.prev = tracehead; tracehead = &trace;
10089 trace.file = LOCATE_parser_prod;
10090 variable0 = param0;
10091 ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/ = variable0 /*n*/;
10092 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10093 if (UNTAG_Bool(variable1)) { /*if*/
10094 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
10095 }
10096 tracehead = trace.prev;
10097 return;
10098 }
10099 void parser_prod___AIfExpr___empty_init(val_t self, int* init_table) {
10100 struct trace_t trace = {NULL, NULL, 5114, LOCATE_parser_prod___AIfExpr___empty_init};
10101 trace.prev = tracehead; tracehead = &trace;
10102 trace.file = LOCATE_parser_prod;
10103 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfExpr].i]) return;
10104 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfExpr].i] = 1;
10105 tracehead = trace.prev;
10106 return;
10107 }
10108 void parser_prod___AIfExpr___init_aifexpr(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, int* init_table) {
10109 struct trace_t trace = {NULL, NULL, 5116, LOCATE_parser_prod___AIfExpr___init_aifexpr};
10110 val_t variable0;
10111 val_t variable1;
10112 val_t variable2;
10113 val_t variable3;
10114 val_t variable4;
10115 trace.prev = tracehead; tracehead = &trace;
10116 trace.file = LOCATE_parser_prod;
10117 variable0 = param0;
10118 variable1 = param1;
10119 variable2 = param2;
10120 variable3 = param3;
10121 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfExpr].i]) return;
10122 ((parser_prod___AIfExpr___empty_init_t)CALL( self,COLOR_parser_prod___AIfExpr___empty_init))( self, init_table /*YYY*/) /*AIfExpr::empty_init*/;
10123 ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/ = variable0 /*n_kwif*/;
10124 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwif*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwif*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwif*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwif*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwif*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwif*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10125 if (UNTAG_Bool(variable4)) { /*if*/
10126 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwif*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwif*/, self) /*PNode::parent=*/;
10127 }
10128 ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/ = variable1 /*n_expr*/;
10129 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10130 if (UNTAG_Bool(variable4)) { /*if*/
10131 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/, self) /*PNode::parent=*/;
10132 }
10133 ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/ = variable2 /*n_then*/;
10134 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_then*/ == NIT_NULL /*null*/) || (( variable2 /*n_then*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_then*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_then*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_then*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_then*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10135 if (UNTAG_Bool(variable4)) { /*if*/
10136 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_then*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_then*/, self) /*PNode::parent=*/;
10137 }
10138 ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/ = variable3 /*n_else*/;
10139 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_else*/ == NIT_NULL /*null*/) || (( variable3 /*n_else*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_else*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_else*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_else*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_else*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10140 if (UNTAG_Bool(variable4)) { /*if*/
10141 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_else*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_else*/, self) /*PNode::parent=*/;
10142 }
10143 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfExpr].i] = 1;
10144 tracehead = trace.prev;
10145 return;
10146 }
10147 void parser_prod___AIfExpr___replace_child(val_t self, val_t param0, val_t param1) {
10148 struct trace_t trace = {NULL, NULL, 5142, LOCATE_parser_prod___AIfExpr___replace_child};
10149 val_t variable0;
10150 val_t variable1;
10151 val_t variable2;
10152 trace.prev = tracehead; tracehead = &trace;
10153 trace.file = LOCATE_parser_prod;
10154 variable0 = param0;
10155 variable1 = param1;
10156 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10157 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfExpr___replace_child, LOCATE_parser_prod, 5144); nit_exit(1);}
10158 variable2 = ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/;
10159 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
10160 if (UNTAG_Bool(variable2)) { /*if*/
10161 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10162 if (UNTAG_Bool(variable2)) { /*if*/
10163 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10164 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
10165 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfExpr___replace_child, LOCATE_parser_prod, 5148); nit_exit(1);}
10166 ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/ = variable1 /*new_child*/;
10167 } else { /*if*/
10168 ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/ = NIT_NULL /*null*/;
10169 }
10170 goto return_label450;
10171 }
10172 variable2 = ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/;
10173 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
10174 if (UNTAG_Bool(variable2)) { /*if*/
10175 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10176 if (UNTAG_Bool(variable2)) { /*if*/
10177 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10178 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
10179 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfExpr___replace_child, LOCATE_parser_prod, 5158); nit_exit(1);}
10180 ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/ = variable1 /*new_child*/;
10181 } else { /*if*/
10182 ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/ = NIT_NULL /*null*/;
10183 }
10184 goto return_label450;
10185 }
10186 variable2 = ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/;
10187 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
10188 if (UNTAG_Bool(variable2)) { /*if*/
10189 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10190 if (UNTAG_Bool(variable2)) { /*if*/
10191 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10192 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
10193 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfExpr___replace_child, LOCATE_parser_prod, 5168); nit_exit(1);}
10194 ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/ = variable1 /*new_child*/;
10195 } else { /*if*/
10196 ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/ = NIT_NULL /*null*/;
10197 }
10198 goto return_label450;
10199 }
10200 variable2 = ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/;
10201 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
10202 if (UNTAG_Bool(variable2)) { /*if*/
10203 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10204 if (UNTAG_Bool(variable2)) { /*if*/
10205 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10206 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
10207 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfExpr___replace_child, LOCATE_parser_prod, 5178); nit_exit(1);}
10208 ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/ = variable1 /*new_child*/;
10209 } else { /*if*/
10210 ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/ = NIT_NULL /*null*/;
10211 }
10212 goto return_label450;
10213 }
10214 return_label450: while(false);
10215 tracehead = trace.prev;
10216 return;
10217 }
10218 void parser_prod___AIfExpr___visit_all(val_t self, val_t param0) {
10219 struct trace_t trace = {NULL, NULL, 5187, LOCATE_parser_prod___AIfExpr___visit_all};
10220 val_t variable0;
10221 val_t variable1;
10222 trace.prev = tracehead; tracehead = &trace;
10223 trace.file = LOCATE_parser_prod;
10224 variable0 = param0;
10225 variable1 = ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/;
10226 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10227 if (UNTAG_Bool(variable1)) { /*if*/
10228 variable1 = ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/;
10229 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10230 }
10231 variable1 = ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/;
10232 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10233 if (UNTAG_Bool(variable1)) { /*if*/
10234 variable1 = ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/;
10235 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10236 }
10237 variable1 = ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/;
10238 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10239 if (UNTAG_Bool(variable1)) { /*if*/
10240 variable1 = ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/;
10241 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10242 }
10243 variable1 = ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/;
10244 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10245 if (UNTAG_Bool(variable1)) { /*if*/
10246 variable1 = ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/;
10247 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10248 }
10249 tracehead = trace.prev;
10250 return;
10251 }
10252 void parser_prod___AIfExpr___visit_all_reverse(val_t self, val_t param0) {
10253 struct trace_t trace = {NULL, NULL, 5203, LOCATE_parser_prod___AIfExpr___visit_all_reverse};
10254 val_t variable0;
10255 val_t variable1;
10256 trace.prev = tracehead; tracehead = &trace;
10257 trace.file = LOCATE_parser_prod;
10258 variable0 = param0;
10259 variable1 = ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/;
10260 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10261 if (UNTAG_Bool(variable1)) { /*if*/
10262 variable1 = ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/;
10263 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10264 }
10265 variable1 = ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/;
10266 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10267 if (UNTAG_Bool(variable1)) { /*if*/
10268 variable1 = ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/;
10269 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10270 }
10271 variable1 = ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/;
10272 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10273 if (UNTAG_Bool(variable1)) { /*if*/
10274 variable1 = ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/;
10275 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10276 }
10277 variable1 = ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/;
10278 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10279 if (UNTAG_Bool(variable1)) { /*if*/
10280 variable1 = ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/;
10281 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10282 }
10283 tracehead = trace.prev;
10284 return;
10285 }
10286 void parser_prod___AIfexprExpr___n_kwif__eq(val_t self, val_t param0) {
10287 struct trace_t trace = {NULL, NULL, 5220, LOCATE_parser_prod___AIfexprExpr___n_kwif__eq};
10288 val_t variable0;
10289 val_t variable1;
10290 trace.prev = tracehead; tracehead = &trace;
10291 trace.file = LOCATE_parser_prod;
10292 variable0 = param0;
10293 ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/ = variable0 /*n*/;
10294 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10295 if (UNTAG_Bool(variable1)) { /*if*/
10296 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
10297 }
10298 tracehead = trace.prev;
10299 return;
10300 }
10301 void parser_prod___AIfexprExpr___n_expr__eq(val_t self, val_t param0) {
10302 struct trace_t trace = {NULL, NULL, 5227, LOCATE_parser_prod___AIfexprExpr___n_expr__eq};
10303 val_t variable0;
10304 val_t variable1;
10305 trace.prev = tracehead; tracehead = &trace;
10306 trace.file = LOCATE_parser_prod;
10307 variable0 = param0;
10308 ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/ = variable0 /*n*/;
10309 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10310 if (UNTAG_Bool(variable1)) { /*if*/
10311 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
10312 }
10313 tracehead = trace.prev;
10314 return;
10315 }
10316 void parser_prod___AIfexprExpr___n_kwthen__eq(val_t self, val_t param0) {
10317 struct trace_t trace = {NULL, NULL, 5234, LOCATE_parser_prod___AIfexprExpr___n_kwthen__eq};
10318 val_t variable0;
10319 val_t variable1;
10320 trace.prev = tracehead; tracehead = &trace;
10321 trace.file = LOCATE_parser_prod;
10322 variable0 = param0;
10323 ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/ = variable0 /*n*/;
10324 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10325 if (UNTAG_Bool(variable1)) { /*if*/
10326 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
10327 }
10328 tracehead = trace.prev;
10329 return;
10330 }
10331 void parser_prod___AIfexprExpr___n_then__eq(val_t self, val_t param0) {
10332 struct trace_t trace = {NULL, NULL, 5241, LOCATE_parser_prod___AIfexprExpr___n_then__eq};
10333 val_t variable0;
10334 val_t variable1;
10335 trace.prev = tracehead; tracehead = &trace;
10336 trace.file = LOCATE_parser_prod;
10337 variable0 = param0;
10338 ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/ = variable0 /*n*/;
10339 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10340 if (UNTAG_Bool(variable1)) { /*if*/
10341 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
10342 }
10343 tracehead = trace.prev;
10344 return;
10345 }
10346 void parser_prod___AIfexprExpr___n_kwelse__eq(val_t self, val_t param0) {
10347 struct trace_t trace = {NULL, NULL, 5248, LOCATE_parser_prod___AIfexprExpr___n_kwelse__eq};
10348 val_t variable0;
10349 val_t variable1;
10350 trace.prev = tracehead; tracehead = &trace;
10351 trace.file = LOCATE_parser_prod;
10352 variable0 = param0;
10353 ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/ = variable0 /*n*/;
10354 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10355 if (UNTAG_Bool(variable1)) { /*if*/
10356 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
10357 }
10358 tracehead = trace.prev;
10359 return;
10360 }
10361 void parser_prod___AIfexprExpr___n_else__eq(val_t self, val_t param0) {
10362 struct trace_t trace = {NULL, NULL, 5255, LOCATE_parser_prod___AIfexprExpr___n_else__eq};
10363 val_t variable0;
10364 val_t variable1;
10365 trace.prev = tracehead; tracehead = &trace;
10366 trace.file = LOCATE_parser_prod;
10367 variable0 = param0;
10368 ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/ = variable0 /*n*/;
10369 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10370 if (UNTAG_Bool(variable1)) { /*if*/
10371 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
10372 }
10373 tracehead = trace.prev;
10374 return;
10375 }
10376 void parser_prod___AIfexprExpr___empty_init(val_t self, int* init_table) {
10377 struct trace_t trace = {NULL, NULL, 5263, LOCATE_parser_prod___AIfexprExpr___empty_init};
10378 trace.prev = tracehead; tracehead = &trace;
10379 trace.file = LOCATE_parser_prod;
10380 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfexprExpr].i]) return;
10381 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfexprExpr].i] = 1;
10382 tracehead = trace.prev;
10383 return;
10384 }
10385 void parser_prod___AIfexprExpr___init_aifexprexpr(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, val_t param4, val_t param5, int* init_table) {
10386 struct trace_t trace = {NULL, NULL, 5265, LOCATE_parser_prod___AIfexprExpr___init_aifexprexpr};
10387 val_t variable0;
10388 val_t variable1;
10389 val_t variable2;
10390 val_t variable3;
10391 val_t variable4;
10392 val_t variable5;
10393 val_t variable6;
10394 trace.prev = tracehead; tracehead = &trace;
10395 trace.file = LOCATE_parser_prod;
10396 variable0 = param0;
10397 variable1 = param1;
10398 variable2 = param2;
10399 variable3 = param3;
10400 variable4 = param4;
10401 variable5 = param5;
10402 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfexprExpr].i]) return;
10403 ((parser_prod___AIfexprExpr___empty_init_t)CALL( self,COLOR_parser_prod___AIfexprExpr___empty_init))( self, init_table /*YYY*/) /*AIfexprExpr::empty_init*/;
10404 ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/ = variable0 /*n_kwif*/;
10405 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwif*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwif*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwif*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwif*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwif*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwif*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10406 if (UNTAG_Bool(variable6)) { /*if*/
10407 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwif*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwif*/, self) /*PNode::parent=*/;
10408 }
10409 ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/ = variable1 /*n_expr*/;
10410 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10411 if (UNTAG_Bool(variable6)) { /*if*/
10412 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/, self) /*PNode::parent=*/;
10413 }
10414 ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/ = variable2 /*n_kwthen*/;
10415 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_kwthen*/ == NIT_NULL /*null*/) || (( variable2 /*n_kwthen*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_kwthen*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_kwthen*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_kwthen*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_kwthen*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10416 if (UNTAG_Bool(variable6)) { /*if*/
10417 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_kwthen*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_kwthen*/, self) /*PNode::parent=*/;
10418 }
10419 ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/ = variable3 /*n_then*/;
10420 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_then*/ == NIT_NULL /*null*/) || (( variable3 /*n_then*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_then*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_then*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_then*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_then*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10421 if (UNTAG_Bool(variable6)) { /*if*/
10422 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_then*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_then*/, self) /*PNode::parent=*/;
10423 }
10424 ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/ = variable4 /*n_kwelse*/;
10425 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_kwelse*/ == NIT_NULL /*null*/) || (( variable4 /*n_kwelse*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_kwelse*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_kwelse*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_kwelse*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_kwelse*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10426 if (UNTAG_Bool(variable6)) { /*if*/
10427 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_kwelse*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_kwelse*/, self) /*PNode::parent=*/;
10428 }
10429 ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/ = variable5 /*n_else*/;
10430 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*n_else*/ == NIT_NULL /*null*/) || (( variable5 /*n_else*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*n_else*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*n_else*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*n_else*/,COLOR_kernel___Object_____eqeq))( variable5 /*n_else*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10431 if (UNTAG_Bool(variable6)) { /*if*/
10432 ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_else*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_else*/, self) /*PNode::parent=*/;
10433 }
10434 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfexprExpr].i] = 1;
10435 tracehead = trace.prev;
10436 return;
10437 }
10438 void parser_prod___AIfexprExpr___replace_child(val_t self, val_t param0, val_t param1) {
10439 struct trace_t trace = {NULL, NULL, 5301, LOCATE_parser_prod___AIfexprExpr___replace_child};
10440 val_t variable0;
10441 val_t variable1;
10442 val_t variable2;
10443 trace.prev = tracehead; tracehead = &trace;
10444 trace.file = LOCATE_parser_prod;
10445 variable0 = param0;
10446 variable1 = param1;
10447 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10448 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfexprExpr___replace_child, LOCATE_parser_prod, 5303); nit_exit(1);}
10449 variable2 = ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/;
10450 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
10451 if (UNTAG_Bool(variable2)) { /*if*/
10452 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10453 if (UNTAG_Bool(variable2)) { /*if*/
10454 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10455 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
10456 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfexprExpr___replace_child, LOCATE_parser_prod, 5307); nit_exit(1);}
10457 ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/ = variable1 /*new_child*/;
10458 } else { /*if*/
10459 ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/ = NIT_NULL /*null*/;
10460 }
10461 goto return_label461;
10462 }
10463 variable2 = ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/;
10464 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
10465 if (UNTAG_Bool(variable2)) { /*if*/
10466 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10467 if (UNTAG_Bool(variable2)) { /*if*/
10468 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10469 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
10470 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfexprExpr___replace_child, LOCATE_parser_prod, 5317); nit_exit(1);}
10471 ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/ = variable1 /*new_child*/;
10472 } else { /*if*/
10473 ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/ = NIT_NULL /*null*/;
10474 }
10475 goto return_label461;
10476 }
10477 variable2 = ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/;
10478 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
10479 if (UNTAG_Bool(variable2)) { /*if*/
10480 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10481 if (UNTAG_Bool(variable2)) { /*if*/
10482 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10483 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/;
10484 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfexprExpr___replace_child, LOCATE_parser_prod, 5327); nit_exit(1);}
10485 ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/ = variable1 /*new_child*/;
10486 } else { /*if*/
10487 ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/ = NIT_NULL /*null*/;
10488 }
10489 goto return_label461;
10490 }
10491 variable2 = ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/;
10492 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
10493 if (UNTAG_Bool(variable2)) { /*if*/
10494 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10495 if (UNTAG_Bool(variable2)) { /*if*/
10496 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10497 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
10498 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfexprExpr___replace_child, LOCATE_parser_prod, 5337); nit_exit(1);}
10499 ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/ = variable1 /*new_child*/;
10500 } else { /*if*/
10501 ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/ = NIT_NULL /*null*/;
10502 }
10503 goto return_label461;
10504 }
10505 variable2 = ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/;
10506 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
10507 if (UNTAG_Bool(variable2)) { /*if*/
10508 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10509 if (UNTAG_Bool(variable2)) { /*if*/
10510 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10511 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/;
10512 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfexprExpr___replace_child, LOCATE_parser_prod, 5347); nit_exit(1);}
10513 ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/ = variable1 /*new_child*/;
10514 } else { /*if*/
10515 ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/ = NIT_NULL /*null*/;
10516 }
10517 goto return_label461;
10518 }
10519 variable2 = ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/;
10520 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
10521 if (UNTAG_Bool(variable2)) { /*if*/
10522 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10523 if (UNTAG_Bool(variable2)) { /*if*/
10524 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10525 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
10526 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIfexprExpr___replace_child, LOCATE_parser_prod, 5357); nit_exit(1);}
10527 ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/ = variable1 /*new_child*/;
10528 } else { /*if*/
10529 ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/ = NIT_NULL /*null*/;
10530 }
10531 goto return_label461;
10532 }
10533 return_label461: while(false);
10534 tracehead = trace.prev;
10535 return;
10536 }
10537 void parser_prod___AIfexprExpr___visit_all(val_t self, val_t param0) {
10538 struct trace_t trace = {NULL, NULL, 5366, LOCATE_parser_prod___AIfexprExpr___visit_all};
10539 val_t variable0;
10540 val_t variable1;
10541 trace.prev = tracehead; tracehead = &trace;
10542 trace.file = LOCATE_parser_prod;
10543 variable0 = param0;
10544 variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/;
10545 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10546 if (UNTAG_Bool(variable1)) { /*if*/
10547 variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/;
10548 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10549 }
10550 variable1 = ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/;
10551 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10552 if (UNTAG_Bool(variable1)) { /*if*/
10553 variable1 = ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/;
10554 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10555 }
10556 variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/;
10557 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10558 if (UNTAG_Bool(variable1)) { /*if*/
10559 variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/;
10560 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10561 }
10562 variable1 = ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/;
10563 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10564 if (UNTAG_Bool(variable1)) { /*if*/
10565 variable1 = ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/;
10566 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10567 }
10568 variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/;
10569 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10570 if (UNTAG_Bool(variable1)) { /*if*/
10571 variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/;
10572 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10573 }
10574 variable1 = ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/;
10575 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10576 if (UNTAG_Bool(variable1)) { /*if*/
10577 variable1 = ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/;
10578 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10579 }
10580 tracehead = trace.prev;
10581 return;
10582 }
10583 void parser_prod___AIfexprExpr___visit_all_reverse(val_t self, val_t param0) {
10584 struct trace_t trace = {NULL, NULL, 5388, LOCATE_parser_prod___AIfexprExpr___visit_all_reverse};
10585 val_t variable0;
10586 val_t variable1;
10587 trace.prev = tracehead; tracehead = &trace;
10588 trace.file = LOCATE_parser_prod;
10589 variable0 = param0;
10590 variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/;
10591 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10592 if (UNTAG_Bool(variable1)) { /*if*/
10593 variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/;
10594 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10595 }
10596 variable1 = ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/;
10597 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10598 if (UNTAG_Bool(variable1)) { /*if*/
10599 variable1 = ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/;
10600 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10601 }
10602 variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/;
10603 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10604 if (UNTAG_Bool(variable1)) { /*if*/
10605 variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/;
10606 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10607 }
10608 variable1 = ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/;
10609 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10610 if (UNTAG_Bool(variable1)) { /*if*/
10611 variable1 = ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/;
10612 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10613 }
10614 variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/;
10615 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10616 if (UNTAG_Bool(variable1)) { /*if*/
10617 variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/;
10618 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10619 }
10620 variable1 = ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/;
10621 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10622 if (UNTAG_Bool(variable1)) { /*if*/
10623 variable1 = ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/;
10624 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10625 }
10626 tracehead = trace.prev;
10627 return;
10628 }
10629 void parser_prod___AWhileExpr___n_kwwhile__eq(val_t self, val_t param0) {
10630 struct trace_t trace = {NULL, NULL, 5411, LOCATE_parser_prod___AWhileExpr___n_kwwhile__eq};
10631 val_t variable0;
10632 val_t variable1;
10633 trace.prev = tracehead; tracehead = &trace;
10634 trace.file = LOCATE_parser_prod;
10635 variable0 = param0;
10636 ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/ = variable0 /*n*/;
10637 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10638 if (UNTAG_Bool(variable1)) { /*if*/
10639 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
10640 }
10641 tracehead = trace.prev;
10642 return;
10643 }
10644 void parser_prod___AWhileExpr___n_expr__eq(val_t self, val_t param0) {
10645 struct trace_t trace = {NULL, NULL, 5418, LOCATE_parser_prod___AWhileExpr___n_expr__eq};
10646 val_t variable0;
10647 val_t variable1;
10648 trace.prev = tracehead; tracehead = &trace;
10649 trace.file = LOCATE_parser_prod;
10650 variable0 = param0;
10651 ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/ = variable0 /*n*/;
10652 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10653 if (UNTAG_Bool(variable1)) { /*if*/
10654 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
10655 }
10656 tracehead = trace.prev;
10657 return;
10658 }
10659 void parser_prod___AWhileExpr___n_kwdo__eq(val_t self, val_t param0) {
10660 struct trace_t trace = {NULL, NULL, 5425, LOCATE_parser_prod___AWhileExpr___n_kwdo__eq};
10661 val_t variable0;
10662 val_t variable1;
10663 trace.prev = tracehead; tracehead = &trace;
10664 trace.file = LOCATE_parser_prod;
10665 variable0 = param0;
10666 ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/ = variable0 /*n*/;
10667 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10668 if (UNTAG_Bool(variable1)) { /*if*/
10669 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
10670 }
10671 tracehead = trace.prev;
10672 return;
10673 }
10674 void parser_prod___AWhileExpr___n_block__eq(val_t self, val_t param0) {
10675 struct trace_t trace = {NULL, NULL, 5432, LOCATE_parser_prod___AWhileExpr___n_block__eq};
10676 val_t variable0;
10677 val_t variable1;
10678 trace.prev = tracehead; tracehead = &trace;
10679 trace.file = LOCATE_parser_prod;
10680 variable0 = param0;
10681 ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/ = variable0 /*n*/;
10682 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10683 if (UNTAG_Bool(variable1)) { /*if*/
10684 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
10685 }
10686 tracehead = trace.prev;
10687 return;
10688 }
10689 void parser_prod___AWhileExpr___empty_init(val_t self, int* init_table) {
10690 struct trace_t trace = {NULL, NULL, 5440, LOCATE_parser_prod___AWhileExpr___empty_init};
10691 trace.prev = tracehead; tracehead = &trace;
10692 trace.file = LOCATE_parser_prod;
10693 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWhileExpr].i]) return;
10694 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWhileExpr].i] = 1;
10695 tracehead = trace.prev;
10696 return;
10697 }
10698 void parser_prod___AWhileExpr___init_awhileexpr(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, int* init_table) {
10699 struct trace_t trace = {NULL, NULL, 5442, LOCATE_parser_prod___AWhileExpr___init_awhileexpr};
10700 val_t variable0;
10701 val_t variable1;
10702 val_t variable2;
10703 val_t variable3;
10704 val_t variable4;
10705 trace.prev = tracehead; tracehead = &trace;
10706 trace.file = LOCATE_parser_prod;
10707 variable0 = param0;
10708 variable1 = param1;
10709 variable2 = param2;
10710 variable3 = param3;
10711 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWhileExpr].i]) return;
10712 ((parser_prod___AWhileExpr___empty_init_t)CALL( self,COLOR_parser_prod___AWhileExpr___empty_init))( self, init_table /*YYY*/) /*AWhileExpr::empty_init*/;
10713 ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/ = variable0 /*n_kwwhile*/;
10714 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwwhile*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwwhile*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwwhile*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwwhile*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwwhile*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwwhile*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10715 if (UNTAG_Bool(variable4)) { /*if*/
10716 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwwhile*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwwhile*/, self) /*PNode::parent=*/;
10717 }
10718 ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/ = variable1 /*n_expr*/;
10719 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10720 if (UNTAG_Bool(variable4)) { /*if*/
10721 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/, self) /*PNode::parent=*/;
10722 }
10723 ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/ = variable2 /*n_kwdo*/;
10724 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_kwdo*/ == NIT_NULL /*null*/) || (( variable2 /*n_kwdo*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_kwdo*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_kwdo*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_kwdo*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_kwdo*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10725 if (UNTAG_Bool(variable4)) { /*if*/
10726 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_kwdo*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_kwdo*/, self) /*PNode::parent=*/;
10727 }
10728 ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/ = variable3 /*n_block*/;
10729 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_block*/ == NIT_NULL /*null*/) || (( variable3 /*n_block*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_block*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_block*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_block*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_block*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10730 if (UNTAG_Bool(variable4)) { /*if*/
10731 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_block*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_block*/, self) /*PNode::parent=*/;
10732 }
10733 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWhileExpr].i] = 1;
10734 tracehead = trace.prev;
10735 return;
10736 }
10737 void parser_prod___AWhileExpr___replace_child(val_t self, val_t param0, val_t param1) {
10738 struct trace_t trace = {NULL, NULL, 5468, LOCATE_parser_prod___AWhileExpr___replace_child};
10739 val_t variable0;
10740 val_t variable1;
10741 val_t variable2;
10742 trace.prev = tracehead; tracehead = &trace;
10743 trace.file = LOCATE_parser_prod;
10744 variable0 = param0;
10745 variable1 = param1;
10746 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10747 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AWhileExpr___replace_child, LOCATE_parser_prod, 5470); nit_exit(1);}
10748 variable2 = ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/;
10749 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
10750 if (UNTAG_Bool(variable2)) { /*if*/
10751 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10752 if (UNTAG_Bool(variable2)) { /*if*/
10753 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10754 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwwhile, ID_TKwwhile)) /*cast TKwwhile*/;
10755 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AWhileExpr___replace_child, LOCATE_parser_prod, 5474); nit_exit(1);}
10756 ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/ = variable1 /*new_child*/;
10757 } else { /*if*/
10758 ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/ = NIT_NULL /*null*/;
10759 }
10760 goto return_label470;
10761 }
10762 variable2 = ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/;
10763 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
10764 if (UNTAG_Bool(variable2)) { /*if*/
10765 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10766 if (UNTAG_Bool(variable2)) { /*if*/
10767 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10768 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
10769 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AWhileExpr___replace_child, LOCATE_parser_prod, 5484); nit_exit(1);}
10770 ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/ = variable1 /*new_child*/;
10771 } else { /*if*/
10772 ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/ = NIT_NULL /*null*/;
10773 }
10774 goto return_label470;
10775 }
10776 variable2 = ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/;
10777 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
10778 if (UNTAG_Bool(variable2)) { /*if*/
10779 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10780 if (UNTAG_Bool(variable2)) { /*if*/
10781 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10782 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
10783 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AWhileExpr___replace_child, LOCATE_parser_prod, 5494); nit_exit(1);}
10784 ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/ = variable1 /*new_child*/;
10785 } else { /*if*/
10786 ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/ = NIT_NULL /*null*/;
10787 }
10788 goto return_label470;
10789 }
10790 variable2 = ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/;
10791 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
10792 if (UNTAG_Bool(variable2)) { /*if*/
10793 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10794 if (UNTAG_Bool(variable2)) { /*if*/
10795 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10796 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
10797 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AWhileExpr___replace_child, LOCATE_parser_prod, 5504); nit_exit(1);}
10798 ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/ = variable1 /*new_child*/;
10799 } else { /*if*/
10800 ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/ = NIT_NULL /*null*/;
10801 }
10802 goto return_label470;
10803 }
10804 return_label470: while(false);
10805 tracehead = trace.prev;
10806 return;
10807 }
10808 void parser_prod___AWhileExpr___visit_all(val_t self, val_t param0) {
10809 struct trace_t trace = {NULL, NULL, 5513, LOCATE_parser_prod___AWhileExpr___visit_all};
10810 val_t variable0;
10811 val_t variable1;
10812 trace.prev = tracehead; tracehead = &trace;
10813 trace.file = LOCATE_parser_prod;
10814 variable0 = param0;
10815 variable1 = ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/;
10816 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10817 if (UNTAG_Bool(variable1)) { /*if*/
10818 variable1 = ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/;
10819 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10820 }
10821 variable1 = ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/;
10822 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10823 if (UNTAG_Bool(variable1)) { /*if*/
10824 variable1 = ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/;
10825 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10826 }
10827 variable1 = ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/;
10828 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10829 if (UNTAG_Bool(variable1)) { /*if*/
10830 variable1 = ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/;
10831 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10832 }
10833 variable1 = ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/;
10834 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10835 if (UNTAG_Bool(variable1)) { /*if*/
10836 variable1 = ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/;
10837 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10838 }
10839 tracehead = trace.prev;
10840 return;
10841 }
10842 void parser_prod___AWhileExpr___visit_all_reverse(val_t self, val_t param0) {
10843 struct trace_t trace = {NULL, NULL, 5529, LOCATE_parser_prod___AWhileExpr___visit_all_reverse};
10844 val_t variable0;
10845 val_t variable1;
10846 trace.prev = tracehead; tracehead = &trace;
10847 trace.file = LOCATE_parser_prod;
10848 variable0 = param0;
10849 variable1 = ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/;
10850 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10851 if (UNTAG_Bool(variable1)) { /*if*/
10852 variable1 = ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/;
10853 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10854 }
10855 variable1 = ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/;
10856 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10857 if (UNTAG_Bool(variable1)) { /*if*/
10858 variable1 = ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/;
10859 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10860 }
10861 variable1 = ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/;
10862 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10863 if (UNTAG_Bool(variable1)) { /*if*/
10864 variable1 = ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/;
10865 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10866 }
10867 variable1 = ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/;
10868 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
10869 if (UNTAG_Bool(variable1)) { /*if*/
10870 variable1 = ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/;
10871 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10872 }
10873 tracehead = trace.prev;
10874 return;
10875 }
10876 void parser_prod___AForExpr___n_vardecl__eq(val_t self, val_t param0) {
10877 struct trace_t trace = {NULL, NULL, 5546, LOCATE_parser_prod___AForExpr___n_vardecl__eq};
10878 val_t variable0;
10879 val_t variable1;
10880 trace.prev = tracehead; tracehead = &trace;
10881 trace.file = LOCATE_parser_prod;
10882 variable0 = param0;
10883 ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/ = variable0 /*n*/;
10884 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10885 if (UNTAG_Bool(variable1)) { /*if*/
10886 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
10887 }
10888 tracehead = trace.prev;
10889 return;
10890 }
10891 void parser_prod___AForExpr___n_kwdo__eq(val_t self, val_t param0) {
10892 struct trace_t trace = {NULL, NULL, 5553, LOCATE_parser_prod___AForExpr___n_kwdo__eq};
10893 val_t variable0;
10894 val_t variable1;
10895 trace.prev = tracehead; tracehead = &trace;
10896 trace.file = LOCATE_parser_prod;
10897 variable0 = param0;
10898 ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/ = variable0 /*n*/;
10899 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10900 if (UNTAG_Bool(variable1)) { /*if*/
10901 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
10902 }
10903 tracehead = trace.prev;
10904 return;
10905 }
10906 void parser_prod___AForExpr___n_block__eq(val_t self, val_t param0) {
10907 struct trace_t trace = {NULL, NULL, 5560, LOCATE_parser_prod___AForExpr___n_block__eq};
10908 val_t variable0;
10909 val_t variable1;
10910 trace.prev = tracehead; tracehead = &trace;
10911 trace.file = LOCATE_parser_prod;
10912 variable0 = param0;
10913 ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/ = variable0 /*n*/;
10914 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10915 if (UNTAG_Bool(variable1)) { /*if*/
10916 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
10917 }
10918 tracehead = trace.prev;
10919 return;
10920 }
10921 void parser_prod___AForExpr___empty_init(val_t self, int* init_table) {
10922 struct trace_t trace = {NULL, NULL, 5568, LOCATE_parser_prod___AForExpr___empty_init};
10923 trace.prev = tracehead; tracehead = &trace;
10924 trace.file = LOCATE_parser_prod;
10925 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForExpr].i]) return;
10926 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForExpr].i] = 1;
10927 tracehead = trace.prev;
10928 return;
10929 }
10930 void parser_prod___AForExpr___init_aforexpr(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
10931 struct trace_t trace = {NULL, NULL, 5570, LOCATE_parser_prod___AForExpr___init_aforexpr};
10932 val_t variable0;
10933 val_t variable1;
10934 val_t variable2;
10935 val_t variable3;
10936 trace.prev = tracehead; tracehead = &trace;
10937 trace.file = LOCATE_parser_prod;
10938 variable0 = param0;
10939 variable1 = param1;
10940 variable2 = param2;
10941 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForExpr].i]) return;
10942 ((parser_prod___AForExpr___empty_init_t)CALL( self,COLOR_parser_prod___AForExpr___empty_init))( self, init_table /*YYY*/) /*AForExpr::empty_init*/;
10943 ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/ = variable0 /*n_vardecl*/;
10944 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_vardecl*/ == NIT_NULL /*null*/) || (( variable0 /*n_vardecl*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_vardecl*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_vardecl*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_vardecl*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_vardecl*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10945 if (UNTAG_Bool(variable3)) { /*if*/
10946 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_vardecl*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_vardecl*/, self) /*PNode::parent=*/;
10947 }
10948 ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/ = variable1 /*n_kwdo*/;
10949 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwdo*/ == NIT_NULL /*null*/) || (( variable1 /*n_kwdo*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwdo*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwdo*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwdo*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwdo*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10950 if (UNTAG_Bool(variable3)) { /*if*/
10951 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwdo*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwdo*/, self) /*PNode::parent=*/;
10952 }
10953 ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/ = variable2 /*n_block*/;
10954 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_block*/ == NIT_NULL /*null*/) || (( variable2 /*n_block*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_block*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_block*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_block*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_block*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10955 if (UNTAG_Bool(variable3)) { /*if*/
10956 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_block*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_block*/, self) /*PNode::parent=*/;
10957 }
10958 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForExpr].i] = 1;
10959 tracehead = trace.prev;
10960 return;
10961 }
10962 void parser_prod___AForExpr___replace_child(val_t self, val_t param0, val_t param1) {
10963 struct trace_t trace = {NULL, NULL, 5591, LOCATE_parser_prod___AForExpr___replace_child};
10964 val_t variable0;
10965 val_t variable1;
10966 val_t variable2;
10967 trace.prev = tracehead; tracehead = &trace;
10968 trace.file = LOCATE_parser_prod;
10969 variable0 = param0;
10970 variable1 = param1;
10971 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10972 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AForExpr___replace_child, LOCATE_parser_prod, 5593); nit_exit(1);}
10973 variable2 = ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/;
10974 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
10975 if (UNTAG_Bool(variable2)) { /*if*/
10976 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10977 if (UNTAG_Bool(variable2)) { /*if*/
10978 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10979 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
10980 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AForExpr___replace_child, LOCATE_parser_prod, 5597); nit_exit(1);}
10981 ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/ = variable1 /*new_child*/;
10982 } else { /*if*/
10983 ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/ = NIT_NULL /*null*/;
10984 }
10985 goto return_label478;
10986 }
10987 variable2 = ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/;
10988 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
10989 if (UNTAG_Bool(variable2)) { /*if*/
10990 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10991 if (UNTAG_Bool(variable2)) { /*if*/
10992 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10993 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
10994 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AForExpr___replace_child, LOCATE_parser_prod, 5607); nit_exit(1);}
10995 ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/ = variable1 /*new_child*/;
10996 } else { /*if*/
10997 ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/ = NIT_NULL /*null*/;
10998 }
10999 goto return_label478;
11000 }
11001 variable2 = ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/;
11002 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
11003 if (UNTAG_Bool(variable2)) { /*if*/
11004 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11005 if (UNTAG_Bool(variable2)) { /*if*/
11006 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11007 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11008 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AForExpr___replace_child, LOCATE_parser_prod, 5617); nit_exit(1);}
11009 ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/ = variable1 /*new_child*/;
11010 } else { /*if*/
11011 ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/ = NIT_NULL /*null*/;
11012 }
11013 goto return_label478;
11014 }
11015 return_label478: while(false);
11016 tracehead = trace.prev;
11017 return;
11018 }
11019 void parser_prod___AForExpr___visit_all(val_t self, val_t param0) {
11020 struct trace_t trace = {NULL, NULL, 5626, LOCATE_parser_prod___AForExpr___visit_all};
11021 val_t variable0;
11022 val_t variable1;
11023 trace.prev = tracehead; tracehead = &trace;
11024 trace.file = LOCATE_parser_prod;
11025 variable0 = param0;
11026 variable1 = ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/;
11027 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11028 if (UNTAG_Bool(variable1)) { /*if*/
11029 variable1 = ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/;
11030 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11031 }
11032 variable1 = ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/;
11033 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11034 if (UNTAG_Bool(variable1)) { /*if*/
11035 variable1 = ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/;
11036 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11037 }
11038 variable1 = ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/;
11039 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11040 if (UNTAG_Bool(variable1)) { /*if*/
11041 variable1 = ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/;
11042 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11043 }
11044 tracehead = trace.prev;
11045 return;
11046 }
11047 void parser_prod___AForExpr___visit_all_reverse(val_t self, val_t param0) {
11048 struct trace_t trace = {NULL, NULL, 5639, LOCATE_parser_prod___AForExpr___visit_all_reverse};
11049 val_t variable0;
11050 val_t variable1;
11051 trace.prev = tracehead; tracehead = &trace;
11052 trace.file = LOCATE_parser_prod;
11053 variable0 = param0;
11054 variable1 = ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/;
11055 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11056 if (UNTAG_Bool(variable1)) { /*if*/
11057 variable1 = ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/;
11058 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11059 }
11060 variable1 = ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/;
11061 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11062 if (UNTAG_Bool(variable1)) { /*if*/
11063 variable1 = ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/;
11064 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11065 }
11066 variable1 = ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/;
11067 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11068 if (UNTAG_Bool(variable1)) { /*if*/
11069 variable1 = ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/;
11070 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11071 }
11072 tracehead = trace.prev;
11073 return;
11074 }
11075 void parser_prod___AForVardeclExpr___n_kwfor__eq(val_t self, val_t param0) {
11076 struct trace_t trace = {NULL, NULL, 5653, LOCATE_parser_prod___AForVardeclExpr___n_kwfor__eq};
11077 val_t variable0;
11078 val_t variable1;
11079 trace.prev = tracehead; tracehead = &trace;
11080 trace.file = LOCATE_parser_prod;
11081 variable0 = param0;
11082 ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/ = variable0 /*n*/;
11083 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11084 if (UNTAG_Bool(variable1)) { /*if*/
11085 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
11086 }
11087 tracehead = trace.prev;
11088 return;
11089 }
11090 void parser_prod___AForVardeclExpr___n_id__eq(val_t self, val_t param0) {
11091 struct trace_t trace = {NULL, NULL, 5660, LOCATE_parser_prod___AForVardeclExpr___n_id__eq};
11092 val_t variable0;
11093 val_t variable1;
11094 trace.prev = tracehead; tracehead = &trace;
11095 trace.file = LOCATE_parser_prod;
11096 variable0 = param0;
11097 ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/ = variable0 /*n*/;
11098 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11099 if (UNTAG_Bool(variable1)) { /*if*/
11100 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
11101 }
11102 tracehead = trace.prev;
11103 return;
11104 }
11105 void parser_prod___AForVardeclExpr___n_expr__eq(val_t self, val_t param0) {
11106 struct trace_t trace = {NULL, NULL, 5667, LOCATE_parser_prod___AForVardeclExpr___n_expr__eq};
11107 val_t variable0;
11108 val_t variable1;
11109 trace.prev = tracehead; tracehead = &trace;
11110 trace.file = LOCATE_parser_prod;
11111 variable0 = param0;
11112 ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/ = variable0 /*n*/;
11113 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11114 if (UNTAG_Bool(variable1)) { /*if*/
11115 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
11116 }
11117 tracehead = trace.prev;
11118 return;
11119 }
11120 void parser_prod___AForVardeclExpr___empty_init(val_t self, int* init_table) {
11121 struct trace_t trace = {NULL, NULL, 5675, LOCATE_parser_prod___AForVardeclExpr___empty_init};
11122 trace.prev = tracehead; tracehead = &trace;
11123 trace.file = LOCATE_parser_prod;
11124 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForVardeclExpr].i]) return;
11125 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForVardeclExpr].i] = 1;
11126 tracehead = trace.prev;
11127 return;
11128 }
11129 void parser_prod___AForVardeclExpr___init_aforvardeclexpr(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
11130 struct trace_t trace = {NULL, NULL, 5677, LOCATE_parser_prod___AForVardeclExpr___init_aforvardeclexpr};
11131 val_t variable0;
11132 val_t variable1;
11133 val_t variable2;
11134 val_t variable3;
11135 trace.prev = tracehead; tracehead = &trace;
11136 trace.file = LOCATE_parser_prod;
11137 variable0 = param0;
11138 variable1 = param1;
11139 variable2 = param2;
11140 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForVardeclExpr].i]) return;
11141 ((parser_prod___AForVardeclExpr___empty_init_t)CALL( self,COLOR_parser_prod___AForVardeclExpr___empty_init))( self, init_table /*YYY*/) /*AForVardeclExpr::empty_init*/;
11142 ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/ = variable0 /*n_kwfor*/;
11143 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwfor*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwfor*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwfor*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwfor*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwfor*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwfor*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11144 if (UNTAG_Bool(variable3)) { /*if*/
11145 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwfor*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwfor*/, self) /*PNode::parent=*/;
11146 }
11147 ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/ = variable1 /*n_id*/;
11148 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ == NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11149 if (UNTAG_Bool(variable3)) { /*if*/
11150 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/, self) /*PNode::parent=*/;
11151 }
11152 ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/ = variable2 /*n_expr*/;
11153 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_expr*/ == NIT_NULL /*null*/) || (( variable2 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11154 if (UNTAG_Bool(variable3)) { /*if*/
11155 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_expr*/, self) /*PNode::parent=*/;
11156 }
11157 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForVardeclExpr].i] = 1;
11158 tracehead = trace.prev;
11159 return;
11160 }
11161 void parser_prod___AForVardeclExpr___replace_child(val_t self, val_t param0, val_t param1) {
11162 struct trace_t trace = {NULL, NULL, 5698, LOCATE_parser_prod___AForVardeclExpr___replace_child};
11163 val_t variable0;
11164 val_t variable1;
11165 val_t variable2;
11166 trace.prev = tracehead; tracehead = &trace;
11167 trace.file = LOCATE_parser_prod;
11168 variable0 = param0;
11169 variable1 = param1;
11170 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11171 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AForVardeclExpr___replace_child, LOCATE_parser_prod, 5700); nit_exit(1);}
11172 variable2 = ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/;
11173 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
11174 if (UNTAG_Bool(variable2)) { /*if*/
11175 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11176 if (UNTAG_Bool(variable2)) { /*if*/
11177 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11178 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwfor, ID_TKwfor)) /*cast TKwfor*/;
11179 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AForVardeclExpr___replace_child, LOCATE_parser_prod, 5704); nit_exit(1);}
11180 ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/ = variable1 /*new_child*/;
11181 } else { /*if*/
11182 ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/ = NIT_NULL /*null*/;
11183 }
11184 goto return_label486;
11185 }
11186 variable2 = ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/;
11187 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
11188 if (UNTAG_Bool(variable2)) { /*if*/
11189 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11190 if (UNTAG_Bool(variable2)) { /*if*/
11191 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11192 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
11193 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AForVardeclExpr___replace_child, LOCATE_parser_prod, 5714); nit_exit(1);}
11194 ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/ = variable1 /*new_child*/;
11195 } else { /*if*/
11196 ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/ = NIT_NULL /*null*/;
11197 }
11198 goto return_label486;
11199 }
11200 variable2 = ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/;
11201 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
11202 if (UNTAG_Bool(variable2)) { /*if*/
11203 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11204 if (UNTAG_Bool(variable2)) { /*if*/
11205 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11206 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11207 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AForVardeclExpr___replace_child, LOCATE_parser_prod, 5724); nit_exit(1);}
11208 ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/ = variable1 /*new_child*/;
11209 } else { /*if*/
11210 ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/ = NIT_NULL /*null*/;
11211 }
11212 goto return_label486;
11213 }
11214 return_label486: while(false);
11215 tracehead = trace.prev;
11216 return;
11217 }
11218 void parser_prod___AForVardeclExpr___visit_all(val_t self, val_t param0) {
11219 struct trace_t trace = {NULL, NULL, 5733, LOCATE_parser_prod___AForVardeclExpr___visit_all};
11220 val_t variable0;
11221 val_t variable1;
11222 trace.prev = tracehead; tracehead = &trace;
11223 trace.file = LOCATE_parser_prod;
11224 variable0 = param0;
11225 variable1 = ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/;
11226 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11227 if (UNTAG_Bool(variable1)) { /*if*/
11228 variable1 = ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/;
11229 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11230 }
11231 variable1 = ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/;
11232 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11233 if (UNTAG_Bool(variable1)) { /*if*/
11234 variable1 = ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/;
11235 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11236 }
11237 variable1 = ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/;
11238 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11239 if (UNTAG_Bool(variable1)) { /*if*/
11240 variable1 = ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/;
11241 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11242 }
11243 tracehead = trace.prev;
11244 return;
11245 }
11246 void parser_prod___AForVardeclExpr___visit_all_reverse(val_t self, val_t param0) {
11247 struct trace_t trace = {NULL, NULL, 5746, LOCATE_parser_prod___AForVardeclExpr___visit_all_reverse};
11248 val_t variable0;
11249 val_t variable1;
11250 trace.prev = tracehead; tracehead = &trace;
11251 trace.file = LOCATE_parser_prod;
11252 variable0 = param0;
11253 variable1 = ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/;
11254 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11255 if (UNTAG_Bool(variable1)) { /*if*/
11256 variable1 = ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/;
11257 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11258 }
11259 variable1 = ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/;
11260 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11261 if (UNTAG_Bool(variable1)) { /*if*/
11262 variable1 = ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/;
11263 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11264 }
11265 variable1 = ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/;
11266 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11267 if (UNTAG_Bool(variable1)) { /*if*/
11268 variable1 = ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/;
11269 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11270 }
11271 tracehead = trace.prev;
11272 return;
11273 }
11274 void parser_prod___AAssertExpr___n_kwassert__eq(val_t self, val_t param0) {
11275 struct trace_t trace = {NULL, NULL, 5760, LOCATE_parser_prod___AAssertExpr___n_kwassert__eq};
11276 val_t variable0;
11277 val_t variable1;
11278 trace.prev = tracehead; tracehead = &trace;
11279 trace.file = LOCATE_parser_prod;
11280 variable0 = param0;
11281 ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/ = variable0 /*n*/;
11282 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11283 if (UNTAG_Bool(variable1)) { /*if*/
11284 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
11285 }
11286 tracehead = trace.prev;
11287 return;
11288 }
11289 void parser_prod___AAssertExpr___n_id__eq(val_t self, val_t param0) {
11290 struct trace_t trace = {NULL, NULL, 5767, LOCATE_parser_prod___AAssertExpr___n_id__eq};
11291 val_t variable0;
11292 val_t variable1;
11293 trace.prev = tracehead; tracehead = &trace;
11294 trace.file = LOCATE_parser_prod;
11295 variable0 = param0;
11296 ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/ = variable0 /*n*/;
11297 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11298 if (UNTAG_Bool(variable1)) { /*if*/
11299 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
11300 }
11301 tracehead = trace.prev;
11302 return;
11303 }
11304 void parser_prod___AAssertExpr___n_expr__eq(val_t self, val_t param0) {
11305 struct trace_t trace = {NULL, NULL, 5774, LOCATE_parser_prod___AAssertExpr___n_expr__eq};
11306 val_t variable0;
11307 val_t variable1;
11308 trace.prev = tracehead; tracehead = &trace;
11309 trace.file = LOCATE_parser_prod;
11310 variable0 = param0;
11311 ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/ = variable0 /*n*/;
11312 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11313 if (UNTAG_Bool(variable1)) { /*if*/
11314 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
11315 }
11316 tracehead = trace.prev;
11317 return;
11318 }
11319 void parser_prod___AAssertExpr___empty_init(val_t self, int* init_table) {
11320 struct trace_t trace = {NULL, NULL, 5782, LOCATE_parser_prod___AAssertExpr___empty_init};
11321 trace.prev = tracehead; tracehead = &trace;
11322 trace.file = LOCATE_parser_prod;
11323 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssertExpr].i]) return;
11324 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssertExpr].i] = 1;
11325 tracehead = trace.prev;
11326 return;
11327 }
11328 void parser_prod___AAssertExpr___init_aassertexpr(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
11329 struct trace_t trace = {NULL, NULL, 5784, LOCATE_parser_prod___AAssertExpr___init_aassertexpr};
11330 val_t variable0;
11331 val_t variable1;
11332 val_t variable2;
11333 val_t variable3;
11334 trace.prev = tracehead; tracehead = &trace;
11335 trace.file = LOCATE_parser_prod;
11336 variable0 = param0;
11337 variable1 = param1;
11338 variable2 = param2;
11339 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssertExpr].i]) return;
11340 ((parser_prod___AAssertExpr___empty_init_t)CALL( self,COLOR_parser_prod___AAssertExpr___empty_init))( self, init_table /*YYY*/) /*AAssertExpr::empty_init*/;
11341 ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/ = variable0 /*n_kwassert*/;
11342 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwassert*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwassert*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwassert*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwassert*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwassert*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwassert*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11343 if (UNTAG_Bool(variable3)) { /*if*/
11344 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwassert*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwassert*/, self) /*PNode::parent=*/;
11345 }
11346 ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/ = variable1 /*n_id*/;
11347 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ == NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11348 if (UNTAG_Bool(variable3)) { /*if*/
11349 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/, self) /*PNode::parent=*/;
11350 }
11351 ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/ = variable2 /*n_expr*/;
11352 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_expr*/ == NIT_NULL /*null*/) || (( variable2 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11353 if (UNTAG_Bool(variable3)) { /*if*/
11354 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_expr*/, self) /*PNode::parent=*/;
11355 }
11356 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssertExpr].i] = 1;
11357 tracehead = trace.prev;
11358 return;
11359 }
11360 void parser_prod___AAssertExpr___replace_child(val_t self, val_t param0, val_t param1) {
11361 struct trace_t trace = {NULL, NULL, 5805, LOCATE_parser_prod___AAssertExpr___replace_child};
11362 val_t variable0;
11363 val_t variable1;
11364 val_t variable2;
11365 trace.prev = tracehead; tracehead = &trace;
11366 trace.file = LOCATE_parser_prod;
11367 variable0 = param0;
11368 variable1 = param1;
11369 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11370 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAssertExpr___replace_child, LOCATE_parser_prod, 5807); nit_exit(1);}
11371 variable2 = ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/;
11372 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
11373 if (UNTAG_Bool(variable2)) { /*if*/
11374 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11375 if (UNTAG_Bool(variable2)) { /*if*/
11376 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11377 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwassert, ID_TKwassert)) /*cast TKwassert*/;
11378 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAssertExpr___replace_child, LOCATE_parser_prod, 5811); nit_exit(1);}
11379 ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/ = variable1 /*new_child*/;
11380 } else { /*if*/
11381 ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/ = NIT_NULL /*null*/;
11382 }
11383 goto return_label494;
11384 }
11385 variable2 = ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/;
11386 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
11387 if (UNTAG_Bool(variable2)) { /*if*/
11388 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11389 if (UNTAG_Bool(variable2)) { /*if*/
11390 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11391 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
11392 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAssertExpr___replace_child, LOCATE_parser_prod, 5821); nit_exit(1);}
11393 ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/ = variable1 /*new_child*/;
11394 } else { /*if*/
11395 ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/ = NIT_NULL /*null*/;
11396 }
11397 goto return_label494;
11398 }
11399 variable2 = ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/;
11400 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
11401 if (UNTAG_Bool(variable2)) { /*if*/
11402 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11403 if (UNTAG_Bool(variable2)) { /*if*/
11404 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11405 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11406 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAssertExpr___replace_child, LOCATE_parser_prod, 5831); nit_exit(1);}
11407 ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/ = variable1 /*new_child*/;
11408 } else { /*if*/
11409 ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/ = NIT_NULL /*null*/;
11410 }
11411 goto return_label494;
11412 }
11413 return_label494: while(false);
11414 tracehead = trace.prev;
11415 return;
11416 }
11417 void parser_prod___AAssertExpr___visit_all(val_t self, val_t param0) {
11418 struct trace_t trace = {NULL, NULL, 5840, LOCATE_parser_prod___AAssertExpr___visit_all};
11419 val_t variable0;
11420 val_t variable1;
11421 trace.prev = tracehead; tracehead = &trace;
11422 trace.file = LOCATE_parser_prod;
11423 variable0 = param0;
11424 variable1 = ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/;
11425 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11426 if (UNTAG_Bool(variable1)) { /*if*/
11427 variable1 = ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/;
11428 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11429 }
11430 variable1 = ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/;
11431 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11432 if (UNTAG_Bool(variable1)) { /*if*/
11433 variable1 = ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/;
11434 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11435 }
11436 variable1 = ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/;
11437 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11438 if (UNTAG_Bool(variable1)) { /*if*/
11439 variable1 = ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/;
11440 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11441 }
11442 tracehead = trace.prev;
11443 return;
11444 }
11445 void parser_prod___AAssertExpr___visit_all_reverse(val_t self, val_t param0) {
11446 struct trace_t trace = {NULL, NULL, 5853, LOCATE_parser_prod___AAssertExpr___visit_all_reverse};
11447 val_t variable0;
11448 val_t variable1;
11449 trace.prev = tracehead; tracehead = &trace;
11450 trace.file = LOCATE_parser_prod;
11451 variable0 = param0;
11452 variable1 = ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/;
11453 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11454 if (UNTAG_Bool(variable1)) { /*if*/
11455 variable1 = ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/;
11456 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11457 }
11458 variable1 = ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/;
11459 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11460 if (UNTAG_Bool(variable1)) { /*if*/
11461 variable1 = ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/;
11462 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11463 }
11464 variable1 = ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/;
11465 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11466 if (UNTAG_Bool(variable1)) { /*if*/
11467 variable1 = ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/;
11468 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11469 }
11470 tracehead = trace.prev;
11471 return;
11472 }
11473 void parser_prod___AOnceExpr___n_kwonce__eq(val_t self, val_t param0) {
11474 struct trace_t trace = {NULL, NULL, 5867, LOCATE_parser_prod___AOnceExpr___n_kwonce__eq};
11475 val_t variable0;
11476 val_t variable1;
11477 trace.prev = tracehead; tracehead = &trace;
11478 trace.file = LOCATE_parser_prod;
11479 variable0 = param0;
11480 ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/ = variable0 /*n*/;
11481 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11482 if (UNTAG_Bool(variable1)) { /*if*/
11483 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
11484 }
11485 tracehead = trace.prev;
11486 return;
11487 }
11488 void parser_prod___AOnceExpr___n_expr__eq(val_t self, val_t param0) {
11489 struct trace_t trace = {NULL, NULL, 5874, LOCATE_parser_prod___AOnceExpr___n_expr__eq};
11490 val_t variable0;
11491 val_t variable1;
11492 trace.prev = tracehead; tracehead = &trace;
11493 trace.file = LOCATE_parser_prod;
11494 variable0 = param0;
11495 ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ = variable0 /*n*/;
11496 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11497 if (UNTAG_Bool(variable1)) { /*if*/
11498 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
11499 }
11500 tracehead = trace.prev;
11501 return;
11502 }
11503 void parser_prod___AOnceExpr___empty_init(val_t self, int* init_table) {
11504 struct trace_t trace = {NULL, NULL, 5882, LOCATE_parser_prod___AOnceExpr___empty_init};
11505 trace.prev = tracehead; tracehead = &trace;
11506 trace.file = LOCATE_parser_prod;
11507 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOnceExpr].i]) return;
11508 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOnceExpr].i] = 1;
11509 tracehead = trace.prev;
11510 return;
11511 }
11512 void parser_prod___AOnceExpr___init_aonceexpr(val_t self, val_t param0, val_t param1, int* init_table) {
11513 struct trace_t trace = {NULL, NULL, 5884, LOCATE_parser_prod___AOnceExpr___init_aonceexpr};
11514 val_t variable0;
11515 val_t variable1;
11516 val_t variable2;
11517 trace.prev = tracehead; tracehead = &trace;
11518 trace.file = LOCATE_parser_prod;
11519 variable0 = param0;
11520 variable1 = param1;
11521 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOnceExpr].i]) return;
11522 ((parser_prod___AOnceExpr___empty_init_t)CALL( self,COLOR_parser_prod___AOnceExpr___empty_init))( self, init_table /*YYY*/) /*AOnceExpr::empty_init*/;
11523 ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/ = variable0 /*n_kwonce*/;
11524 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwonce*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwonce*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwonce*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwonce*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwonce*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwonce*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11525 if (UNTAG_Bool(variable2)) { /*if*/
11526 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwonce*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwonce*/, self) /*PNode::parent=*/;
11527 }
11528 ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ = variable1 /*n_expr*/;
11529 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11530 if (UNTAG_Bool(variable2)) { /*if*/
11531 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/, self) /*PNode::parent=*/;
11532 }
11533 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOnceExpr].i] = 1;
11534 tracehead = trace.prev;
11535 return;
11536 }
11537 void parser_prod___AOnceExpr___replace_child(val_t self, val_t param0, val_t param1) {
11538 struct trace_t trace = {NULL, NULL, 5900, LOCATE_parser_prod___AOnceExpr___replace_child};
11539 val_t variable0;
11540 val_t variable1;
11541 val_t variable2;
11542 trace.prev = tracehead; tracehead = &trace;
11543 trace.file = LOCATE_parser_prod;
11544 variable0 = param0;
11545 variable1 = param1;
11546 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11547 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOnceExpr___replace_child, LOCATE_parser_prod, 5902); nit_exit(1);}
11548 variable2 = ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/;
11549 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
11550 if (UNTAG_Bool(variable2)) { /*if*/
11551 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11552 if (UNTAG_Bool(variable2)) { /*if*/
11553 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11554 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/;
11555 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOnceExpr___replace_child, LOCATE_parser_prod, 5906); nit_exit(1);}
11556 ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/ = variable1 /*new_child*/;
11557 } else { /*if*/
11558 ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/ = NIT_NULL /*null*/;
11559 }
11560 goto return_label501;
11561 }
11562 variable2 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/;
11563 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
11564 if (UNTAG_Bool(variable2)) { /*if*/
11565 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11566 if (UNTAG_Bool(variable2)) { /*if*/
11567 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11568 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11569 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOnceExpr___replace_child, LOCATE_parser_prod, 5916); nit_exit(1);}
11570 ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ = variable1 /*new_child*/;
11571 } else { /*if*/
11572 ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ = NIT_NULL /*null*/;
11573 }
11574 goto return_label501;
11575 }
11576 return_label501: while(false);
11577 tracehead = trace.prev;
11578 return;
11579 }
11580 void parser_prod___AOnceExpr___visit_all(val_t self, val_t param0) {
11581 struct trace_t trace = {NULL, NULL, 5925, LOCATE_parser_prod___AOnceExpr___visit_all};
11582 val_t variable0;
11583 val_t variable1;
11584 trace.prev = tracehead; tracehead = &trace;
11585 trace.file = LOCATE_parser_prod;
11586 variable0 = param0;
11587 variable1 = ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/;
11588 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11589 if (UNTAG_Bool(variable1)) { /*if*/
11590 variable1 = ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/;
11591 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11592 }
11593 variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/;
11594 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11595 if (UNTAG_Bool(variable1)) { /*if*/
11596 variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/;
11597 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11598 }
11599 tracehead = trace.prev;
11600 return;
11601 }
11602 void parser_prod___AOnceExpr___visit_all_reverse(val_t self, val_t param0) {
11603 struct trace_t trace = {NULL, NULL, 5935, LOCATE_parser_prod___AOnceExpr___visit_all_reverse};
11604 val_t variable0;
11605 val_t variable1;
11606 trace.prev = tracehead; tracehead = &trace;
11607 trace.file = LOCATE_parser_prod;
11608 variable0 = param0;
11609 variable1 = ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/;
11610 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11611 if (UNTAG_Bool(variable1)) { /*if*/
11612 variable1 = ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/;
11613 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11614 }
11615 variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/;
11616 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11617 if (UNTAG_Bool(variable1)) { /*if*/
11618 variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/;
11619 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11620 }
11621 tracehead = trace.prev;
11622 return;
11623 }
11624 void parser_prod___ASendExpr___n_expr__eq(val_t self, val_t param0) {
11625 struct trace_t trace = {NULL, NULL, 5946, LOCATE_parser_prod___ASendExpr___n_expr__eq};
11626 val_t variable0;
11627 val_t variable1;
11628 trace.prev = tracehead; tracehead = &trace;
11629 trace.file = LOCATE_parser_prod;
11630 variable0 = param0;
11631 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n*/;
11632 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11633 if (UNTAG_Bool(variable1)) { /*if*/
11634 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
11635 }
11636 tracehead = trace.prev;
11637 return;
11638 }
11639 void parser_prod___ASendExpr___empty_init(val_t self, int* init_table) {
11640 struct trace_t trace = {NULL, NULL, 5954, LOCATE_parser_prod___ASendExpr___empty_init};
11641 trace.prev = tracehead; tracehead = &trace;
11642 trace.file = LOCATE_parser_prod;
11643 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASendExpr].i]) return;
11644 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASendExpr].i] = 1;
11645 tracehead = trace.prev;
11646 return;
11647 }
11648 void parser_prod___ASendExpr___init_asendexpr(val_t self, val_t param0, int* init_table) {
11649 struct trace_t trace = {NULL, NULL, 5956, LOCATE_parser_prod___ASendExpr___init_asendexpr};
11650 val_t variable0;
11651 val_t variable1;
11652 trace.prev = tracehead; tracehead = &trace;
11653 trace.file = LOCATE_parser_prod;
11654 variable0 = param0;
11655 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASendExpr].i]) return;
11656 ((parser_prod___ASendExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASendExpr___empty_init))( self, init_table /*YYY*/) /*ASendExpr::empty_init*/;
11657 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n_expr*/;
11658 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11659 if (UNTAG_Bool(variable1)) { /*if*/
11660 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
11661 }
11662 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASendExpr].i] = 1;
11663 tracehead = trace.prev;
11664 return;
11665 }
11666 void parser_prod___ASendExpr___replace_child(val_t self, val_t param0, val_t param1) {
11667 struct trace_t trace = {NULL, NULL, 5967, LOCATE_parser_prod___ASendExpr___replace_child};
11668 val_t variable0;
11669 val_t variable1;
11670 val_t variable2;
11671 trace.prev = tracehead; tracehead = &trace;
11672 trace.file = LOCATE_parser_prod;
11673 variable0 = param0;
11674 variable1 = param1;
11675 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11676 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASendExpr___replace_child, LOCATE_parser_prod, 5969); nit_exit(1);}
11677 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
11678 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
11679 if (UNTAG_Bool(variable2)) { /*if*/
11680 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11681 if (UNTAG_Bool(variable2)) { /*if*/
11682 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11683 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11684 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASendExpr___replace_child, LOCATE_parser_prod, 5973); nit_exit(1);}
11685 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable1 /*new_child*/;
11686 } else { /*if*/
11687 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = NIT_NULL /*null*/;
11688 }
11689 goto return_label507;
11690 }
11691 return_label507: while(false);
11692 tracehead = trace.prev;
11693 return;
11694 }
11695 void parser_prod___ASendExpr___visit_all(val_t self, val_t param0) {
11696 struct trace_t trace = {NULL, NULL, 5982, LOCATE_parser_prod___ASendExpr___visit_all};
11697 val_t variable0;
11698 val_t variable1;
11699 trace.prev = tracehead; tracehead = &trace;
11700 trace.file = LOCATE_parser_prod;
11701 variable0 = param0;
11702 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
11703 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11704 if (UNTAG_Bool(variable1)) { /*if*/
11705 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
11706 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11707 }
11708 tracehead = trace.prev;
11709 return;
11710 }
11711 void parser_prod___ASendExpr___visit_all_reverse(val_t self, val_t param0) {
11712 struct trace_t trace = {NULL, NULL, 5989, LOCATE_parser_prod___ASendExpr___visit_all_reverse};
11713 val_t variable0;
11714 val_t variable1;
11715 trace.prev = tracehead; tracehead = &trace;
11716 trace.file = LOCATE_parser_prod;
11717 variable0 = param0;
11718 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
11719 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11720 if (UNTAG_Bool(variable1)) { /*if*/
11721 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
11722 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11723 }
11724 tracehead = trace.prev;
11725 return;
11726 }
11727 void parser_prod___ABinopExpr___n_expr__eq(val_t self, val_t param0) {
11728 struct trace_t trace = {NULL, NULL, 5997, LOCATE_parser_prod___ABinopExpr___n_expr__eq};
11729 val_t variable0;
11730 val_t variable1;
11731 trace.prev = tracehead; tracehead = &trace;
11732 trace.file = LOCATE_parser_prod;
11733 variable0 = param0;
11734 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n*/;
11735 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11736 if (UNTAG_Bool(variable1)) { /*if*/
11737 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
11738 }
11739 tracehead = trace.prev;
11740 return;
11741 }
11742 void parser_prod___ABinopExpr___n_expr2__eq(val_t self, val_t param0) {
11743 struct trace_t trace = {NULL, NULL, 6004, LOCATE_parser_prod___ABinopExpr___n_expr2__eq};
11744 val_t variable0;
11745 val_t variable1;
11746 trace.prev = tracehead; tracehead = &trace;
11747 trace.file = LOCATE_parser_prod;
11748 variable0 = param0;
11749 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable0 /*n*/;
11750 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11751 if (UNTAG_Bool(variable1)) { /*if*/
11752 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
11753 }
11754 tracehead = trace.prev;
11755 return;
11756 }
11757 void parser_prod___ABinopExpr___empty_init(val_t self, int* init_table) {
11758 struct trace_t trace = {NULL, NULL, 6012, LOCATE_parser_prod___ABinopExpr___empty_init};
11759 trace.prev = tracehead; tracehead = &trace;
11760 trace.file = LOCATE_parser_prod;
11761 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABinopExpr].i]) return;
11762 ((parser_prod___ASendExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASendExpr___empty_init))( self, init_table /*YYY*/) /*ASendExpr::empty_init*/;
11763 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABinopExpr].i] = 1;
11764 tracehead = trace.prev;
11765 return;
11766 }
11767 void parser_prod___ABinopExpr___init_abinopexpr(val_t self, val_t param0, val_t param1, int* init_table) {
11768 struct trace_t trace = {NULL, NULL, 6014, LOCATE_parser_prod___ABinopExpr___init_abinopexpr};
11769 val_t variable0;
11770 val_t variable1;
11771 val_t variable2;
11772 trace.prev = tracehead; tracehead = &trace;
11773 trace.file = LOCATE_parser_prod;
11774 variable0 = param0;
11775 variable1 = param1;
11776 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABinopExpr].i]) return;
11777 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
11778 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n_expr*/;
11779 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11780 if (UNTAG_Bool(variable2)) { /*if*/
11781 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
11782 }
11783 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*n_expr2*/;
11784 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11785 if (UNTAG_Bool(variable2)) { /*if*/
11786 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PNode::parent=*/;
11787 }
11788 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABinopExpr].i] = 1;
11789 tracehead = trace.prev;
11790 return;
11791 }
11792 void parser_prod___ABinopExpr___replace_child(val_t self, val_t param0, val_t param1) {
11793 struct trace_t trace = {NULL, NULL, 6030, LOCATE_parser_prod___ABinopExpr___replace_child};
11794 val_t variable0;
11795 val_t variable1;
11796 val_t variable2;
11797 trace.prev = tracehead; tracehead = &trace;
11798 trace.file = LOCATE_parser_prod;
11799 variable0 = param0;
11800 variable1 = param1;
11801 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11802 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABinopExpr___replace_child, LOCATE_parser_prod, 6032); nit_exit(1);}
11803 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
11804 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
11805 if (UNTAG_Bool(variable2)) { /*if*/
11806 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11807 if (UNTAG_Bool(variable2)) { /*if*/
11808 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11809 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11810 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABinopExpr___replace_child, LOCATE_parser_prod, 6036); nit_exit(1);}
11811 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable1 /*new_child*/;
11812 } else { /*if*/
11813 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = NIT_NULL /*null*/;
11814 }
11815 goto return_label514;
11816 }
11817 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
11818 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
11819 if (UNTAG_Bool(variable2)) { /*if*/
11820 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11821 if (UNTAG_Bool(variable2)) { /*if*/
11822 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11823 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11824 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABinopExpr___replace_child, LOCATE_parser_prod, 6046); nit_exit(1);}
11825 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*new_child*/;
11826 } else { /*if*/
11827 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = NIT_NULL /*null*/;
11828 }
11829 goto return_label514;
11830 }
11831 return_label514: while(false);
11832 tracehead = trace.prev;
11833 return;
11834 }
11835 void parser_prod___ABinopExpr___visit_all(val_t self, val_t param0) {
11836 struct trace_t trace = {NULL, NULL, 6055, LOCATE_parser_prod___ABinopExpr___visit_all};
11837 val_t variable0;
11838 val_t variable1;
11839 trace.prev = tracehead; tracehead = &trace;
11840 trace.file = LOCATE_parser_prod;
11841 variable0 = param0;
11842 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
11843 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11844 if (UNTAG_Bool(variable1)) { /*if*/
11845 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
11846 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11847 }
11848 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
11849 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11850 if (UNTAG_Bool(variable1)) { /*if*/
11851 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
11852 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11853 }
11854 tracehead = trace.prev;
11855 return;
11856 }
11857 void parser_prod___ABinopExpr___visit_all_reverse(val_t self, val_t param0) {
11858 struct trace_t trace = {NULL, NULL, 6065, LOCATE_parser_prod___ABinopExpr___visit_all_reverse};
11859 val_t variable0;
11860 val_t variable1;
11861 trace.prev = tracehead; tracehead = &trace;
11862 trace.file = LOCATE_parser_prod;
11863 variable0 = param0;
11864 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
11865 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11866 if (UNTAG_Bool(variable1)) { /*if*/
11867 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
11868 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11869 }
11870 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
11871 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11872 if (UNTAG_Bool(variable1)) { /*if*/
11873 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
11874 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11875 }
11876 tracehead = trace.prev;
11877 return;
11878 }
11879 void parser_prod___AOrExpr___n_expr__eq(val_t self, val_t param0) {
11880 struct trace_t trace = {NULL, NULL, 6076, LOCATE_parser_prod___AOrExpr___n_expr__eq};
11881 val_t variable0;
11882 val_t variable1;
11883 trace.prev = tracehead; tracehead = &trace;
11884 trace.file = LOCATE_parser_prod;
11885 variable0 = param0;
11886 ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/ = variable0 /*n*/;
11887 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11888 if (UNTAG_Bool(variable1)) { /*if*/
11889 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
11890 }
11891 tracehead = trace.prev;
11892 return;
11893 }
11894 void parser_prod___AOrExpr___n_expr2__eq(val_t self, val_t param0) {
11895 struct trace_t trace = {NULL, NULL, 6083, LOCATE_parser_prod___AOrExpr___n_expr2__eq};
11896 val_t variable0;
11897 val_t variable1;
11898 trace.prev = tracehead; tracehead = &trace;
11899 trace.file = LOCATE_parser_prod;
11900 variable0 = param0;
11901 ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/ = variable0 /*n*/;
11902 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11903 if (UNTAG_Bool(variable1)) { /*if*/
11904 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
11905 }
11906 tracehead = trace.prev;
11907 return;
11908 }
11909 void parser_prod___AOrExpr___empty_init(val_t self, int* init_table) {
11910 struct trace_t trace = {NULL, NULL, 6091, LOCATE_parser_prod___AOrExpr___empty_init};
11911 trace.prev = tracehead; tracehead = &trace;
11912 trace.file = LOCATE_parser_prod;
11913 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrExpr].i]) return;
11914 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrExpr].i] = 1;
11915 tracehead = trace.prev;
11916 return;
11917 }
11918 void parser_prod___AOrExpr___init_aorexpr(val_t self, val_t param0, val_t param1, int* init_table) {
11919 struct trace_t trace = {NULL, NULL, 6093, LOCATE_parser_prod___AOrExpr___init_aorexpr};
11920 val_t variable0;
11921 val_t variable1;
11922 val_t variable2;
11923 trace.prev = tracehead; tracehead = &trace;
11924 trace.file = LOCATE_parser_prod;
11925 variable0 = param0;
11926 variable1 = param1;
11927 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrExpr].i]) return;
11928 ((parser_prod___AOrExpr___empty_init_t)CALL( self,COLOR_parser_prod___AOrExpr___empty_init))( self, init_table /*YYY*/) /*AOrExpr::empty_init*/;
11929 ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/ = variable0 /*n_expr*/;
11930 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11931 if (UNTAG_Bool(variable2)) { /*if*/
11932 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
11933 }
11934 ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/ = variable1 /*n_expr2*/;
11935 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11936 if (UNTAG_Bool(variable2)) { /*if*/
11937 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PNode::parent=*/;
11938 }
11939 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrExpr].i] = 1;
11940 tracehead = trace.prev;
11941 return;
11942 }
11943 void parser_prod___AOrExpr___replace_child(val_t self, val_t param0, val_t param1) {
11944 struct trace_t trace = {NULL, NULL, 6109, LOCATE_parser_prod___AOrExpr___replace_child};
11945 val_t variable0;
11946 val_t variable1;
11947 val_t variable2;
11948 trace.prev = tracehead; tracehead = &trace;
11949 trace.file = LOCATE_parser_prod;
11950 variable0 = param0;
11951 variable1 = param1;
11952 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11953 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOrExpr___replace_child, LOCATE_parser_prod, 6111); nit_exit(1);}
11954 variable2 = ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/;
11955 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
11956 if (UNTAG_Bool(variable2)) { /*if*/
11957 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11958 if (UNTAG_Bool(variable2)) { /*if*/
11959 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11960 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11961 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOrExpr___replace_child, LOCATE_parser_prod, 6115); nit_exit(1);}
11962 ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/ = variable1 /*new_child*/;
11963 } else { /*if*/
11964 ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/ = NIT_NULL /*null*/;
11965 }
11966 goto return_label521;
11967 }
11968 variable2 = ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/;
11969 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
11970 if (UNTAG_Bool(variable2)) { /*if*/
11971 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
11972 if (UNTAG_Bool(variable2)) { /*if*/
11973 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11974 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11975 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOrExpr___replace_child, LOCATE_parser_prod, 6125); nit_exit(1);}
11976 ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/ = variable1 /*new_child*/;
11977 } else { /*if*/
11978 ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/ = NIT_NULL /*null*/;
11979 }
11980 goto return_label521;
11981 }
11982 return_label521: while(false);
11983 tracehead = trace.prev;
11984 return;
11985 }
11986 void parser_prod___AOrExpr___visit_all(val_t self, val_t param0) {
11987 struct trace_t trace = {NULL, NULL, 6134, LOCATE_parser_prod___AOrExpr___visit_all};
11988 val_t variable0;
11989 val_t variable1;
11990 trace.prev = tracehead; tracehead = &trace;
11991 trace.file = LOCATE_parser_prod;
11992 variable0 = param0;
11993 variable1 = ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/;
11994 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
11995 if (UNTAG_Bool(variable1)) { /*if*/
11996 variable1 = ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/;
11997 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11998 }
11999 variable1 = ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/;
12000 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12001 if (UNTAG_Bool(variable1)) { /*if*/
12002 variable1 = ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/;
12003 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12004 }
12005 tracehead = trace.prev;
12006 return;
12007 }
12008 void parser_prod___AOrExpr___visit_all_reverse(val_t self, val_t param0) {
12009 struct trace_t trace = {NULL, NULL, 6144, LOCATE_parser_prod___AOrExpr___visit_all_reverse};
12010 val_t variable0;
12011 val_t variable1;
12012 trace.prev = tracehead; tracehead = &trace;
12013 trace.file = LOCATE_parser_prod;
12014 variable0 = param0;
12015 variable1 = ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/;
12016 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12017 if (UNTAG_Bool(variable1)) { /*if*/
12018 variable1 = ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/;
12019 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12020 }
12021 variable1 = ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/;
12022 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12023 if (UNTAG_Bool(variable1)) { /*if*/
12024 variable1 = ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/;
12025 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12026 }
12027 tracehead = trace.prev;
12028 return;
12029 }
12030 void parser_prod___AAndExpr___n_expr__eq(val_t self, val_t param0) {
12031 struct trace_t trace = {NULL, NULL, 6155, LOCATE_parser_prod___AAndExpr___n_expr__eq};
12032 val_t variable0;
12033 val_t variable1;
12034 trace.prev = tracehead; tracehead = &trace;
12035 trace.file = LOCATE_parser_prod;
12036 variable0 = param0;
12037 ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/ = variable0 /*n*/;
12038 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12039 if (UNTAG_Bool(variable1)) { /*if*/
12040 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
12041 }
12042 tracehead = trace.prev;
12043 return;
12044 }
12045 void parser_prod___AAndExpr___n_expr2__eq(val_t self, val_t param0) {
12046 struct trace_t trace = {NULL, NULL, 6162, LOCATE_parser_prod___AAndExpr___n_expr2__eq};
12047 val_t variable0;
12048 val_t variable1;
12049 trace.prev = tracehead; tracehead = &trace;
12050 trace.file = LOCATE_parser_prod;
12051 variable0 = param0;
12052 ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/ = variable0 /*n*/;
12053 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12054 if (UNTAG_Bool(variable1)) { /*if*/
12055 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
12056 }
12057 tracehead = trace.prev;
12058 return;
12059 }
12060 void parser_prod___AAndExpr___empty_init(val_t self, int* init_table) {
12061 struct trace_t trace = {NULL, NULL, 6170, LOCATE_parser_prod___AAndExpr___empty_init};
12062 trace.prev = tracehead; tracehead = &trace;
12063 trace.file = LOCATE_parser_prod;
12064 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAndExpr].i]) return;
12065 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAndExpr].i] = 1;
12066 tracehead = trace.prev;
12067 return;
12068 }
12069 void parser_prod___AAndExpr___init_aandexpr(val_t self, val_t param0, val_t param1, int* init_table) {
12070 struct trace_t trace = {NULL, NULL, 6172, LOCATE_parser_prod___AAndExpr___init_aandexpr};
12071 val_t variable0;
12072 val_t variable1;
12073 val_t variable2;
12074 trace.prev = tracehead; tracehead = &trace;
12075 trace.file = LOCATE_parser_prod;
12076 variable0 = param0;
12077 variable1 = param1;
12078 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAndExpr].i]) return;
12079 ((parser_prod___AAndExpr___empty_init_t)CALL( self,COLOR_parser_prod___AAndExpr___empty_init))( self, init_table /*YYY*/) /*AAndExpr::empty_init*/;
12080 ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/ = variable0 /*n_expr*/;
12081 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12082 if (UNTAG_Bool(variable2)) { /*if*/
12083 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
12084 }
12085 ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/ = variable1 /*n_expr2*/;
12086 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12087 if (UNTAG_Bool(variable2)) { /*if*/
12088 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PNode::parent=*/;
12089 }
12090 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAndExpr].i] = 1;
12091 tracehead = trace.prev;
12092 return;
12093 }
12094 void parser_prod___AAndExpr___replace_child(val_t self, val_t param0, val_t param1) {
12095 struct trace_t trace = {NULL, NULL, 6188, LOCATE_parser_prod___AAndExpr___replace_child};
12096 val_t variable0;
12097 val_t variable1;
12098 val_t variable2;
12099 trace.prev = tracehead; tracehead = &trace;
12100 trace.file = LOCATE_parser_prod;
12101 variable0 = param0;
12102 variable1 = param1;
12103 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12104 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAndExpr___replace_child, LOCATE_parser_prod, 6190); nit_exit(1);}
12105 variable2 = ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/;
12106 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
12107 if (UNTAG_Bool(variable2)) { /*if*/
12108 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12109 if (UNTAG_Bool(variable2)) { /*if*/
12110 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12111 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12112 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAndExpr___replace_child, LOCATE_parser_prod, 6194); nit_exit(1);}
12113 ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/ = variable1 /*new_child*/;
12114 } else { /*if*/
12115 ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/ = NIT_NULL /*null*/;
12116 }
12117 goto return_label528;
12118 }
12119 variable2 = ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/;
12120 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
12121 if (UNTAG_Bool(variable2)) { /*if*/
12122 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12123 if (UNTAG_Bool(variable2)) { /*if*/
12124 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12125 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12126 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAndExpr___replace_child, LOCATE_parser_prod, 6204); nit_exit(1);}
12127 ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/ = variable1 /*new_child*/;
12128 } else { /*if*/
12129 ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/ = NIT_NULL /*null*/;
12130 }
12131 goto return_label528;
12132 }
12133 return_label528: while(false);
12134 tracehead = trace.prev;
12135 return;
12136 }
12137 void parser_prod___AAndExpr___visit_all(val_t self, val_t param0) {
12138 struct trace_t trace = {NULL, NULL, 6213, LOCATE_parser_prod___AAndExpr___visit_all};
12139 val_t variable0;
12140 val_t variable1;
12141 trace.prev = tracehead; tracehead = &trace;
12142 trace.file = LOCATE_parser_prod;
12143 variable0 = param0;
12144 variable1 = ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/;
12145 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12146 if (UNTAG_Bool(variable1)) { /*if*/
12147 variable1 = ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/;
12148 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12149 }
12150 variable1 = ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/;
12151 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12152 if (UNTAG_Bool(variable1)) { /*if*/
12153 variable1 = ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/;
12154 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12155 }
12156 tracehead = trace.prev;
12157 return;
12158 }
12159 void parser_prod___AAndExpr___visit_all_reverse(val_t self, val_t param0) {
12160 struct trace_t trace = {NULL, NULL, 6223, LOCATE_parser_prod___AAndExpr___visit_all_reverse};
12161 val_t variable0;
12162 val_t variable1;
12163 trace.prev = tracehead; tracehead = &trace;
12164 trace.file = LOCATE_parser_prod;
12165 variable0 = param0;
12166 variable1 = ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/;
12167 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12168 if (UNTAG_Bool(variable1)) { /*if*/
12169 variable1 = ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/;
12170 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12171 }
12172 variable1 = ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/;
12173 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12174 if (UNTAG_Bool(variable1)) { /*if*/
12175 variable1 = ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/;
12176 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12177 }
12178 tracehead = trace.prev;
12179 return;
12180 }
12181 void parser_prod___ANotExpr___n_kwnot__eq(val_t self, val_t param0) {
12182 struct trace_t trace = {NULL, NULL, 6234, LOCATE_parser_prod___ANotExpr___n_kwnot__eq};
12183 val_t variable0;
12184 val_t variable1;
12185 trace.prev = tracehead; tracehead = &trace;
12186 trace.file = LOCATE_parser_prod;
12187 variable0 = param0;
12188 ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/ = variable0 /*n*/;
12189 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12190 if (UNTAG_Bool(variable1)) { /*if*/
12191 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
12192 }
12193 tracehead = trace.prev;
12194 return;
12195 }
12196 void parser_prod___ANotExpr___n_expr__eq(val_t self, val_t param0) {
12197 struct trace_t trace = {NULL, NULL, 6241, LOCATE_parser_prod___ANotExpr___n_expr__eq};
12198 val_t variable0;
12199 val_t variable1;
12200 trace.prev = tracehead; tracehead = &trace;
12201 trace.file = LOCATE_parser_prod;
12202 variable0 = param0;
12203 ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/ = variable0 /*n*/;
12204 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12205 if (UNTAG_Bool(variable1)) { /*if*/
12206 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
12207 }
12208 tracehead = trace.prev;
12209 return;
12210 }
12211 void parser_prod___ANotExpr___empty_init(val_t self, int* init_table) {
12212 struct trace_t trace = {NULL, NULL, 6249, LOCATE_parser_prod___ANotExpr___empty_init};
12213 trace.prev = tracehead; tracehead = &trace;
12214 trace.file = LOCATE_parser_prod;
12215 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANotExpr].i]) return;
12216 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANotExpr].i] = 1;
12217 tracehead = trace.prev;
12218 return;
12219 }
12220 void parser_prod___ANotExpr___init_anotexpr(val_t self, val_t param0, val_t param1, int* init_table) {
12221 struct trace_t trace = {NULL, NULL, 6251, LOCATE_parser_prod___ANotExpr___init_anotexpr};
12222 val_t variable0;
12223 val_t variable1;
12224 val_t variable2;
12225 trace.prev = tracehead; tracehead = &trace;
12226 trace.file = LOCATE_parser_prod;
12227 variable0 = param0;
12228 variable1 = param1;
12229 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANotExpr].i]) return;
12230 ((parser_prod___ANotExpr___empty_init_t)CALL( self,COLOR_parser_prod___ANotExpr___empty_init))( self, init_table /*YYY*/) /*ANotExpr::empty_init*/;
12231 ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/ = variable0 /*n_kwnot*/;
12232 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwnot*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwnot*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwnot*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwnot*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwnot*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwnot*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12233 if (UNTAG_Bool(variable2)) { /*if*/
12234 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwnot*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwnot*/, self) /*PNode::parent=*/;
12235 }
12236 ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/ = variable1 /*n_expr*/;
12237 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12238 if (UNTAG_Bool(variable2)) { /*if*/
12239 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/, self) /*PNode::parent=*/;
12240 }
12241 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANotExpr].i] = 1;
12242 tracehead = trace.prev;
12243 return;
12244 }
12245 void parser_prod___ANotExpr___replace_child(val_t self, val_t param0, val_t param1) {
12246 struct trace_t trace = {NULL, NULL, 6267, LOCATE_parser_prod___ANotExpr___replace_child};
12247 val_t variable0;
12248 val_t variable1;
12249 val_t variable2;
12250 trace.prev = tracehead; tracehead = &trace;
12251 trace.file = LOCATE_parser_prod;
12252 variable0 = param0;
12253 variable1 = param1;
12254 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12255 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANotExpr___replace_child, LOCATE_parser_prod, 6269); nit_exit(1);}
12256 variable2 = ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/;
12257 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
12258 if (UNTAG_Bool(variable2)) { /*if*/
12259 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12260 if (UNTAG_Bool(variable2)) { /*if*/
12261 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12262 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
12263 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANotExpr___replace_child, LOCATE_parser_prod, 6273); nit_exit(1);}
12264 ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/ = variable1 /*new_child*/;
12265 } else { /*if*/
12266 ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/ = NIT_NULL /*null*/;
12267 }
12268 goto return_label535;
12269 }
12270 variable2 = ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/;
12271 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
12272 if (UNTAG_Bool(variable2)) { /*if*/
12273 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12274 if (UNTAG_Bool(variable2)) { /*if*/
12275 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12276 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12277 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANotExpr___replace_child, LOCATE_parser_prod, 6283); nit_exit(1);}
12278 ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/ = variable1 /*new_child*/;
12279 } else { /*if*/
12280 ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/ = NIT_NULL /*null*/;
12281 }
12282 goto return_label535;
12283 }
12284 return_label535: while(false);
12285 tracehead = trace.prev;
12286 return;
12287 }
12288 void parser_prod___ANotExpr___visit_all(val_t self, val_t param0) {
12289 struct trace_t trace = {NULL, NULL, 6292, LOCATE_parser_prod___ANotExpr___visit_all};
12290 val_t variable0;
12291 val_t variable1;
12292 trace.prev = tracehead; tracehead = &trace;
12293 trace.file = LOCATE_parser_prod;
12294 variable0 = param0;
12295 variable1 = ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/;
12296 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12297 if (UNTAG_Bool(variable1)) { /*if*/
12298 variable1 = ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/;
12299 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12300 }
12301 variable1 = ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/;
12302 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12303 if (UNTAG_Bool(variable1)) { /*if*/
12304 variable1 = ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/;
12305 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12306 }
12307 tracehead = trace.prev;
12308 return;
12309 }
12310 void parser_prod___ANotExpr___visit_all_reverse(val_t self, val_t param0) {
12311 struct trace_t trace = {NULL, NULL, 6302, LOCATE_parser_prod___ANotExpr___visit_all_reverse};
12312 val_t variable0;
12313 val_t variable1;
12314 trace.prev = tracehead; tracehead = &trace;
12315 trace.file = LOCATE_parser_prod;
12316 variable0 = param0;
12317 variable1 = ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/;
12318 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12319 if (UNTAG_Bool(variable1)) { /*if*/
12320 variable1 = ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/;
12321 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12322 }
12323 variable1 = ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/;
12324 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12325 if (UNTAG_Bool(variable1)) { /*if*/
12326 variable1 = ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/;
12327 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12328 }
12329 tracehead = trace.prev;
12330 return;
12331 }
12332 void parser_prod___AEqExpr___n_expr__eq(val_t self, val_t param0) {
12333 struct trace_t trace = {NULL, NULL, 6313, LOCATE_parser_prod___AEqExpr___n_expr__eq};
12334 val_t variable0;
12335 val_t variable1;
12336 trace.prev = tracehead; tracehead = &trace;
12337 trace.file = LOCATE_parser_prod;
12338 variable0 = param0;
12339 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n*/;
12340 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12341 if (UNTAG_Bool(variable1)) { /*if*/
12342 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
12343 }
12344 tracehead = trace.prev;
12345 return;
12346 }
12347 void parser_prod___AEqExpr___n_expr2__eq(val_t self, val_t param0) {
12348 struct trace_t trace = {NULL, NULL, 6320, LOCATE_parser_prod___AEqExpr___n_expr2__eq};
12349 val_t variable0;
12350 val_t variable1;
12351 trace.prev = tracehead; tracehead = &trace;
12352 trace.file = LOCATE_parser_prod;
12353 variable0 = param0;
12354 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable0 /*n*/;
12355 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12356 if (UNTAG_Bool(variable1)) { /*if*/
12357 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
12358 }
12359 tracehead = trace.prev;
12360 return;
12361 }
12362 void parser_prod___AEqExpr___empty_init(val_t self, int* init_table) {
12363 struct trace_t trace = {NULL, NULL, 6328, LOCATE_parser_prod___AEqExpr___empty_init};
12364 trace.prev = tracehead; tracehead = &trace;
12365 trace.file = LOCATE_parser_prod;
12366 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqExpr].i]) return;
12367 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
12368 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqExpr].i] = 1;
12369 tracehead = trace.prev;
12370 return;
12371 }
12372 void parser_prod___AEqExpr___init_aeqexpr(val_t self, val_t param0, val_t param1, int* init_table) {
12373 struct trace_t trace = {NULL, NULL, 6330, LOCATE_parser_prod___AEqExpr___init_aeqexpr};
12374 val_t variable0;
12375 val_t variable1;
12376 val_t variable2;
12377 trace.prev = tracehead; tracehead = &trace;
12378 trace.file = LOCATE_parser_prod;
12379 variable0 = param0;
12380 variable1 = param1;
12381 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqExpr].i]) return;
12382 ((parser_prod___AEqExpr___empty_init_t)CALL( self,COLOR_parser_prod___AEqExpr___empty_init))( self, init_table /*YYY*/) /*AEqExpr::empty_init*/;
12383 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n_expr*/;
12384 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12385 if (UNTAG_Bool(variable2)) { /*if*/
12386 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
12387 }
12388 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*n_expr2*/;
12389 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12390 if (UNTAG_Bool(variable2)) { /*if*/
12391 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PNode::parent=*/;
12392 }
12393 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqExpr].i] = 1;
12394 tracehead = trace.prev;
12395 return;
12396 }
12397 void parser_prod___AEqExpr___replace_child(val_t self, val_t param0, val_t param1) {
12398 struct trace_t trace = {NULL, NULL, 6346, LOCATE_parser_prod___AEqExpr___replace_child};
12399 val_t variable0;
12400 val_t variable1;
12401 val_t variable2;
12402 trace.prev = tracehead; tracehead = &trace;
12403 trace.file = LOCATE_parser_prod;
12404 variable0 = param0;
12405 variable1 = param1;
12406 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12407 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEqExpr___replace_child, LOCATE_parser_prod, 6348); nit_exit(1);}
12408 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
12409 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
12410 if (UNTAG_Bool(variable2)) { /*if*/
12411 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12412 if (UNTAG_Bool(variable2)) { /*if*/
12413 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12414 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12415 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEqExpr___replace_child, LOCATE_parser_prod, 6352); nit_exit(1);}
12416 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable1 /*new_child*/;
12417 } else { /*if*/
12418 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = NIT_NULL /*null*/;
12419 }
12420 goto return_label542;
12421 }
12422 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
12423 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
12424 if (UNTAG_Bool(variable2)) { /*if*/
12425 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12426 if (UNTAG_Bool(variable2)) { /*if*/
12427 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12428 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12429 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEqExpr___replace_child, LOCATE_parser_prod, 6362); nit_exit(1);}
12430 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*new_child*/;
12431 } else { /*if*/
12432 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = NIT_NULL /*null*/;
12433 }
12434 goto return_label542;
12435 }
12436 return_label542: while(false);
12437 tracehead = trace.prev;
12438 return;
12439 }
12440 void parser_prod___AEqExpr___visit_all(val_t self, val_t param0) {
12441 struct trace_t trace = {NULL, NULL, 6371, LOCATE_parser_prod___AEqExpr___visit_all};
12442 val_t variable0;
12443 val_t variable1;
12444 trace.prev = tracehead; tracehead = &trace;
12445 trace.file = LOCATE_parser_prod;
12446 variable0 = param0;
12447 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
12448 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12449 if (UNTAG_Bool(variable1)) { /*if*/
12450 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
12451 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12452 }
12453 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
12454 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12455 if (UNTAG_Bool(variable1)) { /*if*/
12456 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
12457 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12458 }
12459 tracehead = trace.prev;
12460 return;
12461 }
12462 void parser_prod___AEqExpr___visit_all_reverse(val_t self, val_t param0) {
12463 struct trace_t trace = {NULL, NULL, 6381, LOCATE_parser_prod___AEqExpr___visit_all_reverse};
12464 val_t variable0;
12465 val_t variable1;
12466 trace.prev = tracehead; tracehead = &trace;
12467 trace.file = LOCATE_parser_prod;
12468 variable0 = param0;
12469 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
12470 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12471 if (UNTAG_Bool(variable1)) { /*if*/
12472 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
12473 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12474 }
12475 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
12476 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12477 if (UNTAG_Bool(variable1)) { /*if*/
12478 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
12479 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12480 }
12481 tracehead = trace.prev;
12482 return;
12483 }
12484 void parser_prod___AEeExpr___n_expr__eq(val_t self, val_t param0) {
12485 struct trace_t trace = {NULL, NULL, 6392, LOCATE_parser_prod___AEeExpr___n_expr__eq};
12486 val_t variable0;
12487 val_t variable1;
12488 trace.prev = tracehead; tracehead = &trace;
12489 trace.file = LOCATE_parser_prod;
12490 variable0 = param0;
12491 ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/ = variable0 /*n*/;
12492 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12493 if (UNTAG_Bool(variable1)) { /*if*/
12494 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
12495 }
12496 tracehead = trace.prev;
12497 return;
12498 }
12499 void parser_prod___AEeExpr___n_expr2__eq(val_t self, val_t param0) {
12500 struct trace_t trace = {NULL, NULL, 6399, LOCATE_parser_prod___AEeExpr___n_expr2__eq};
12501 val_t variable0;
12502 val_t variable1;
12503 trace.prev = tracehead; tracehead = &trace;
12504 trace.file = LOCATE_parser_prod;
12505 variable0 = param0;
12506 ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/ = variable0 /*n*/;
12507 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12508 if (UNTAG_Bool(variable1)) { /*if*/
12509 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
12510 }
12511 tracehead = trace.prev;
12512 return;
12513 }
12514 void parser_prod___AEeExpr___empty_init(val_t self, int* init_table) {
12515 struct trace_t trace = {NULL, NULL, 6407, LOCATE_parser_prod___AEeExpr___empty_init};
12516 trace.prev = tracehead; tracehead = &trace;
12517 trace.file = LOCATE_parser_prod;
12518 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEeExpr].i]) return;
12519 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEeExpr].i] = 1;
12520 tracehead = trace.prev;
12521 return;
12522 }
12523 void parser_prod___AEeExpr___init_aeeexpr(val_t self, val_t param0, val_t param1, int* init_table) {
12524 struct trace_t trace = {NULL, NULL, 6409, LOCATE_parser_prod___AEeExpr___init_aeeexpr};
12525 val_t variable0;
12526 val_t variable1;
12527 val_t variable2;
12528 trace.prev = tracehead; tracehead = &trace;
12529 trace.file = LOCATE_parser_prod;
12530 variable0 = param0;
12531 variable1 = param1;
12532 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEeExpr].i]) return;
12533 ((parser_prod___AEeExpr___empty_init_t)CALL( self,COLOR_parser_prod___AEeExpr___empty_init))( self, init_table /*YYY*/) /*AEeExpr::empty_init*/;
12534 ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/ = variable0 /*n_expr*/;
12535 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12536 if (UNTAG_Bool(variable2)) { /*if*/
12537 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
12538 }
12539 ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/ = variable1 /*n_expr2*/;
12540 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12541 if (UNTAG_Bool(variable2)) { /*if*/
12542 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PNode::parent=*/;
12543 }
12544 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEeExpr].i] = 1;
12545 tracehead = trace.prev;
12546 return;
12547 }
12548 void parser_prod___AEeExpr___replace_child(val_t self, val_t param0, val_t param1) {
12549 struct trace_t trace = {NULL, NULL, 6425, LOCATE_parser_prod___AEeExpr___replace_child};
12550 val_t variable0;
12551 val_t variable1;
12552 val_t variable2;
12553 trace.prev = tracehead; tracehead = &trace;
12554 trace.file = LOCATE_parser_prod;
12555 variable0 = param0;
12556 variable1 = param1;
12557 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12558 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEeExpr___replace_child, LOCATE_parser_prod, 6427); nit_exit(1);}
12559 variable2 = ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/;
12560 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
12561 if (UNTAG_Bool(variable2)) { /*if*/
12562 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12563 if (UNTAG_Bool(variable2)) { /*if*/
12564 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12565 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12566 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEeExpr___replace_child, LOCATE_parser_prod, 6431); nit_exit(1);}
12567 ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/ = variable1 /*new_child*/;
12568 } else { /*if*/
12569 ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/ = NIT_NULL /*null*/;
12570 }
12571 goto return_label549;
12572 }
12573 variable2 = ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/;
12574 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
12575 if (UNTAG_Bool(variable2)) { /*if*/
12576 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12577 if (UNTAG_Bool(variable2)) { /*if*/
12578 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12579 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12580 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEeExpr___replace_child, LOCATE_parser_prod, 6441); nit_exit(1);}
12581 ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/ = variable1 /*new_child*/;
12582 } else { /*if*/
12583 ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/ = NIT_NULL /*null*/;
12584 }
12585 goto return_label549;
12586 }
12587 return_label549: while(false);
12588 tracehead = trace.prev;
12589 return;
12590 }
12591 void parser_prod___AEeExpr___visit_all(val_t self, val_t param0) {
12592 struct trace_t trace = {NULL, NULL, 6450, LOCATE_parser_prod___AEeExpr___visit_all};
12593 val_t variable0;
12594 val_t variable1;
12595 trace.prev = tracehead; tracehead = &trace;
12596 trace.file = LOCATE_parser_prod;
12597 variable0 = param0;
12598 variable1 = ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/;
12599 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12600 if (UNTAG_Bool(variable1)) { /*if*/
12601 variable1 = ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/;
12602 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12603 }
12604 variable1 = ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/;
12605 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12606 if (UNTAG_Bool(variable1)) { /*if*/
12607 variable1 = ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/;
12608 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12609 }
12610 tracehead = trace.prev;
12611 return;
12612 }
12613 void parser_prod___AEeExpr___visit_all_reverse(val_t self, val_t param0) {
12614 struct trace_t trace = {NULL, NULL, 6460, LOCATE_parser_prod___AEeExpr___visit_all_reverse};
12615 val_t variable0;
12616 val_t variable1;
12617 trace.prev = tracehead; tracehead = &trace;
12618 trace.file = LOCATE_parser_prod;
12619 variable0 = param0;
12620 variable1 = ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/;
12621 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12622 if (UNTAG_Bool(variable1)) { /*if*/
12623 variable1 = ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/;
12624 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12625 }
12626 variable1 = ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/;
12627 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12628 if (UNTAG_Bool(variable1)) { /*if*/
12629 variable1 = ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/;
12630 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12631 }
12632 tracehead = trace.prev;
12633 return;
12634 }
12635 void parser_prod___ANeExpr___n_expr__eq(val_t self, val_t param0) {
12636 struct trace_t trace = {NULL, NULL, 6471, LOCATE_parser_prod___ANeExpr___n_expr__eq};
12637 val_t variable0;
12638 val_t variable1;
12639 trace.prev = tracehead; tracehead = &trace;
12640 trace.file = LOCATE_parser_prod;
12641 variable0 = param0;
12642 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n*/;
12643 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12644 if (UNTAG_Bool(variable1)) { /*if*/
12645 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
12646 }
12647 tracehead = trace.prev;
12648 return;
12649 }
12650 void parser_prod___ANeExpr___n_expr2__eq(val_t self, val_t param0) {
12651 struct trace_t trace = {NULL, NULL, 6478, LOCATE_parser_prod___ANeExpr___n_expr2__eq};
12652 val_t variable0;
12653 val_t variable1;
12654 trace.prev = tracehead; tracehead = &trace;
12655 trace.file = LOCATE_parser_prod;
12656 variable0 = param0;
12657 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable0 /*n*/;
12658 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12659 if (UNTAG_Bool(variable1)) { /*if*/
12660 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
12661 }
12662 tracehead = trace.prev;
12663 return;
12664 }
12665 void parser_prod___ANeExpr___empty_init(val_t self, int* init_table) {
12666 struct trace_t trace = {NULL, NULL, 6486, LOCATE_parser_prod___ANeExpr___empty_init};
12667 trace.prev = tracehead; tracehead = &trace;
12668 trace.file = LOCATE_parser_prod;
12669 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeExpr].i]) return;
12670 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
12671 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeExpr].i] = 1;
12672 tracehead = trace.prev;
12673 return;
12674 }
12675 void parser_prod___ANeExpr___init_aneexpr(val_t self, val_t param0, val_t param1, int* init_table) {
12676 struct trace_t trace = {NULL, NULL, 6488, LOCATE_parser_prod___ANeExpr___init_aneexpr};
12677 val_t variable0;
12678 val_t variable1;
12679 val_t variable2;
12680 trace.prev = tracehead; tracehead = &trace;
12681 trace.file = LOCATE_parser_prod;
12682 variable0 = param0;
12683 variable1 = param1;
12684 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeExpr].i]) return;
12685 ((parser_prod___ANeExpr___empty_init_t)CALL( self,COLOR_parser_prod___ANeExpr___empty_init))( self, init_table /*YYY*/) /*ANeExpr::empty_init*/;
12686 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n_expr*/;
12687 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12688 if (UNTAG_Bool(variable2)) { /*if*/
12689 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
12690 }
12691 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*n_expr2*/;
12692 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12693 if (UNTAG_Bool(variable2)) { /*if*/
12694 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PNode::parent=*/;
12695 }
12696 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeExpr].i] = 1;
12697 tracehead = trace.prev;
12698 return;
12699 }
12700 void parser_prod___ANeExpr___replace_child(val_t self, val_t param0, val_t param1) {
12701 struct trace_t trace = {NULL, NULL, 6504, LOCATE_parser_prod___ANeExpr___replace_child};
12702 val_t variable0;
12703 val_t variable1;
12704 val_t variable2;
12705 trace.prev = tracehead; tracehead = &trace;
12706 trace.file = LOCATE_parser_prod;
12707 variable0 = param0;
12708 variable1 = param1;
12709 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12710 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANeExpr___replace_child, LOCATE_parser_prod, 6506); nit_exit(1);}
12711 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
12712 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
12713 if (UNTAG_Bool(variable2)) { /*if*/
12714 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12715 if (UNTAG_Bool(variable2)) { /*if*/
12716 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12717 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12718 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANeExpr___replace_child, LOCATE_parser_prod, 6510); nit_exit(1);}
12719 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable1 /*new_child*/;
12720 } else { /*if*/
12721 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = NIT_NULL /*null*/;
12722 }
12723 goto return_label556;
12724 }
12725 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
12726 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
12727 if (UNTAG_Bool(variable2)) { /*if*/
12728 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12729 if (UNTAG_Bool(variable2)) { /*if*/
12730 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12731 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12732 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANeExpr___replace_child, LOCATE_parser_prod, 6520); nit_exit(1);}
12733 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*new_child*/;
12734 } else { /*if*/
12735 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = NIT_NULL /*null*/;
12736 }
12737 goto return_label556;
12738 }
12739 return_label556: while(false);
12740 tracehead = trace.prev;
12741 return;
12742 }
12743 void parser_prod___ANeExpr___visit_all(val_t self, val_t param0) {
12744 struct trace_t trace = {NULL, NULL, 6529, LOCATE_parser_prod___ANeExpr___visit_all};
12745 val_t variable0;
12746 val_t variable1;
12747 trace.prev = tracehead; tracehead = &trace;
12748 trace.file = LOCATE_parser_prod;
12749 variable0 = param0;
12750 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
12751 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12752 if (UNTAG_Bool(variable1)) { /*if*/
12753 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
12754 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12755 }
12756 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
12757 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12758 if (UNTAG_Bool(variable1)) { /*if*/
12759 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
12760 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12761 }
12762 tracehead = trace.prev;
12763 return;
12764 }
12765 void parser_prod___ANeExpr___visit_all_reverse(val_t self, val_t param0) {
12766 struct trace_t trace = {NULL, NULL, 6539, LOCATE_parser_prod___ANeExpr___visit_all_reverse};
12767 val_t variable0;
12768 val_t variable1;
12769 trace.prev = tracehead; tracehead = &trace;
12770 trace.file = LOCATE_parser_prod;
12771 variable0 = param0;
12772 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
12773 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12774 if (UNTAG_Bool(variable1)) { /*if*/
12775 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
12776 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12777 }
12778 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
12779 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12780 if (UNTAG_Bool(variable1)) { /*if*/
12781 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
12782 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12783 }
12784 tracehead = trace.prev;
12785 return;
12786 }
12787 void parser_prod___ALtExpr___n_expr__eq(val_t self, val_t param0) {
12788 struct trace_t trace = {NULL, NULL, 6550, LOCATE_parser_prod___ALtExpr___n_expr__eq};
12789 val_t variable0;
12790 val_t variable1;
12791 trace.prev = tracehead; tracehead = &trace;
12792 trace.file = LOCATE_parser_prod;
12793 variable0 = param0;
12794 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n*/;
12795 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12796 if (UNTAG_Bool(variable1)) { /*if*/
12797 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
12798 }
12799 tracehead = trace.prev;
12800 return;
12801 }
12802 void parser_prod___ALtExpr___n_expr2__eq(val_t self, val_t param0) {
12803 struct trace_t trace = {NULL, NULL, 6557, LOCATE_parser_prod___ALtExpr___n_expr2__eq};
12804 val_t variable0;
12805 val_t variable1;
12806 trace.prev = tracehead; tracehead = &trace;
12807 trace.file = LOCATE_parser_prod;
12808 variable0 = param0;
12809 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable0 /*n*/;
12810 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12811 if (UNTAG_Bool(variable1)) { /*if*/
12812 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
12813 }
12814 tracehead = trace.prev;
12815 return;
12816 }
12817 void parser_prod___ALtExpr___empty_init(val_t self, int* init_table) {
12818 struct trace_t trace = {NULL, NULL, 6565, LOCATE_parser_prod___ALtExpr___empty_init};
12819 trace.prev = tracehead; tracehead = &trace;
12820 trace.file = LOCATE_parser_prod;
12821 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtExpr].i]) return;
12822 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
12823 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtExpr].i] = 1;
12824 tracehead = trace.prev;
12825 return;
12826 }
12827 void parser_prod___ALtExpr___init_altexpr(val_t self, val_t param0, val_t param1, int* init_table) {
12828 struct trace_t trace = {NULL, NULL, 6567, LOCATE_parser_prod___ALtExpr___init_altexpr};
12829 val_t variable0;
12830 val_t variable1;
12831 val_t variable2;
12832 trace.prev = tracehead; tracehead = &trace;
12833 trace.file = LOCATE_parser_prod;
12834 variable0 = param0;
12835 variable1 = param1;
12836 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtExpr].i]) return;
12837 ((parser_prod___ALtExpr___empty_init_t)CALL( self,COLOR_parser_prod___ALtExpr___empty_init))( self, init_table /*YYY*/) /*ALtExpr::empty_init*/;
12838 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n_expr*/;
12839 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12840 if (UNTAG_Bool(variable2)) { /*if*/
12841 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
12842 }
12843 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*n_expr2*/;
12844 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12845 if (UNTAG_Bool(variable2)) { /*if*/
12846 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PNode::parent=*/;
12847 }
12848 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtExpr].i] = 1;
12849 tracehead = trace.prev;
12850 return;
12851 }
12852 void parser_prod___ALtExpr___replace_child(val_t self, val_t param0, val_t param1) {
12853 struct trace_t trace = {NULL, NULL, 6583, LOCATE_parser_prod___ALtExpr___replace_child};
12854 val_t variable0;
12855 val_t variable1;
12856 val_t variable2;
12857 trace.prev = tracehead; tracehead = &trace;
12858 trace.file = LOCATE_parser_prod;
12859 variable0 = param0;
12860 variable1 = param1;
12861 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12862 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALtExpr___replace_child, LOCATE_parser_prod, 6585); nit_exit(1);}
12863 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
12864 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
12865 if (UNTAG_Bool(variable2)) { /*if*/
12866 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12867 if (UNTAG_Bool(variable2)) { /*if*/
12868 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12869 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12870 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALtExpr___replace_child, LOCATE_parser_prod, 6589); nit_exit(1);}
12871 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable1 /*new_child*/;
12872 } else { /*if*/
12873 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = NIT_NULL /*null*/;
12874 }
12875 goto return_label563;
12876 }
12877 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
12878 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
12879 if (UNTAG_Bool(variable2)) { /*if*/
12880 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12881 if (UNTAG_Bool(variable2)) { /*if*/
12882 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12883 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12884 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALtExpr___replace_child, LOCATE_parser_prod, 6599); nit_exit(1);}
12885 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*new_child*/;
12886 } else { /*if*/
12887 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = NIT_NULL /*null*/;
12888 }
12889 goto return_label563;
12890 }
12891 return_label563: while(false);
12892 tracehead = trace.prev;
12893 return;
12894 }
12895 void parser_prod___ALtExpr___visit_all(val_t self, val_t param0) {
12896 struct trace_t trace = {NULL, NULL, 6608, LOCATE_parser_prod___ALtExpr___visit_all};
12897 val_t variable0;
12898 val_t variable1;
12899 trace.prev = tracehead; tracehead = &trace;
12900 trace.file = LOCATE_parser_prod;
12901 variable0 = param0;
12902 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
12903 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12904 if (UNTAG_Bool(variable1)) { /*if*/
12905 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
12906 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12907 }
12908 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
12909 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12910 if (UNTAG_Bool(variable1)) { /*if*/
12911 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
12912 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12913 }
12914 tracehead = trace.prev;
12915 return;
12916 }
12917 void parser_prod___ALtExpr___visit_all_reverse(val_t self, val_t param0) {
12918 struct trace_t trace = {NULL, NULL, 6618, LOCATE_parser_prod___ALtExpr___visit_all_reverse};
12919 val_t variable0;
12920 val_t variable1;
12921 trace.prev = tracehead; tracehead = &trace;
12922 trace.file = LOCATE_parser_prod;
12923 variable0 = param0;
12924 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
12925 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12926 if (UNTAG_Bool(variable1)) { /*if*/
12927 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
12928 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12929 }
12930 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
12931 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
12932 if (UNTAG_Bool(variable1)) { /*if*/
12933 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
12934 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12935 }
12936 tracehead = trace.prev;
12937 return;
12938 }
12939 void parser_prod___ALeExpr___n_expr__eq(val_t self, val_t param0) {
12940 struct trace_t trace = {NULL, NULL, 6629, LOCATE_parser_prod___ALeExpr___n_expr__eq};
12941 val_t variable0;
12942 val_t variable1;
12943 trace.prev = tracehead; tracehead = &trace;
12944 trace.file = LOCATE_parser_prod;
12945 variable0 = param0;
12946 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n*/;
12947 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12948 if (UNTAG_Bool(variable1)) { /*if*/
12949 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
12950 }
12951 tracehead = trace.prev;
12952 return;
12953 }
12954 void parser_prod___ALeExpr___n_expr2__eq(val_t self, val_t param0) {
12955 struct trace_t trace = {NULL, NULL, 6636, LOCATE_parser_prod___ALeExpr___n_expr2__eq};
12956 val_t variable0;
12957 val_t variable1;
12958 trace.prev = tracehead; tracehead = &trace;
12959 trace.file = LOCATE_parser_prod;
12960 variable0 = param0;
12961 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable0 /*n*/;
12962 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12963 if (UNTAG_Bool(variable1)) { /*if*/
12964 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
12965 }
12966 tracehead = trace.prev;
12967 return;
12968 }
12969 void parser_prod___ALeExpr___empty_init(val_t self, int* init_table) {
12970 struct trace_t trace = {NULL, NULL, 6644, LOCATE_parser_prod___ALeExpr___empty_init};
12971 trace.prev = tracehead; tracehead = &trace;
12972 trace.file = LOCATE_parser_prod;
12973 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeExpr].i]) return;
12974 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
12975 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeExpr].i] = 1;
12976 tracehead = trace.prev;
12977 return;
12978 }
12979 void parser_prod___ALeExpr___init_aleexpr(val_t self, val_t param0, val_t param1, int* init_table) {
12980 struct trace_t trace = {NULL, NULL, 6646, LOCATE_parser_prod___ALeExpr___init_aleexpr};
12981 val_t variable0;
12982 val_t variable1;
12983 val_t variable2;
12984 trace.prev = tracehead; tracehead = &trace;
12985 trace.file = LOCATE_parser_prod;
12986 variable0 = param0;
12987 variable1 = param1;
12988 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeExpr].i]) return;
12989 ((parser_prod___ALeExpr___empty_init_t)CALL( self,COLOR_parser_prod___ALeExpr___empty_init))( self, init_table /*YYY*/) /*ALeExpr::empty_init*/;
12990 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n_expr*/;
12991 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12992 if (UNTAG_Bool(variable2)) { /*if*/
12993 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
12994 }
12995 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*n_expr2*/;
12996 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
12997 if (UNTAG_Bool(variable2)) { /*if*/
12998 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PNode::parent=*/;
12999 }
13000 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeExpr].i] = 1;
13001 tracehead = trace.prev;
13002 return;
13003 }
13004 void parser_prod___ALeExpr___replace_child(val_t self, val_t param0, val_t param1) {
13005 struct trace_t trace = {NULL, NULL, 6662, LOCATE_parser_prod___ALeExpr___replace_child};
13006 val_t variable0;
13007 val_t variable1;
13008 val_t variable2;
13009 trace.prev = tracehead; tracehead = &trace;
13010 trace.file = LOCATE_parser_prod;
13011 variable0 = param0;
13012 variable1 = param1;
13013 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13014 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALeExpr___replace_child, LOCATE_parser_prod, 6664); nit_exit(1);}
13015 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13016 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
13017 if (UNTAG_Bool(variable2)) { /*if*/
13018 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13019 if (UNTAG_Bool(variable2)) { /*if*/
13020 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13021 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13022 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALeExpr___replace_child, LOCATE_parser_prod, 6668); nit_exit(1);}
13023 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable1 /*new_child*/;
13024 } else { /*if*/
13025 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = NIT_NULL /*null*/;
13026 }
13027 goto return_label570;
13028 }
13029 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13030 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
13031 if (UNTAG_Bool(variable2)) { /*if*/
13032 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13033 if (UNTAG_Bool(variable2)) { /*if*/
13034 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13035 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13036 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ALeExpr___replace_child, LOCATE_parser_prod, 6678); nit_exit(1);}
13037 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*new_child*/;
13038 } else { /*if*/
13039 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = NIT_NULL /*null*/;
13040 }
13041 goto return_label570;
13042 }
13043 return_label570: while(false);
13044 tracehead = trace.prev;
13045 return;
13046 }
13047 void parser_prod___ALeExpr___visit_all(val_t self, val_t param0) {
13048 struct trace_t trace = {NULL, NULL, 6687, LOCATE_parser_prod___ALeExpr___visit_all};
13049 val_t variable0;
13050 val_t variable1;
13051 trace.prev = tracehead; tracehead = &trace;
13052 trace.file = LOCATE_parser_prod;
13053 variable0 = param0;
13054 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13055 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13056 if (UNTAG_Bool(variable1)) { /*if*/
13057 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13058 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13059 }
13060 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13061 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13062 if (UNTAG_Bool(variable1)) { /*if*/
13063 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13064 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13065 }
13066 tracehead = trace.prev;
13067 return;
13068 }
13069 void parser_prod___ALeExpr___visit_all_reverse(val_t self, val_t param0) {
13070 struct trace_t trace = {NULL, NULL, 6697, LOCATE_parser_prod___ALeExpr___visit_all_reverse};
13071 val_t variable0;
13072 val_t variable1;
13073 trace.prev = tracehead; tracehead = &trace;
13074 trace.file = LOCATE_parser_prod;
13075 variable0 = param0;
13076 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13077 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13078 if (UNTAG_Bool(variable1)) { /*if*/
13079 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13080 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13081 }
13082 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13083 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13084 if (UNTAG_Bool(variable1)) { /*if*/
13085 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13086 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13087 }
13088 tracehead = trace.prev;
13089 return;
13090 }
13091 void parser_prod___AGtExpr___n_expr__eq(val_t self, val_t param0) {
13092 struct trace_t trace = {NULL, NULL, 6708, LOCATE_parser_prod___AGtExpr___n_expr__eq};
13093 val_t variable0;
13094 val_t variable1;
13095 trace.prev = tracehead; tracehead = &trace;
13096 trace.file = LOCATE_parser_prod;
13097 variable0 = param0;
13098 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n*/;
13099 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13100 if (UNTAG_Bool(variable1)) { /*if*/
13101 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
13102 }
13103 tracehead = trace.prev;
13104 return;
13105 }
13106 void parser_prod___AGtExpr___n_expr2__eq(val_t self, val_t param0) {
13107 struct trace_t trace = {NULL, NULL, 6715, LOCATE_parser_prod___AGtExpr___n_expr2__eq};
13108 val_t variable0;
13109 val_t variable1;
13110 trace.prev = tracehead; tracehead = &trace;
13111 trace.file = LOCATE_parser_prod;
13112 variable0 = param0;
13113 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable0 /*n*/;
13114 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13115 if (UNTAG_Bool(variable1)) { /*if*/
13116 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
13117 }
13118 tracehead = trace.prev;
13119 return;
13120 }
13121 void parser_prod___AGtExpr___empty_init(val_t self, int* init_table) {
13122 struct trace_t trace = {NULL, NULL, 6723, LOCATE_parser_prod___AGtExpr___empty_init};
13123 trace.prev = tracehead; tracehead = &trace;
13124 trace.file = LOCATE_parser_prod;
13125 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtExpr].i]) return;
13126 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
13127 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtExpr].i] = 1;
13128 tracehead = trace.prev;
13129 return;
13130 }
13131 void parser_prod___AGtExpr___init_agtexpr(val_t self, val_t param0, val_t param1, int* init_table) {
13132 struct trace_t trace = {NULL, NULL, 6725, LOCATE_parser_prod___AGtExpr___init_agtexpr};
13133 val_t variable0;
13134 val_t variable1;
13135 val_t variable2;
13136 trace.prev = tracehead; tracehead = &trace;
13137 trace.file = LOCATE_parser_prod;
13138 variable0 = param0;
13139 variable1 = param1;
13140 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtExpr].i]) return;
13141 ((parser_prod___AGtExpr___empty_init_t)CALL( self,COLOR_parser_prod___AGtExpr___empty_init))( self, init_table /*YYY*/) /*AGtExpr::empty_init*/;
13142 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n_expr*/;
13143 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13144 if (UNTAG_Bool(variable2)) { /*if*/
13145 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
13146 }
13147 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*n_expr2*/;
13148 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13149 if (UNTAG_Bool(variable2)) { /*if*/
13150 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PNode::parent=*/;
13151 }
13152 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtExpr].i] = 1;
13153 tracehead = trace.prev;
13154 return;
13155 }
13156 void parser_prod___AGtExpr___replace_child(val_t self, val_t param0, val_t param1) {
13157 struct trace_t trace = {NULL, NULL, 6741, LOCATE_parser_prod___AGtExpr___replace_child};
13158 val_t variable0;
13159 val_t variable1;
13160 val_t variable2;
13161 trace.prev = tracehead; tracehead = &trace;
13162 trace.file = LOCATE_parser_prod;
13163 variable0 = param0;
13164 variable1 = param1;
13165 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13166 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGtExpr___replace_child, LOCATE_parser_prod, 6743); nit_exit(1);}
13167 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13168 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
13169 if (UNTAG_Bool(variable2)) { /*if*/
13170 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13171 if (UNTAG_Bool(variable2)) { /*if*/
13172 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13173 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13174 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGtExpr___replace_child, LOCATE_parser_prod, 6747); nit_exit(1);}
13175 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable1 /*new_child*/;
13176 } else { /*if*/
13177 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = NIT_NULL /*null*/;
13178 }
13179 goto return_label577;
13180 }
13181 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13182 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
13183 if (UNTAG_Bool(variable2)) { /*if*/
13184 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13185 if (UNTAG_Bool(variable2)) { /*if*/
13186 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13187 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13188 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGtExpr___replace_child, LOCATE_parser_prod, 6757); nit_exit(1);}
13189 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*new_child*/;
13190 } else { /*if*/
13191 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = NIT_NULL /*null*/;
13192 }
13193 goto return_label577;
13194 }
13195 return_label577: while(false);
13196 tracehead = trace.prev;
13197 return;
13198 }
13199 void parser_prod___AGtExpr___visit_all(val_t self, val_t param0) {
13200 struct trace_t trace = {NULL, NULL, 6766, LOCATE_parser_prod___AGtExpr___visit_all};
13201 val_t variable0;
13202 val_t variable1;
13203 trace.prev = tracehead; tracehead = &trace;
13204 trace.file = LOCATE_parser_prod;
13205 variable0 = param0;
13206 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13207 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13208 if (UNTAG_Bool(variable1)) { /*if*/
13209 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13210 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13211 }
13212 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13213 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13214 if (UNTAG_Bool(variable1)) { /*if*/
13215 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13216 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13217 }
13218 tracehead = trace.prev;
13219 return;
13220 }
13221 void parser_prod___AGtExpr___visit_all_reverse(val_t self, val_t param0) {
13222 struct trace_t trace = {NULL, NULL, 6776, LOCATE_parser_prod___AGtExpr___visit_all_reverse};
13223 val_t variable0;
13224 val_t variable1;
13225 trace.prev = tracehead; tracehead = &trace;
13226 trace.file = LOCATE_parser_prod;
13227 variable0 = param0;
13228 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13229 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13230 if (UNTAG_Bool(variable1)) { /*if*/
13231 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13232 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13233 }
13234 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13235 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13236 if (UNTAG_Bool(variable1)) { /*if*/
13237 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13238 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13239 }
13240 tracehead = trace.prev;
13241 return;
13242 }
13243 void parser_prod___AGeExpr___n_expr__eq(val_t self, val_t param0) {
13244 struct trace_t trace = {NULL, NULL, 6787, LOCATE_parser_prod___AGeExpr___n_expr__eq};
13245 val_t variable0;
13246 val_t variable1;
13247 trace.prev = tracehead; tracehead = &trace;
13248 trace.file = LOCATE_parser_prod;
13249 variable0 = param0;
13250 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n*/;
13251 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13252 if (UNTAG_Bool(variable1)) { /*if*/
13253 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
13254 }
13255 tracehead = trace.prev;
13256 return;
13257 }
13258 void parser_prod___AGeExpr___n_expr2__eq(val_t self, val_t param0) {
13259 struct trace_t trace = {NULL, NULL, 6794, LOCATE_parser_prod___AGeExpr___n_expr2__eq};
13260 val_t variable0;
13261 val_t variable1;
13262 trace.prev = tracehead; tracehead = &trace;
13263 trace.file = LOCATE_parser_prod;
13264 variable0 = param0;
13265 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable0 /*n*/;
13266 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13267 if (UNTAG_Bool(variable1)) { /*if*/
13268 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
13269 }
13270 tracehead = trace.prev;
13271 return;
13272 }
13273 void parser_prod___AGeExpr___empty_init(val_t self, int* init_table) {
13274 struct trace_t trace = {NULL, NULL, 6802, LOCATE_parser_prod___AGeExpr___empty_init};
13275 trace.prev = tracehead; tracehead = &trace;
13276 trace.file = LOCATE_parser_prod;
13277 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeExpr].i]) return;
13278 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
13279 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeExpr].i] = 1;
13280 tracehead = trace.prev;
13281 return;
13282 }
13283 void parser_prod___AGeExpr___init_ageexpr(val_t self, val_t param0, val_t param1, int* init_table) {
13284 struct trace_t trace = {NULL, NULL, 6804, LOCATE_parser_prod___AGeExpr___init_ageexpr};
13285 val_t variable0;
13286 val_t variable1;
13287 val_t variable2;
13288 trace.prev = tracehead; tracehead = &trace;
13289 trace.file = LOCATE_parser_prod;
13290 variable0 = param0;
13291 variable1 = param1;
13292 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeExpr].i]) return;
13293 ((parser_prod___AGeExpr___empty_init_t)CALL( self,COLOR_parser_prod___AGeExpr___empty_init))( self, init_table /*YYY*/) /*AGeExpr::empty_init*/;
13294 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n_expr*/;
13295 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13296 if (UNTAG_Bool(variable2)) { /*if*/
13297 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
13298 }
13299 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*n_expr2*/;
13300 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13301 if (UNTAG_Bool(variable2)) { /*if*/
13302 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PNode::parent=*/;
13303 }
13304 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeExpr].i] = 1;
13305 tracehead = trace.prev;
13306 return;
13307 }
13308 void parser_prod___AGeExpr___replace_child(val_t self, val_t param0, val_t param1) {
13309 struct trace_t trace = {NULL, NULL, 6820, LOCATE_parser_prod___AGeExpr___replace_child};
13310 val_t variable0;
13311 val_t variable1;
13312 val_t variable2;
13313 trace.prev = tracehead; tracehead = &trace;
13314 trace.file = LOCATE_parser_prod;
13315 variable0 = param0;
13316 variable1 = param1;
13317 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13318 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGeExpr___replace_child, LOCATE_parser_prod, 6822); nit_exit(1);}
13319 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13320 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
13321 if (UNTAG_Bool(variable2)) { /*if*/
13322 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13323 if (UNTAG_Bool(variable2)) { /*if*/
13324 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13325 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13326 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGeExpr___replace_child, LOCATE_parser_prod, 6826); nit_exit(1);}
13327 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable1 /*new_child*/;
13328 } else { /*if*/
13329 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = NIT_NULL /*null*/;
13330 }
13331 goto return_label584;
13332 }
13333 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13334 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
13335 if (UNTAG_Bool(variable2)) { /*if*/
13336 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13337 if (UNTAG_Bool(variable2)) { /*if*/
13338 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13339 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13340 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AGeExpr___replace_child, LOCATE_parser_prod, 6836); nit_exit(1);}
13341 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*new_child*/;
13342 } else { /*if*/
13343 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = NIT_NULL /*null*/;
13344 }
13345 goto return_label584;
13346 }
13347 return_label584: while(false);
13348 tracehead = trace.prev;
13349 return;
13350 }
13351 void parser_prod___AGeExpr___visit_all(val_t self, val_t param0) {
13352 struct trace_t trace = {NULL, NULL, 6845, LOCATE_parser_prod___AGeExpr___visit_all};
13353 val_t variable0;
13354 val_t variable1;
13355 trace.prev = tracehead; tracehead = &trace;
13356 trace.file = LOCATE_parser_prod;
13357 variable0 = param0;
13358 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13359 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13360 if (UNTAG_Bool(variable1)) { /*if*/
13361 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13362 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13363 }
13364 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13365 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13366 if (UNTAG_Bool(variable1)) { /*if*/
13367 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13368 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13369 }
13370 tracehead = trace.prev;
13371 return;
13372 }
13373 void parser_prod___AGeExpr___visit_all_reverse(val_t self, val_t param0) {
13374 struct trace_t trace = {NULL, NULL, 6855, LOCATE_parser_prod___AGeExpr___visit_all_reverse};
13375 val_t variable0;
13376 val_t variable1;
13377 trace.prev = tracehead; tracehead = &trace;
13378 trace.file = LOCATE_parser_prod;
13379 variable0 = param0;
13380 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13381 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13382 if (UNTAG_Bool(variable1)) { /*if*/
13383 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13384 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13385 }
13386 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13387 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13388 if (UNTAG_Bool(variable1)) { /*if*/
13389 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13390 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13391 }
13392 tracehead = trace.prev;
13393 return;
13394 }
13395 void parser_prod___AIsaExpr___n_expr__eq(val_t self, val_t param0) {
13396 struct trace_t trace = {NULL, NULL, 6866, LOCATE_parser_prod___AIsaExpr___n_expr__eq};
13397 val_t variable0;
13398 val_t variable1;
13399 trace.prev = tracehead; tracehead = &trace;
13400 trace.file = LOCATE_parser_prod;
13401 variable0 = param0;
13402 ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/ = variable0 /*n*/;
13403 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13404 if (UNTAG_Bool(variable1)) { /*if*/
13405 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
13406 }
13407 tracehead = trace.prev;
13408 return;
13409 }
13410 void parser_prod___AIsaExpr___n_type__eq(val_t self, val_t param0) {
13411 struct trace_t trace = {NULL, NULL, 6873, LOCATE_parser_prod___AIsaExpr___n_type__eq};
13412 val_t variable0;
13413 val_t variable1;
13414 trace.prev = tracehead; tracehead = &trace;
13415 trace.file = LOCATE_parser_prod;
13416 variable0 = param0;
13417 ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/ = variable0 /*n*/;
13418 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13419 if (UNTAG_Bool(variable1)) { /*if*/
13420 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
13421 }
13422 tracehead = trace.prev;
13423 return;
13424 }
13425 void parser_prod___AIsaExpr___empty_init(val_t self, int* init_table) {
13426 struct trace_t trace = {NULL, NULL, 6881, LOCATE_parser_prod___AIsaExpr___empty_init};
13427 trace.prev = tracehead; tracehead = &trace;
13428 trace.file = LOCATE_parser_prod;
13429 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIsaExpr].i]) return;
13430 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIsaExpr].i] = 1;
13431 tracehead = trace.prev;
13432 return;
13433 }
13434 void parser_prod___AIsaExpr___init_aisaexpr(val_t self, val_t param0, val_t param1, int* init_table) {
13435 struct trace_t trace = {NULL, NULL, 6883, LOCATE_parser_prod___AIsaExpr___init_aisaexpr};
13436 val_t variable0;
13437 val_t variable1;
13438 val_t variable2;
13439 trace.prev = tracehead; tracehead = &trace;
13440 trace.file = LOCATE_parser_prod;
13441 variable0 = param0;
13442 variable1 = param1;
13443 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIsaExpr].i]) return;
13444 ((parser_prod___AIsaExpr___empty_init_t)CALL( self,COLOR_parser_prod___AIsaExpr___empty_init))( self, init_table /*YYY*/) /*AIsaExpr::empty_init*/;
13445 ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/ = variable0 /*n_expr*/;
13446 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13447 if (UNTAG_Bool(variable2)) { /*if*/
13448 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
13449 }
13450 ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/ = variable1 /*n_type*/;
13451 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_type*/ == NIT_NULL /*null*/) || (( variable1 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_type*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13452 if (UNTAG_Bool(variable2)) { /*if*/
13453 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_type*/, self) /*PNode::parent=*/;
13454 }
13455 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIsaExpr].i] = 1;
13456 tracehead = trace.prev;
13457 return;
13458 }
13459 void parser_prod___AIsaExpr___replace_child(val_t self, val_t param0, val_t param1) {
13460 struct trace_t trace = {NULL, NULL, 6899, LOCATE_parser_prod___AIsaExpr___replace_child};
13461 val_t variable0;
13462 val_t variable1;
13463 val_t variable2;
13464 trace.prev = tracehead; tracehead = &trace;
13465 trace.file = LOCATE_parser_prod;
13466 variable0 = param0;
13467 variable1 = param1;
13468 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13469 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIsaExpr___replace_child, LOCATE_parser_prod, 6901); nit_exit(1);}
13470 variable2 = ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/;
13471 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
13472 if (UNTAG_Bool(variable2)) { /*if*/
13473 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13474 if (UNTAG_Bool(variable2)) { /*if*/
13475 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13476 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13477 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIsaExpr___replace_child, LOCATE_parser_prod, 6905); nit_exit(1);}
13478 ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/ = variable1 /*new_child*/;
13479 } else { /*if*/
13480 ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/ = NIT_NULL /*null*/;
13481 }
13482 goto return_label591;
13483 }
13484 variable2 = ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/;
13485 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
13486 if (UNTAG_Bool(variable2)) { /*if*/
13487 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13488 if (UNTAG_Bool(variable2)) { /*if*/
13489 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13490 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
13491 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIsaExpr___replace_child, LOCATE_parser_prod, 6915); nit_exit(1);}
13492 ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/ = variable1 /*new_child*/;
13493 } else { /*if*/
13494 ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/ = NIT_NULL /*null*/;
13495 }
13496 goto return_label591;
13497 }
13498 return_label591: while(false);
13499 tracehead = trace.prev;
13500 return;
13501 }
13502 void parser_prod___AIsaExpr___visit_all(val_t self, val_t param0) {
13503 struct trace_t trace = {NULL, NULL, 6924, LOCATE_parser_prod___AIsaExpr___visit_all};
13504 val_t variable0;
13505 val_t variable1;
13506 trace.prev = tracehead; tracehead = &trace;
13507 trace.file = LOCATE_parser_prod;
13508 variable0 = param0;
13509 variable1 = ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/;
13510 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13511 if (UNTAG_Bool(variable1)) { /*if*/
13512 variable1 = ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/;
13513 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13514 }
13515 variable1 = ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/;
13516 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13517 if (UNTAG_Bool(variable1)) { /*if*/
13518 variable1 = ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/;
13519 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13520 }
13521 tracehead = trace.prev;
13522 return;
13523 }
13524 void parser_prod___AIsaExpr___visit_all_reverse(val_t self, val_t param0) {
13525 struct trace_t trace = {NULL, NULL, 6934, LOCATE_parser_prod___AIsaExpr___visit_all_reverse};
13526 val_t variable0;
13527 val_t variable1;
13528 trace.prev = tracehead; tracehead = &trace;
13529 trace.file = LOCATE_parser_prod;
13530 variable0 = param0;
13531 variable1 = ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/;
13532 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13533 if (UNTAG_Bool(variable1)) { /*if*/
13534 variable1 = ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/;
13535 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13536 }
13537 variable1 = ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/;
13538 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13539 if (UNTAG_Bool(variable1)) { /*if*/
13540 variable1 = ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/;
13541 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13542 }
13543 tracehead = trace.prev;
13544 return;
13545 }
13546 void parser_prod___APlusExpr___n_expr__eq(val_t self, val_t param0) {
13547 struct trace_t trace = {NULL, NULL, 6945, LOCATE_parser_prod___APlusExpr___n_expr__eq};
13548 val_t variable0;
13549 val_t variable1;
13550 trace.prev = tracehead; tracehead = &trace;
13551 trace.file = LOCATE_parser_prod;
13552 variable0 = param0;
13553 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n*/;
13554 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13555 if (UNTAG_Bool(variable1)) { /*if*/
13556 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
13557 }
13558 tracehead = trace.prev;
13559 return;
13560 }
13561 void parser_prod___APlusExpr___n_expr2__eq(val_t self, val_t param0) {
13562 struct trace_t trace = {NULL, NULL, 6952, LOCATE_parser_prod___APlusExpr___n_expr2__eq};
13563 val_t variable0;
13564 val_t variable1;
13565 trace.prev = tracehead; tracehead = &trace;
13566 trace.file = LOCATE_parser_prod;
13567 variable0 = param0;
13568 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable0 /*n*/;
13569 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13570 if (UNTAG_Bool(variable1)) { /*if*/
13571 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
13572 }
13573 tracehead = trace.prev;
13574 return;
13575 }
13576 void parser_prod___APlusExpr___empty_init(val_t self, int* init_table) {
13577 struct trace_t trace = {NULL, NULL, 6960, LOCATE_parser_prod___APlusExpr___empty_init};
13578 trace.prev = tracehead; tracehead = &trace;
13579 trace.file = LOCATE_parser_prod;
13580 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusExpr].i]) return;
13581 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
13582 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusExpr].i] = 1;
13583 tracehead = trace.prev;
13584 return;
13585 }
13586 void parser_prod___APlusExpr___init_aplusexpr(val_t self, val_t param0, val_t param1, int* init_table) {
13587 struct trace_t trace = {NULL, NULL, 6962, LOCATE_parser_prod___APlusExpr___init_aplusexpr};
13588 val_t variable0;
13589 val_t variable1;
13590 val_t variable2;
13591 trace.prev = tracehead; tracehead = &trace;
13592 trace.file = LOCATE_parser_prod;
13593 variable0 = param0;
13594 variable1 = param1;
13595 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusExpr].i]) return;
13596 ((parser_prod___APlusExpr___empty_init_t)CALL( self,COLOR_parser_prod___APlusExpr___empty_init))( self, init_table /*YYY*/) /*APlusExpr::empty_init*/;
13597 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n_expr*/;
13598 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13599 if (UNTAG_Bool(variable2)) { /*if*/
13600 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
13601 }
13602 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*n_expr2*/;
13603 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13604 if (UNTAG_Bool(variable2)) { /*if*/
13605 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PNode::parent=*/;
13606 }
13607 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusExpr].i] = 1;
13608 tracehead = trace.prev;
13609 return;
13610 }
13611 void parser_prod___APlusExpr___replace_child(val_t self, val_t param0, val_t param1) {
13612 struct trace_t trace = {NULL, NULL, 6978, LOCATE_parser_prod___APlusExpr___replace_child};
13613 val_t variable0;
13614 val_t variable1;
13615 val_t variable2;
13616 trace.prev = tracehead; tracehead = &trace;
13617 trace.file = LOCATE_parser_prod;
13618 variable0 = param0;
13619 variable1 = param1;
13620 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13621 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APlusExpr___replace_child, LOCATE_parser_prod, 6980); nit_exit(1);}
13622 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13623 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
13624 if (UNTAG_Bool(variable2)) { /*if*/
13625 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13626 if (UNTAG_Bool(variable2)) { /*if*/
13627 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13628 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13629 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APlusExpr___replace_child, LOCATE_parser_prod, 6984); nit_exit(1);}
13630 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable1 /*new_child*/;
13631 } else { /*if*/
13632 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = NIT_NULL /*null*/;
13633 }
13634 goto return_label598;
13635 }
13636 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13637 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
13638 if (UNTAG_Bool(variable2)) { /*if*/
13639 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13640 if (UNTAG_Bool(variable2)) { /*if*/
13641 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13642 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13643 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APlusExpr___replace_child, LOCATE_parser_prod, 6994); nit_exit(1);}
13644 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*new_child*/;
13645 } else { /*if*/
13646 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = NIT_NULL /*null*/;
13647 }
13648 goto return_label598;
13649 }
13650 return_label598: while(false);
13651 tracehead = trace.prev;
13652 return;
13653 }
13654 void parser_prod___APlusExpr___visit_all(val_t self, val_t param0) {
13655 struct trace_t trace = {NULL, NULL, 7003, LOCATE_parser_prod___APlusExpr___visit_all};
13656 val_t variable0;
13657 val_t variable1;
13658 trace.prev = tracehead; tracehead = &trace;
13659 trace.file = LOCATE_parser_prod;
13660 variable0 = param0;
13661 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13662 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13663 if (UNTAG_Bool(variable1)) { /*if*/
13664 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13665 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13666 }
13667 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13668 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13669 if (UNTAG_Bool(variable1)) { /*if*/
13670 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13671 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13672 }
13673 tracehead = trace.prev;
13674 return;
13675 }
13676 void parser_prod___APlusExpr___visit_all_reverse(val_t self, val_t param0) {
13677 struct trace_t trace = {NULL, NULL, 7013, LOCATE_parser_prod___APlusExpr___visit_all_reverse};
13678 val_t variable0;
13679 val_t variable1;
13680 trace.prev = tracehead; tracehead = &trace;
13681 trace.file = LOCATE_parser_prod;
13682 variable0 = param0;
13683 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13684 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13685 if (UNTAG_Bool(variable1)) { /*if*/
13686 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13687 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13688 }
13689 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13690 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13691 if (UNTAG_Bool(variable1)) { /*if*/
13692 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13693 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13694 }
13695 tracehead = trace.prev;
13696 return;
13697 }
13698 void parser_prod___AMinusExpr___n_expr__eq(val_t self, val_t param0) {
13699 struct trace_t trace = {NULL, NULL, 7024, LOCATE_parser_prod___AMinusExpr___n_expr__eq};
13700 val_t variable0;
13701 val_t variable1;
13702 trace.prev = tracehead; tracehead = &trace;
13703 trace.file = LOCATE_parser_prod;
13704 variable0 = param0;
13705 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n*/;
13706 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13707 if (UNTAG_Bool(variable1)) { /*if*/
13708 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
13709 }
13710 tracehead = trace.prev;
13711 return;
13712 }
13713 void parser_prod___AMinusExpr___n_expr2__eq(val_t self, val_t param0) {
13714 struct trace_t trace = {NULL, NULL, 7031, LOCATE_parser_prod___AMinusExpr___n_expr2__eq};
13715 val_t variable0;
13716 val_t variable1;
13717 trace.prev = tracehead; tracehead = &trace;
13718 trace.file = LOCATE_parser_prod;
13719 variable0 = param0;
13720 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable0 /*n*/;
13721 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13722 if (UNTAG_Bool(variable1)) { /*if*/
13723 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
13724 }
13725 tracehead = trace.prev;
13726 return;
13727 }
13728 void parser_prod___AMinusExpr___empty_init(val_t self, int* init_table) {
13729 struct trace_t trace = {NULL, NULL, 7039, LOCATE_parser_prod___AMinusExpr___empty_init};
13730 trace.prev = tracehead; tracehead = &trace;
13731 trace.file = LOCATE_parser_prod;
13732 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusExpr].i]) return;
13733 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
13734 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusExpr].i] = 1;
13735 tracehead = trace.prev;
13736 return;
13737 }
13738 void parser_prod___AMinusExpr___init_aminusexpr(val_t self, val_t param0, val_t param1, int* init_table) {
13739 struct trace_t trace = {NULL, NULL, 7041, LOCATE_parser_prod___AMinusExpr___init_aminusexpr};
13740 val_t variable0;
13741 val_t variable1;
13742 val_t variable2;
13743 trace.prev = tracehead; tracehead = &trace;
13744 trace.file = LOCATE_parser_prod;
13745 variable0 = param0;
13746 variable1 = param1;
13747 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusExpr].i]) return;
13748 ((parser_prod___AMinusExpr___empty_init_t)CALL( self,COLOR_parser_prod___AMinusExpr___empty_init))( self, init_table /*YYY*/) /*AMinusExpr::empty_init*/;
13749 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n_expr*/;
13750 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13751 if (UNTAG_Bool(variable2)) { /*if*/
13752 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
13753 }
13754 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*n_expr2*/;
13755 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13756 if (UNTAG_Bool(variable2)) { /*if*/
13757 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PNode::parent=*/;
13758 }
13759 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusExpr].i] = 1;
13760 tracehead = trace.prev;
13761 return;
13762 }
13763 void parser_prod___AMinusExpr___replace_child(val_t self, val_t param0, val_t param1) {
13764 struct trace_t trace = {NULL, NULL, 7057, LOCATE_parser_prod___AMinusExpr___replace_child};
13765 val_t variable0;
13766 val_t variable1;
13767 val_t variable2;
13768 trace.prev = tracehead; tracehead = &trace;
13769 trace.file = LOCATE_parser_prod;
13770 variable0 = param0;
13771 variable1 = param1;
13772 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13773 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMinusExpr___replace_child, LOCATE_parser_prod, 7059); nit_exit(1);}
13774 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13775 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
13776 if (UNTAG_Bool(variable2)) { /*if*/
13777 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13778 if (UNTAG_Bool(variable2)) { /*if*/
13779 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13780 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13781 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMinusExpr___replace_child, LOCATE_parser_prod, 7063); nit_exit(1);}
13782 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable1 /*new_child*/;
13783 } else { /*if*/
13784 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = NIT_NULL /*null*/;
13785 }
13786 goto return_label605;
13787 }
13788 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13789 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
13790 if (UNTAG_Bool(variable2)) { /*if*/
13791 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13792 if (UNTAG_Bool(variable2)) { /*if*/
13793 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13794 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13795 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMinusExpr___replace_child, LOCATE_parser_prod, 7073); nit_exit(1);}
13796 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*new_child*/;
13797 } else { /*if*/
13798 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = NIT_NULL /*null*/;
13799 }
13800 goto return_label605;
13801 }
13802 return_label605: while(false);
13803 tracehead = trace.prev;
13804 return;
13805 }
13806 void parser_prod___AMinusExpr___visit_all(val_t self, val_t param0) {
13807 struct trace_t trace = {NULL, NULL, 7082, LOCATE_parser_prod___AMinusExpr___visit_all};
13808 val_t variable0;
13809 val_t variable1;
13810 trace.prev = tracehead; tracehead = &trace;
13811 trace.file = LOCATE_parser_prod;
13812 variable0 = param0;
13813 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13814 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13815 if (UNTAG_Bool(variable1)) { /*if*/
13816 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13817 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13818 }
13819 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13820 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13821 if (UNTAG_Bool(variable1)) { /*if*/
13822 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13823 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13824 }
13825 tracehead = trace.prev;
13826 return;
13827 }
13828 void parser_prod___AMinusExpr___visit_all_reverse(val_t self, val_t param0) {
13829 struct trace_t trace = {NULL, NULL, 7092, LOCATE_parser_prod___AMinusExpr___visit_all_reverse};
13830 val_t variable0;
13831 val_t variable1;
13832 trace.prev = tracehead; tracehead = &trace;
13833 trace.file = LOCATE_parser_prod;
13834 variable0 = param0;
13835 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13836 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13837 if (UNTAG_Bool(variable1)) { /*if*/
13838 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13839 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13840 }
13841 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13842 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13843 if (UNTAG_Bool(variable1)) { /*if*/
13844 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13845 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13846 }
13847 tracehead = trace.prev;
13848 return;
13849 }
13850 void parser_prod___AStarshipExpr___n_expr__eq(val_t self, val_t param0) {
13851 struct trace_t trace = {NULL, NULL, 7103, LOCATE_parser_prod___AStarshipExpr___n_expr__eq};
13852 val_t variable0;
13853 val_t variable1;
13854 trace.prev = tracehead; tracehead = &trace;
13855 trace.file = LOCATE_parser_prod;
13856 variable0 = param0;
13857 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n*/;
13858 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13859 if (UNTAG_Bool(variable1)) { /*if*/
13860 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
13861 }
13862 tracehead = trace.prev;
13863 return;
13864 }
13865 void parser_prod___AStarshipExpr___n_expr2__eq(val_t self, val_t param0) {
13866 struct trace_t trace = {NULL, NULL, 7110, LOCATE_parser_prod___AStarshipExpr___n_expr2__eq};
13867 val_t variable0;
13868 val_t variable1;
13869 trace.prev = tracehead; tracehead = &trace;
13870 trace.file = LOCATE_parser_prod;
13871 variable0 = param0;
13872 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable0 /*n*/;
13873 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13874 if (UNTAG_Bool(variable1)) { /*if*/
13875 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
13876 }
13877 tracehead = trace.prev;
13878 return;
13879 }
13880 void parser_prod___AStarshipExpr___empty_init(val_t self, int* init_table) {
13881 struct trace_t trace = {NULL, NULL, 7118, LOCATE_parser_prod___AStarshipExpr___empty_init};
13882 trace.prev = tracehead; tracehead = &trace;
13883 trace.file = LOCATE_parser_prod;
13884 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipExpr].i]) return;
13885 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
13886 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipExpr].i] = 1;
13887 tracehead = trace.prev;
13888 return;
13889 }
13890 void parser_prod___AStarshipExpr___init_astarshipexpr(val_t self, val_t param0, val_t param1, int* init_table) {
13891 struct trace_t trace = {NULL, NULL, 7120, LOCATE_parser_prod___AStarshipExpr___init_astarshipexpr};
13892 val_t variable0;
13893 val_t variable1;
13894 val_t variable2;
13895 trace.prev = tracehead; tracehead = &trace;
13896 trace.file = LOCATE_parser_prod;
13897 variable0 = param0;
13898 variable1 = param1;
13899 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipExpr].i]) return;
13900 ((parser_prod___AStarshipExpr___empty_init_t)CALL( self,COLOR_parser_prod___AStarshipExpr___empty_init))( self, init_table /*YYY*/) /*AStarshipExpr::empty_init*/;
13901 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n_expr*/;
13902 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13903 if (UNTAG_Bool(variable2)) { /*if*/
13904 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
13905 }
13906 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*n_expr2*/;
13907 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13908 if (UNTAG_Bool(variable2)) { /*if*/
13909 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PNode::parent=*/;
13910 }
13911 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipExpr].i] = 1;
13912 tracehead = trace.prev;
13913 return;
13914 }
13915 void parser_prod___AStarshipExpr___replace_child(val_t self, val_t param0, val_t param1) {
13916 struct trace_t trace = {NULL, NULL, 7136, LOCATE_parser_prod___AStarshipExpr___replace_child};
13917 val_t variable0;
13918 val_t variable1;
13919 val_t variable2;
13920 trace.prev = tracehead; tracehead = &trace;
13921 trace.file = LOCATE_parser_prod;
13922 variable0 = param0;
13923 variable1 = param1;
13924 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13925 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarshipExpr___replace_child, LOCATE_parser_prod, 7138); nit_exit(1);}
13926 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13927 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
13928 if (UNTAG_Bool(variable2)) { /*if*/
13929 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13930 if (UNTAG_Bool(variable2)) { /*if*/
13931 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13932 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13933 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarshipExpr___replace_child, LOCATE_parser_prod, 7142); nit_exit(1);}
13934 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable1 /*new_child*/;
13935 } else { /*if*/
13936 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = NIT_NULL /*null*/;
13937 }
13938 goto return_label612;
13939 }
13940 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13941 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
13942 if (UNTAG_Bool(variable2)) { /*if*/
13943 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
13944 if (UNTAG_Bool(variable2)) { /*if*/
13945 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13946 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13947 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarshipExpr___replace_child, LOCATE_parser_prod, 7152); nit_exit(1);}
13948 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*new_child*/;
13949 } else { /*if*/
13950 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = NIT_NULL /*null*/;
13951 }
13952 goto return_label612;
13953 }
13954 return_label612: while(false);
13955 tracehead = trace.prev;
13956 return;
13957 }
13958 void parser_prod___AStarshipExpr___visit_all(val_t self, val_t param0) {
13959 struct trace_t trace = {NULL, NULL, 7161, LOCATE_parser_prod___AStarshipExpr___visit_all};
13960 val_t variable0;
13961 val_t variable1;
13962 trace.prev = tracehead; tracehead = &trace;
13963 trace.file = LOCATE_parser_prod;
13964 variable0 = param0;
13965 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13966 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13967 if (UNTAG_Bool(variable1)) { /*if*/
13968 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13969 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13970 }
13971 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13972 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13973 if (UNTAG_Bool(variable1)) { /*if*/
13974 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13975 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13976 }
13977 tracehead = trace.prev;
13978 return;
13979 }
13980 void parser_prod___AStarshipExpr___visit_all_reverse(val_t self, val_t param0) {
13981 struct trace_t trace = {NULL, NULL, 7171, LOCATE_parser_prod___AStarshipExpr___visit_all_reverse};
13982 val_t variable0;
13983 val_t variable1;
13984 trace.prev = tracehead; tracehead = &trace;
13985 trace.file = LOCATE_parser_prod;
13986 variable0 = param0;
13987 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13988 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13989 if (UNTAG_Bool(variable1)) { /*if*/
13990 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
13991 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13992 }
13993 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13994 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
13995 if (UNTAG_Bool(variable1)) { /*if*/
13996 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
13997 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13998 }
13999 tracehead = trace.prev;
14000 return;
14001 }
14002 void parser_prod___AStarExpr___n_expr__eq(val_t self, val_t param0) {
14003 struct trace_t trace = {NULL, NULL, 7182, LOCATE_parser_prod___AStarExpr___n_expr__eq};
14004 val_t variable0;
14005 val_t variable1;
14006 trace.prev = tracehead; tracehead = &trace;
14007 trace.file = LOCATE_parser_prod;
14008 variable0 = param0;
14009 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n*/;
14010 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14011 if (UNTAG_Bool(variable1)) { /*if*/
14012 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
14013 }
14014 tracehead = trace.prev;
14015 return;
14016 }
14017 void parser_prod___AStarExpr___n_expr2__eq(val_t self, val_t param0) {
14018 struct trace_t trace = {NULL, NULL, 7189, LOCATE_parser_prod___AStarExpr___n_expr2__eq};
14019 val_t variable0;
14020 val_t variable1;
14021 trace.prev = tracehead; tracehead = &trace;
14022 trace.file = LOCATE_parser_prod;
14023 variable0 = param0;
14024 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable0 /*n*/;
14025 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14026 if (UNTAG_Bool(variable1)) { /*if*/
14027 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
14028 }
14029 tracehead = trace.prev;
14030 return;
14031 }
14032 void parser_prod___AStarExpr___empty_init(val_t self, int* init_table) {
14033 struct trace_t trace = {NULL, NULL, 7197, LOCATE_parser_prod___AStarExpr___empty_init};
14034 trace.prev = tracehead; tracehead = &trace;
14035 trace.file = LOCATE_parser_prod;
14036 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarExpr].i]) return;
14037 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
14038 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarExpr].i] = 1;
14039 tracehead = trace.prev;
14040 return;
14041 }
14042 void parser_prod___AStarExpr___init_astarexpr(val_t self, val_t param0, val_t param1, int* init_table) {
14043 struct trace_t trace = {NULL, NULL, 7199, LOCATE_parser_prod___AStarExpr___init_astarexpr};
14044 val_t variable0;
14045 val_t variable1;
14046 val_t variable2;
14047 trace.prev = tracehead; tracehead = &trace;
14048 trace.file = LOCATE_parser_prod;
14049 variable0 = param0;
14050 variable1 = param1;
14051 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarExpr].i]) return;
14052 ((parser_prod___AStarExpr___empty_init_t)CALL( self,COLOR_parser_prod___AStarExpr___empty_init))( self, init_table /*YYY*/) /*AStarExpr::empty_init*/;
14053 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n_expr*/;
14054 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14055 if (UNTAG_Bool(variable2)) { /*if*/
14056 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
14057 }
14058 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*n_expr2*/;
14059 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14060 if (UNTAG_Bool(variable2)) { /*if*/
14061 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PNode::parent=*/;
14062 }
14063 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarExpr].i] = 1;
14064 tracehead = trace.prev;
14065 return;
14066 }
14067 void parser_prod___AStarExpr___replace_child(val_t self, val_t param0, val_t param1) {
14068 struct trace_t trace = {NULL, NULL, 7215, LOCATE_parser_prod___AStarExpr___replace_child};
14069 val_t variable0;
14070 val_t variable1;
14071 val_t variable2;
14072 trace.prev = tracehead; tracehead = &trace;
14073 trace.file = LOCATE_parser_prod;
14074 variable0 = param0;
14075 variable1 = param1;
14076 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14077 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarExpr___replace_child, LOCATE_parser_prod, 7217); nit_exit(1);}
14078 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
14079 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
14080 if (UNTAG_Bool(variable2)) { /*if*/
14081 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14082 if (UNTAG_Bool(variable2)) { /*if*/
14083 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14084 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14085 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarExpr___replace_child, LOCATE_parser_prod, 7221); nit_exit(1);}
14086 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable1 /*new_child*/;
14087 } else { /*if*/
14088 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = NIT_NULL /*null*/;
14089 }
14090 goto return_label619;
14091 }
14092 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
14093 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
14094 if (UNTAG_Bool(variable2)) { /*if*/
14095 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14096 if (UNTAG_Bool(variable2)) { /*if*/
14097 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14098 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14099 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStarExpr___replace_child, LOCATE_parser_prod, 7231); nit_exit(1);}
14100 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*new_child*/;
14101 } else { /*if*/
14102 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = NIT_NULL /*null*/;
14103 }
14104 goto return_label619;
14105 }
14106 return_label619: while(false);
14107 tracehead = trace.prev;
14108 return;
14109 }
14110 void parser_prod___AStarExpr___visit_all(val_t self, val_t param0) {
14111 struct trace_t trace = {NULL, NULL, 7240, LOCATE_parser_prod___AStarExpr___visit_all};
14112 val_t variable0;
14113 val_t variable1;
14114 trace.prev = tracehead; tracehead = &trace;
14115 trace.file = LOCATE_parser_prod;
14116 variable0 = param0;
14117 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
14118 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
14119 if (UNTAG_Bool(variable1)) { /*if*/
14120 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
14121 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14122 }
14123 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
14124 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
14125 if (UNTAG_Bool(variable1)) { /*if*/
14126 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
14127 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14128 }
14129 tracehead = trace.prev;
14130 return;
14131 }
14132 void parser_prod___AStarExpr___visit_all_reverse(val_t self, val_t param0) {
14133 struct trace_t trace = {NULL, NULL, 7250, LOCATE_parser_prod___AStarExpr___visit_all_reverse};
14134 val_t variable0;
14135 val_t variable1;
14136 trace.prev = tracehead; tracehead = &trace;
14137 trace.file = LOCATE_parser_prod;
14138 variable0 = param0;
14139 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
14140 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
14141 if (UNTAG_Bool(variable1)) { /*if*/
14142 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
14143 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14144 }
14145 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
14146 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
14147 if (UNTAG_Bool(variable1)) { /*if*/
14148 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
14149 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14150 }
14151 tracehead = trace.prev;
14152 return;
14153 }
14154 void parser_prod___ASlashExpr___n_expr__eq(val_t self, val_t param0) {
14155 struct trace_t trace = {NULL, NULL, 7261, LOCATE_parser_prod___ASlashExpr___n_expr__eq};
14156 val_t variable0;
14157 val_t variable1;
14158 trace.prev = tracehead; tracehead = &trace;
14159 trace.file = LOCATE_parser_prod;
14160 variable0 = param0;
14161 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n*/;
14162 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14163 if (UNTAG_Bool(variable1)) { /*if*/
14164 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
14165 }
14166 tracehead = trace.prev;
14167 return;
14168 }
14169 void parser_prod___ASlashExpr___n_expr2__eq(val_t self, val_t param0) {
14170 struct trace_t trace = {NULL, NULL, 7268, LOCATE_parser_prod___ASlashExpr___n_expr2__eq};
14171 val_t variable0;
14172 val_t variable1;
14173 trace.prev = tracehead; tracehead = &trace;
14174 trace.file = LOCATE_parser_prod;
14175 variable0 = param0;
14176 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable0 /*n*/;
14177 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14178 if (UNTAG_Bool(variable1)) { /*if*/
14179 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
14180 }
14181 tracehead = trace.prev;
14182 return;
14183 }
14184 void parser_prod___ASlashExpr___empty_init(val_t self, int* init_table) {
14185 struct trace_t trace = {NULL, NULL, 7276, LOCATE_parser_prod___ASlashExpr___empty_init};
14186 trace.prev = tracehead; tracehead = &trace;
14187 trace.file = LOCATE_parser_prod;
14188 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashExpr].i]) return;
14189 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
14190 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashExpr].i] = 1;
14191 tracehead = trace.prev;
14192 return;
14193 }
14194 void parser_prod___ASlashExpr___init_aslashexpr(val_t self, val_t param0, val_t param1, int* init_table) {
14195 struct trace_t trace = {NULL, NULL, 7278, LOCATE_parser_prod___ASlashExpr___init_aslashexpr};
14196 val_t variable0;
14197 val_t variable1;
14198 val_t variable2;
14199 trace.prev = tracehead; tracehead = &trace;
14200 trace.file = LOCATE_parser_prod;
14201 variable0 = param0;
14202 variable1 = param1;
14203 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashExpr].i]) return;
14204 ((parser_prod___ASlashExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASlashExpr___empty_init))( self, init_table /*YYY*/) /*ASlashExpr::empty_init*/;
14205 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n_expr*/;
14206 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14207 if (UNTAG_Bool(variable2)) { /*if*/
14208 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
14209 }
14210 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*n_expr2*/;
14211 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14212 if (UNTAG_Bool(variable2)) { /*if*/
14213 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PNode::parent=*/;
14214 }
14215 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashExpr].i] = 1;
14216 tracehead = trace.prev;
14217 return;
14218 }
14219 void parser_prod___ASlashExpr___replace_child(val_t self, val_t param0, val_t param1) {
14220 struct trace_t trace = {NULL, NULL, 7294, LOCATE_parser_prod___ASlashExpr___replace_child};
14221 val_t variable0;
14222 val_t variable1;
14223 val_t variable2;
14224 trace.prev = tracehead; tracehead = &trace;
14225 trace.file = LOCATE_parser_prod;
14226 variable0 = param0;
14227 variable1 = param1;
14228 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14229 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASlashExpr___replace_child, LOCATE_parser_prod, 7296); nit_exit(1);}
14230 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
14231 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
14232 if (UNTAG_Bool(variable2)) { /*if*/
14233 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14234 if (UNTAG_Bool(variable2)) { /*if*/
14235 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14236 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14237 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASlashExpr___replace_child, LOCATE_parser_prod, 7300); nit_exit(1);}
14238 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable1 /*new_child*/;
14239 } else { /*if*/
14240 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = NIT_NULL /*null*/;
14241 }
14242 goto return_label626;
14243 }
14244 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
14245 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
14246 if (UNTAG_Bool(variable2)) { /*if*/
14247 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14248 if (UNTAG_Bool(variable2)) { /*if*/
14249 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14250 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14251 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASlashExpr___replace_child, LOCATE_parser_prod, 7310); nit_exit(1);}
14252 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*new_child*/;
14253 } else { /*if*/
14254 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = NIT_NULL /*null*/;
14255 }
14256 goto return_label626;
14257 }
14258 return_label626: while(false);
14259 tracehead = trace.prev;
14260 return;
14261 }
14262 void parser_prod___ASlashExpr___visit_all(val_t self, val_t param0) {
14263 struct trace_t trace = {NULL, NULL, 7319, LOCATE_parser_prod___ASlashExpr___visit_all};
14264 val_t variable0;
14265 val_t variable1;
14266 trace.prev = tracehead; tracehead = &trace;
14267 trace.file = LOCATE_parser_prod;
14268 variable0 = param0;
14269 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
14270 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
14271 if (UNTAG_Bool(variable1)) { /*if*/
14272 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
14273 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14274 }
14275 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
14276 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
14277 if (UNTAG_Bool(variable1)) { /*if*/
14278 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
14279 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14280 }
14281 tracehead = trace.prev;
14282 return;
14283 }
14284 void parser_prod___ASlashExpr___visit_all_reverse(val_t self, val_t param0) {
14285 struct trace_t trace = {NULL, NULL, 7329, LOCATE_parser_prod___ASlashExpr___visit_all_reverse};
14286 val_t variable0;
14287 val_t variable1;
14288 trace.prev = tracehead; tracehead = &trace;
14289 trace.file = LOCATE_parser_prod;
14290 variable0 = param0;
14291 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
14292 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
14293 if (UNTAG_Bool(variable1)) { /*if*/
14294 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
14295 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14296 }
14297 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
14298 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
14299 if (UNTAG_Bool(variable1)) { /*if*/
14300 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
14301 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14302 }
14303 tracehead = trace.prev;
14304 return;
14305 }
14306 void parser_prod___APercentExpr___n_expr__eq(val_t self, val_t param0) {
14307 struct trace_t trace = {NULL, NULL, 7340, LOCATE_parser_prod___APercentExpr___n_expr__eq};
14308 val_t variable0;
14309 val_t variable1;
14310 trace.prev = tracehead; tracehead = &trace;
14311 trace.file = LOCATE_parser_prod;
14312 variable0 = param0;
14313 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n*/;
14314 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14315 if (UNTAG_Bool(variable1)) { /*if*/
14316 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
14317 }
14318 tracehead = trace.prev;
14319 return;
14320 }
14321 void parser_prod___APercentExpr___n_expr2__eq(val_t self, val_t param0) {
14322 struct trace_t trace = {NULL, NULL, 7347, LOCATE_parser_prod___APercentExpr___n_expr2__eq};
14323 val_t variable0;
14324 val_t variable1;
14325 trace.prev = tracehead; tracehead = &trace;
14326 trace.file = LOCATE_parser_prod;
14327 variable0 = param0;
14328 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable0 /*n*/;
14329 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14330 if (UNTAG_Bool(variable1)) { /*if*/
14331 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
14332 }
14333 tracehead = trace.prev;
14334 return;
14335 }
14336 void parser_prod___APercentExpr___empty_init(val_t self, int* init_table) {
14337 struct trace_t trace = {NULL, NULL, 7355, LOCATE_parser_prod___APercentExpr___empty_init};
14338 trace.prev = tracehead; tracehead = &trace;
14339 trace.file = LOCATE_parser_prod;
14340 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentExpr].i]) return;
14341 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
14342 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentExpr].i] = 1;
14343 tracehead = trace.prev;
14344 return;
14345 }
14346 void parser_prod___APercentExpr___init_apercentexpr(val_t self, val_t param0, val_t param1, int* init_table) {
14347 struct trace_t trace = {NULL, NULL, 7357, LOCATE_parser_prod___APercentExpr___init_apercentexpr};
14348 val_t variable0;
14349 val_t variable1;
14350 val_t variable2;
14351 trace.prev = tracehead; tracehead = &trace;
14352 trace.file = LOCATE_parser_prod;
14353 variable0 = param0;
14354 variable1 = param1;
14355 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentExpr].i]) return;
14356 ((parser_prod___APercentExpr___empty_init_t)CALL( self,COLOR_parser_prod___APercentExpr___empty_init))( self, init_table /*YYY*/) /*APercentExpr::empty_init*/;
14357 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n_expr*/;
14358 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14359 if (UNTAG_Bool(variable2)) { /*if*/
14360 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
14361 }
14362 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*n_expr2*/;
14363 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14364 if (UNTAG_Bool(variable2)) { /*if*/
14365 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PNode::parent=*/;
14366 }
14367 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentExpr].i] = 1;
14368 tracehead = trace.prev;
14369 return;
14370 }
14371 void parser_prod___APercentExpr___replace_child(val_t self, val_t param0, val_t param1) {
14372 struct trace_t trace = {NULL, NULL, 7373, LOCATE_parser_prod___APercentExpr___replace_child};
14373 val_t variable0;
14374 val_t variable1;
14375 val_t variable2;
14376 trace.prev = tracehead; tracehead = &trace;
14377 trace.file = LOCATE_parser_prod;
14378 variable0 = param0;
14379 variable1 = param1;
14380 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14381 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APercentExpr___replace_child, LOCATE_parser_prod, 7375); nit_exit(1);}
14382 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
14383 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
14384 if (UNTAG_Bool(variable2)) { /*if*/
14385 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14386 if (UNTAG_Bool(variable2)) { /*if*/
14387 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14388 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14389 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APercentExpr___replace_child, LOCATE_parser_prod, 7379); nit_exit(1);}
14390 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable1 /*new_child*/;
14391 } else { /*if*/
14392 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = NIT_NULL /*null*/;
14393 }
14394 goto return_label633;
14395 }
14396 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
14397 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
14398 if (UNTAG_Bool(variable2)) { /*if*/
14399 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14400 if (UNTAG_Bool(variable2)) { /*if*/
14401 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14402 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14403 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APercentExpr___replace_child, LOCATE_parser_prod, 7389); nit_exit(1);}
14404 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*new_child*/;
14405 } else { /*if*/
14406 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = NIT_NULL /*null*/;
14407 }
14408 goto return_label633;
14409 }
14410 return_label633: while(false);
14411 tracehead = trace.prev;
14412 return;
14413 }
14414 void parser_prod___APercentExpr___visit_all(val_t self, val_t param0) {
14415 struct trace_t trace = {NULL, NULL, 7398, LOCATE_parser_prod___APercentExpr___visit_all};
14416 val_t variable0;
14417 val_t variable1;
14418 trace.prev = tracehead; tracehead = &trace;
14419 trace.file = LOCATE_parser_prod;
14420 variable0 = param0;
14421 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
14422 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
14423 if (UNTAG_Bool(variable1)) { /*if*/
14424 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
14425 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14426 }
14427 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
14428 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
14429 if (UNTAG_Bool(variable1)) { /*if*/
14430 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
14431 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14432 }
14433 tracehead = trace.prev;
14434 return;
14435 }
14436 void parser_prod___APercentExpr___visit_all_reverse(val_t self, val_t param0) {
14437 struct trace_t trace = {NULL, NULL, 7408, LOCATE_parser_prod___APercentExpr___visit_all_reverse};
14438 val_t variable0;
14439 val_t variable1;
14440 trace.prev = tracehead; tracehead = &trace;
14441 trace.file = LOCATE_parser_prod;
14442 variable0 = param0;
14443 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
14444 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
14445 if (UNTAG_Bool(variable1)) { /*if*/
14446 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
14447 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14448 }
14449 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
14450 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
14451 if (UNTAG_Bool(variable1)) { /*if*/
14452 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
14453 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14454 }
14455 tracehead = trace.prev;
14456 return;
14457 }
14458 void parser_prod___AUminusExpr___n_minus__eq(val_t self, val_t param0) {
14459 struct trace_t trace = {NULL, NULL, 7419, LOCATE_parser_prod___AUminusExpr___n_minus__eq};
14460 val_t variable0;
14461 val_t variable1;
14462 trace.prev = tracehead; tracehead = &trace;
14463 trace.file = LOCATE_parser_prod;
14464 variable0 = param0;
14465 ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/ = variable0 /*n*/;
14466 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14467 if (UNTAG_Bool(variable1)) { /*if*/
14468 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
14469 }
14470 tracehead = trace.prev;
14471 return;
14472 }
14473 void parser_prod___AUminusExpr___n_expr__eq(val_t self, val_t param0) {
14474 struct trace_t trace = {NULL, NULL, 7426, LOCATE_parser_prod___AUminusExpr___n_expr__eq};
14475 val_t variable0;
14476 val_t variable1;
14477 trace.prev = tracehead; tracehead = &trace;
14478 trace.file = LOCATE_parser_prod;
14479 variable0 = param0;
14480 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n*/;
14481 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14482 if (UNTAG_Bool(variable1)) { /*if*/
14483 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
14484 }
14485 tracehead = trace.prev;
14486 return;
14487 }
14488 void parser_prod___AUminusExpr___empty_init(val_t self, int* init_table) {
14489 struct trace_t trace = {NULL, NULL, 7434, LOCATE_parser_prod___AUminusExpr___empty_init};
14490 trace.prev = tracehead; tracehead = &trace;
14491 trace.file = LOCATE_parser_prod;
14492 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUminusExpr].i]) return;
14493 ((parser_prod___ASendExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASendExpr___empty_init))( self, init_table /*YYY*/) /*ASendExpr::empty_init*/;
14494 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUminusExpr].i] = 1;
14495 tracehead = trace.prev;
14496 return;
14497 }
14498 void parser_prod___AUminusExpr___init_auminusexpr(val_t self, val_t param0, val_t param1, int* init_table) {
14499 struct trace_t trace = {NULL, NULL, 7436, LOCATE_parser_prod___AUminusExpr___init_auminusexpr};
14500 val_t variable0;
14501 val_t variable1;
14502 val_t variable2;
14503 trace.prev = tracehead; tracehead = &trace;
14504 trace.file = LOCATE_parser_prod;
14505 variable0 = param0;
14506 variable1 = param1;
14507 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUminusExpr].i]) return;
14508 ((parser_prod___AUminusExpr___empty_init_t)CALL( self,COLOR_parser_prod___AUminusExpr___empty_init))( self, init_table /*YYY*/) /*AUminusExpr::empty_init*/;
14509 ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/ = variable0 /*n_minus*/;
14510 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_minus*/ == NIT_NULL /*null*/) || (( variable0 /*n_minus*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_minus*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_minus*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_minus*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_minus*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14511 if (UNTAG_Bool(variable2)) { /*if*/
14512 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_minus*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_minus*/, self) /*PNode::parent=*/;
14513 }
14514 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable1 /*n_expr*/;
14515 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14516 if (UNTAG_Bool(variable2)) { /*if*/
14517 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/, self) /*PNode::parent=*/;
14518 }
14519 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUminusExpr].i] = 1;
14520 tracehead = trace.prev;
14521 return;
14522 }
14523 void parser_prod___AUminusExpr___replace_child(val_t self, val_t param0, val_t param1) {
14524 struct trace_t trace = {NULL, NULL, 7452, LOCATE_parser_prod___AUminusExpr___replace_child};
14525 val_t variable0;
14526 val_t variable1;
14527 val_t variable2;
14528 trace.prev = tracehead; tracehead = &trace;
14529 trace.file = LOCATE_parser_prod;
14530 variable0 = param0;
14531 variable1 = param1;
14532 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14533 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AUminusExpr___replace_child, LOCATE_parser_prod, 7454); nit_exit(1);}
14534 variable2 = ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/;
14535 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
14536 if (UNTAG_Bool(variable2)) { /*if*/
14537 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14538 if (UNTAG_Bool(variable2)) { /*if*/
14539 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14540 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
14541 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AUminusExpr___replace_child, LOCATE_parser_prod, 7458); nit_exit(1);}
14542 ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/ = variable1 /*new_child*/;
14543 } else { /*if*/
14544 ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/ = NIT_NULL /*null*/;
14545 }
14546 goto return_label640;
14547 }
14548 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
14549 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
14550 if (UNTAG_Bool(variable2)) { /*if*/
14551 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14552 if (UNTAG_Bool(variable2)) { /*if*/
14553 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14554 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14555 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AUminusExpr___replace_child, LOCATE_parser_prod, 7468); nit_exit(1);}
14556 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable1 /*new_child*/;
14557 } else { /*if*/
14558 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = NIT_NULL /*null*/;
14559 }
14560 goto return_label640;
14561 }
14562 return_label640: while(false);
14563 tracehead = trace.prev;
14564 return;
14565 }
14566 void parser_prod___AUminusExpr___visit_all(val_t self, val_t param0) {
14567 struct trace_t trace = {NULL, NULL, 7477, LOCATE_parser_prod___AUminusExpr___visit_all};
14568 val_t variable0;
14569 val_t variable1;
14570 trace.prev = tracehead; tracehead = &trace;
14571 trace.file = LOCATE_parser_prod;
14572 variable0 = param0;
14573 variable1 = ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/;
14574 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
14575 if (UNTAG_Bool(variable1)) { /*if*/
14576 variable1 = ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/;
14577 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14578 }
14579 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
14580 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
14581 if (UNTAG_Bool(variable1)) { /*if*/
14582 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
14583 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14584 }
14585 tracehead = trace.prev;
14586 return;
14587 }
14588 void parser_prod___AUminusExpr___visit_all_reverse(val_t self, val_t param0) {
14589 struct trace_t trace = {NULL, NULL, 7487, LOCATE_parser_prod___AUminusExpr___visit_all_reverse};
14590 val_t variable0;
14591 val_t variable1;
14592 trace.prev = tracehead; tracehead = &trace;
14593 trace.file = LOCATE_parser_prod;
14594 variable0 = param0;
14595 variable1 = ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/;
14596 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
14597 if (UNTAG_Bool(variable1)) { /*if*/
14598 variable1 = ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/;
14599 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14600 }
14601 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
14602 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
14603 if (UNTAG_Bool(variable1)) { /*if*/
14604 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
14605 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14606 }
14607 tracehead = trace.prev;
14608 return;
14609 }
14610 void parser_prod___ANewExpr___n_kwnew__eq(val_t self, val_t param0) {
14611 struct trace_t trace = {NULL, NULL, 7498, LOCATE_parser_prod___ANewExpr___n_kwnew__eq};
14612 val_t variable0;
14613 val_t variable1;
14614 trace.prev = tracehead; tracehead = &trace;
14615 trace.file = LOCATE_parser_prod;
14616 variable0 = param0;
14617 ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/ = variable0 /*n*/;
14618 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14619 if (UNTAG_Bool(variable1)) { /*if*/
14620 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
14621 }
14622 tracehead = trace.prev;
14623 return;
14624 }
14625 void parser_prod___ANewExpr___n_type__eq(val_t self, val_t param0) {
14626 struct trace_t trace = {NULL, NULL, 7505, LOCATE_parser_prod___ANewExpr___n_type__eq};
14627 val_t variable0;
14628 val_t variable1;
14629 trace.prev = tracehead; tracehead = &trace;
14630 trace.file = LOCATE_parser_prod;
14631 variable0 = param0;
14632 ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/ = variable0 /*n*/;
14633 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14634 if (UNTAG_Bool(variable1)) { /*if*/
14635 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
14636 }
14637 tracehead = trace.prev;
14638 return;
14639 }
14640 void parser_prod___ANewExpr___n_id__eq(val_t self, val_t param0) {
14641 struct trace_t trace = {NULL, NULL, 7512, LOCATE_parser_prod___ANewExpr___n_id__eq};
14642 val_t variable0;
14643 val_t variable1;
14644 trace.prev = tracehead; tracehead = &trace;
14645 trace.file = LOCATE_parser_prod;
14646 variable0 = param0;
14647 ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/ = variable0 /*n*/;
14648 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14649 if (UNTAG_Bool(variable1)) { /*if*/
14650 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
14651 }
14652 tracehead = trace.prev;
14653 return;
14654 }
14655 void parser_prod___ANewExpr___empty_init(val_t self, int* init_table) {
14656 struct trace_t trace = {NULL, NULL, 7520, LOCATE_parser_prod___ANewExpr___empty_init};
14657 trace.prev = tracehead; tracehead = &trace;
14658 trace.file = LOCATE_parser_prod;
14659 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANewExpr].i]) return;
14660 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANewExpr].i] = 1;
14661 tracehead = trace.prev;
14662 return;
14663 }
14664 void parser_prod___ANewExpr___init_anewexpr(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, int* init_table) {
14665 struct trace_t trace = {NULL, NULL, 7522, LOCATE_parser_prod___ANewExpr___init_anewexpr};
14666 val_t variable0;
14667 val_t variable1;
14668 val_t variable2;
14669 val_t variable3;
14670 val_t variable4;
14671 val_t variable5;
14672 val_t variable6;
14673 trace.prev = tracehead; tracehead = &trace;
14674 trace.file = LOCATE_parser_prod;
14675 variable0 = param0;
14676 variable1 = param1;
14677 variable2 = param2;
14678 variable3 = param3;
14679 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANewExpr].i]) return;
14680 ((parser_prod___ANewExpr___empty_init_t)CALL( self,COLOR_parser_prod___ANewExpr___empty_init))( self, init_table /*YYY*/) /*ANewExpr::empty_init*/;
14681 ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/ = variable0 /*n_kwnew*/;
14682 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwnew*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwnew*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwnew*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwnew*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwnew*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwnew*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14683 if (UNTAG_Bool(variable4)) { /*if*/
14684 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwnew*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwnew*/, self) /*PNode::parent=*/;
14685 }
14686 ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/ = variable1 /*n_type*/;
14687 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_type*/ == NIT_NULL /*null*/) || (( variable1 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_type*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14688 if (UNTAG_Bool(variable4)) { /*if*/
14689 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_type*/, self) /*PNode::parent=*/;
14690 }
14691 ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/ = variable2 /*n_id*/;
14692 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_id*/ == NIT_NULL /*null*/) || (( variable2 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_id*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14693 if (UNTAG_Bool(variable4)) { /*if*/
14694 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_id*/, self) /*PNode::parent=*/;
14695 }
14696 variable4 = NEW_List_list___List___init(); /*new List[PExpr]*/
14697 ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/ = variable4;
14698 variable4 = ((array___AbstractArray___iterator_t)CALL( variable3 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable3 /*n_args*/) /*AbstractArray::iterator*/;
14699 while (true) { /*for*/
14700 variable5 = ((array___ArrayIterator___is_ok_t)CALL(variable4,COLOR_abstract_collection___Iterator___is_ok))(variable4) /*ArrayIterator::is_ok*/;
14701 if (!UNTAG_Bool(variable5)) break; /*for*/
14702 variable5 = ((array___ArrayIterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*ArrayIterator::item*/;
14703 variable6 = TAG_Bool(( variable5 /*n*/==NIT_NULL) || VAL_ISA( variable5 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14704 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANewExpr___init_anewexpr, LOCATE_parser_prod, 7544); nit_exit(1);}
14705 variable6 = ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/;
14706 ((abstract_collection___IndexedCollection___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6, variable5 /*n*/) /*IndexedCollection::add*/;
14707 ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n*/, self) /*PNode::parent=*/;
14708 continue_648: while(0);
14709 ((array___ArrayIterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*ArrayIterator::next*/;
14710 }
14711 break_648: while(0);
14712 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANewExpr].i] = 1;
14713 tracehead = trace.prev;
14714 return;
14715 }
14716 void parser_prod___ANewExpr___replace_child(val_t self, val_t param0, val_t param1) {
14717 struct trace_t trace = {NULL, NULL, 7550, LOCATE_parser_prod___ANewExpr___replace_child};
14718 val_t variable0;
14719 val_t variable1;
14720 val_t variable2;
14721 val_t variable3;
14722 val_t variable4;
14723 trace.prev = tracehead; tracehead = &trace;
14724 trace.file = LOCATE_parser_prod;
14725 variable0 = param0;
14726 variable1 = param1;
14727 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14728 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANewExpr___replace_child, LOCATE_parser_prod, 7552); nit_exit(1);}
14729 variable2 = ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/;
14730 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
14731 if (UNTAG_Bool(variable2)) { /*if*/
14732 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14733 if (UNTAG_Bool(variable2)) { /*if*/
14734 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14735 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
14736 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANewExpr___replace_child, LOCATE_parser_prod, 7556); nit_exit(1);}
14737 ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/ = variable1 /*new_child*/;
14738 } else { /*if*/
14739 ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/ = NIT_NULL /*null*/;
14740 }
14741 goto return_label649;
14742 }
14743 variable2 = ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/;
14744 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
14745 if (UNTAG_Bool(variable2)) { /*if*/
14746 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14747 if (UNTAG_Bool(variable2)) { /*if*/
14748 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14749 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
14750 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANewExpr___replace_child, LOCATE_parser_prod, 7566); nit_exit(1);}
14751 ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/ = variable1 /*new_child*/;
14752 } else { /*if*/
14753 ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/ = NIT_NULL /*null*/;
14754 }
14755 goto return_label649;
14756 }
14757 variable2 = ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/;
14758 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
14759 if (UNTAG_Bool(variable2)) { /*if*/
14760 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14761 if (UNTAG_Bool(variable2)) { /*if*/
14762 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14763 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
14764 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANewExpr___replace_child, LOCATE_parser_prod, 7576); nit_exit(1);}
14765 ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/ = variable1 /*new_child*/;
14766 } else { /*if*/
14767 ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/ = NIT_NULL /*null*/;
14768 }
14769 goto return_label649;
14770 }
14771 variable2 = ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/;
14772 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
14773 variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
14774 variable2 = variable3;
14775 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
14776 while (true) { /*for*/
14777 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
14778 if (!UNTAG_Bool(variable3)) break; /*for*/
14779 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
14780 variable4 = ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/;
14781 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
14782 variable4 = TAG_Bool((variable4 == variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable0 /*old_child*/) /*Object::==*/)))));
14783 if (UNTAG_Bool(variable4)) { /*if*/
14784 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14785 if (UNTAG_Bool(variable4)) { /*if*/
14786 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14787 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANewExpr___replace_child, LOCATE_parser_prod, 7586); nit_exit(1);}
14788 variable4 = ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/;
14789 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
14790 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14791 } else { /*if*/
14792 variable4 = ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/;
14793 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
14794 }
14795 goto return_label649;
14796 }
14797 continue_650: while(0);
14798 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
14799 }
14800 break_650: while(0);
14801 return_label649: while(false);
14802 tracehead = trace.prev;
14803 return;
14804 }
14805 void parser_prod___ANewExpr___visit_all(val_t self, val_t param0) {
14806 struct trace_t trace = {NULL, NULL, 7597, LOCATE_parser_prod___ANewExpr___visit_all};
14807 val_t variable0;
14808 val_t variable1;
14809 val_t variable2;
14810 trace.prev = tracehead; tracehead = &trace;
14811 trace.file = LOCATE_parser_prod;
14812 variable0 = param0;
14813 variable1 = ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/;
14814 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
14815 if (UNTAG_Bool(variable1)) { /*if*/
14816 variable1 = ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/;
14817 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14818 }
14819 variable1 = ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/;
14820 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
14821 if (UNTAG_Bool(variable1)) { /*if*/
14822 variable1 = ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/;
14823 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14824 }
14825 variable1 = ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/;
14826 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
14827 if (UNTAG_Bool(variable1)) { /*if*/
14828 variable1 = ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/;
14829 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14830 }
14831 variable1 = ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/;
14832 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
14833 while (true) { /*for*/
14834 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
14835 if (!UNTAG_Bool(variable2)) break; /*for*/
14836 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
14837 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
14838 continue_652: while(0);
14839 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
14840 }
14841 break_652: while(0);
14842 tracehead = trace.prev;
14843 return;
14844 }
14845 void parser_prod___ANewExpr___visit_all_reverse(val_t self, val_t param0) {
14846 struct trace_t trace = {NULL, NULL, 7613, LOCATE_parser_prod___ANewExpr___visit_all_reverse};
14847 val_t variable0;
14848 val_t variable1;
14849 val_t variable2;
14850 trace.prev = tracehead; tracehead = &trace;
14851 trace.file = LOCATE_parser_prod;
14852 variable0 = param0;
14853 variable1 = ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/;
14854 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
14855 if (UNTAG_Bool(variable1)) { /*if*/
14856 variable1 = ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/;
14857 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14858 }
14859 variable1 = ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/;
14860 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
14861 if (UNTAG_Bool(variable1)) { /*if*/
14862 variable1 = ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/;
14863 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14864 }
14865 variable1 = ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/;
14866 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
14867 if (UNTAG_Bool(variable1)) { /*if*/
14868 variable1 = ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/;
14869 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14870 }
14871 variable2 = ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/;
14872 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
14873 variable1 = variable2;
14874 while (true) { /*while*/
14875 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
14876 if (!UNTAG_Bool(variable2)) break; /* while*/
14877 variable2 = ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/;
14878 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
14879 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
14880 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
14881 variable1 = variable2 /*i=*/;
14882 continue_654: while(0);
14883 }
14884 break_654: while(0);
14885 tracehead = trace.prev;
14886 return;
14887 }
14888 void parser_prod___AAttrExpr___n_expr__eq(val_t self, val_t param0) {
14889 struct trace_t trace = {NULL, NULL, 7634, LOCATE_parser_prod___AAttrExpr___n_expr__eq};
14890 val_t variable0;
14891 val_t variable1;
14892 trace.prev = tracehead; tracehead = &trace;
14893 trace.file = LOCATE_parser_prod;
14894 variable0 = param0;
14895 ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ = variable0 /*n*/;
14896 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14897 if (UNTAG_Bool(variable1)) { /*if*/
14898 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
14899 }
14900 tracehead = trace.prev;
14901 return;
14902 }
14903 void parser_prod___AAttrExpr___n_id__eq(val_t self, val_t param0) {
14904 struct trace_t trace = {NULL, NULL, 7641, LOCATE_parser_prod___AAttrExpr___n_id__eq};
14905 val_t variable0;
14906 val_t variable1;
14907 trace.prev = tracehead; tracehead = &trace;
14908 trace.file = LOCATE_parser_prod;
14909 variable0 = param0;
14910 ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ = variable0 /*n*/;
14911 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14912 if (UNTAG_Bool(variable1)) { /*if*/
14913 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
14914 }
14915 tracehead = trace.prev;
14916 return;
14917 }
14918 void parser_prod___AAttrExpr___empty_init(val_t self, int* init_table) {
14919 struct trace_t trace = {NULL, NULL, 7649, LOCATE_parser_prod___AAttrExpr___empty_init};
14920 trace.prev = tracehead; tracehead = &trace;
14921 trace.file = LOCATE_parser_prod;
14922 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrExpr].i]) return;
14923 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrExpr].i] = 1;
14924 tracehead = trace.prev;
14925 return;
14926 }
14927 void parser_prod___AAttrExpr___init_aattrexpr(val_t self, val_t param0, val_t param1, int* init_table) {
14928 struct trace_t trace = {NULL, NULL, 7651, LOCATE_parser_prod___AAttrExpr___init_aattrexpr};
14929 val_t variable0;
14930 val_t variable1;
14931 val_t variable2;
14932 trace.prev = tracehead; tracehead = &trace;
14933 trace.file = LOCATE_parser_prod;
14934 variable0 = param0;
14935 variable1 = param1;
14936 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrExpr].i]) return;
14937 ((parser_prod___AAttrExpr___empty_init_t)CALL( self,COLOR_parser_prod___AAttrExpr___empty_init))( self, init_table /*YYY*/) /*AAttrExpr::empty_init*/;
14938 ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ = variable0 /*n_expr*/;
14939 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14940 if (UNTAG_Bool(variable2)) { /*if*/
14941 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
14942 }
14943 ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ = variable1 /*n_id*/;
14944 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ == NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14945 if (UNTAG_Bool(variable2)) { /*if*/
14946 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/, self) /*PNode::parent=*/;
14947 }
14948 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrExpr].i] = 1;
14949 tracehead = trace.prev;
14950 return;
14951 }
14952 void parser_prod___AAttrExpr___replace_child(val_t self, val_t param0, val_t param1) {
14953 struct trace_t trace = {NULL, NULL, 7667, LOCATE_parser_prod___AAttrExpr___replace_child};
14954 val_t variable0;
14955 val_t variable1;
14956 val_t variable2;
14957 trace.prev = tracehead; tracehead = &trace;
14958 trace.file = LOCATE_parser_prod;
14959 variable0 = param0;
14960 variable1 = param1;
14961 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14962 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrExpr___replace_child, LOCATE_parser_prod, 7669); nit_exit(1);}
14963 variable2 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
14964 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
14965 if (UNTAG_Bool(variable2)) { /*if*/
14966 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14967 if (UNTAG_Bool(variable2)) { /*if*/
14968 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14969 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14970 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrExpr___replace_child, LOCATE_parser_prod, 7673); nit_exit(1);}
14971 ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ = variable1 /*new_child*/;
14972 } else { /*if*/
14973 ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ = NIT_NULL /*null*/;
14974 }
14975 goto return_label659;
14976 }
14977 variable2 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
14978 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
14979 if (UNTAG_Bool(variable2)) { /*if*/
14980 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14981 if (UNTAG_Bool(variable2)) { /*if*/
14982 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14983 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14984 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrExpr___replace_child, LOCATE_parser_prod, 7683); nit_exit(1);}
14985 ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ = variable1 /*new_child*/;
14986 } else { /*if*/
14987 ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ = NIT_NULL /*null*/;
14988 }
14989 goto return_label659;
14990 }
14991 return_label659: while(false);
14992 tracehead = trace.prev;
14993 return;
14994 }
14995 void parser_prod___AAttrExpr___visit_all(val_t self, val_t param0) {
14996 struct trace_t trace = {NULL, NULL, 7692, LOCATE_parser_prod___AAttrExpr___visit_all};
14997 val_t variable0;
14998 val_t variable1;
14999 trace.prev = tracehead; tracehead = &trace;
15000 trace.file = LOCATE_parser_prod;
15001 variable0 = param0;
15002 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
15003 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
15004 if (UNTAG_Bool(variable1)) { /*if*/
15005 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
15006 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15007 }
15008 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
15009 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
15010 if (UNTAG_Bool(variable1)) { /*if*/
15011 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
15012 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15013 }
15014 tracehead = trace.prev;
15015 return;
15016 }
15017 void parser_prod___AAttrExpr___visit_all_reverse(val_t self, val_t param0) {
15018 struct trace_t trace = {NULL, NULL, 7702, LOCATE_parser_prod___AAttrExpr___visit_all_reverse};
15019 val_t variable0;
15020 val_t variable1;
15021 trace.prev = tracehead; tracehead = &trace;
15022 trace.file = LOCATE_parser_prod;
15023 variable0 = param0;
15024 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
15025 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
15026 if (UNTAG_Bool(variable1)) { /*if*/
15027 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
15028 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15029 }
15030 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
15031 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
15032 if (UNTAG_Bool(variable1)) { /*if*/
15033 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
15034 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15035 }
15036 tracehead = trace.prev;
15037 return;
15038 }
15039 void parser_prod___AAttrAssignExpr___n_expr__eq(val_t self, val_t param0) {
15040 struct trace_t trace = {NULL, NULL, 7713, LOCATE_parser_prod___AAttrAssignExpr___n_expr__eq};
15041 val_t variable0;
15042 val_t variable1;
15043 trace.prev = tracehead; tracehead = &trace;
15044 trace.file = LOCATE_parser_prod;
15045 variable0 = param0;
15046 ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ = variable0 /*n*/;
15047 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15048 if (UNTAG_Bool(variable1)) { /*if*/
15049 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
15050 }
15051 tracehead = trace.prev;
15052 return;
15053 }
15054 void parser_prod___AAttrAssignExpr___n_id__eq(val_t self, val_t param0) {
15055 struct trace_t trace = {NULL, NULL, 7720, LOCATE_parser_prod___AAttrAssignExpr___n_id__eq};
15056 val_t variable0;
15057 val_t variable1;
15058 trace.prev = tracehead; tracehead = &trace;
15059 trace.file = LOCATE_parser_prod;
15060 variable0 = param0;
15061 ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ = variable0 /*n*/;
15062 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15063 if (UNTAG_Bool(variable1)) { /*if*/
15064 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
15065 }
15066 tracehead = trace.prev;
15067 return;
15068 }
15069 void parser_prod___AAttrAssignExpr___n_assign__eq(val_t self, val_t param0) {
15070 struct trace_t trace = {NULL, NULL, 7727, LOCATE_parser_prod___AAttrAssignExpr___n_assign__eq};
15071 val_t variable0;
15072 val_t variable1;
15073 trace.prev = tracehead; tracehead = &trace;
15074 trace.file = LOCATE_parser_prod;
15075 variable0 = param0;
15076 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ = variable0 /*n*/;
15077 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15078 if (UNTAG_Bool(variable1)) { /*if*/
15079 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
15080 }
15081 tracehead = trace.prev;
15082 return;
15083 }
15084 void parser_prod___AAttrAssignExpr___n_value__eq(val_t self, val_t param0) {
15085 struct trace_t trace = {NULL, NULL, 7734, LOCATE_parser_prod___AAttrAssignExpr___n_value__eq};
15086 val_t variable0;
15087 val_t variable1;
15088 trace.prev = tracehead; tracehead = &trace;
15089 trace.file = LOCATE_parser_prod;
15090 variable0 = param0;
15091 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ = variable0 /*n*/;
15092 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15093 if (UNTAG_Bool(variable1)) { /*if*/
15094 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
15095 }
15096 tracehead = trace.prev;
15097 return;
15098 }
15099 void parser_prod___AAttrAssignExpr___empty_init(val_t self, int* init_table) {
15100 struct trace_t trace = {NULL, NULL, 7742, LOCATE_parser_prod___AAttrAssignExpr___empty_init};
15101 trace.prev = tracehead; tracehead = &trace;
15102 trace.file = LOCATE_parser_prod;
15103 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrAssignExpr].i]) return;
15104 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrAssignExpr].i] = 1;
15105 tracehead = trace.prev;
15106 return;
15107 }
15108 void parser_prod___AAttrAssignExpr___init_aattrassignexpr(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, int* init_table) {
15109 struct trace_t trace = {NULL, NULL, 7744, LOCATE_parser_prod___AAttrAssignExpr___init_aattrassignexpr};
15110 val_t variable0;
15111 val_t variable1;
15112 val_t variable2;
15113 val_t variable3;
15114 val_t variable4;
15115 trace.prev = tracehead; tracehead = &trace;
15116 trace.file = LOCATE_parser_prod;
15117 variable0 = param0;
15118 variable1 = param1;
15119 variable2 = param2;
15120 variable3 = param3;
15121 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrAssignExpr].i]) return;
15122 ((parser_prod___AAttrAssignExpr___empty_init_t)CALL( self,COLOR_parser_prod___AAttrAssignExpr___empty_init))( self, init_table /*YYY*/) /*AAttrAssignExpr::empty_init*/;
15123 ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ = variable0 /*n_expr*/;
15124 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15125 if (UNTAG_Bool(variable4)) { /*if*/
15126 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
15127 }
15128 ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ = variable1 /*n_id*/;
15129 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ == NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15130 if (UNTAG_Bool(variable4)) { /*if*/
15131 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/, self) /*PNode::parent=*/;
15132 }
15133 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ = variable2 /*n_assign*/;
15134 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_assign*/ == NIT_NULL /*null*/) || (( variable2 /*n_assign*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_assign*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_assign*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15135 if (UNTAG_Bool(variable4)) { /*if*/
15136 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_assign*/, self) /*PNode::parent=*/;
15137 }
15138 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ = variable3 /*n_value*/;
15139 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_value*/ == NIT_NULL /*null*/) || (( variable3 /*n_value*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_value*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_value*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_value*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_value*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15140 if (UNTAG_Bool(variable4)) { /*if*/
15141 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_value*/, self) /*PNode::parent=*/;
15142 }
15143 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrAssignExpr].i] = 1;
15144 tracehead = trace.prev;
15145 return;
15146 }
15147 void parser_prod___AAttrAssignExpr___replace_child(val_t self, val_t param0, val_t param1) {
15148 struct trace_t trace = {NULL, NULL, 7770, LOCATE_parser_prod___AAttrAssignExpr___replace_child};
15149 val_t variable0;
15150 val_t variable1;
15151 val_t variable2;
15152 trace.prev = tracehead; tracehead = &trace;
15153 trace.file = LOCATE_parser_prod;
15154 variable0 = param0;
15155 variable1 = param1;
15156 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15157 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrAssignExpr___replace_child, LOCATE_parser_prod, 7772); nit_exit(1);}
15158 variable2 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
15159 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
15160 if (UNTAG_Bool(variable2)) { /*if*/
15161 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15162 if (UNTAG_Bool(variable2)) { /*if*/
15163 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15164 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15165 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrAssignExpr___replace_child, LOCATE_parser_prod, 7776); nit_exit(1);}
15166 ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ = variable1 /*new_child*/;
15167 } else { /*if*/
15168 ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ = NIT_NULL /*null*/;
15169 }
15170 goto return_label668;
15171 }
15172 variable2 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
15173 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
15174 if (UNTAG_Bool(variable2)) { /*if*/
15175 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15176 if (UNTAG_Bool(variable2)) { /*if*/
15177 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15178 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
15179 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrAssignExpr___replace_child, LOCATE_parser_prod, 7786); nit_exit(1);}
15180 ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ = variable1 /*new_child*/;
15181 } else { /*if*/
15182 ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ = NIT_NULL /*null*/;
15183 }
15184 goto return_label668;
15185 }
15186 variable2 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
15187 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
15188 if (UNTAG_Bool(variable2)) { /*if*/
15189 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15190 if (UNTAG_Bool(variable2)) { /*if*/
15191 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15192 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
15193 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrAssignExpr___replace_child, LOCATE_parser_prod, 7796); nit_exit(1);}
15194 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ = variable1 /*new_child*/;
15195 } else { /*if*/
15196 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ = NIT_NULL /*null*/;
15197 }
15198 goto return_label668;
15199 }
15200 variable2 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
15201 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
15202 if (UNTAG_Bool(variable2)) { /*if*/
15203 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15204 if (UNTAG_Bool(variable2)) { /*if*/
15205 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15206 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15207 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrAssignExpr___replace_child, LOCATE_parser_prod, 7806); nit_exit(1);}
15208 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ = variable1 /*new_child*/;
15209 } else { /*if*/
15210 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ = NIT_NULL /*null*/;
15211 }
15212 goto return_label668;
15213 }
15214 return_label668: while(false);
15215 tracehead = trace.prev;
15216 return;
15217 }
15218 void parser_prod___AAttrAssignExpr___visit_all(val_t self, val_t param0) {
15219 struct trace_t trace = {NULL, NULL, 7815, LOCATE_parser_prod___AAttrAssignExpr___visit_all};
15220 val_t variable0;
15221 val_t variable1;
15222 trace.prev = tracehead; tracehead = &trace;
15223 trace.file = LOCATE_parser_prod;
15224 variable0 = param0;
15225 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
15226 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
15227 if (UNTAG_Bool(variable1)) { /*if*/
15228 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
15229 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15230 }
15231 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
15232 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
15233 if (UNTAG_Bool(variable1)) { /*if*/
15234 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
15235 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15236 }
15237 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
15238 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
15239 if (UNTAG_Bool(variable1)) { /*if*/
15240 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
15241 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15242 }
15243 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
15244 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
15245 if (UNTAG_Bool(variable1)) { /*if*/
15246 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
15247 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15248 }
15249 tracehead = trace.prev;
15250 return;
15251 }
15252 void parser_prod___AAttrAssignExpr___visit_all_reverse(val_t self, val_t param0) {
15253 struct trace_t trace = {NULL, NULL, 7831, LOCATE_parser_prod___AAttrAssignExpr___visit_all_reverse};
15254 val_t variable0;
15255 val_t variable1;
15256 trace.prev = tracehead; tracehead = &trace;
15257 trace.file = LOCATE_parser_prod;
15258 variable0 = param0;
15259 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
15260 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
15261 if (UNTAG_Bool(variable1)) { /*if*/
15262 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
15263 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15264 }
15265 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
15266 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
15267 if (UNTAG_Bool(variable1)) { /*if*/
15268 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
15269 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15270 }
15271 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
15272 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
15273 if (UNTAG_Bool(variable1)) { /*if*/
15274 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
15275 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15276 }
15277 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
15278 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
15279 if (UNTAG_Bool(variable1)) { /*if*/
15280 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
15281 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15282 }
15283 tracehead = trace.prev;
15284 return;
15285 }
15286 void parser_prod___AAttrReassignExpr___n_expr__eq(val_t self, val_t param0) {
15287 struct trace_t trace = {NULL, NULL, 7848, LOCATE_parser_prod___AAttrReassignExpr___n_expr__eq};
15288 val_t variable0;
15289 val_t variable1;
15290 trace.prev = tracehead; tracehead = &trace;
15291 trace.file = LOCATE_parser_prod;
15292 variable0 = param0;
15293 ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ = variable0 /*n*/;
15294 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15295 if (UNTAG_Bool(variable1)) { /*if*/
15296 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
15297 }
15298 tracehead = trace.prev;
15299 return;
15300 }
15301 void parser_prod___AAttrReassignExpr___n_id__eq(val_t self, val_t param0) {
15302 struct trace_t trace = {NULL, NULL, 7855, LOCATE_parser_prod___AAttrReassignExpr___n_id__eq};
15303 val_t variable0;
15304 val_t variable1;
15305 trace.prev = tracehead; tracehead = &trace;
15306 trace.file = LOCATE_parser_prod;
15307 variable0 = param0;
15308 ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ = variable0 /*n*/;
15309 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15310 if (UNTAG_Bool(variable1)) { /*if*/
15311 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
15312 }
15313 tracehead = trace.prev;
15314 return;
15315 }
15316 void parser_prod___AAttrReassignExpr___n_assign_op__eq(val_t self, val_t param0) {
15317 struct trace_t trace = {NULL, NULL, 7862, LOCATE_parser_prod___AAttrReassignExpr___n_assign_op__eq};
15318 val_t variable0;
15319 val_t variable1;
15320 trace.prev = tracehead; tracehead = &trace;
15321 trace.file = LOCATE_parser_prod;
15322 variable0 = param0;
15323 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ = variable0 /*n*/;
15324 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15325 if (UNTAG_Bool(variable1)) { /*if*/
15326 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
15327 }
15328 tracehead = trace.prev;
15329 return;
15330 }
15331 void parser_prod___AAttrReassignExpr___n_value__eq(val_t self, val_t param0) {
15332 struct trace_t trace = {NULL, NULL, 7869, LOCATE_parser_prod___AAttrReassignExpr___n_value__eq};
15333 val_t variable0;
15334 val_t variable1;
15335 trace.prev = tracehead; tracehead = &trace;
15336 trace.file = LOCATE_parser_prod;
15337 variable0 = param0;
15338 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ = variable0 /*n*/;
15339 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15340 if (UNTAG_Bool(variable1)) { /*if*/
15341 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
15342 }
15343 tracehead = trace.prev;
15344 return;
15345 }
15346 void parser_prod___AAttrReassignExpr___empty_init(val_t self, int* init_table) {
15347 struct trace_t trace = {NULL, NULL, 7877, LOCATE_parser_prod___AAttrReassignExpr___empty_init};
15348 trace.prev = tracehead; tracehead = &trace;
15349 trace.file = LOCATE_parser_prod;
15350 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrReassignExpr].i]) return;
15351 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrReassignExpr].i] = 1;
15352 tracehead = trace.prev;
15353 return;
15354 }
15355 void parser_prod___AAttrReassignExpr___init_aattrreassignexpr(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, int* init_table) {
15356 struct trace_t trace = {NULL, NULL, 7879, LOCATE_parser_prod___AAttrReassignExpr___init_aattrreassignexpr};
15357 val_t variable0;
15358 val_t variable1;
15359 val_t variable2;
15360 val_t variable3;
15361 val_t variable4;
15362 trace.prev = tracehead; tracehead = &trace;
15363 trace.file = LOCATE_parser_prod;
15364 variable0 = param0;
15365 variable1 = param1;
15366 variable2 = param2;
15367 variable3 = param3;
15368 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrReassignExpr].i]) return;
15369 ((parser_prod___AAttrReassignExpr___empty_init_t)CALL( self,COLOR_parser_prod___AAttrReassignExpr___empty_init))( self, init_table /*YYY*/) /*AAttrReassignExpr::empty_init*/;
15370 ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ = variable0 /*n_expr*/;
15371 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15372 if (UNTAG_Bool(variable4)) { /*if*/
15373 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
15374 }
15375 ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ = variable1 /*n_id*/;
15376 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ == NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15377 if (UNTAG_Bool(variable4)) { /*if*/
15378 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/, self) /*PNode::parent=*/;
15379 }
15380 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ = variable2 /*n_assign_op*/;
15381 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_assign_op*/ == NIT_NULL /*null*/) || (( variable2 /*n_assign_op*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign_op*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_assign_op*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign_op*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_assign_op*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15382 if (UNTAG_Bool(variable4)) { /*if*/
15383 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_assign_op*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_assign_op*/, self) /*PNode::parent=*/;
15384 }
15385 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ = variable3 /*n_value*/;
15386 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_value*/ == NIT_NULL /*null*/) || (( variable3 /*n_value*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_value*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_value*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_value*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_value*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15387 if (UNTAG_Bool(variable4)) { /*if*/
15388 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_value*/, self) /*PNode::parent=*/;
15389 }
15390 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrReassignExpr].i] = 1;
15391 tracehead = trace.prev;
15392 return;
15393 }
15394 void parser_prod___AAttrReassignExpr___replace_child(val_t self, val_t param0, val_t param1) {
15395 struct trace_t trace = {NULL, NULL, 7905, LOCATE_parser_prod___AAttrReassignExpr___replace_child};
15396 val_t variable0;
15397 val_t variable1;
15398 val_t variable2;
15399 trace.prev = tracehead; tracehead = &trace;
15400 trace.file = LOCATE_parser_prod;
15401 variable0 = param0;
15402 variable1 = param1;
15403 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15404 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrReassignExpr___replace_child, LOCATE_parser_prod, 7907); nit_exit(1);}
15405 variable2 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
15406 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
15407 if (UNTAG_Bool(variable2)) { /*if*/
15408 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15409 if (UNTAG_Bool(variable2)) { /*if*/
15410 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15411 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15412 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrReassignExpr___replace_child, LOCATE_parser_prod, 7911); nit_exit(1);}
15413 ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ = variable1 /*new_child*/;
15414 } else { /*if*/
15415 ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ = NIT_NULL /*null*/;
15416 }
15417 goto return_label677;
15418 }
15419 variable2 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
15420 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
15421 if (UNTAG_Bool(variable2)) { /*if*/
15422 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15423 if (UNTAG_Bool(variable2)) { /*if*/
15424 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15425 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
15426 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrReassignExpr___replace_child, LOCATE_parser_prod, 7921); nit_exit(1);}
15427 ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ = variable1 /*new_child*/;
15428 } else { /*if*/
15429 ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ = NIT_NULL /*null*/;
15430 }
15431 goto return_label677;
15432 }
15433 variable2 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
15434 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
15435 if (UNTAG_Bool(variable2)) { /*if*/
15436 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15437 if (UNTAG_Bool(variable2)) { /*if*/
15438 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15439 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
15440 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrReassignExpr___replace_child, LOCATE_parser_prod, 7931); nit_exit(1);}
15441 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ = variable1 /*new_child*/;
15442 } else { /*if*/
15443 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ = NIT_NULL /*null*/;
15444 }
15445 goto return_label677;
15446 }
15447 variable2 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
15448 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
15449 if (UNTAG_Bool(variable2)) { /*if*/
15450 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15451 if (UNTAG_Bool(variable2)) { /*if*/
15452 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15453 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15454 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAttrReassignExpr___replace_child, LOCATE_parser_prod, 7941); nit_exit(1);}
15455 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ = variable1 /*new_child*/;
15456 } else { /*if*/
15457 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ = NIT_NULL /*null*/;
15458 }
15459 goto return_label677;
15460 }
15461 return_label677: while(false);
15462 tracehead = trace.prev;
15463 return;
15464 }
15465 void parser_prod___AAttrReassignExpr___visit_all(val_t self, val_t param0) {
15466 struct trace_t trace = {NULL, NULL, 7950, LOCATE_parser_prod___AAttrReassignExpr___visit_all};
15467 val_t variable0;
15468 val_t variable1;
15469 trace.prev = tracehead; tracehead = &trace;
15470 trace.file = LOCATE_parser_prod;
15471 variable0 = param0;
15472 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
15473 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
15474 if (UNTAG_Bool(variable1)) { /*if*/
15475 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
15476 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15477 }
15478 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
15479 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
15480 if (UNTAG_Bool(variable1)) { /*if*/
15481 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
15482 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15483 }
15484 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
15485 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
15486 if (UNTAG_Bool(variable1)) { /*if*/
15487 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
15488 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15489 }
15490 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
15491 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
15492 if (UNTAG_Bool(variable1)) { /*if*/
15493 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
15494 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15495 }
15496 tracehead = trace.prev;
15497 return;
15498 }
15499 void parser_prod___AAttrReassignExpr___visit_all_reverse(val_t self, val_t param0) {
15500 struct trace_t trace = {NULL, NULL, 7966, LOCATE_parser_prod___AAttrReassignExpr___visit_all_reverse};
15501 val_t variable0;
15502 val_t variable1;
15503 trace.prev = tracehead; tracehead = &trace;
15504 trace.file = LOCATE_parser_prod;
15505 variable0 = param0;
15506 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
15507 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
15508 if (UNTAG_Bool(variable1)) { /*if*/
15509 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
15510 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15511 }
15512 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
15513 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
15514 if (UNTAG_Bool(variable1)) { /*if*/
15515 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
15516 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15517 }
15518 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
15519 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
15520 if (UNTAG_Bool(variable1)) { /*if*/
15521 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
15522 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15523 }
15524 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
15525 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
15526 if (UNTAG_Bool(variable1)) { /*if*/
15527 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
15528 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15529 }
15530 tracehead = trace.prev;
15531 return;
15532 }
15533 void parser_prod___ACallExpr___n_expr__eq(val_t self, val_t param0) {
15534 struct trace_t trace = {NULL, NULL, 7983, LOCATE_parser_prod___ACallExpr___n_expr__eq};
15535 val_t variable0;
15536 val_t variable1;
15537 trace.prev = tracehead; tracehead = &trace;
15538 trace.file = LOCATE_parser_prod;
15539 variable0 = param0;
15540 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n*/;
15541 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15542 if (UNTAG_Bool(variable1)) { /*if*/
15543 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
15544 }
15545 tracehead = trace.prev;
15546 return;
15547 }
15548 void parser_prod___ACallExpr___n_id__eq(val_t self, val_t param0) {
15549 struct trace_t trace = {NULL, NULL, 7990, LOCATE_parser_prod___ACallExpr___n_id__eq};
15550 val_t variable0;
15551 val_t variable1;
15552 trace.prev = tracehead; tracehead = &trace;
15553 trace.file = LOCATE_parser_prod;
15554 variable0 = param0;
15555 ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ = variable0 /*n*/;
15556 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15557 if (UNTAG_Bool(variable1)) { /*if*/
15558 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
15559 }
15560 tracehead = trace.prev;
15561 return;
15562 }
15563 void parser_prod___ACallExpr___empty_init(val_t self, int* init_table) {
15564 struct trace_t trace = {NULL, NULL, 7998, LOCATE_parser_prod___ACallExpr___empty_init};
15565 trace.prev = tracehead; tracehead = &trace;
15566 trace.file = LOCATE_parser_prod;
15567 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallExpr].i]) return;
15568 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallExpr].i] = 1;
15569 tracehead = trace.prev;
15570 return;
15571 }
15572 void parser_prod___ACallExpr___init_acallexpr(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
15573 struct trace_t trace = {NULL, NULL, 8000, LOCATE_parser_prod___ACallExpr___init_acallexpr};
15574 val_t variable0;
15575 val_t variable1;
15576 val_t variable2;
15577 val_t variable3;
15578 val_t variable4;
15579 val_t variable5;
15580 trace.prev = tracehead; tracehead = &trace;
15581 trace.file = LOCATE_parser_prod;
15582 variable0 = param0;
15583 variable1 = param1;
15584 variable2 = param2;
15585 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallExpr].i]) return;
15586 ((parser_prod___ACallExpr___empty_init_t)CALL( self,COLOR_parser_prod___ACallExpr___empty_init))( self, init_table /*YYY*/) /*ACallExpr::empty_init*/;
15587 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n_expr*/;
15588 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15589 if (UNTAG_Bool(variable3)) { /*if*/
15590 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
15591 }
15592 ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ = variable1 /*n_id*/;
15593 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ == NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15594 if (UNTAG_Bool(variable3)) { /*if*/
15595 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/, self) /*PNode::parent=*/;
15596 }
15597 variable3 = NEW_List_list___List___init(); /*new List[PExpr]*/
15598 ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/ = variable3;
15599 variable3 = ((array___AbstractArray___iterator_t)CALL( variable2 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*n_args*/) /*AbstractArray::iterator*/;
15600 while (true) { /*for*/
15601 variable4 = ((array___ArrayIterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*ArrayIterator::is_ok*/;
15602 if (!UNTAG_Bool(variable4)) break; /*for*/
15603 variable4 = ((array___ArrayIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ArrayIterator::item*/;
15604 variable5 = TAG_Bool(( variable4 /*n*/==NIT_NULL) || VAL_ISA( variable4 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15605 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallExpr___init_acallexpr, LOCATE_parser_prod, 8017); nit_exit(1);}
15606 variable5 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
15607 ((abstract_collection___IndexedCollection___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5, variable4 /*n*/) /*IndexedCollection::add*/;
15608 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n*/, self) /*PNode::parent=*/;
15609 continue_684: while(0);
15610 ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
15611 }
15612 break_684: while(0);
15613 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallExpr].i] = 1;
15614 tracehead = trace.prev;
15615 return;
15616 }
15617 void parser_prod___ACallExpr___replace_child(val_t self, val_t param0, val_t param1) {
15618 struct trace_t trace = {NULL, NULL, 8023, LOCATE_parser_prod___ACallExpr___replace_child};
15619 val_t variable0;
15620 val_t variable1;
15621 val_t variable2;
15622 val_t variable3;
15623 val_t variable4;
15624 trace.prev = tracehead; tracehead = &trace;
15625 trace.file = LOCATE_parser_prod;
15626 variable0 = param0;
15627 variable1 = param1;
15628 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15629 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallExpr___replace_child, LOCATE_parser_prod, 8025); nit_exit(1);}
15630 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
15631 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
15632 if (UNTAG_Bool(variable2)) { /*if*/
15633 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15634 if (UNTAG_Bool(variable2)) { /*if*/
15635 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15636 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15637 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallExpr___replace_child, LOCATE_parser_prod, 8029); nit_exit(1);}
15638 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable1 /*new_child*/;
15639 } else { /*if*/
15640 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = NIT_NULL /*null*/;
15641 }
15642 goto return_label685;
15643 }
15644 variable2 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
15645 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
15646 if (UNTAG_Bool(variable2)) { /*if*/
15647 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15648 if (UNTAG_Bool(variable2)) { /*if*/
15649 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15650 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
15651 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallExpr___replace_child, LOCATE_parser_prod, 8039); nit_exit(1);}
15652 ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ = variable1 /*new_child*/;
15653 } else { /*if*/
15654 ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ = NIT_NULL /*null*/;
15655 }
15656 goto return_label685;
15657 }
15658 variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
15659 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
15660 variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
15661 variable2 = variable3;
15662 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
15663 while (true) { /*for*/
15664 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
15665 if (!UNTAG_Bool(variable3)) break; /*for*/
15666 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
15667 variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
15668 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
15669 variable4 = TAG_Bool((variable4 == variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable0 /*old_child*/) /*Object::==*/)))));
15670 if (UNTAG_Bool(variable4)) { /*if*/
15671 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15672 if (UNTAG_Bool(variable4)) { /*if*/
15673 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15674 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallExpr___replace_child, LOCATE_parser_prod, 8049); nit_exit(1);}
15675 variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
15676 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
15677 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15678 } else { /*if*/
15679 variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
15680 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
15681 }
15682 goto return_label685;
15683 }
15684 continue_686: while(0);
15685 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
15686 }
15687 break_686: while(0);
15688 return_label685: while(false);
15689 tracehead = trace.prev;
15690 return;
15691 }
15692 void parser_prod___ACallExpr___visit_all(val_t self, val_t param0) {
15693 struct trace_t trace = {NULL, NULL, 8060, LOCATE_parser_prod___ACallExpr___visit_all};
15694 val_t variable0;
15695 val_t variable1;
15696 val_t variable2;
15697 trace.prev = tracehead; tracehead = &trace;
15698 trace.file = LOCATE_parser_prod;
15699 variable0 = param0;
15700 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
15701 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
15702 if (UNTAG_Bool(variable1)) { /*if*/
15703 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
15704 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15705 }
15706 variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
15707 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
15708 if (UNTAG_Bool(variable1)) { /*if*/
15709 variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
15710 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15711 }
15712 variable1 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
15713 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
15714 while (true) { /*for*/
15715 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
15716 if (!UNTAG_Bool(variable2)) break; /*for*/
15717 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
15718 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
15719 continue_688: while(0);
15720 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
15721 }
15722 break_688: while(0);
15723 tracehead = trace.prev;
15724 return;
15725 }
15726 void parser_prod___ACallExpr___visit_all_reverse(val_t self, val_t param0) {
15727 struct trace_t trace = {NULL, NULL, 8073, LOCATE_parser_prod___ACallExpr___visit_all_reverse};
15728 val_t variable0;
15729 val_t variable1;
15730 val_t variable2;
15731 trace.prev = tracehead; tracehead = &trace;
15732 trace.file = LOCATE_parser_prod;
15733 variable0 = param0;
15734 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
15735 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
15736 if (UNTAG_Bool(variable1)) { /*if*/
15737 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
15738 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15739 }
15740 variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
15741 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
15742 if (UNTAG_Bool(variable1)) { /*if*/
15743 variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
15744 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15745 }
15746 variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
15747 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
15748 variable1 = variable2;
15749 while (true) { /*while*/
15750 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
15751 if (!UNTAG_Bool(variable2)) break; /* while*/
15752 variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
15753 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
15754 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
15755 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
15756 variable1 = variable2 /*i=*/;
15757 continue_690: while(0);
15758 }
15759 break_690: while(0);
15760 tracehead = trace.prev;
15761 return;
15762 }
15763 void parser_prod___ACallAssignExpr___n_expr__eq(val_t self, val_t param0) {
15764 struct trace_t trace = {NULL, NULL, 8091, LOCATE_parser_prod___ACallAssignExpr___n_expr__eq};
15765 val_t variable0;
15766 val_t variable1;
15767 trace.prev = tracehead; tracehead = &trace;
15768 trace.file = LOCATE_parser_prod;
15769 variable0 = param0;
15770 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n*/;
15771 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15772 if (UNTAG_Bool(variable1)) { /*if*/
15773 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
15774 }
15775 tracehead = trace.prev;
15776 return;
15777 }
15778 void parser_prod___ACallAssignExpr___n_id__eq(val_t self, val_t param0) {
15779 struct trace_t trace = {NULL, NULL, 8098, LOCATE_parser_prod___ACallAssignExpr___n_id__eq};
15780 val_t variable0;
15781 val_t variable1;
15782 trace.prev = tracehead; tracehead = &trace;
15783 trace.file = LOCATE_parser_prod;
15784 variable0 = param0;
15785 ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ = variable0 /*n*/;
15786 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15787 if (UNTAG_Bool(variable1)) { /*if*/
15788 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
15789 }
15790 tracehead = trace.prev;
15791 return;
15792 }
15793 void parser_prod___ACallAssignExpr___n_assign__eq(val_t self, val_t param0) {
15794 struct trace_t trace = {NULL, NULL, 8105, LOCATE_parser_prod___ACallAssignExpr___n_assign__eq};
15795 val_t variable0;
15796 val_t variable1;
15797 trace.prev = tracehead; tracehead = &trace;
15798 trace.file = LOCATE_parser_prod;
15799 variable0 = param0;
15800 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ = variable0 /*n*/;
15801 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15802 if (UNTAG_Bool(variable1)) { /*if*/
15803 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
15804 }
15805 tracehead = trace.prev;
15806 return;
15807 }
15808 void parser_prod___ACallAssignExpr___n_value__eq(val_t self, val_t param0) {
15809 struct trace_t trace = {NULL, NULL, 8112, LOCATE_parser_prod___ACallAssignExpr___n_value__eq};
15810 val_t variable0;
15811 val_t variable1;
15812 trace.prev = tracehead; tracehead = &trace;
15813 trace.file = LOCATE_parser_prod;
15814 variable0 = param0;
15815 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ = variable0 /*n*/;
15816 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15817 if (UNTAG_Bool(variable1)) { /*if*/
15818 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
15819 }
15820 tracehead = trace.prev;
15821 return;
15822 }
15823 void parser_prod___ACallAssignExpr___empty_init(val_t self, int* init_table) {
15824 struct trace_t trace = {NULL, NULL, 8120, LOCATE_parser_prod___ACallAssignExpr___empty_init};
15825 trace.prev = tracehead; tracehead = &trace;
15826 trace.file = LOCATE_parser_prod;
15827 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallAssignExpr].i]) return;
15828 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallAssignExpr].i] = 1;
15829 tracehead = trace.prev;
15830 return;
15831 }
15832 void parser_prod___ACallAssignExpr___init_acallassignexpr(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, val_t param4, int* init_table) {
15833 struct trace_t trace = {NULL, NULL, 8122, LOCATE_parser_prod___ACallAssignExpr___init_acallassignexpr};
15834 val_t variable0;
15835 val_t variable1;
15836 val_t variable2;
15837 val_t variable3;
15838 val_t variable4;
15839 val_t variable5;
15840 val_t variable6;
15841 val_t variable7;
15842 trace.prev = tracehead; tracehead = &trace;
15843 trace.file = LOCATE_parser_prod;
15844 variable0 = param0;
15845 variable1 = param1;
15846 variable2 = param2;
15847 variable3 = param3;
15848 variable4 = param4;
15849 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallAssignExpr].i]) return;
15850 ((parser_prod___ACallAssignExpr___empty_init_t)CALL( self,COLOR_parser_prod___ACallAssignExpr___empty_init))( self, init_table /*YYY*/) /*ACallAssignExpr::empty_init*/;
15851 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n_expr*/;
15852 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15853 if (UNTAG_Bool(variable5)) { /*if*/
15854 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
15855 }
15856 ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ = variable1 /*n_id*/;
15857 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ == NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15858 if (UNTAG_Bool(variable5)) { /*if*/
15859 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/, self) /*PNode::parent=*/;
15860 }
15861 variable5 = NEW_List_list___List___init(); /*new List[PExpr]*/
15862 ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/ = variable5;
15863 variable5 = ((array___AbstractArray___iterator_t)CALL( variable2 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*n_args*/) /*AbstractArray::iterator*/;
15864 while (true) { /*for*/
15865 variable6 = ((array___ArrayIterator___is_ok_t)CALL(variable5,COLOR_abstract_collection___Iterator___is_ok))(variable5) /*ArrayIterator::is_ok*/;
15866 if (!UNTAG_Bool(variable6)) break; /*for*/
15867 variable6 = ((array___ArrayIterator___item_t)CALL(variable5,COLOR_abstract_collection___Iterator___item))(variable5) /*ArrayIterator::item*/;
15868 variable7 = TAG_Bool(( variable6 /*n*/==NIT_NULL) || VAL_ISA( variable6 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15869 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallAssignExpr___init_acallassignexpr, LOCATE_parser_prod, 8141); nit_exit(1);}
15870 variable7 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
15871 ((abstract_collection___IndexedCollection___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable6 /*n*/) /*IndexedCollection::add*/;
15872 ((parser_prod___PNode___parent__eq_t)CALL( variable6 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable6 /*n*/, self) /*PNode::parent=*/;
15873 continue_697: while(0);
15874 ((array___ArrayIterator___next_t)CALL(variable5,COLOR_abstract_collection___Iterator___next))(variable5) /*ArrayIterator::next*/;
15875 }
15876 break_697: while(0);
15877 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ = variable3 /*n_assign*/;
15878 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_assign*/ == NIT_NULL /*null*/) || (( variable3 /*n_assign*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_assign*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_assign*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_assign*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_assign*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15879 if (UNTAG_Bool(variable5)) { /*if*/
15880 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_assign*/, self) /*PNode::parent=*/;
15881 }
15882 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ = variable4 /*n_value*/;
15883 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_value*/ == NIT_NULL /*null*/) || (( variable4 /*n_value*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_value*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_value*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_value*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_value*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15884 if (UNTAG_Bool(variable5)) { /*if*/
15885 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_value*/, self) /*PNode::parent=*/;
15886 }
15887 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallAssignExpr].i] = 1;
15888 tracehead = trace.prev;
15889 return;
15890 }
15891 void parser_prod___ACallAssignExpr___replace_child(val_t self, val_t param0, val_t param1) {
15892 struct trace_t trace = {NULL, NULL, 8155, LOCATE_parser_prod___ACallAssignExpr___replace_child};
15893 val_t variable0;
15894 val_t variable1;
15895 val_t variable2;
15896 val_t variable3;
15897 val_t variable4;
15898 trace.prev = tracehead; tracehead = &trace;
15899 trace.file = LOCATE_parser_prod;
15900 variable0 = param0;
15901 variable1 = param1;
15902 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15903 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallAssignExpr___replace_child, LOCATE_parser_prod, 8157); nit_exit(1);}
15904 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
15905 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
15906 if (UNTAG_Bool(variable2)) { /*if*/
15907 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15908 if (UNTAG_Bool(variable2)) { /*if*/
15909 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15910 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15911 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallAssignExpr___replace_child, LOCATE_parser_prod, 8161); nit_exit(1);}
15912 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable1 /*new_child*/;
15913 } else { /*if*/
15914 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = NIT_NULL /*null*/;
15915 }
15916 goto return_label698;
15917 }
15918 variable2 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
15919 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
15920 if (UNTAG_Bool(variable2)) { /*if*/
15921 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15922 if (UNTAG_Bool(variable2)) { /*if*/
15923 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15924 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
15925 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallAssignExpr___replace_child, LOCATE_parser_prod, 8171); nit_exit(1);}
15926 ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ = variable1 /*new_child*/;
15927 } else { /*if*/
15928 ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ = NIT_NULL /*null*/;
15929 }
15930 goto return_label698;
15931 }
15932 variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
15933 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
15934 variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
15935 variable2 = variable3;
15936 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
15937 while (true) { /*for*/
15938 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
15939 if (!UNTAG_Bool(variable3)) break; /*for*/
15940 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
15941 variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
15942 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
15943 variable4 = TAG_Bool((variable4 == variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable0 /*old_child*/) /*Object::==*/)))));
15944 if (UNTAG_Bool(variable4)) { /*if*/
15945 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15946 if (UNTAG_Bool(variable4)) { /*if*/
15947 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15948 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallAssignExpr___replace_child, LOCATE_parser_prod, 8181); nit_exit(1);}
15949 variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
15950 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
15951 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15952 } else { /*if*/
15953 variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
15954 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
15955 }
15956 goto return_label698;
15957 }
15958 continue_699: while(0);
15959 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
15960 }
15961 break_699: while(0);
15962 variable2 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
15963 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
15964 if (UNTAG_Bool(variable2)) { /*if*/
15965 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15966 if (UNTAG_Bool(variable2)) { /*if*/
15967 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15968 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
15969 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallAssignExpr___replace_child, LOCATE_parser_prod, 8193); nit_exit(1);}
15970 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ = variable1 /*new_child*/;
15971 } else { /*if*/
15972 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ = NIT_NULL /*null*/;
15973 }
15974 goto return_label698;
15975 }
15976 variable2 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
15977 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
15978 if (UNTAG_Bool(variable2)) { /*if*/
15979 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15980 if (UNTAG_Bool(variable2)) { /*if*/
15981 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15982 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15983 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallAssignExpr___replace_child, LOCATE_parser_prod, 8203); nit_exit(1);}
15984 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ = variable1 /*new_child*/;
15985 } else { /*if*/
15986 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ = NIT_NULL /*null*/;
15987 }
15988 goto return_label698;
15989 }
15990 return_label698: while(false);
15991 tracehead = trace.prev;
15992 return;
15993 }
15994 void parser_prod___ACallAssignExpr___visit_all(val_t self, val_t param0) {
15995 struct trace_t trace = {NULL, NULL, 8212, LOCATE_parser_prod___ACallAssignExpr___visit_all};
15996 val_t variable0;
15997 val_t variable1;
15998 val_t variable2;
15999 trace.prev = tracehead; tracehead = &trace;
16000 trace.file = LOCATE_parser_prod;
16001 variable0 = param0;
16002 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
16003 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
16004 if (UNTAG_Bool(variable1)) { /*if*/
16005 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
16006 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16007 }
16008 variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
16009 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
16010 if (UNTAG_Bool(variable1)) { /*if*/
16011 variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
16012 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16013 }
16014 variable1 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
16015 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
16016 while (true) { /*for*/
16017 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
16018 if (!UNTAG_Bool(variable2)) break; /*for*/
16019 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
16020 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
16021 continue_701: while(0);
16022 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
16023 }
16024 break_701: while(0);
16025 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
16026 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
16027 if (UNTAG_Bool(variable1)) { /*if*/
16028 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
16029 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16030 }
16031 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
16032 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
16033 if (UNTAG_Bool(variable1)) { /*if*/
16034 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
16035 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16036 }
16037 tracehead = trace.prev;
16038 return;
16039 }
16040 void parser_prod___ACallAssignExpr___visit_all_reverse(val_t self, val_t param0) {
16041 struct trace_t trace = {NULL, NULL, 8231, LOCATE_parser_prod___ACallAssignExpr___visit_all_reverse};
16042 val_t variable0;
16043 val_t variable1;
16044 val_t variable2;
16045 trace.prev = tracehead; tracehead = &trace;
16046 trace.file = LOCATE_parser_prod;
16047 variable0 = param0;
16048 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
16049 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
16050 if (UNTAG_Bool(variable1)) { /*if*/
16051 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
16052 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16053 }
16054 variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
16055 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
16056 if (UNTAG_Bool(variable1)) { /*if*/
16057 variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
16058 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16059 }
16060 variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
16061 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
16062 variable1 = variable2;
16063 while (true) { /*while*/
16064 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
16065 if (!UNTAG_Bool(variable2)) break; /* while*/
16066 variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
16067 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
16068 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
16069 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
16070 variable1 = variable2 /*i=*/;
16071 continue_703: while(0);
16072 }
16073 break_703: while(0);
16074 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
16075 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
16076 if (UNTAG_Bool(variable1)) { /*if*/
16077 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
16078 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16079 }
16080 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
16081 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
16082 if (UNTAG_Bool(variable1)) { /*if*/
16083 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
16084 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16085 }
16086 tracehead = trace.prev;
16087 return;
16088 }
16089 void parser_prod___ACallReassignExpr___n_expr__eq(val_t self, val_t param0) {
16090 struct trace_t trace = {NULL, NULL, 8255, LOCATE_parser_prod___ACallReassignExpr___n_expr__eq};
16091 val_t variable0;
16092 val_t variable1;
16093 trace.prev = tracehead; tracehead = &trace;
16094 trace.file = LOCATE_parser_prod;
16095 variable0 = param0;
16096 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n*/;
16097 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16098 if (UNTAG_Bool(variable1)) { /*if*/
16099 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
16100 }
16101 tracehead = trace.prev;
16102 return;
16103 }
16104 void parser_prod___ACallReassignExpr___n_id__eq(val_t self, val_t param0) {
16105 struct trace_t trace = {NULL, NULL, 8262, LOCATE_parser_prod___ACallReassignExpr___n_id__eq};
16106 val_t variable0;
16107 val_t variable1;
16108 trace.prev = tracehead; tracehead = &trace;
16109 trace.file = LOCATE_parser_prod;
16110 variable0 = param0;
16111 ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ = variable0 /*n*/;
16112 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16113 if (UNTAG_Bool(variable1)) { /*if*/
16114 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
16115 }
16116 tracehead = trace.prev;
16117 return;
16118 }
16119 void parser_prod___ACallReassignExpr___n_assign_op__eq(val_t self, val_t param0) {
16120 struct trace_t trace = {NULL, NULL, 8269, LOCATE_parser_prod___ACallReassignExpr___n_assign_op__eq};
16121 val_t variable0;
16122 val_t variable1;
16123 trace.prev = tracehead; tracehead = &trace;
16124 trace.file = LOCATE_parser_prod;
16125 variable0 = param0;
16126 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ = variable0 /*n*/;
16127 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16128 if (UNTAG_Bool(variable1)) { /*if*/
16129 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
16130 }
16131 tracehead = trace.prev;
16132 return;
16133 }
16134 void parser_prod___ACallReassignExpr___n_value__eq(val_t self, val_t param0) {
16135 struct trace_t trace = {NULL, NULL, 8276, LOCATE_parser_prod___ACallReassignExpr___n_value__eq};
16136 val_t variable0;
16137 val_t variable1;
16138 trace.prev = tracehead; tracehead = &trace;
16139 trace.file = LOCATE_parser_prod;
16140 variable0 = param0;
16141 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ = variable0 /*n*/;
16142 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16143 if (UNTAG_Bool(variable1)) { /*if*/
16144 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
16145 }
16146 tracehead = trace.prev;
16147 return;
16148 }
16149 void parser_prod___ACallReassignExpr___empty_init(val_t self, int* init_table) {
16150 struct trace_t trace = {NULL, NULL, 8284, LOCATE_parser_prod___ACallReassignExpr___empty_init};
16151 trace.prev = tracehead; tracehead = &trace;
16152 trace.file = LOCATE_parser_prod;
16153 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallReassignExpr].i]) return;
16154 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallReassignExpr].i] = 1;
16155 tracehead = trace.prev;
16156 return;
16157 }
16158 void parser_prod___ACallReassignExpr___init_acallreassignexpr(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, val_t param4, int* init_table) {
16159 struct trace_t trace = {NULL, NULL, 8286, LOCATE_parser_prod___ACallReassignExpr___init_acallreassignexpr};
16160 val_t variable0;
16161 val_t variable1;
16162 val_t variable2;
16163 val_t variable3;
16164 val_t variable4;
16165 val_t variable5;
16166 val_t variable6;
16167 val_t variable7;
16168 trace.prev = tracehead; tracehead = &trace;
16169 trace.file = LOCATE_parser_prod;
16170 variable0 = param0;
16171 variable1 = param1;
16172 variable2 = param2;
16173 variable3 = param3;
16174 variable4 = param4;
16175 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallReassignExpr].i]) return;
16176 ((parser_prod___ACallReassignExpr___empty_init_t)CALL( self,COLOR_parser_prod___ACallReassignExpr___empty_init))( self, init_table /*YYY*/) /*ACallReassignExpr::empty_init*/;
16177 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n_expr*/;
16178 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16179 if (UNTAG_Bool(variable5)) { /*if*/
16180 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
16181 }
16182 ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ = variable1 /*n_id*/;
16183 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ == NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16184 if (UNTAG_Bool(variable5)) { /*if*/
16185 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/, self) /*PNode::parent=*/;
16186 }
16187 variable5 = NEW_List_list___List___init(); /*new List[PExpr]*/
16188 ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/ = variable5;
16189 variable5 = ((array___AbstractArray___iterator_t)CALL( variable2 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*n_args*/) /*AbstractArray::iterator*/;
16190 while (true) { /*for*/
16191 variable6 = ((array___ArrayIterator___is_ok_t)CALL(variable5,COLOR_abstract_collection___Iterator___is_ok))(variable5) /*ArrayIterator::is_ok*/;
16192 if (!UNTAG_Bool(variable6)) break; /*for*/
16193 variable6 = ((array___ArrayIterator___item_t)CALL(variable5,COLOR_abstract_collection___Iterator___item))(variable5) /*ArrayIterator::item*/;
16194 variable7 = TAG_Bool(( variable6 /*n*/==NIT_NULL) || VAL_ISA( variable6 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16195 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallReassignExpr___init_acallreassignexpr, LOCATE_parser_prod, 8305); nit_exit(1);}
16196 variable7 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
16197 ((abstract_collection___IndexedCollection___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable6 /*n*/) /*IndexedCollection::add*/;
16198 ((parser_prod___PNode___parent__eq_t)CALL( variable6 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable6 /*n*/, self) /*PNode::parent=*/;
16199 continue_710: while(0);
16200 ((array___ArrayIterator___next_t)CALL(variable5,COLOR_abstract_collection___Iterator___next))(variable5) /*ArrayIterator::next*/;
16201 }
16202 break_710: while(0);
16203 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ = variable3 /*n_assign_op*/;
16204 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_assign_op*/ == NIT_NULL /*null*/) || (( variable3 /*n_assign_op*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_assign_op*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_assign_op*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_assign_op*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_assign_op*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16205 if (UNTAG_Bool(variable5)) { /*if*/
16206 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_assign_op*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_assign_op*/, self) /*PNode::parent=*/;
16207 }
16208 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ = variable4 /*n_value*/;
16209 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_value*/ == NIT_NULL /*null*/) || (( variable4 /*n_value*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_value*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_value*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_value*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_value*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16210 if (UNTAG_Bool(variable5)) { /*if*/
16211 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_value*/, self) /*PNode::parent=*/;
16212 }
16213 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallReassignExpr].i] = 1;
16214 tracehead = trace.prev;
16215 return;
16216 }
16217 void parser_prod___ACallReassignExpr___replace_child(val_t self, val_t param0, val_t param1) {
16218 struct trace_t trace = {NULL, NULL, 8319, LOCATE_parser_prod___ACallReassignExpr___replace_child};
16219 val_t variable0;
16220 val_t variable1;
16221 val_t variable2;
16222 val_t variable3;
16223 val_t variable4;
16224 trace.prev = tracehead; tracehead = &trace;
16225 trace.file = LOCATE_parser_prod;
16226 variable0 = param0;
16227 variable1 = param1;
16228 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16229 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallReassignExpr___replace_child, LOCATE_parser_prod, 8321); nit_exit(1);}
16230 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
16231 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
16232 if (UNTAG_Bool(variable2)) { /*if*/
16233 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16234 if (UNTAG_Bool(variable2)) { /*if*/
16235 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
16236 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16237 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallReassignExpr___replace_child, LOCATE_parser_prod, 8325); nit_exit(1);}
16238 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable1 /*new_child*/;
16239 } else { /*if*/
16240 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = NIT_NULL /*null*/;
16241 }
16242 goto return_label711;
16243 }
16244 variable2 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
16245 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
16246 if (UNTAG_Bool(variable2)) { /*if*/
16247 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16248 if (UNTAG_Bool(variable2)) { /*if*/
16249 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
16250 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
16251 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallReassignExpr___replace_child, LOCATE_parser_prod, 8335); nit_exit(1);}
16252 ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ = variable1 /*new_child*/;
16253 } else { /*if*/
16254 ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ = NIT_NULL /*null*/;
16255 }
16256 goto return_label711;
16257 }
16258 variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
16259 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
16260 variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
16261 variable2 = variable3;
16262 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
16263 while (true) { /*for*/
16264 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
16265 if (!UNTAG_Bool(variable3)) break; /*for*/
16266 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
16267 variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
16268 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
16269 variable4 = TAG_Bool((variable4 == variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable0 /*old_child*/) /*Object::==*/)))));
16270 if (UNTAG_Bool(variable4)) { /*if*/
16271 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16272 if (UNTAG_Bool(variable4)) { /*if*/
16273 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16274 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallReassignExpr___replace_child, LOCATE_parser_prod, 8345); nit_exit(1);}
16275 variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
16276 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
16277 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
16278 } else { /*if*/
16279 variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
16280 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
16281 }
16282 goto return_label711;
16283 }
16284 continue_712: while(0);
16285 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
16286 }
16287 break_712: while(0);
16288 variable2 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
16289 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
16290 if (UNTAG_Bool(variable2)) { /*if*/
16291 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16292 if (UNTAG_Bool(variable2)) { /*if*/
16293 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
16294 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
16295 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallReassignExpr___replace_child, LOCATE_parser_prod, 8357); nit_exit(1);}
16296 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ = variable1 /*new_child*/;
16297 } else { /*if*/
16298 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ = NIT_NULL /*null*/;
16299 }
16300 goto return_label711;
16301 }
16302 variable2 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
16303 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
16304 if (UNTAG_Bool(variable2)) { /*if*/
16305 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16306 if (UNTAG_Bool(variable2)) { /*if*/
16307 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
16308 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16309 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACallReassignExpr___replace_child, LOCATE_parser_prod, 8367); nit_exit(1);}
16310 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ = variable1 /*new_child*/;
16311 } else { /*if*/
16312 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ = NIT_NULL /*null*/;
16313 }
16314 goto return_label711;
16315 }
16316 return_label711: while(false);
16317 tracehead = trace.prev;
16318 return;
16319 }
16320 void parser_prod___ACallReassignExpr___visit_all(val_t self, val_t param0) {
16321 struct trace_t trace = {NULL, NULL, 8376, LOCATE_parser_prod___ACallReassignExpr___visit_all};
16322 val_t variable0;
16323 val_t variable1;
16324 val_t variable2;
16325 trace.prev = tracehead; tracehead = &trace;
16326 trace.file = LOCATE_parser_prod;
16327 variable0 = param0;
16328 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
16329 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
16330 if (UNTAG_Bool(variable1)) { /*if*/
16331 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
16332 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16333 }
16334 variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
16335 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
16336 if (UNTAG_Bool(variable1)) { /*if*/
16337 variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
16338 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16339 }
16340 variable1 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
16341 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
16342 while (true) { /*for*/
16343 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
16344 if (!UNTAG_Bool(variable2)) break; /*for*/
16345 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
16346 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
16347 continue_714: while(0);
16348 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
16349 }
16350 break_714: while(0);
16351 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
16352 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
16353 if (UNTAG_Bool(variable1)) { /*if*/
16354 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
16355 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16356 }
16357 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
16358 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
16359 if (UNTAG_Bool(variable1)) { /*if*/
16360 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
16361 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16362 }
16363 tracehead = trace.prev;
16364 return;
16365 }
16366 void parser_prod___ACallReassignExpr___visit_all_reverse(val_t self, val_t param0) {
16367 struct trace_t trace = {NULL, NULL, 8395, LOCATE_parser_prod___ACallReassignExpr___visit_all_reverse};
16368 val_t variable0;
16369 val_t variable1;
16370 val_t variable2;
16371 trace.prev = tracehead; tracehead = &trace;
16372 trace.file = LOCATE_parser_prod;
16373 variable0 = param0;
16374 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
16375 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
16376 if (UNTAG_Bool(variable1)) { /*if*/
16377 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
16378 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16379 }
16380 variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
16381 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
16382 if (UNTAG_Bool(variable1)) { /*if*/
16383 variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
16384 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16385 }
16386 variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
16387 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
16388 variable1 = variable2;
16389 while (true) { /*while*/
16390 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
16391 if (!UNTAG_Bool(variable2)) break; /* while*/
16392 variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
16393 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
16394 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
16395 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
16396 variable1 = variable2 /*i=*/;
16397 continue_716: while(0);
16398 }
16399 break_716: while(0);
16400 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
16401 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
16402 if (UNTAG_Bool(variable1)) { /*if*/
16403 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
16404 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16405 }
16406 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
16407 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
16408 if (UNTAG_Bool(variable1)) { /*if*/
16409 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
16410 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16411 }
16412 tracehead = trace.prev;
16413 return;
16414 }
16415 void parser_prod___ASuperExpr___n_qualified__eq(val_t self, val_t param0) {
16416 struct trace_t trace = {NULL, NULL, 8419, LOCATE_parser_prod___ASuperExpr___n_qualified__eq};
16417 val_t variable0;
16418 val_t variable1;
16419 trace.prev = tracehead; tracehead = &trace;
16420 trace.file = LOCATE_parser_prod;
16421 variable0 = param0;
16422 ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/ = variable0 /*n*/;
16423 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16424 if (UNTAG_Bool(variable1)) { /*if*/
16425 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
16426 }
16427 tracehead = trace.prev;
16428 return;
16429 }
16430 void parser_prod___ASuperExpr___n_kwsuper__eq(val_t self, val_t param0) {
16431 struct trace_t trace = {NULL, NULL, 8426, LOCATE_parser_prod___ASuperExpr___n_kwsuper__eq};
16432 val_t variable0;
16433 val_t variable1;
16434 trace.prev = tracehead; tracehead = &trace;
16435 trace.file = LOCATE_parser_prod;
16436 variable0 = param0;
16437 ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/ = variable0 /*n*/;
16438 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16439 if (UNTAG_Bool(variable1)) { /*if*/
16440 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
16441 }
16442 tracehead = trace.prev;
16443 return;
16444 }
16445 void parser_prod___ASuperExpr___empty_init(val_t self, int* init_table) {
16446 struct trace_t trace = {NULL, NULL, 8434, LOCATE_parser_prod___ASuperExpr___empty_init};
16447 trace.prev = tracehead; tracehead = &trace;
16448 trace.file = LOCATE_parser_prod;
16449 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperExpr].i]) return;
16450 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperExpr].i] = 1;
16451 tracehead = trace.prev;
16452 return;
16453 }
16454 void parser_prod___ASuperExpr___init_asuperexpr(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
16455 struct trace_t trace = {NULL, NULL, 8436, LOCATE_parser_prod___ASuperExpr___init_asuperexpr};
16456 val_t variable0;
16457 val_t variable1;
16458 val_t variable2;
16459 val_t variable3;
16460 val_t variable4;
16461 val_t variable5;
16462 trace.prev = tracehead; tracehead = &trace;
16463 trace.file = LOCATE_parser_prod;
16464 variable0 = param0;
16465 variable1 = param1;
16466 variable2 = param2;
16467 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperExpr].i]) return;
16468 ((parser_prod___ASuperExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASuperExpr___empty_init))( self, init_table /*YYY*/) /*ASuperExpr::empty_init*/;
16469 ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/ = variable0 /*n_qualified*/;
16470 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_qualified*/ == NIT_NULL /*null*/) || (( variable0 /*n_qualified*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_qualified*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_qualified*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_qualified*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_qualified*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16471 if (UNTAG_Bool(variable3)) { /*if*/
16472 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_qualified*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_qualified*/, self) /*PNode::parent=*/;
16473 }
16474 ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/ = variable1 /*n_kwsuper*/;
16475 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwsuper*/ == NIT_NULL /*null*/) || (( variable1 /*n_kwsuper*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwsuper*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwsuper*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwsuper*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwsuper*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16476 if (UNTAG_Bool(variable3)) { /*if*/
16477 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwsuper*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwsuper*/, self) /*PNode::parent=*/;
16478 }
16479 variable3 = NEW_List_list___List___init(); /*new List[PExpr]*/
16480 ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/ = variable3;
16481 variable3 = ((array___AbstractArray___iterator_t)CALL( variable2 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*n_args*/) /*AbstractArray::iterator*/;
16482 while (true) { /*for*/
16483 variable4 = ((array___ArrayIterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*ArrayIterator::is_ok*/;
16484 if (!UNTAG_Bool(variable4)) break; /*for*/
16485 variable4 = ((array___ArrayIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ArrayIterator::item*/;
16486 variable5 = TAG_Bool(( variable4 /*n*/==NIT_NULL) || VAL_ISA( variable4 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16487 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperExpr___init_asuperexpr, LOCATE_parser_prod, 8453); nit_exit(1);}
16488 variable5 = ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/;
16489 ((abstract_collection___IndexedCollection___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5, variable4 /*n*/) /*IndexedCollection::add*/;
16490 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n*/, self) /*PNode::parent=*/;
16491 continue_721: while(0);
16492 ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
16493 }
16494 break_721: while(0);
16495 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperExpr].i] = 1;
16496 tracehead = trace.prev;
16497 return;
16498 }
16499 void parser_prod___ASuperExpr___replace_child(val_t self, val_t param0, val_t param1) {
16500 struct trace_t trace = {NULL, NULL, 8459, LOCATE_parser_prod___ASuperExpr___replace_child};
16501 val_t variable0;
16502 val_t variable1;
16503 val_t variable2;
16504 val_t variable3;
16505 val_t variable4;
16506 trace.prev = tracehead; tracehead = &trace;
16507 trace.file = LOCATE_parser_prod;
16508 variable0 = param0;
16509 variable1 = param1;
16510 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16511 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperExpr___replace_child, LOCATE_parser_prod, 8461); nit_exit(1);}
16512 variable2 = ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/;
16513 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
16514 if (UNTAG_Bool(variable2)) { /*if*/
16515 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16516 if (UNTAG_Bool(variable2)) { /*if*/
16517 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
16518 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
16519 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperExpr___replace_child, LOCATE_parser_prod, 8465); nit_exit(1);}
16520 ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/ = variable1 /*new_child*/;
16521 } else { /*if*/
16522 ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/ = NIT_NULL /*null*/;
16523 }
16524 goto return_label722;
16525 }
16526 variable2 = ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/;
16527 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
16528 if (UNTAG_Bool(variable2)) { /*if*/
16529 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16530 if (UNTAG_Bool(variable2)) { /*if*/
16531 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
16532 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
16533 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperExpr___replace_child, LOCATE_parser_prod, 8475); nit_exit(1);}
16534 ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/ = variable1 /*new_child*/;
16535 } else { /*if*/
16536 ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/ = NIT_NULL /*null*/;
16537 }
16538 goto return_label722;
16539 }
16540 variable2 = ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/;
16541 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
16542 variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
16543 variable2 = variable3;
16544 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
16545 while (true) { /*for*/
16546 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
16547 if (!UNTAG_Bool(variable3)) break; /*for*/
16548 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
16549 variable4 = ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/;
16550 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
16551 variable4 = TAG_Bool((variable4 == variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable0 /*old_child*/) /*Object::==*/)))));
16552 if (UNTAG_Bool(variable4)) { /*if*/
16553 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16554 if (UNTAG_Bool(variable4)) { /*if*/
16555 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16556 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperExpr___replace_child, LOCATE_parser_prod, 8485); nit_exit(1);}
16557 variable4 = ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/;
16558 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
16559 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
16560 } else { /*if*/
16561 variable4 = ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/;
16562 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
16563 }
16564 goto return_label722;
16565 }
16566 continue_723: while(0);
16567 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
16568 }
16569 break_723: while(0);
16570 return_label722: while(false);
16571 tracehead = trace.prev;
16572 return;
16573 }
16574 void parser_prod___ASuperExpr___visit_all(val_t self, val_t param0) {
16575 struct trace_t trace = {NULL, NULL, 8496, LOCATE_parser_prod___ASuperExpr___visit_all};
16576 val_t variable0;
16577 val_t variable1;
16578 val_t variable2;
16579 trace.prev = tracehead; tracehead = &trace;
16580 trace.file = LOCATE_parser_prod;
16581 variable0 = param0;
16582 variable1 = ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/;
16583 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
16584 if (UNTAG_Bool(variable1)) { /*if*/
16585 variable1 = ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/;
16586 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16587 }
16588 variable1 = ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/;
16589 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
16590 if (UNTAG_Bool(variable1)) { /*if*/
16591 variable1 = ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/;
16592 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16593 }
16594 variable1 = ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/;
16595 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
16596 while (true) { /*for*/
16597 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
16598 if (!UNTAG_Bool(variable2)) break; /*for*/
16599 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
16600 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
16601 continue_725: while(0);
16602 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
16603 }
16604 break_725: while(0);
16605 tracehead = trace.prev;
16606 return;
16607 }
16608 void parser_prod___ASuperExpr___visit_all_reverse(val_t self, val_t param0) {
16609 struct trace_t trace = {NULL, NULL, 8509, LOCATE_parser_prod___ASuperExpr___visit_all_reverse};
16610 val_t variable0;
16611 val_t variable1;
16612 val_t variable2;
16613 trace.prev = tracehead; tracehead = &trace;
16614 trace.file = LOCATE_parser_prod;
16615 variable0 = param0;
16616 variable1 = ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/;
16617 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
16618 if (UNTAG_Bool(variable1)) { /*if*/
16619 variable1 = ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/;
16620 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16621 }
16622 variable1 = ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/;
16623 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
16624 if (UNTAG_Bool(variable1)) { /*if*/
16625 variable1 = ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/;
16626 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16627 }
16628 variable2 = ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/;
16629 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
16630 variable1 = variable2;
16631 while (true) { /*while*/
16632 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
16633 if (!UNTAG_Bool(variable2)) break; /* while*/
16634 variable2 = ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/;
16635 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
16636 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
16637 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
16638 variable1 = variable2 /*i=*/;
16639 continue_727: while(0);
16640 }
16641 break_727: while(0);
16642 tracehead = trace.prev;
16643 return;
16644 }
16645 void parser_prod___AInitExpr___n_expr__eq(val_t self, val_t param0) {
16646 struct trace_t trace = {NULL, NULL, 8527, LOCATE_parser_prod___AInitExpr___n_expr__eq};
16647 val_t variable0;
16648 val_t variable1;
16649 trace.prev = tracehead; tracehead = &trace;
16650 trace.file = LOCATE_parser_prod;
16651 variable0 = param0;
16652 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n*/;
16653 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16654 if (UNTAG_Bool(variable1)) { /*if*/
16655 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
16656 }
16657 tracehead = trace.prev;
16658 return;
16659 }
16660 void parser_prod___AInitExpr___n_kwinit__eq(val_t self, val_t param0) {
16661 struct trace_t trace = {NULL, NULL, 8534, LOCATE_parser_prod___AInitExpr___n_kwinit__eq};
16662 val_t variable0;
16663 val_t variable1;
16664 trace.prev = tracehead; tracehead = &trace;
16665 trace.file = LOCATE_parser_prod;
16666 variable0 = param0;
16667 ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/ = variable0 /*n*/;
16668 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16669 if (UNTAG_Bool(variable1)) { /*if*/
16670 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
16671 }
16672 tracehead = trace.prev;
16673 return;
16674 }
16675 void parser_prod___AInitExpr___empty_init(val_t self, int* init_table) {
16676 struct trace_t trace = {NULL, NULL, 8542, LOCATE_parser_prod___AInitExpr___empty_init};
16677 trace.prev = tracehead; tracehead = &trace;
16678 trace.file = LOCATE_parser_prod;
16679 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInitExpr].i]) return;
16680 ((parser_prod___ASendExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASendExpr___empty_init))( self, init_table /*YYY*/) /*ASendExpr::empty_init*/;
16681 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInitExpr].i] = 1;
16682 tracehead = trace.prev;
16683 return;
16684 }
16685 void parser_prod___AInitExpr___init_ainitexpr(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
16686 struct trace_t trace = {NULL, NULL, 8544, LOCATE_parser_prod___AInitExpr___init_ainitexpr};
16687 val_t variable0;
16688 val_t variable1;
16689 val_t variable2;
16690 val_t variable3;
16691 val_t variable4;
16692 val_t variable5;
16693 trace.prev = tracehead; tracehead = &trace;
16694 trace.file = LOCATE_parser_prod;
16695 variable0 = param0;
16696 variable1 = param1;
16697 variable2 = param2;
16698 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInitExpr].i]) return;
16699 ((parser_prod___AInitExpr___empty_init_t)CALL( self,COLOR_parser_prod___AInitExpr___empty_init))( self, init_table /*YYY*/) /*AInitExpr::empty_init*/;
16700 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n_expr*/;
16701 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16702 if (UNTAG_Bool(variable3)) { /*if*/
16703 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
16704 }
16705 ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/ = variable1 /*n_kwinit*/;
16706 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwinit*/ == NIT_NULL /*null*/) || (( variable1 /*n_kwinit*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwinit*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwinit*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwinit*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwinit*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16707 if (UNTAG_Bool(variable3)) { /*if*/
16708 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwinit*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwinit*/, self) /*PNode::parent=*/;
16709 }
16710 variable3 = NEW_List_list___List___init(); /*new List[PExpr]*/
16711 ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/ = variable3;
16712 variable3 = ((array___AbstractArray___iterator_t)CALL( variable2 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*n_args*/) /*AbstractArray::iterator*/;
16713 while (true) { /*for*/
16714 variable4 = ((array___ArrayIterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*ArrayIterator::is_ok*/;
16715 if (!UNTAG_Bool(variable4)) break; /*for*/
16716 variable4 = ((array___ArrayIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ArrayIterator::item*/;
16717 variable5 = TAG_Bool(( variable4 /*n*/==NIT_NULL) || VAL_ISA( variable4 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16718 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInitExpr___init_ainitexpr, LOCATE_parser_prod, 8561); nit_exit(1);}
16719 variable5 = ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/;
16720 ((abstract_collection___IndexedCollection___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5, variable4 /*n*/) /*IndexedCollection::add*/;
16721 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n*/, self) /*PNode::parent=*/;
16722 continue_732: while(0);
16723 ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
16724 }
16725 break_732: while(0);
16726 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInitExpr].i] = 1;
16727 tracehead = trace.prev;
16728 return;
16729 }
16730 void parser_prod___AInitExpr___replace_child(val_t self, val_t param0, val_t param1) {
16731 struct trace_t trace = {NULL, NULL, 8567, LOCATE_parser_prod___AInitExpr___replace_child};
16732 val_t variable0;
16733 val_t variable1;
16734 val_t variable2;
16735 val_t variable3;
16736 val_t variable4;
16737 trace.prev = tracehead; tracehead = &trace;
16738 trace.file = LOCATE_parser_prod;
16739 variable0 = param0;
16740 variable1 = param1;
16741 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16742 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInitExpr___replace_child, LOCATE_parser_prod, 8569); nit_exit(1);}
16743 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
16744 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
16745 if (UNTAG_Bool(variable2)) { /*if*/
16746 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16747 if (UNTAG_Bool(variable2)) { /*if*/
16748 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
16749 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16750 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInitExpr___replace_child, LOCATE_parser_prod, 8573); nit_exit(1);}
16751 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable1 /*new_child*/;
16752 } else { /*if*/
16753 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = NIT_NULL /*null*/;
16754 }
16755 goto return_label733;
16756 }
16757 variable2 = ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/;
16758 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
16759 if (UNTAG_Bool(variable2)) { /*if*/
16760 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16761 if (UNTAG_Bool(variable2)) { /*if*/
16762 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
16763 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
16764 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInitExpr___replace_child, LOCATE_parser_prod, 8583); nit_exit(1);}
16765 ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/ = variable1 /*new_child*/;
16766 } else { /*if*/
16767 ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/ = NIT_NULL /*null*/;
16768 }
16769 goto return_label733;
16770 }
16771 variable2 = ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/;
16772 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
16773 variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
16774 variable2 = variable3;
16775 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
16776 while (true) { /*for*/
16777 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
16778 if (!UNTAG_Bool(variable3)) break; /*for*/
16779 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
16780 variable4 = ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/;
16781 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
16782 variable4 = TAG_Bool((variable4 == variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable0 /*old_child*/) /*Object::==*/)))));
16783 if (UNTAG_Bool(variable4)) { /*if*/
16784 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16785 if (UNTAG_Bool(variable4)) { /*if*/
16786 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16787 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AInitExpr___replace_child, LOCATE_parser_prod, 8593); nit_exit(1);}
16788 variable4 = ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/;
16789 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
16790 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
16791 } else { /*if*/
16792 variable4 = ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/;
16793 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
16794 }
16795 goto return_label733;
16796 }
16797 continue_734: while(0);
16798 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
16799 }
16800 break_734: while(0);
16801 return_label733: while(false);
16802 tracehead = trace.prev;
16803 return;
16804 }
16805 void parser_prod___AInitExpr___visit_all(val_t self, val_t param0) {
16806 struct trace_t trace = {NULL, NULL, 8604, LOCATE_parser_prod___AInitExpr___visit_all};
16807 val_t variable0;
16808 val_t variable1;
16809 val_t variable2;
16810 trace.prev = tracehead; tracehead = &trace;
16811 trace.file = LOCATE_parser_prod;
16812 variable0 = param0;
16813 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
16814 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
16815 if (UNTAG_Bool(variable1)) { /*if*/
16816 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
16817 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16818 }
16819 variable1 = ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/;
16820 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
16821 if (UNTAG_Bool(variable1)) { /*if*/
16822 variable1 = ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/;
16823 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16824 }
16825 variable1 = ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/;
16826 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
16827 while (true) { /*for*/
16828 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
16829 if (!UNTAG_Bool(variable2)) break; /*for*/
16830 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
16831 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
16832 continue_736: while(0);
16833 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
16834 }
16835 break_736: while(0);
16836 tracehead = trace.prev;
16837 return;
16838 }
16839 void parser_prod___AInitExpr___visit_all_reverse(val_t self, val_t param0) {
16840 struct trace_t trace = {NULL, NULL, 8617, LOCATE_parser_prod___AInitExpr___visit_all_reverse};
16841 val_t variable0;
16842 val_t variable1;
16843 val_t variable2;
16844 trace.prev = tracehead; tracehead = &trace;
16845 trace.file = LOCATE_parser_prod;
16846 variable0 = param0;
16847 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
16848 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
16849 if (UNTAG_Bool(variable1)) { /*if*/
16850 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
16851 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16852 }
16853 variable1 = ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/;
16854 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
16855 if (UNTAG_Bool(variable1)) { /*if*/
16856 variable1 = ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/;
16857 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16858 }
16859 variable2 = ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/;
16860 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
16861 variable1 = variable2;
16862 while (true) { /*while*/
16863 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
16864 if (!UNTAG_Bool(variable2)) break; /* while*/
16865 variable2 = ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/;
16866 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
16867 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
16868 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
16869 variable1 = variable2 /*i=*/;
16870 continue_738: while(0);
16871 }
16872 break_738: while(0);
16873 tracehead = trace.prev;
16874 return;
16875 }
16876 void parser_prod___ABraExpr___n_expr__eq(val_t self, val_t param0) {
16877 struct trace_t trace = {NULL, NULL, 8635, LOCATE_parser_prod___ABraExpr___n_expr__eq};
16878 val_t variable0;
16879 val_t variable1;
16880 trace.prev = tracehead; tracehead = &trace;
16881 trace.file = LOCATE_parser_prod;
16882 variable0 = param0;
16883 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n*/;
16884 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16885 if (UNTAG_Bool(variable1)) { /*if*/
16886 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
16887 }
16888 tracehead = trace.prev;
16889 return;
16890 }
16891 void parser_prod___ABraExpr___empty_init(val_t self, int* init_table) {
16892 struct trace_t trace = {NULL, NULL, 8643, LOCATE_parser_prod___ABraExpr___empty_init};
16893 trace.prev = tracehead; tracehead = &trace;
16894 trace.file = LOCATE_parser_prod;
16895 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraExpr].i]) return;
16896 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraExpr].i] = 1;
16897 tracehead = trace.prev;
16898 return;
16899 }
16900 void parser_prod___ABraExpr___init_abraexpr(val_t self, val_t param0, val_t param1, int* init_table) {
16901 struct trace_t trace = {NULL, NULL, 8645, LOCATE_parser_prod___ABraExpr___init_abraexpr};
16902 val_t variable0;
16903 val_t variable1;
16904 val_t variable2;
16905 val_t variable3;
16906 val_t variable4;
16907 trace.prev = tracehead; tracehead = &trace;
16908 trace.file = LOCATE_parser_prod;
16909 variable0 = param0;
16910 variable1 = param1;
16911 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraExpr].i]) return;
16912 ((parser_prod___ABraExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABraExpr___empty_init))( self, init_table /*YYY*/) /*ABraExpr::empty_init*/;
16913 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n_expr*/;
16914 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16915 if (UNTAG_Bool(variable2)) { /*if*/
16916 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
16917 }
16918 variable2 = NEW_List_list___List___init(); /*new List[PExpr]*/
16919 ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/ = variable2;
16920 variable2 = ((array___AbstractArray___iterator_t)CALL( variable1 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*n_args*/) /*AbstractArray::iterator*/;
16921 while (true) { /*for*/
16922 variable3 = ((array___ArrayIterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*ArrayIterator::is_ok*/;
16923 if (!UNTAG_Bool(variable3)) break; /*for*/
16924 variable3 = ((array___ArrayIterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*ArrayIterator::item*/;
16925 variable4 = TAG_Bool(( variable3 /*n*/==NIT_NULL) || VAL_ISA( variable3 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16926 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraExpr___init_abraexpr, LOCATE_parser_prod, 8657); nit_exit(1);}
16927 variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
16928 ((abstract_collection___IndexedCollection___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable3 /*n*/) /*IndexedCollection::add*/;
16929 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n*/, self) /*PNode::parent=*/;
16930 continue_742: while(0);
16931 ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
16932 }
16933 break_742: while(0);
16934 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraExpr].i] = 1;
16935 tracehead = trace.prev;
16936 return;
16937 }
16938 void parser_prod___ABraExpr___replace_child(val_t self, val_t param0, val_t param1) {
16939 struct trace_t trace = {NULL, NULL, 8663, LOCATE_parser_prod___ABraExpr___replace_child};
16940 val_t variable0;
16941 val_t variable1;
16942 val_t variable2;
16943 val_t variable3;
16944 val_t variable4;
16945 trace.prev = tracehead; tracehead = &trace;
16946 trace.file = LOCATE_parser_prod;
16947 variable0 = param0;
16948 variable1 = param1;
16949 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16950 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraExpr___replace_child, LOCATE_parser_prod, 8665); nit_exit(1);}
16951 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
16952 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
16953 if (UNTAG_Bool(variable2)) { /*if*/
16954 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16955 if (UNTAG_Bool(variable2)) { /*if*/
16956 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
16957 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16958 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraExpr___replace_child, LOCATE_parser_prod, 8669); nit_exit(1);}
16959 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable1 /*new_child*/;
16960 } else { /*if*/
16961 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = NIT_NULL /*null*/;
16962 }
16963 goto return_label743;
16964 }
16965 variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
16966 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
16967 variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
16968 variable2 = variable3;
16969 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
16970 while (true) { /*for*/
16971 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
16972 if (!UNTAG_Bool(variable3)) break; /*for*/
16973 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
16974 variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
16975 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
16976 variable4 = TAG_Bool((variable4 == variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable0 /*old_child*/) /*Object::==*/)))));
16977 if (UNTAG_Bool(variable4)) { /*if*/
16978 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16979 if (UNTAG_Bool(variable4)) { /*if*/
16980 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16981 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraExpr___replace_child, LOCATE_parser_prod, 8679); nit_exit(1);}
16982 variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
16983 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
16984 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
16985 } else { /*if*/
16986 variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
16987 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
16988 }
16989 goto return_label743;
16990 }
16991 continue_744: while(0);
16992 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
16993 }
16994 break_744: while(0);
16995 return_label743: while(false);
16996 tracehead = trace.prev;
16997 return;
16998 }
16999 void parser_prod___ABraExpr___visit_all(val_t self, val_t param0) {
17000 struct trace_t trace = {NULL, NULL, 8690, LOCATE_parser_prod___ABraExpr___visit_all};
17001 val_t variable0;
17002 val_t variable1;
17003 val_t variable2;
17004 trace.prev = tracehead; tracehead = &trace;
17005 trace.file = LOCATE_parser_prod;
17006 variable0 = param0;
17007 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
17008 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
17009 if (UNTAG_Bool(variable1)) { /*if*/
17010 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
17011 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17012 }
17013 variable1 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
17014 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
17015 while (true) { /*for*/
17016 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
17017 if (!UNTAG_Bool(variable2)) break; /*for*/
17018 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
17019 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
17020 continue_746: while(0);
17021 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
17022 }
17023 break_746: while(0);
17024 tracehead = trace.prev;
17025 return;
17026 }
17027 void parser_prod___ABraExpr___visit_all_reverse(val_t self, val_t param0) {
17028 struct trace_t trace = {NULL, NULL, 8700, LOCATE_parser_prod___ABraExpr___visit_all_reverse};
17029 val_t variable0;
17030 val_t variable1;
17031 val_t variable2;
17032 trace.prev = tracehead; tracehead = &trace;
17033 trace.file = LOCATE_parser_prod;
17034 variable0 = param0;
17035 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
17036 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
17037 if (UNTAG_Bool(variable1)) { /*if*/
17038 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
17039 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17040 }
17041 variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
17042 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
17043 variable1 = variable2;
17044 while (true) { /*while*/
17045 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
17046 if (!UNTAG_Bool(variable2)) break; /* while*/
17047 variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
17048 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
17049 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
17050 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
17051 variable1 = variable2 /*i=*/;
17052 continue_748: while(0);
17053 }
17054 break_748: while(0);
17055 tracehead = trace.prev;
17056 return;
17057 }
17058 void parser_prod___ABraAssignExpr___n_expr__eq(val_t self, val_t param0) {
17059 struct trace_t trace = {NULL, NULL, 8715, LOCATE_parser_prod___ABraAssignExpr___n_expr__eq};
17060 val_t variable0;
17061 val_t variable1;
17062 trace.prev = tracehead; tracehead = &trace;
17063 trace.file = LOCATE_parser_prod;
17064 variable0 = param0;
17065 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n*/;
17066 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17067 if (UNTAG_Bool(variable1)) { /*if*/
17068 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
17069 }
17070 tracehead = trace.prev;
17071 return;
17072 }
17073 void parser_prod___ABraAssignExpr___n_assign__eq(val_t self, val_t param0) {
17074 struct trace_t trace = {NULL, NULL, 8722, LOCATE_parser_prod___ABraAssignExpr___n_assign__eq};
17075 val_t variable0;
17076 val_t variable1;
17077 trace.prev = tracehead; tracehead = &trace;
17078 trace.file = LOCATE_parser_prod;
17079 variable0 = param0;
17080 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ = variable0 /*n*/;
17081 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17082 if (UNTAG_Bool(variable1)) { /*if*/
17083 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
17084 }
17085 tracehead = trace.prev;
17086 return;
17087 }
17088 void parser_prod___ABraAssignExpr___n_value__eq(val_t self, val_t param0) {
17089 struct trace_t trace = {NULL, NULL, 8729, LOCATE_parser_prod___ABraAssignExpr___n_value__eq};
17090 val_t variable0;
17091 val_t variable1;
17092 trace.prev = tracehead; tracehead = &trace;
17093 trace.file = LOCATE_parser_prod;
17094 variable0 = param0;
17095 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ = variable0 /*n*/;
17096 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17097 if (UNTAG_Bool(variable1)) { /*if*/
17098 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
17099 }
17100 tracehead = trace.prev;
17101 return;
17102 }
17103 void parser_prod___ABraAssignExpr___empty_init(val_t self, int* init_table) {
17104 struct trace_t trace = {NULL, NULL, 8737, LOCATE_parser_prod___ABraAssignExpr___empty_init};
17105 trace.prev = tracehead; tracehead = &trace;
17106 trace.file = LOCATE_parser_prod;
17107 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraAssignExpr].i]) return;
17108 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraAssignExpr].i] = 1;
17109 tracehead = trace.prev;
17110 return;
17111 }
17112 void parser_prod___ABraAssignExpr___init_abraassignexpr(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, int* init_table) {
17113 struct trace_t trace = {NULL, NULL, 8739, LOCATE_parser_prod___ABraAssignExpr___init_abraassignexpr};
17114 val_t variable0;
17115 val_t variable1;
17116 val_t variable2;
17117 val_t variable3;
17118 val_t variable4;
17119 val_t variable5;
17120 val_t variable6;
17121 trace.prev = tracehead; tracehead = &trace;
17122 trace.file = LOCATE_parser_prod;
17123 variable0 = param0;
17124 variable1 = param1;
17125 variable2 = param2;
17126 variable3 = param3;
17127 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraAssignExpr].i]) return;
17128 ((parser_prod___ABraAssignExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABraAssignExpr___empty_init))( self, init_table /*YYY*/) /*ABraAssignExpr::empty_init*/;
17129 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n_expr*/;
17130 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17131 if (UNTAG_Bool(variable4)) { /*if*/
17132 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
17133 }
17134 variable4 = NEW_List_list___List___init(); /*new List[PExpr]*/
17135 ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/ = variable4;
17136 variable4 = ((array___AbstractArray___iterator_t)CALL( variable1 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*n_args*/) /*AbstractArray::iterator*/;
17137 while (true) { /*for*/
17138 variable5 = ((array___ArrayIterator___is_ok_t)CALL(variable4,COLOR_abstract_collection___Iterator___is_ok))(variable4) /*ArrayIterator::is_ok*/;
17139 if (!UNTAG_Bool(variable5)) break; /*for*/
17140 variable5 = ((array___ArrayIterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*ArrayIterator::item*/;
17141 variable6 = TAG_Bool(( variable5 /*n*/==NIT_NULL) || VAL_ISA( variable5 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17142 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraAssignExpr___init_abraassignexpr, LOCATE_parser_prod, 8753); nit_exit(1);}
17143 variable6 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
17144 ((abstract_collection___IndexedCollection___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6, variable5 /*n*/) /*IndexedCollection::add*/;
17145 ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n*/, self) /*PNode::parent=*/;
17146 continue_754: while(0);
17147 ((array___ArrayIterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*ArrayIterator::next*/;
17148 }
17149 break_754: while(0);
17150 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ = variable2 /*n_assign*/;
17151 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_assign*/ == NIT_NULL /*null*/) || (( variable2 /*n_assign*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_assign*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_assign*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17152 if (UNTAG_Bool(variable4)) { /*if*/
17153 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_assign*/, self) /*PNode::parent=*/;
17154 }
17155 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ = variable3 /*n_value*/;
17156 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_value*/ == NIT_NULL /*null*/) || (( variable3 /*n_value*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_value*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_value*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_value*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_value*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17157 if (UNTAG_Bool(variable4)) { /*if*/
17158 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_value*/, self) /*PNode::parent=*/;
17159 }
17160 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraAssignExpr].i] = 1;
17161 tracehead = trace.prev;
17162 return;
17163 }
17164 void parser_prod___ABraAssignExpr___replace_child(val_t self, val_t param0, val_t param1) {
17165 struct trace_t trace = {NULL, NULL, 8767, LOCATE_parser_prod___ABraAssignExpr___replace_child};
17166 val_t variable0;
17167 val_t variable1;
17168 val_t variable2;
17169 val_t variable3;
17170 val_t variable4;
17171 trace.prev = tracehead; tracehead = &trace;
17172 trace.file = LOCATE_parser_prod;
17173 variable0 = param0;
17174 variable1 = param1;
17175 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17176 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraAssignExpr___replace_child, LOCATE_parser_prod, 8769); nit_exit(1);}
17177 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
17178 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
17179 if (UNTAG_Bool(variable2)) { /*if*/
17180 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17181 if (UNTAG_Bool(variable2)) { /*if*/
17182 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
17183 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17184 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraAssignExpr___replace_child, LOCATE_parser_prod, 8773); nit_exit(1);}
17185 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable1 /*new_child*/;
17186 } else { /*if*/
17187 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = NIT_NULL /*null*/;
17188 }
17189 goto return_label755;
17190 }
17191 variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
17192 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
17193 variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
17194 variable2 = variable3;
17195 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
17196 while (true) { /*for*/
17197 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
17198 if (!UNTAG_Bool(variable3)) break; /*for*/
17199 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
17200 variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
17201 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
17202 variable4 = TAG_Bool((variable4 == variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable0 /*old_child*/) /*Object::==*/)))));
17203 if (UNTAG_Bool(variable4)) { /*if*/
17204 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17205 if (UNTAG_Bool(variable4)) { /*if*/
17206 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17207 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraAssignExpr___replace_child, LOCATE_parser_prod, 8783); nit_exit(1);}
17208 variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
17209 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
17210 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
17211 } else { /*if*/
17212 variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
17213 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
17214 }
17215 goto return_label755;
17216 }
17217 continue_756: while(0);
17218 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
17219 }
17220 break_756: while(0);
17221 variable2 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
17222 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
17223 if (UNTAG_Bool(variable2)) { /*if*/
17224 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17225 if (UNTAG_Bool(variable2)) { /*if*/
17226 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
17227 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
17228 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraAssignExpr___replace_child, LOCATE_parser_prod, 8795); nit_exit(1);}
17229 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ = variable1 /*new_child*/;
17230 } else { /*if*/
17231 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ = NIT_NULL /*null*/;
17232 }
17233 goto return_label755;
17234 }
17235 variable2 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
17236 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
17237 if (UNTAG_Bool(variable2)) { /*if*/
17238 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17239 if (UNTAG_Bool(variable2)) { /*if*/
17240 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
17241 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17242 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraAssignExpr___replace_child, LOCATE_parser_prod, 8805); nit_exit(1);}
17243 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ = variable1 /*new_child*/;
17244 } else { /*if*/
17245 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ = NIT_NULL /*null*/;
17246 }
17247 goto return_label755;
17248 }
17249 return_label755: while(false);
17250 tracehead = trace.prev;
17251 return;
17252 }
17253 void parser_prod___ABraAssignExpr___visit_all(val_t self, val_t param0) {
17254 struct trace_t trace = {NULL, NULL, 8814, LOCATE_parser_prod___ABraAssignExpr___visit_all};
17255 val_t variable0;
17256 val_t variable1;
17257 val_t variable2;
17258 trace.prev = tracehead; tracehead = &trace;
17259 trace.file = LOCATE_parser_prod;
17260 variable0 = param0;
17261 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
17262 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
17263 if (UNTAG_Bool(variable1)) { /*if*/
17264 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
17265 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17266 }
17267 variable1 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
17268 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
17269 while (true) { /*for*/
17270 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
17271 if (!UNTAG_Bool(variable2)) break; /*for*/
17272 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
17273 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
17274 continue_758: while(0);
17275 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
17276 }
17277 break_758: while(0);
17278 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
17279 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
17280 if (UNTAG_Bool(variable1)) { /*if*/
17281 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
17282 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17283 }
17284 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
17285 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
17286 if (UNTAG_Bool(variable1)) { /*if*/
17287 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
17288 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17289 }
17290 tracehead = trace.prev;
17291 return;
17292 }
17293 void parser_prod___ABraAssignExpr___visit_all_reverse(val_t self, val_t param0) {
17294 struct trace_t trace = {NULL, NULL, 8830, LOCATE_parser_prod___ABraAssignExpr___visit_all_reverse};
17295 val_t variable0;
17296 val_t variable1;
17297 val_t variable2;
17298 trace.prev = tracehead; tracehead = &trace;
17299 trace.file = LOCATE_parser_prod;
17300 variable0 = param0;
17301 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
17302 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
17303 if (UNTAG_Bool(variable1)) { /*if*/
17304 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
17305 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17306 }
17307 variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
17308 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
17309 variable1 = variable2;
17310 while (true) { /*while*/
17311 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
17312 if (!UNTAG_Bool(variable2)) break; /* while*/
17313 variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
17314 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
17315 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
17316 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
17317 variable1 = variable2 /*i=*/;
17318 continue_760: while(0);
17319 }
17320 break_760: while(0);
17321 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
17322 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
17323 if (UNTAG_Bool(variable1)) { /*if*/
17324 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
17325 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17326 }
17327 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
17328 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
17329 if (UNTAG_Bool(variable1)) { /*if*/
17330 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
17331 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17332 }
17333 tracehead = trace.prev;
17334 return;
17335 }
17336 void parser_prod___ABraReassignExpr___n_expr__eq(val_t self, val_t param0) {
17337 struct trace_t trace = {NULL, NULL, 8851, LOCATE_parser_prod___ABraReassignExpr___n_expr__eq};
17338 val_t variable0;
17339 val_t variable1;
17340 trace.prev = tracehead; tracehead = &trace;
17341 trace.file = LOCATE_parser_prod;
17342 variable0 = param0;
17343 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n*/;
17344 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17345 if (UNTAG_Bool(variable1)) { /*if*/
17346 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
17347 }
17348 tracehead = trace.prev;
17349 return;
17350 }
17351 void parser_prod___ABraReassignExpr___n_assign_op__eq(val_t self, val_t param0) {
17352 struct trace_t trace = {NULL, NULL, 8858, LOCATE_parser_prod___ABraReassignExpr___n_assign_op__eq};
17353 val_t variable0;
17354 val_t variable1;
17355 trace.prev = tracehead; tracehead = &trace;
17356 trace.file = LOCATE_parser_prod;
17357 variable0 = param0;
17358 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ = variable0 /*n*/;
17359 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17360 if (UNTAG_Bool(variable1)) { /*if*/
17361 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
17362 }
17363 tracehead = trace.prev;
17364 return;
17365 }
17366 void parser_prod___ABraReassignExpr___n_value__eq(val_t self, val_t param0) {
17367 struct trace_t trace = {NULL, NULL, 8865, LOCATE_parser_prod___ABraReassignExpr___n_value__eq};
17368 val_t variable0;
17369 val_t variable1;
17370 trace.prev = tracehead; tracehead = &trace;
17371 trace.file = LOCATE_parser_prod;
17372 variable0 = param0;
17373 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ = variable0 /*n*/;
17374 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17375 if (UNTAG_Bool(variable1)) { /*if*/
17376 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
17377 }
17378 tracehead = trace.prev;
17379 return;
17380 }
17381 void parser_prod___ABraReassignExpr___empty_init(val_t self, int* init_table) {
17382 struct trace_t trace = {NULL, NULL, 8873, LOCATE_parser_prod___ABraReassignExpr___empty_init};
17383 trace.prev = tracehead; tracehead = &trace;
17384 trace.file = LOCATE_parser_prod;
17385 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraReassignExpr].i]) return;
17386 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraReassignExpr].i] = 1;
17387 tracehead = trace.prev;
17388 return;
17389 }
17390 void parser_prod___ABraReassignExpr___init_abrareassignexpr(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, int* init_table) {
17391 struct trace_t trace = {NULL, NULL, 8875, LOCATE_parser_prod___ABraReassignExpr___init_abrareassignexpr};
17392 val_t variable0;
17393 val_t variable1;
17394 val_t variable2;
17395 val_t variable3;
17396 val_t variable4;
17397 val_t variable5;
17398 val_t variable6;
17399 trace.prev = tracehead; tracehead = &trace;
17400 trace.file = LOCATE_parser_prod;
17401 variable0 = param0;
17402 variable1 = param1;
17403 variable2 = param2;
17404 variable3 = param3;
17405 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraReassignExpr].i]) return;
17406 ((parser_prod___ABraReassignExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABraReassignExpr___empty_init))( self, init_table /*YYY*/) /*ABraReassignExpr::empty_init*/;
17407 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n_expr*/;
17408 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17409 if (UNTAG_Bool(variable4)) { /*if*/
17410 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
17411 }
17412 variable4 = NEW_List_list___List___init(); /*new List[PExpr]*/
17413 ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/ = variable4;
17414 variable4 = ((array___AbstractArray___iterator_t)CALL( variable1 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*n_args*/) /*AbstractArray::iterator*/;
17415 while (true) { /*for*/
17416 variable5 = ((array___ArrayIterator___is_ok_t)CALL(variable4,COLOR_abstract_collection___Iterator___is_ok))(variable4) /*ArrayIterator::is_ok*/;
17417 if (!UNTAG_Bool(variable5)) break; /*for*/
17418 variable5 = ((array___ArrayIterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*ArrayIterator::item*/;
17419 variable6 = TAG_Bool(( variable5 /*n*/==NIT_NULL) || VAL_ISA( variable5 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17420 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraReassignExpr___init_abrareassignexpr, LOCATE_parser_prod, 8889); nit_exit(1);}
17421 variable6 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
17422 ((abstract_collection___IndexedCollection___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6, variable5 /*n*/) /*IndexedCollection::add*/;
17423 ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n*/, self) /*PNode::parent=*/;
17424 continue_766: while(0);
17425 ((array___ArrayIterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*ArrayIterator::next*/;
17426 }
17427 break_766: while(0);
17428 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ = variable2 /*n_assign_op*/;
17429 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_assign_op*/ == NIT_NULL /*null*/) || (( variable2 /*n_assign_op*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign_op*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_assign_op*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign_op*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_assign_op*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17430 if (UNTAG_Bool(variable4)) { /*if*/
17431 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_assign_op*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_assign_op*/, self) /*PNode::parent=*/;
17432 }
17433 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ = variable3 /*n_value*/;
17434 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_value*/ == NIT_NULL /*null*/) || (( variable3 /*n_value*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_value*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_value*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_value*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_value*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17435 if (UNTAG_Bool(variable4)) { /*if*/
17436 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_value*/, self) /*PNode::parent=*/;
17437 }
17438 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraReassignExpr].i] = 1;
17439 tracehead = trace.prev;
17440 return;
17441 }
17442 void parser_prod___ABraReassignExpr___replace_child(val_t self, val_t param0, val_t param1) {
17443 struct trace_t trace = {NULL, NULL, 8903, LOCATE_parser_prod___ABraReassignExpr___replace_child};
17444 val_t variable0;
17445 val_t variable1;
17446 val_t variable2;
17447 val_t variable3;
17448 val_t variable4;
17449 trace.prev = tracehead; tracehead = &trace;
17450 trace.file = LOCATE_parser_prod;
17451 variable0 = param0;
17452 variable1 = param1;
17453 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17454 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraReassignExpr___replace_child, LOCATE_parser_prod, 8905); nit_exit(1);}
17455 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
17456 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
17457 if (UNTAG_Bool(variable2)) { /*if*/
17458 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17459 if (UNTAG_Bool(variable2)) { /*if*/
17460 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
17461 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17462 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraReassignExpr___replace_child, LOCATE_parser_prod, 8909); nit_exit(1);}
17463 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable1 /*new_child*/;
17464 } else { /*if*/
17465 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = NIT_NULL /*null*/;
17466 }
17467 goto return_label767;
17468 }
17469 variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
17470 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
17471 variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
17472 variable2 = variable3;
17473 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
17474 while (true) { /*for*/
17475 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
17476 if (!UNTAG_Bool(variable3)) break; /*for*/
17477 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
17478 variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
17479 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
17480 variable4 = TAG_Bool((variable4 == variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable0 /*old_child*/) /*Object::==*/)))));
17481 if (UNTAG_Bool(variable4)) { /*if*/
17482 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17483 if (UNTAG_Bool(variable4)) { /*if*/
17484 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17485 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraReassignExpr___replace_child, LOCATE_parser_prod, 8919); nit_exit(1);}
17486 variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
17487 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
17488 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
17489 } else { /*if*/
17490 variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
17491 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
17492 }
17493 goto return_label767;
17494 }
17495 continue_768: while(0);
17496 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
17497 }
17498 break_768: while(0);
17499 variable2 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
17500 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
17501 if (UNTAG_Bool(variable2)) { /*if*/
17502 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17503 if (UNTAG_Bool(variable2)) { /*if*/
17504 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
17505 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
17506 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraReassignExpr___replace_child, LOCATE_parser_prod, 8931); nit_exit(1);}
17507 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ = variable1 /*new_child*/;
17508 } else { /*if*/
17509 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ = NIT_NULL /*null*/;
17510 }
17511 goto return_label767;
17512 }
17513 variable2 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
17514 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
17515 if (UNTAG_Bool(variable2)) { /*if*/
17516 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17517 if (UNTAG_Bool(variable2)) { /*if*/
17518 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
17519 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17520 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ABraReassignExpr___replace_child, LOCATE_parser_prod, 8941); nit_exit(1);}
17521 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ = variable1 /*new_child*/;
17522 } else { /*if*/
17523 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ = NIT_NULL /*null*/;
17524 }
17525 goto return_label767;
17526 }
17527 return_label767: while(false);
17528 tracehead = trace.prev;
17529 return;
17530 }
17531 void parser_prod___ABraReassignExpr___visit_all(val_t self, val_t param0) {
17532 struct trace_t trace = {NULL, NULL, 8950, LOCATE_parser_prod___ABraReassignExpr___visit_all};
17533 val_t variable0;
17534 val_t variable1;
17535 val_t variable2;
17536 trace.prev = tracehead; tracehead = &trace;
17537 trace.file = LOCATE_parser_prod;
17538 variable0 = param0;
17539 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
17540 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
17541 if (UNTAG_Bool(variable1)) { /*if*/
17542 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
17543 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17544 }
17545 variable1 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
17546 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
17547 while (true) { /*for*/
17548 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
17549 if (!UNTAG_Bool(variable2)) break; /*for*/
17550 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
17551 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
17552 continue_770: while(0);
17553 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
17554 }
17555 break_770: while(0);
17556 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
17557 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
17558 if (UNTAG_Bool(variable1)) { /*if*/
17559 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
17560 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17561 }
17562 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
17563 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
17564 if (UNTAG_Bool(variable1)) { /*if*/
17565 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
17566 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17567 }
17568 tracehead = trace.prev;
17569 return;
17570 }
17571 void parser_prod___ABraReassignExpr___visit_all_reverse(val_t self, val_t param0) {
17572 struct trace_t trace = {NULL, NULL, 8966, LOCATE_parser_prod___ABraReassignExpr___visit_all_reverse};
17573 val_t variable0;
17574 val_t variable1;
17575 val_t variable2;
17576 trace.prev = tracehead; tracehead = &trace;
17577 trace.file = LOCATE_parser_prod;
17578 variable0 = param0;
17579 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
17580 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
17581 if (UNTAG_Bool(variable1)) { /*if*/
17582 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
17583 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17584 }
17585 variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
17586 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
17587 variable1 = variable2;
17588 while (true) { /*while*/
17589 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
17590 if (!UNTAG_Bool(variable2)) break; /* while*/
17591 variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
17592 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
17593 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
17594 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
17595 variable1 = variable2 /*i=*/;
17596 continue_772: while(0);
17597 }
17598 break_772: while(0);
17599 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
17600 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
17601 if (UNTAG_Bool(variable1)) { /*if*/
17602 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
17603 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17604 }
17605 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
17606 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
17607 if (UNTAG_Bool(variable1)) { /*if*/
17608 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
17609 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17610 }
17611 tracehead = trace.prev;
17612 return;
17613 }
17614 void parser_prod___AVarExpr___n_id__eq(val_t self, val_t param0) {
17615 struct trace_t trace = {NULL, NULL, 8987, LOCATE_parser_prod___AVarExpr___n_id__eq};
17616 val_t variable0;
17617 val_t variable1;
17618 trace.prev = tracehead; tracehead = &trace;
17619 trace.file = LOCATE_parser_prod;
17620 variable0 = param0;
17621 ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ = variable0 /*n*/;
17622 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17623 if (UNTAG_Bool(variable1)) { /*if*/
17624 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
17625 }
17626 tracehead = trace.prev;
17627 return;
17628 }
17629 void parser_prod___AVarExpr___empty_init(val_t self, int* init_table) {
17630 struct trace_t trace = {NULL, NULL, 8995, LOCATE_parser_prod___AVarExpr___empty_init};
17631 trace.prev = tracehead; tracehead = &trace;
17632 trace.file = LOCATE_parser_prod;
17633 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarExpr].i]) return;
17634 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarExpr].i] = 1;
17635 tracehead = trace.prev;
17636 return;
17637 }
17638 void parser_prod___AVarExpr___init_avarexpr(val_t self, val_t param0, int* init_table) {
17639 struct trace_t trace = {NULL, NULL, 8997, LOCATE_parser_prod___AVarExpr___init_avarexpr};
17640 val_t variable0;
17641 val_t variable1;
17642 trace.prev = tracehead; tracehead = &trace;
17643 trace.file = LOCATE_parser_prod;
17644 variable0 = param0;
17645 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarExpr].i]) return;
17646 ((parser_prod___AVarExpr___empty_init_t)CALL( self,COLOR_parser_prod___AVarExpr___empty_init))( self, init_table /*YYY*/) /*AVarExpr::empty_init*/;
17647 ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ = variable0 /*n_id*/;
17648 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_id*/ == NIT_NULL /*null*/) || (( variable0 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_id*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17649 if (UNTAG_Bool(variable1)) { /*if*/
17650 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/, self) /*PNode::parent=*/;
17651 }
17652 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarExpr].i] = 1;
17653 tracehead = trace.prev;
17654 return;
17655 }
17656 void parser_prod___AVarExpr___replace_child(val_t self, val_t param0, val_t param1) {
17657 struct trace_t trace = {NULL, NULL, 9008, LOCATE_parser_prod___AVarExpr___replace_child};
17658 val_t variable0;
17659 val_t variable1;
17660 val_t variable2;
17661 trace.prev = tracehead; tracehead = &trace;
17662 trace.file = LOCATE_parser_prod;
17663 variable0 = param0;
17664 variable1 = param1;
17665 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17666 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarExpr___replace_child, LOCATE_parser_prod, 9010); nit_exit(1);}
17667 variable2 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
17668 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
17669 if (UNTAG_Bool(variable2)) { /*if*/
17670 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17671 if (UNTAG_Bool(variable2)) { /*if*/
17672 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
17673 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
17674 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarExpr___replace_child, LOCATE_parser_prod, 9014); nit_exit(1);}
17675 ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ = variable1 /*new_child*/;
17676 } else { /*if*/
17677 ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ = NIT_NULL /*null*/;
17678 }
17679 goto return_label776;
17680 }
17681 return_label776: while(false);
17682 tracehead = trace.prev;
17683 return;
17684 }
17685 void parser_prod___AVarExpr___visit_all(val_t self, val_t param0) {
17686 struct trace_t trace = {NULL, NULL, 9023, LOCATE_parser_prod___AVarExpr___visit_all};
17687 val_t variable0;
17688 val_t variable1;
17689 trace.prev = tracehead; tracehead = &trace;
17690 trace.file = LOCATE_parser_prod;
17691 variable0 = param0;
17692 variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
17693 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
17694 if (UNTAG_Bool(variable1)) { /*if*/
17695 variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
17696 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17697 }
17698 tracehead = trace.prev;
17699 return;
17700 }
17701 void parser_prod___AVarExpr___visit_all_reverse(val_t self, val_t param0) {
17702 struct trace_t trace = {NULL, NULL, 9030, LOCATE_parser_prod___AVarExpr___visit_all_reverse};
17703 val_t variable0;
17704 val_t variable1;
17705 trace.prev = tracehead; tracehead = &trace;
17706 trace.file = LOCATE_parser_prod;
17707 variable0 = param0;
17708 variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
17709 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
17710 if (UNTAG_Bool(variable1)) { /*if*/
17711 variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
17712 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17713 }
17714 tracehead = trace.prev;
17715 return;
17716 }
17717 void parser_prod___AVarAssignExpr___n_id__eq(val_t self, val_t param0) {
17718 struct trace_t trace = {NULL, NULL, 9038, LOCATE_parser_prod___AVarAssignExpr___n_id__eq};
17719 val_t variable0;
17720 val_t variable1;
17721 trace.prev = tracehead; tracehead = &trace;
17722 trace.file = LOCATE_parser_prod;
17723 variable0 = param0;
17724 ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ = variable0 /*n*/;
17725 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17726 if (UNTAG_Bool(variable1)) { /*if*/
17727 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
17728 }
17729 tracehead = trace.prev;
17730 return;
17731 }
17732 void parser_prod___AVarAssignExpr___n_assign__eq(val_t self, val_t param0) {
17733 struct trace_t trace = {NULL, NULL, 9045, LOCATE_parser_prod___AVarAssignExpr___n_assign__eq};
17734 val_t variable0;
17735 val_t variable1;
17736 trace.prev = tracehead; tracehead = &trace;
17737 trace.file = LOCATE_parser_prod;
17738 variable0 = param0;
17739 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ = variable0 /*n*/;
17740 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17741 if (UNTAG_Bool(variable1)) { /*if*/
17742 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
17743 }
17744 tracehead = trace.prev;
17745 return;
17746 }
17747 void parser_prod___AVarAssignExpr___n_value__eq(val_t self, val_t param0) {
17748 struct trace_t trace = {NULL, NULL, 9052, LOCATE_parser_prod___AVarAssignExpr___n_value__eq};
17749 val_t variable0;
17750 val_t variable1;
17751 trace.prev = tracehead; tracehead = &trace;
17752 trace.file = LOCATE_parser_prod;
17753 variable0 = param0;
17754 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ = variable0 /*n*/;
17755 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17756 if (UNTAG_Bool(variable1)) { /*if*/
17757 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
17758 }
17759 tracehead = trace.prev;
17760 return;
17761 }
17762 void parser_prod___AVarAssignExpr___empty_init(val_t self, int* init_table) {
17763 struct trace_t trace = {NULL, NULL, 9060, LOCATE_parser_prod___AVarAssignExpr___empty_init};
17764 trace.prev = tracehead; tracehead = &trace;
17765 trace.file = LOCATE_parser_prod;
17766 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarAssignExpr].i]) return;
17767 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarAssignExpr].i] = 1;
17768 tracehead = trace.prev;
17769 return;
17770 }
17771 void parser_prod___AVarAssignExpr___init_avarassignexpr(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
17772 struct trace_t trace = {NULL, NULL, 9062, LOCATE_parser_prod___AVarAssignExpr___init_avarassignexpr};
17773 val_t variable0;
17774 val_t variable1;
17775 val_t variable2;
17776 val_t variable3;
17777 trace.prev = tracehead; tracehead = &trace;
17778 trace.file = LOCATE_parser_prod;
17779 variable0 = param0;
17780 variable1 = param1;
17781 variable2 = param2;
17782 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarAssignExpr].i]) return;
17783 ((parser_prod___AVarAssignExpr___empty_init_t)CALL( self,COLOR_parser_prod___AVarAssignExpr___empty_init))( self, init_table /*YYY*/) /*AVarAssignExpr::empty_init*/;
17784 ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ = variable0 /*n_id*/;
17785 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_id*/ == NIT_NULL /*null*/) || (( variable0 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_id*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17786 if (UNTAG_Bool(variable3)) { /*if*/
17787 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/, self) /*PNode::parent=*/;
17788 }
17789 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ = variable1 /*n_assign*/;
17790 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_assign*/ == NIT_NULL /*null*/) || (( variable1 /*n_assign*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_assign*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_assign*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_assign*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_assign*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17791 if (UNTAG_Bool(variable3)) { /*if*/
17792 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_assign*/, self) /*PNode::parent=*/;
17793 }
17794 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ = variable2 /*n_value*/;
17795 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_value*/ == NIT_NULL /*null*/) || (( variable2 /*n_value*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_value*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_value*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_value*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_value*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17796 if (UNTAG_Bool(variable3)) { /*if*/
17797 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_value*/, self) /*PNode::parent=*/;
17798 }
17799 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarAssignExpr].i] = 1;
17800 tracehead = trace.prev;
17801 return;
17802 }
17803 void parser_prod___AVarAssignExpr___replace_child(val_t self, val_t param0, val_t param1) {
17804 struct trace_t trace = {NULL, NULL, 9083, LOCATE_parser_prod___AVarAssignExpr___replace_child};
17805 val_t variable0;
17806 val_t variable1;
17807 val_t variable2;
17808 trace.prev = tracehead; tracehead = &trace;
17809 trace.file = LOCATE_parser_prod;
17810 variable0 = param0;
17811 variable1 = param1;
17812 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17813 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarAssignExpr___replace_child, LOCATE_parser_prod, 9085); nit_exit(1);}
17814 variable2 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
17815 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
17816 if (UNTAG_Bool(variable2)) { /*if*/
17817 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17818 if (UNTAG_Bool(variable2)) { /*if*/
17819 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
17820 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
17821 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarAssignExpr___replace_child, LOCATE_parser_prod, 9089); nit_exit(1);}
17822 ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ = variable1 /*new_child*/;
17823 } else { /*if*/
17824 ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ = NIT_NULL /*null*/;
17825 }
17826 goto return_label784;
17827 }
17828 variable2 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
17829 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
17830 if (UNTAG_Bool(variable2)) { /*if*/
17831 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17832 if (UNTAG_Bool(variable2)) { /*if*/
17833 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
17834 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
17835 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarAssignExpr___replace_child, LOCATE_parser_prod, 9099); nit_exit(1);}
17836 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ = variable1 /*new_child*/;
17837 } else { /*if*/
17838 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ = NIT_NULL /*null*/;
17839 }
17840 goto return_label784;
17841 }
17842 variable2 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
17843 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
17844 if (UNTAG_Bool(variable2)) { /*if*/
17845 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17846 if (UNTAG_Bool(variable2)) { /*if*/
17847 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
17848 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17849 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarAssignExpr___replace_child, LOCATE_parser_prod, 9109); nit_exit(1);}
17850 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ = variable1 /*new_child*/;
17851 } else { /*if*/
17852 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ = NIT_NULL /*null*/;
17853 }
17854 goto return_label784;
17855 }
17856 return_label784: while(false);
17857 tracehead = trace.prev;
17858 return;
17859 }
17860 void parser_prod___AVarAssignExpr___visit_all(val_t self, val_t param0) {
17861 struct trace_t trace = {NULL, NULL, 9118, LOCATE_parser_prod___AVarAssignExpr___visit_all};
17862 val_t variable0;
17863 val_t variable1;
17864 trace.prev = tracehead; tracehead = &trace;
17865 trace.file = LOCATE_parser_prod;
17866 variable0 = param0;
17867 variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
17868 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
17869 if (UNTAG_Bool(variable1)) { /*if*/
17870 variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
17871 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17872 }
17873 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
17874 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
17875 if (UNTAG_Bool(variable1)) { /*if*/
17876 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
17877 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17878 }
17879 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
17880 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
17881 if (UNTAG_Bool(variable1)) { /*if*/
17882 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
17883 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17884 }
17885 tracehead = trace.prev;
17886 return;
17887 }
17888 void parser_prod___AVarAssignExpr___visit_all_reverse(val_t self, val_t param0) {
17889 struct trace_t trace = {NULL, NULL, 9131, LOCATE_parser_prod___AVarAssignExpr___visit_all_reverse};
17890 val_t variable0;
17891 val_t variable1;
17892 trace.prev = tracehead; tracehead = &trace;
17893 trace.file = LOCATE_parser_prod;
17894 variable0 = param0;
17895 variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
17896 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
17897 if (UNTAG_Bool(variable1)) { /*if*/
17898 variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
17899 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17900 }
17901 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
17902 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
17903 if (UNTAG_Bool(variable1)) { /*if*/
17904 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
17905 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17906 }
17907 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
17908 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
17909 if (UNTAG_Bool(variable1)) { /*if*/
17910 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
17911 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17912 }
17913 tracehead = trace.prev;
17914 return;
17915 }
17916 void parser_prod___AVarReassignExpr___n_id__eq(val_t self, val_t param0) {
17917 struct trace_t trace = {NULL, NULL, 9145, LOCATE_parser_prod___AVarReassignExpr___n_id__eq};
17918 val_t variable0;
17919 val_t variable1;
17920 trace.prev = tracehead; tracehead = &trace;
17921 trace.file = LOCATE_parser_prod;
17922 variable0 = param0;
17923 ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ = variable0 /*n*/;
17924 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17925 if (UNTAG_Bool(variable1)) { /*if*/
17926 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
17927 }
17928 tracehead = trace.prev;
17929 return;
17930 }
17931 void parser_prod___AVarReassignExpr___n_assign_op__eq(val_t self, val_t param0) {
17932 struct trace_t trace = {NULL, NULL, 9152, LOCATE_parser_prod___AVarReassignExpr___n_assign_op__eq};
17933 val_t variable0;
17934 val_t variable1;
17935 trace.prev = tracehead; tracehead = &trace;
17936 trace.file = LOCATE_parser_prod;
17937 variable0 = param0;
17938 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ = variable0 /*n*/;
17939 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17940 if (UNTAG_Bool(variable1)) { /*if*/
17941 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
17942 }
17943 tracehead = trace.prev;
17944 return;
17945 }
17946 void parser_prod___AVarReassignExpr___n_value__eq(val_t self, val_t param0) {
17947 struct trace_t trace = {NULL, NULL, 9159, LOCATE_parser_prod___AVarReassignExpr___n_value__eq};
17948 val_t variable0;
17949 val_t variable1;
17950 trace.prev = tracehead; tracehead = &trace;
17951 trace.file = LOCATE_parser_prod;
17952 variable0 = param0;
17953 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ = variable0 /*n*/;
17954 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17955 if (UNTAG_Bool(variable1)) { /*if*/
17956 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
17957 }
17958 tracehead = trace.prev;
17959 return;
17960 }
17961 void parser_prod___AVarReassignExpr___empty_init(val_t self, int* init_table) {
17962 struct trace_t trace = {NULL, NULL, 9167, LOCATE_parser_prod___AVarReassignExpr___empty_init};
17963 trace.prev = tracehead; tracehead = &trace;
17964 trace.file = LOCATE_parser_prod;
17965 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarReassignExpr].i]) return;
17966 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarReassignExpr].i] = 1;
17967 tracehead = trace.prev;
17968 return;
17969 }
17970 void parser_prod___AVarReassignExpr___init_avarreassignexpr(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
17971 struct trace_t trace = {NULL, NULL, 9169, LOCATE_parser_prod___AVarReassignExpr___init_avarreassignexpr};
17972 val_t variable0;
17973 val_t variable1;
17974 val_t variable2;
17975 val_t variable3;
17976 trace.prev = tracehead; tracehead = &trace;
17977 trace.file = LOCATE_parser_prod;
17978 variable0 = param0;
17979 variable1 = param1;
17980 variable2 = param2;
17981 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarReassignExpr].i]) return;
17982 ((parser_prod___AVarReassignExpr___empty_init_t)CALL( self,COLOR_parser_prod___AVarReassignExpr___empty_init))( self, init_table /*YYY*/) /*AVarReassignExpr::empty_init*/;
17983 ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ = variable0 /*n_id*/;
17984 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_id*/ == NIT_NULL /*null*/) || (( variable0 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_id*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17985 if (UNTAG_Bool(variable3)) { /*if*/
17986 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/, self) /*PNode::parent=*/;
17987 }
17988 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ = variable1 /*n_assign_op*/;
17989 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_assign_op*/ == NIT_NULL /*null*/) || (( variable1 /*n_assign_op*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_assign_op*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_assign_op*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_assign_op*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_assign_op*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17990 if (UNTAG_Bool(variable3)) { /*if*/
17991 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_assign_op*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_assign_op*/, self) /*PNode::parent=*/;
17992 }
17993 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ = variable2 /*n_value*/;
17994 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_value*/ == NIT_NULL /*null*/) || (( variable2 /*n_value*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_value*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_value*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_value*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_value*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17995 if (UNTAG_Bool(variable3)) { /*if*/
17996 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_value*/, self) /*PNode::parent=*/;
17997 }
17998 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarReassignExpr].i] = 1;
17999 tracehead = trace.prev;
18000 return;
18001 }
18002 void parser_prod___AVarReassignExpr___replace_child(val_t self, val_t param0, val_t param1) {
18003 struct trace_t trace = {NULL, NULL, 9190, LOCATE_parser_prod___AVarReassignExpr___replace_child};
18004 val_t variable0;
18005 val_t variable1;
18006 val_t variable2;
18007 trace.prev = tracehead; tracehead = &trace;
18008 trace.file = LOCATE_parser_prod;
18009 variable0 = param0;
18010 variable1 = param1;
18011 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18012 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarReassignExpr___replace_child, LOCATE_parser_prod, 9192); nit_exit(1);}
18013 variable2 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
18014 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
18015 if (UNTAG_Bool(variable2)) { /*if*/
18016 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18017 if (UNTAG_Bool(variable2)) { /*if*/
18018 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
18019 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
18020 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarReassignExpr___replace_child, LOCATE_parser_prod, 9196); nit_exit(1);}
18021 ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ = variable1 /*new_child*/;
18022 } else { /*if*/
18023 ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ = NIT_NULL /*null*/;
18024 }
18025 goto return_label792;
18026 }
18027 variable2 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
18028 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
18029 if (UNTAG_Bool(variable2)) { /*if*/
18030 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18031 if (UNTAG_Bool(variable2)) { /*if*/
18032 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
18033 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
18034 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarReassignExpr___replace_child, LOCATE_parser_prod, 9206); nit_exit(1);}
18035 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ = variable1 /*new_child*/;
18036 } else { /*if*/
18037 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ = NIT_NULL /*null*/;
18038 }
18039 goto return_label792;
18040 }
18041 variable2 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
18042 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
18043 if (UNTAG_Bool(variable2)) { /*if*/
18044 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18045 if (UNTAG_Bool(variable2)) { /*if*/
18046 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
18047 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18048 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AVarReassignExpr___replace_child, LOCATE_parser_prod, 9216); nit_exit(1);}
18049 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ = variable1 /*new_child*/;
18050 } else { /*if*/
18051 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ = NIT_NULL /*null*/;
18052 }
18053 goto return_label792;
18054 }
18055 return_label792: while(false);
18056 tracehead = trace.prev;
18057 return;
18058 }
18059 void parser_prod___AVarReassignExpr___visit_all(val_t self, val_t param0) {
18060 struct trace_t trace = {NULL, NULL, 9225, LOCATE_parser_prod___AVarReassignExpr___visit_all};
18061 val_t variable0;
18062 val_t variable1;
18063 trace.prev = tracehead; tracehead = &trace;
18064 trace.file = LOCATE_parser_prod;
18065 variable0 = param0;
18066 variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
18067 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
18068 if (UNTAG_Bool(variable1)) { /*if*/
18069 variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
18070 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18071 }
18072 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
18073 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
18074 if (UNTAG_Bool(variable1)) { /*if*/
18075 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
18076 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18077 }
18078 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
18079 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
18080 if (UNTAG_Bool(variable1)) { /*if*/
18081 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
18082 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18083 }
18084 tracehead = trace.prev;
18085 return;
18086 }
18087 void parser_prod___AVarReassignExpr___visit_all_reverse(val_t self, val_t param0) {
18088 struct trace_t trace = {NULL, NULL, 9238, LOCATE_parser_prod___AVarReassignExpr___visit_all_reverse};
18089 val_t variable0;
18090 val_t variable1;
18091 trace.prev = tracehead; tracehead = &trace;
18092 trace.file = LOCATE_parser_prod;
18093 variable0 = param0;
18094 variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
18095 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
18096 if (UNTAG_Bool(variable1)) { /*if*/
18097 variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
18098 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18099 }
18100 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
18101 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
18102 if (UNTAG_Bool(variable1)) { /*if*/
18103 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
18104 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18105 }
18106 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
18107 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
18108 if (UNTAG_Bool(variable1)) { /*if*/
18109 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
18110 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18111 }
18112 tracehead = trace.prev;
18113 return;
18114 }
18115 void parser_prod___ARangeExpr___n_expr__eq(val_t self, val_t param0) {
18116 struct trace_t trace = {NULL, NULL, 9252, LOCATE_parser_prod___ARangeExpr___n_expr__eq};
18117 val_t variable0;
18118 val_t variable1;
18119 trace.prev = tracehead; tracehead = &trace;
18120 trace.file = LOCATE_parser_prod;
18121 variable0 = param0;
18122 ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ = variable0 /*n*/;
18123 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18124 if (UNTAG_Bool(variable1)) { /*if*/
18125 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
18126 }
18127 tracehead = trace.prev;
18128 return;
18129 }
18130 void parser_prod___ARangeExpr___n_expr2__eq(val_t self, val_t param0) {
18131 struct trace_t trace = {NULL, NULL, 9259, LOCATE_parser_prod___ARangeExpr___n_expr2__eq};
18132 val_t variable0;
18133 val_t variable1;
18134 trace.prev = tracehead; tracehead = &trace;
18135 trace.file = LOCATE_parser_prod;
18136 variable0 = param0;
18137 ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ = variable0 /*n*/;
18138 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18139 if (UNTAG_Bool(variable1)) { /*if*/
18140 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
18141 }
18142 tracehead = trace.prev;
18143 return;
18144 }
18145 void parser_prod___ARangeExpr___empty_init(val_t self, int* init_table) {
18146 struct trace_t trace = {NULL, NULL, 9267, LOCATE_parser_prod___ARangeExpr___empty_init};
18147 trace.prev = tracehead; tracehead = &trace;
18148 trace.file = LOCATE_parser_prod;
18149 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ARangeExpr].i]) return;
18150 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ARangeExpr].i] = 1;
18151 tracehead = trace.prev;
18152 return;
18153 }
18154 void parser_prod___ARangeExpr___init_arangeexpr(val_t self, val_t param0, val_t param1, int* init_table) {
18155 struct trace_t trace = {NULL, NULL, 9269, LOCATE_parser_prod___ARangeExpr___init_arangeexpr};
18156 val_t variable0;
18157 val_t variable1;
18158 val_t variable2;
18159 trace.prev = tracehead; tracehead = &trace;
18160 trace.file = LOCATE_parser_prod;
18161 variable0 = param0;
18162 variable1 = param1;
18163 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ARangeExpr].i]) return;
18164 ((parser_prod___ARangeExpr___empty_init_t)CALL( self,COLOR_parser_prod___ARangeExpr___empty_init))( self, init_table /*YYY*/) /*ARangeExpr::empty_init*/;
18165 ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ = variable0 /*n_expr*/;
18166 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18167 if (UNTAG_Bool(variable2)) { /*if*/
18168 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
18169 }
18170 ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ = variable1 /*n_expr2*/;
18171 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18172 if (UNTAG_Bool(variable2)) { /*if*/
18173 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PNode::parent=*/;
18174 }
18175 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ARangeExpr].i] = 1;
18176 tracehead = trace.prev;
18177 return;
18178 }
18179 void parser_prod___ARangeExpr___replace_child(val_t self, val_t param0, val_t param1) {
18180 struct trace_t trace = {NULL, NULL, 9285, LOCATE_parser_prod___ARangeExpr___replace_child};
18181 val_t variable0;
18182 val_t variable1;
18183 val_t variable2;
18184 trace.prev = tracehead; tracehead = &trace;
18185 trace.file = LOCATE_parser_prod;
18186 variable0 = param0;
18187 variable1 = param1;
18188 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18189 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ARangeExpr___replace_child, LOCATE_parser_prod, 9287); nit_exit(1);}
18190 variable2 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
18191 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
18192 if (UNTAG_Bool(variable2)) { /*if*/
18193 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18194 if (UNTAG_Bool(variable2)) { /*if*/
18195 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
18196 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18197 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ARangeExpr___replace_child, LOCATE_parser_prod, 9291); nit_exit(1);}
18198 ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ = variable1 /*new_child*/;
18199 } else { /*if*/
18200 ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ = NIT_NULL /*null*/;
18201 }
18202 goto return_label799;
18203 }
18204 variable2 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
18205 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
18206 if (UNTAG_Bool(variable2)) { /*if*/
18207 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18208 if (UNTAG_Bool(variable2)) { /*if*/
18209 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
18210 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18211 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ARangeExpr___replace_child, LOCATE_parser_prod, 9301); nit_exit(1);}
18212 ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ = variable1 /*new_child*/;
18213 } else { /*if*/
18214 ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ = NIT_NULL /*null*/;
18215 }
18216 goto return_label799;
18217 }
18218 return_label799: while(false);
18219 tracehead = trace.prev;
18220 return;
18221 }
18222 void parser_prod___ARangeExpr___visit_all(val_t self, val_t param0) {
18223 struct trace_t trace = {NULL, NULL, 9310, LOCATE_parser_prod___ARangeExpr___visit_all};
18224 val_t variable0;
18225 val_t variable1;
18226 trace.prev = tracehead; tracehead = &trace;
18227 trace.file = LOCATE_parser_prod;
18228 variable0 = param0;
18229 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
18230 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
18231 if (UNTAG_Bool(variable1)) { /*if*/
18232 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
18233 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18234 }
18235 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
18236 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
18237 if (UNTAG_Bool(variable1)) { /*if*/
18238 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
18239 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18240 }
18241 tracehead = trace.prev;
18242 return;
18243 }
18244 void parser_prod___ARangeExpr___visit_all_reverse(val_t self, val_t param0) {
18245 struct trace_t trace = {NULL, NULL, 9320, LOCATE_parser_prod___ARangeExpr___visit_all_reverse};
18246 val_t variable0;
18247 val_t variable1;
18248 trace.prev = tracehead; tracehead = &trace;
18249 trace.file = LOCATE_parser_prod;
18250 variable0 = param0;
18251 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
18252 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
18253 if (UNTAG_Bool(variable1)) { /*if*/
18254 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
18255 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18256 }
18257 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
18258 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
18259 if (UNTAG_Bool(variable1)) { /*if*/
18260 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
18261 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18262 }
18263 tracehead = trace.prev;
18264 return;
18265 }
18266 void parser_prod___ACrangeExpr___n_expr__eq(val_t self, val_t param0) {
18267 struct trace_t trace = {NULL, NULL, 9331, LOCATE_parser_prod___ACrangeExpr___n_expr__eq};
18268 val_t variable0;
18269 val_t variable1;
18270 trace.prev = tracehead; tracehead = &trace;
18271 trace.file = LOCATE_parser_prod;
18272 variable0 = param0;
18273 ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ = variable0 /*n*/;
18274 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18275 if (UNTAG_Bool(variable1)) { /*if*/
18276 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
18277 }
18278 tracehead = trace.prev;
18279 return;
18280 }
18281 void parser_prod___ACrangeExpr___n_expr2__eq(val_t self, val_t param0) {
18282 struct trace_t trace = {NULL, NULL, 9338, LOCATE_parser_prod___ACrangeExpr___n_expr2__eq};
18283 val_t variable0;
18284 val_t variable1;
18285 trace.prev = tracehead; tracehead = &trace;
18286 trace.file = LOCATE_parser_prod;
18287 variable0 = param0;
18288 ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ = variable0 /*n*/;
18289 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18290 if (UNTAG_Bool(variable1)) { /*if*/
18291 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
18292 }
18293 tracehead = trace.prev;
18294 return;
18295 }
18296 void parser_prod___ACrangeExpr___empty_init(val_t self, int* init_table) {
18297 struct trace_t trace = {NULL, NULL, 9346, LOCATE_parser_prod___ACrangeExpr___empty_init};
18298 trace.prev = tracehead; tracehead = &trace;
18299 trace.file = LOCATE_parser_prod;
18300 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACrangeExpr].i]) return;
18301 ((parser_prod___ARangeExpr___empty_init_t)CALL( self,COLOR_parser_prod___ARangeExpr___empty_init))( self, init_table /*YYY*/) /*ARangeExpr::empty_init*/;
18302 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACrangeExpr].i] = 1;
18303 tracehead = trace.prev;
18304 return;
18305 }
18306 void parser_prod___ACrangeExpr___init_acrangeexpr(val_t self, val_t param0, val_t param1, int* init_table) {
18307 struct trace_t trace = {NULL, NULL, 9348, LOCATE_parser_prod___ACrangeExpr___init_acrangeexpr};
18308 val_t variable0;
18309 val_t variable1;
18310 val_t variable2;
18311 trace.prev = tracehead; tracehead = &trace;
18312 trace.file = LOCATE_parser_prod;
18313 variable0 = param0;
18314 variable1 = param1;
18315 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACrangeExpr].i]) return;
18316 ((parser_prod___ACrangeExpr___empty_init_t)CALL( self,COLOR_parser_prod___ACrangeExpr___empty_init))( self, init_table /*YYY*/) /*ACrangeExpr::empty_init*/;
18317 ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ = variable0 /*n_expr*/;
18318 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18319 if (UNTAG_Bool(variable2)) { /*if*/
18320 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
18321 }
18322 ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ = variable1 /*n_expr2*/;
18323 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18324 if (UNTAG_Bool(variable2)) { /*if*/
18325 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PNode::parent=*/;
18326 }
18327 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACrangeExpr].i] = 1;
18328 tracehead = trace.prev;
18329 return;
18330 }
18331 void parser_prod___ACrangeExpr___replace_child(val_t self, val_t param0, val_t param1) {
18332 struct trace_t trace = {NULL, NULL, 9364, LOCATE_parser_prod___ACrangeExpr___replace_child};
18333 val_t variable0;
18334 val_t variable1;
18335 val_t variable2;
18336 trace.prev = tracehead; tracehead = &trace;
18337 trace.file = LOCATE_parser_prod;
18338 variable0 = param0;
18339 variable1 = param1;
18340 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18341 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACrangeExpr___replace_child, LOCATE_parser_prod, 9366); nit_exit(1);}
18342 variable2 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
18343 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
18344 if (UNTAG_Bool(variable2)) { /*if*/
18345 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18346 if (UNTAG_Bool(variable2)) { /*if*/
18347 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
18348 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18349 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACrangeExpr___replace_child, LOCATE_parser_prod, 9370); nit_exit(1);}
18350 ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ = variable1 /*new_child*/;
18351 } else { /*if*/
18352 ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ = NIT_NULL /*null*/;
18353 }
18354 goto return_label806;
18355 }
18356 variable2 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
18357 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
18358 if (UNTAG_Bool(variable2)) { /*if*/
18359 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18360 if (UNTAG_Bool(variable2)) { /*if*/
18361 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
18362 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18363 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACrangeExpr___replace_child, LOCATE_parser_prod, 9380); nit_exit(1);}
18364 ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ = variable1 /*new_child*/;
18365 } else { /*if*/
18366 ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ = NIT_NULL /*null*/;
18367 }
18368 goto return_label806;
18369 }
18370 return_label806: while(false);
18371 tracehead = trace.prev;
18372 return;
18373 }
18374 void parser_prod___ACrangeExpr___visit_all(val_t self, val_t param0) {
18375 struct trace_t trace = {NULL, NULL, 9389, LOCATE_parser_prod___ACrangeExpr___visit_all};
18376 val_t variable0;
18377 val_t variable1;
18378 trace.prev = tracehead; tracehead = &trace;
18379 trace.file = LOCATE_parser_prod;
18380 variable0 = param0;
18381 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
18382 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
18383 if (UNTAG_Bool(variable1)) { /*if*/
18384 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
18385 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18386 }
18387 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
18388 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
18389 if (UNTAG_Bool(variable1)) { /*if*/
18390 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
18391 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18392 }
18393 tracehead = trace.prev;
18394 return;
18395 }
18396 void parser_prod___ACrangeExpr___visit_all_reverse(val_t self, val_t param0) {
18397 struct trace_t trace = {NULL, NULL, 9399, LOCATE_parser_prod___ACrangeExpr___visit_all_reverse};
18398 val_t variable0;
18399 val_t variable1;
18400 trace.prev = tracehead; tracehead = &trace;
18401 trace.file = LOCATE_parser_prod;
18402 variable0 = param0;
18403 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
18404 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
18405 if (UNTAG_Bool(variable1)) { /*if*/
18406 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
18407 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18408 }
18409 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
18410 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
18411 if (UNTAG_Bool(variable1)) { /*if*/
18412 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
18413 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18414 }
18415 tracehead = trace.prev;
18416 return;
18417 }
18418 void parser_prod___AOrangeExpr___n_expr__eq(val_t self, val_t param0) {
18419 struct trace_t trace = {NULL, NULL, 9410, LOCATE_parser_prod___AOrangeExpr___n_expr__eq};
18420 val_t variable0;
18421 val_t variable1;
18422 trace.prev = tracehead; tracehead = &trace;
18423 trace.file = LOCATE_parser_prod;
18424 variable0 = param0;
18425 ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ = variable0 /*n*/;
18426 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18427 if (UNTAG_Bool(variable1)) { /*if*/
18428 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
18429 }
18430 tracehead = trace.prev;
18431 return;
18432 }
18433 void parser_prod___AOrangeExpr___n_expr2__eq(val_t self, val_t param0) {
18434 struct trace_t trace = {NULL, NULL, 9417, LOCATE_parser_prod___AOrangeExpr___n_expr2__eq};
18435 val_t variable0;
18436 val_t variable1;
18437 trace.prev = tracehead; tracehead = &trace;
18438 trace.file = LOCATE_parser_prod;
18439 variable0 = param0;
18440 ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ = variable0 /*n*/;
18441 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18442 if (UNTAG_Bool(variable1)) { /*if*/
18443 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
18444 }
18445 tracehead = trace.prev;
18446 return;
18447 }
18448 void parser_prod___AOrangeExpr___empty_init(val_t self, int* init_table) {
18449 struct trace_t trace = {NULL, NULL, 9425, LOCATE_parser_prod___AOrangeExpr___empty_init};
18450 trace.prev = tracehead; tracehead = &trace;
18451 trace.file = LOCATE_parser_prod;
18452 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrangeExpr].i]) return;
18453 ((parser_prod___ARangeExpr___empty_init_t)CALL( self,COLOR_parser_prod___ARangeExpr___empty_init))( self, init_table /*YYY*/) /*ARangeExpr::empty_init*/;
18454 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrangeExpr].i] = 1;
18455 tracehead = trace.prev;
18456 return;
18457 }
18458 void parser_prod___AOrangeExpr___init_aorangeexpr(val_t self, val_t param0, val_t param1, int* init_table) {
18459 struct trace_t trace = {NULL, NULL, 9427, LOCATE_parser_prod___AOrangeExpr___init_aorangeexpr};
18460 val_t variable0;
18461 val_t variable1;
18462 val_t variable2;
18463 trace.prev = tracehead; tracehead = &trace;
18464 trace.file = LOCATE_parser_prod;
18465 variable0 = param0;
18466 variable1 = param1;
18467 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrangeExpr].i]) return;
18468 ((parser_prod___AOrangeExpr___empty_init_t)CALL( self,COLOR_parser_prod___AOrangeExpr___empty_init))( self, init_table /*YYY*/) /*AOrangeExpr::empty_init*/;
18469 ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ = variable0 /*n_expr*/;
18470 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18471 if (UNTAG_Bool(variable2)) { /*if*/
18472 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
18473 }
18474 ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ = variable1 /*n_expr2*/;
18475 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ == NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18476 if (UNTAG_Bool(variable2)) { /*if*/
18477 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PNode::parent=*/;
18478 }
18479 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrangeExpr].i] = 1;
18480 tracehead = trace.prev;
18481 return;
18482 }
18483 void parser_prod___AOrangeExpr___replace_child(val_t self, val_t param0, val_t param1) {
18484 struct trace_t trace = {NULL, NULL, 9443, LOCATE_parser_prod___AOrangeExpr___replace_child};
18485 val_t variable0;
18486 val_t variable1;
18487 val_t variable2;
18488 trace.prev = tracehead; tracehead = &trace;
18489 trace.file = LOCATE_parser_prod;
18490 variable0 = param0;
18491 variable1 = param1;
18492 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18493 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOrangeExpr___replace_child, LOCATE_parser_prod, 9445); nit_exit(1);}
18494 variable2 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
18495 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
18496 if (UNTAG_Bool(variable2)) { /*if*/
18497 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18498 if (UNTAG_Bool(variable2)) { /*if*/
18499 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
18500 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18501 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOrangeExpr___replace_child, LOCATE_parser_prod, 9449); nit_exit(1);}
18502 ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ = variable1 /*new_child*/;
18503 } else { /*if*/
18504 ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ = NIT_NULL /*null*/;
18505 }
18506 goto return_label813;
18507 }
18508 variable2 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
18509 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
18510 if (UNTAG_Bool(variable2)) { /*if*/
18511 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18512 if (UNTAG_Bool(variable2)) { /*if*/
18513 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
18514 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18515 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AOrangeExpr___replace_child, LOCATE_parser_prod, 9459); nit_exit(1);}
18516 ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ = variable1 /*new_child*/;
18517 } else { /*if*/
18518 ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ = NIT_NULL /*null*/;
18519 }
18520 goto return_label813;
18521 }
18522 return_label813: while(false);
18523 tracehead = trace.prev;
18524 return;
18525 }
18526 void parser_prod___AOrangeExpr___visit_all(val_t self, val_t param0) {
18527 struct trace_t trace = {NULL, NULL, 9468, LOCATE_parser_prod___AOrangeExpr___visit_all};
18528 val_t variable0;
18529 val_t variable1;
18530 trace.prev = tracehead; tracehead = &trace;
18531 trace.file = LOCATE_parser_prod;
18532 variable0 = param0;
18533 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
18534 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
18535 if (UNTAG_Bool(variable1)) { /*if*/
18536 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
18537 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18538 }
18539 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
18540 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
18541 if (UNTAG_Bool(variable1)) { /*if*/
18542 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
18543 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18544 }
18545 tracehead = trace.prev;
18546 return;
18547 }
18548 void parser_prod___AOrangeExpr___visit_all_reverse(val_t self, val_t param0) {
18549 struct trace_t trace = {NULL, NULL, 9478, LOCATE_parser_prod___AOrangeExpr___visit_all_reverse};
18550 val_t variable0;
18551 val_t variable1;
18552 trace.prev = tracehead; tracehead = &trace;
18553 trace.file = LOCATE_parser_prod;
18554 variable0 = param0;
18555 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
18556 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
18557 if (UNTAG_Bool(variable1)) { /*if*/
18558 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
18559 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18560 }
18561 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
18562 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
18563 if (UNTAG_Bool(variable1)) { /*if*/
18564 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
18565 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18566 }
18567 tracehead = trace.prev;
18568 return;
18569 }
18570 void parser_prod___AArrayExpr___empty_init(val_t self, int* init_table) {
18571 struct trace_t trace = {NULL, NULL, 9490, LOCATE_parser_prod___AArrayExpr___empty_init};
18572 trace.prev = tracehead; tracehead = &trace;
18573 trace.file = LOCATE_parser_prod;
18574 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AArrayExpr].i]) return;
18575 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AArrayExpr].i] = 1;
18576 tracehead = trace.prev;
18577 return;
18578 }
18579 void parser_prod___AArrayExpr___init_aarrayexpr(val_t self, val_t param0, int* init_table) {
18580 struct trace_t trace = {NULL, NULL, 9492, LOCATE_parser_prod___AArrayExpr___init_aarrayexpr};
18581 val_t variable0;
18582 val_t variable1;
18583 val_t variable2;
18584 val_t variable3;
18585 trace.prev = tracehead; tracehead = &trace;
18586 trace.file = LOCATE_parser_prod;
18587 variable0 = param0;
18588 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AArrayExpr].i]) return;
18589 ((parser_prod___AArrayExpr___empty_init_t)CALL( self,COLOR_parser_prod___AArrayExpr___empty_init))( self, init_table /*YYY*/) /*AArrayExpr::empty_init*/;
18590 variable1 = NEW_List_list___List___init(); /*new List[PExpr]*/
18591 ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/ = variable1;
18592 variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_exprs*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_exprs*/) /*AbstractArray::iterator*/;
18593 while (true) { /*for*/
18594 variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
18595 if (!UNTAG_Bool(variable2)) break; /*for*/
18596 variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
18597 variable3 = TAG_Bool(( variable2 /*n*/==NIT_NULL) || VAL_ISA( variable2 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18598 if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AArrayExpr___init_aarrayexpr, LOCATE_parser_prod, 9499); nit_exit(1);}
18599 variable3 = ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/;
18600 ((abstract_collection___IndexedCollection___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable2 /*n*/) /*IndexedCollection::add*/;
18601 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n*/, self) /*PNode::parent=*/;
18602 continue_818: while(0);
18603 ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
18604 }
18605 break_818: while(0);
18606 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AArrayExpr].i] = 1;
18607 tracehead = trace.prev;
18608 return;
18609 }
18610 void parser_prod___AArrayExpr___replace_child(val_t self, val_t param0, val_t param1) {
18611 struct trace_t trace = {NULL, NULL, 9505, LOCATE_parser_prod___AArrayExpr___replace_child};
18612 val_t variable0;
18613 val_t variable1;
18614 val_t variable2;
18615 val_t variable3;
18616 val_t variable4;
18617 trace.prev = tracehead; tracehead = &trace;
18618 trace.file = LOCATE_parser_prod;
18619 variable0 = param0;
18620 variable1 = param1;
18621 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18622 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AArrayExpr___replace_child, LOCATE_parser_prod, 9507); nit_exit(1);}
18623 variable2 = ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/;
18624 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
18625 variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
18626 variable2 = variable3;
18627 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
18628 while (true) { /*for*/
18629 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
18630 if (!UNTAG_Bool(variable3)) break; /*for*/
18631 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
18632 variable4 = ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/;
18633 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
18634 variable4 = TAG_Bool((variable4 == variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable0 /*old_child*/) /*Object::==*/)))));
18635 if (UNTAG_Bool(variable4)) { /*if*/
18636 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18637 if (UNTAG_Bool(variable4)) { /*if*/
18638 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18639 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AArrayExpr___replace_child, LOCATE_parser_prod, 9511); nit_exit(1);}
18640 variable4 = ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/;
18641 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
18642 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
18643 } else { /*if*/
18644 variable4 = ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/;
18645 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
18646 }
18647 goto return_label819;
18648 }
18649 continue_820: while(0);
18650 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
18651 }
18652 break_820: while(0);
18653 return_label819: while(false);
18654 tracehead = trace.prev;
18655 return;
18656 }
18657 void parser_prod___AArrayExpr___visit_all(val_t self, val_t param0) {
18658 struct trace_t trace = {NULL, NULL, 9522, LOCATE_parser_prod___AArrayExpr___visit_all};
18659 val_t variable0;
18660 val_t variable1;
18661 val_t variable2;
18662 trace.prev = tracehead; tracehead = &trace;
18663 trace.file = LOCATE_parser_prod;
18664 variable0 = param0;
18665 variable1 = ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/;
18666 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
18667 while (true) { /*for*/
18668 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
18669 if (!UNTAG_Bool(variable2)) break; /*for*/
18670 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
18671 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
18672 continue_822: while(0);
18673 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
18674 }
18675 break_822: while(0);
18676 tracehead = trace.prev;
18677 return;
18678 }
18679 void parser_prod___AArrayExpr___visit_all_reverse(val_t self, val_t param0) {
18680 struct trace_t trace = {NULL, NULL, 9529, LOCATE_parser_prod___AArrayExpr___visit_all_reverse};
18681 val_t variable0;
18682 val_t variable1;
18683 val_t variable2;
18684 trace.prev = tracehead; tracehead = &trace;
18685 trace.file = LOCATE_parser_prod;
18686 variable0 = param0;
18687 variable2 = ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/;
18688 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
18689 variable1 = variable2;
18690 while (true) { /*while*/
18691 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
18692 if (!UNTAG_Bool(variable2)) break; /* while*/
18693 variable2 = ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/;
18694 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
18695 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
18696 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
18697 variable1 = variable2 /*i=*/;
18698 continue_824: while(0);
18699 }
18700 break_824: while(0);
18701 tracehead = trace.prev;
18702 return;
18703 }
18704 void parser_prod___ASelfExpr___n_kwself__eq(val_t self, val_t param0) {
18705 struct trace_t trace = {NULL, NULL, 9541, LOCATE_parser_prod___ASelfExpr___n_kwself__eq};
18706 val_t variable0;
18707 val_t variable1;
18708 trace.prev = tracehead; tracehead = &trace;
18709 trace.file = LOCATE_parser_prod;
18710 variable0 = param0;
18711 ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/ = variable0 /*n*/;
18712 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18713 if (UNTAG_Bool(variable1)) { /*if*/
18714 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
18715 }
18716 tracehead = trace.prev;
18717 return;
18718 }
18719 void parser_prod___ASelfExpr___empty_init(val_t self, int* init_table) {
18720 struct trace_t trace = {NULL, NULL, 9549, LOCATE_parser_prod___ASelfExpr___empty_init};
18721 trace.prev = tracehead; tracehead = &trace;
18722 trace.file = LOCATE_parser_prod;
18723 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASelfExpr].i]) return;
18724 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASelfExpr].i] = 1;
18725 tracehead = trace.prev;
18726 return;
18727 }
18728 void parser_prod___ASelfExpr___init_aselfexpr(val_t self, val_t param0, int* init_table) {
18729 struct trace_t trace = {NULL, NULL, 9551, LOCATE_parser_prod___ASelfExpr___init_aselfexpr};
18730 val_t variable0;
18731 val_t variable1;
18732 trace.prev = tracehead; tracehead = &trace;
18733 trace.file = LOCATE_parser_prod;
18734 variable0 = param0;
18735 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASelfExpr].i]) return;
18736 ((parser_prod___ASelfExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASelfExpr___empty_init))( self, init_table /*YYY*/) /*ASelfExpr::empty_init*/;
18737 ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/ = variable0 /*n_kwself*/;
18738 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwself*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwself*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwself*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwself*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwself*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwself*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18739 if (UNTAG_Bool(variable1)) { /*if*/
18740 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwself*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwself*/, self) /*PNode::parent=*/;
18741 }
18742 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASelfExpr].i] = 1;
18743 tracehead = trace.prev;
18744 return;
18745 }
18746 void parser_prod___ASelfExpr___replace_child(val_t self, val_t param0, val_t param1) {
18747 struct trace_t trace = {NULL, NULL, 9562, LOCATE_parser_prod___ASelfExpr___replace_child};
18748 val_t variable0;
18749 val_t variable1;
18750 val_t variable2;
18751 trace.prev = tracehead; tracehead = &trace;
18752 trace.file = LOCATE_parser_prod;
18753 variable0 = param0;
18754 variable1 = param1;
18755 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18756 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASelfExpr___replace_child, LOCATE_parser_prod, 9564); nit_exit(1);}
18757 variable2 = ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/;
18758 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
18759 if (UNTAG_Bool(variable2)) { /*if*/
18760 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18761 if (UNTAG_Bool(variable2)) { /*if*/
18762 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
18763 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/;
18764 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASelfExpr___replace_child, LOCATE_parser_prod, 9568); nit_exit(1);}
18765 ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/ = variable1 /*new_child*/;
18766 } else { /*if*/
18767 ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/ = NIT_NULL /*null*/;
18768 }
18769 goto return_label828;
18770 }
18771 return_label828: while(false);
18772 tracehead = trace.prev;
18773 return;
18774 }
18775 void parser_prod___ASelfExpr___visit_all(val_t self, val_t param0) {
18776 struct trace_t trace = {NULL, NULL, 9577, LOCATE_parser_prod___ASelfExpr___visit_all};
18777 val_t variable0;
18778 val_t variable1;
18779 trace.prev = tracehead; tracehead = &trace;
18780 trace.file = LOCATE_parser_prod;
18781 variable0 = param0;
18782 variable1 = ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/;
18783 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
18784 if (UNTAG_Bool(variable1)) { /*if*/
18785 variable1 = ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/;
18786 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18787 }
18788 tracehead = trace.prev;
18789 return;
18790 }
18791 void parser_prod___ASelfExpr___visit_all_reverse(val_t self, val_t param0) {
18792 struct trace_t trace = {NULL, NULL, 9584, LOCATE_parser_prod___ASelfExpr___visit_all_reverse};
18793 val_t variable0;
18794 val_t variable1;
18795 trace.prev = tracehead; tracehead = &trace;
18796 trace.file = LOCATE_parser_prod;
18797 variable0 = param0;
18798 variable1 = ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/;
18799 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
18800 if (UNTAG_Bool(variable1)) { /*if*/
18801 variable1 = ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/;
18802 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18803 }
18804 tracehead = trace.prev;
18805 return;
18806 }
18807 void parser_prod___AImplicitSelfExpr___empty_init(val_t self, int* init_table) {
18808 struct trace_t trace = {NULL, NULL, 9593, LOCATE_parser_prod___AImplicitSelfExpr___empty_init};
18809 trace.prev = tracehead; tracehead = &trace;
18810 trace.file = LOCATE_parser_prod;
18811 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImplicitSelfExpr].i]) return;
18812 ((parser_prod___ASelfExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASelfExpr___empty_init))( self, init_table /*YYY*/) /*ASelfExpr::empty_init*/;
18813 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImplicitSelfExpr].i] = 1;
18814 tracehead = trace.prev;
18815 return;
18816 }
18817 void parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(val_t self, int* init_table) {
18818 struct trace_t trace = {NULL, NULL, 9595, LOCATE_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr};
18819 trace.prev = tracehead; tracehead = &trace;
18820 trace.file = LOCATE_parser_prod;
18821 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImplicitSelfExpr].i]) return;
18822 ((parser_prod___AImplicitSelfExpr___empty_init_t)CALL( self,COLOR_parser_prod___AImplicitSelfExpr___empty_init))( self, init_table /*YYY*/) /*AImplicitSelfExpr::empty_init*/;
18823 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImplicitSelfExpr].i] = 1;
18824 tracehead = trace.prev;
18825 return;
18826 }
18827 void parser_prod___AImplicitSelfExpr___replace_child(val_t self, val_t param0, val_t param1) {
18828 struct trace_t trace = {NULL, NULL, 9600, LOCATE_parser_prod___AImplicitSelfExpr___replace_child};
18829 val_t variable0;
18830 val_t variable1;
18831 val_t variable2;
18832 trace.prev = tracehead; tracehead = &trace;
18833 trace.file = LOCATE_parser_prod;
18834 variable0 = param0;
18835 variable1 = param1;
18836 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18837 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AImplicitSelfExpr___replace_child, LOCATE_parser_prod, 9602); nit_exit(1);}
18838 tracehead = trace.prev;
18839 return;
18840 }
18841 void parser_prod___AImplicitSelfExpr___visit_all(val_t self, val_t param0) {
18842 struct trace_t trace = {NULL, NULL, 9605, LOCATE_parser_prod___AImplicitSelfExpr___visit_all};
18843 val_t variable0;
18844 trace.prev = tracehead; tracehead = &trace;
18845 trace.file = LOCATE_parser_prod;
18846 variable0 = param0;
18847 tracehead = trace.prev;
18848 return;
18849 }
18850 void parser_prod___AImplicitSelfExpr___visit_all_reverse(val_t self, val_t param0) {
18851 struct trace_t trace = {NULL, NULL, 9609, LOCATE_parser_prod___AImplicitSelfExpr___visit_all_reverse};
18852 val_t variable0;
18853 trace.prev = tracehead; tracehead = &trace;
18854 trace.file = LOCATE_parser_prod;
18855 variable0 = param0;
18856 tracehead = trace.prev;
18857 return;
18858 }
18859 void parser_prod___ATrueExpr___n_kwtrue__eq(val_t self, val_t param0) {
18860 struct trace_t trace = {NULL, NULL, 9614, LOCATE_parser_prod___ATrueExpr___n_kwtrue__eq};
18861 val_t variable0;
18862 val_t variable1;
18863 trace.prev = tracehead; tracehead = &trace;
18864 trace.file = LOCATE_parser_prod;
18865 variable0 = param0;
18866 ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/ = variable0 /*n*/;
18867 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18868 if (UNTAG_Bool(variable1)) { /*if*/
18869 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
18870 }
18871 tracehead = trace.prev;
18872 return;
18873 }
18874 void parser_prod___ATrueExpr___empty_init(val_t self, int* init_table) {
18875 struct trace_t trace = {NULL, NULL, 9622, LOCATE_parser_prod___ATrueExpr___empty_init};
18876 trace.prev = tracehead; tracehead = &trace;
18877 trace.file = LOCATE_parser_prod;
18878 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATrueExpr].i]) return;
18879 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATrueExpr].i] = 1;
18880 tracehead = trace.prev;
18881 return;
18882 }
18883 void parser_prod___ATrueExpr___init_atrueexpr(val_t self, val_t param0, int* init_table) {
18884 struct trace_t trace = {NULL, NULL, 9624, LOCATE_parser_prod___ATrueExpr___init_atrueexpr};
18885 val_t variable0;
18886 val_t variable1;
18887 trace.prev = tracehead; tracehead = &trace;
18888 trace.file = LOCATE_parser_prod;
18889 variable0 = param0;
18890 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATrueExpr].i]) return;
18891 ((parser_prod___ATrueExpr___empty_init_t)CALL( self,COLOR_parser_prod___ATrueExpr___empty_init))( self, init_table /*YYY*/) /*ATrueExpr::empty_init*/;
18892 ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/ = variable0 /*n_kwtrue*/;
18893 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwtrue*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwtrue*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwtrue*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwtrue*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwtrue*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwtrue*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18894 if (UNTAG_Bool(variable1)) { /*if*/
18895 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwtrue*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwtrue*/, self) /*PNode::parent=*/;
18896 }
18897 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATrueExpr].i] = 1;
18898 tracehead = trace.prev;
18899 return;
18900 }
18901 void parser_prod___ATrueExpr___replace_child(val_t self, val_t param0, val_t param1) {
18902 struct trace_t trace = {NULL, NULL, 9635, LOCATE_parser_prod___ATrueExpr___replace_child};
18903 val_t variable0;
18904 val_t variable1;
18905 val_t variable2;
18906 trace.prev = tracehead; tracehead = &trace;
18907 trace.file = LOCATE_parser_prod;
18908 variable0 = param0;
18909 variable1 = param1;
18910 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18911 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATrueExpr___replace_child, LOCATE_parser_prod, 9637); nit_exit(1);}
18912 variable2 = ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/;
18913 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
18914 if (UNTAG_Bool(variable2)) { /*if*/
18915 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18916 if (UNTAG_Bool(variable2)) { /*if*/
18917 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
18918 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/;
18919 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ATrueExpr___replace_child, LOCATE_parser_prod, 9641); nit_exit(1);}
18920 ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/ = variable1 /*new_child*/;
18921 } else { /*if*/
18922 ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/ = NIT_NULL /*null*/;
18923 }
18924 goto return_label839;
18925 }
18926 return_label839: while(false);
18927 tracehead = trace.prev;
18928 return;
18929 }
18930 void parser_prod___ATrueExpr___visit_all(val_t self, val_t param0) {
18931 struct trace_t trace = {NULL, NULL, 9650, LOCATE_parser_prod___ATrueExpr___visit_all};
18932 val_t variable0;
18933 val_t variable1;
18934 trace.prev = tracehead; tracehead = &trace;
18935 trace.file = LOCATE_parser_prod;
18936 variable0 = param0;
18937 variable1 = ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/;
18938 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
18939 if (UNTAG_Bool(variable1)) { /*if*/
18940 variable1 = ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/;
18941 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18942 }
18943 tracehead = trace.prev;
18944 return;
18945 }
18946 void parser_prod___ATrueExpr___visit_all_reverse(val_t self, val_t param0) {
18947 struct trace_t trace = {NULL, NULL, 9657, LOCATE_parser_prod___ATrueExpr___visit_all_reverse};
18948 val_t variable0;
18949 val_t variable1;
18950 trace.prev = tracehead; tracehead = &trace;
18951 trace.file = LOCATE_parser_prod;
18952 variable0 = param0;
18953 variable1 = ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/;
18954 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
18955 if (UNTAG_Bool(variable1)) { /*if*/
18956 variable1 = ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/;
18957 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18958 }
18959 tracehead = trace.prev;
18960 return;
18961 }
18962 void parser_prod___AFalseExpr___n_kwfalse__eq(val_t self, val_t param0) {
18963 struct trace_t trace = {NULL, NULL, 9665, LOCATE_parser_prod___AFalseExpr___n_kwfalse__eq};
18964 val_t variable0;
18965 val_t variable1;
18966 trace.prev = tracehead; tracehead = &trace;
18967 trace.file = LOCATE_parser_prod;
18968 variable0 = param0;
18969 ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/ = variable0 /*n*/;
18970 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18971 if (UNTAG_Bool(variable1)) { /*if*/
18972 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
18973 }
18974 tracehead = trace.prev;
18975 return;
18976 }
18977 void parser_prod___AFalseExpr___empty_init(val_t self, int* init_table) {
18978 struct trace_t trace = {NULL, NULL, 9673, LOCATE_parser_prod___AFalseExpr___empty_init};
18979 trace.prev = tracehead; tracehead = &trace;
18980 trace.file = LOCATE_parser_prod;
18981 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFalseExpr].i]) return;
18982 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFalseExpr].i] = 1;
18983 tracehead = trace.prev;
18984 return;
18985 }
18986 void parser_prod___AFalseExpr___init_afalseexpr(val_t self, val_t param0, int* init_table) {
18987 struct trace_t trace = {NULL, NULL, 9675, LOCATE_parser_prod___AFalseExpr___init_afalseexpr};
18988 val_t variable0;
18989 val_t variable1;
18990 trace.prev = tracehead; tracehead = &trace;
18991 trace.file = LOCATE_parser_prod;
18992 variable0 = param0;
18993 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFalseExpr].i]) return;
18994 ((parser_prod___AFalseExpr___empty_init_t)CALL( self,COLOR_parser_prod___AFalseExpr___empty_init))( self, init_table /*YYY*/) /*AFalseExpr::empty_init*/;
18995 ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/ = variable0 /*n_kwfalse*/;
18996 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwfalse*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwfalse*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwfalse*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwfalse*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwfalse*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwfalse*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18997 if (UNTAG_Bool(variable1)) { /*if*/
18998 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwfalse*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwfalse*/, self) /*PNode::parent=*/;
18999 }
19000 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFalseExpr].i] = 1;
19001 tracehead = trace.prev;
19002 return;
19003 }
19004 void parser_prod___AFalseExpr___replace_child(val_t self, val_t param0, val_t param1) {
19005 struct trace_t trace = {NULL, NULL, 9686, LOCATE_parser_prod___AFalseExpr___replace_child};
19006 val_t variable0;
19007 val_t variable1;
19008 val_t variable2;
19009 trace.prev = tracehead; tracehead = &trace;
19010 trace.file = LOCATE_parser_prod;
19011 variable0 = param0;
19012 variable1 = param1;
19013 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19014 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AFalseExpr___replace_child, LOCATE_parser_prod, 9688); nit_exit(1);}
19015 variable2 = ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/;
19016 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
19017 if (UNTAG_Bool(variable2)) { /*if*/
19018 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19019 if (UNTAG_Bool(variable2)) { /*if*/
19020 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
19021 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/;
19022 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AFalseExpr___replace_child, LOCATE_parser_prod, 9692); nit_exit(1);}
19023 ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/ = variable1 /*new_child*/;
19024 } else { /*if*/
19025 ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/ = NIT_NULL /*null*/;
19026 }
19027 goto return_label845;
19028 }
19029 return_label845: while(false);
19030 tracehead = trace.prev;
19031 return;
19032 }
19033 void parser_prod___AFalseExpr___visit_all(val_t self, val_t param0) {
19034 struct trace_t trace = {NULL, NULL, 9701, LOCATE_parser_prod___AFalseExpr___visit_all};
19035 val_t variable0;
19036 val_t variable1;
19037 trace.prev = tracehead; tracehead = &trace;
19038 trace.file = LOCATE_parser_prod;
19039 variable0 = param0;
19040 variable1 = ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/;
19041 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
19042 if (UNTAG_Bool(variable1)) { /*if*/
19043 variable1 = ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/;
19044 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19045 }
19046 tracehead = trace.prev;
19047 return;
19048 }
19049 void parser_prod___AFalseExpr___visit_all_reverse(val_t self, val_t param0) {
19050 struct trace_t trace = {NULL, NULL, 9708, LOCATE_parser_prod___AFalseExpr___visit_all_reverse};
19051 val_t variable0;
19052 val_t variable1;
19053 trace.prev = tracehead; tracehead = &trace;
19054 trace.file = LOCATE_parser_prod;
19055 variable0 = param0;
19056 variable1 = ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/;
19057 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
19058 if (UNTAG_Bool(variable1)) { /*if*/
19059 variable1 = ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/;
19060 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19061 }
19062 tracehead = trace.prev;
19063 return;
19064 }
19065 void parser_prod___ANullExpr___n_kwnull__eq(val_t self, val_t param0) {
19066 struct trace_t trace = {NULL, NULL, 9716, LOCATE_parser_prod___ANullExpr___n_kwnull__eq};
19067 val_t variable0;
19068 val_t variable1;
19069 trace.prev = tracehead; tracehead = &trace;
19070 trace.file = LOCATE_parser_prod;
19071 variable0 = param0;
19072 ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/ = variable0 /*n*/;
19073 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19074 if (UNTAG_Bool(variable1)) { /*if*/
19075 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
19076 }
19077 tracehead = trace.prev;
19078 return;
19079 }
19080 void parser_prod___ANullExpr___empty_init(val_t self, int* init_table) {
19081 struct trace_t trace = {NULL, NULL, 9724, LOCATE_parser_prod___ANullExpr___empty_init};
19082 trace.prev = tracehead; tracehead = &trace;
19083 trace.file = LOCATE_parser_prod;
19084 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANullExpr].i]) return;
19085 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANullExpr].i] = 1;
19086 tracehead = trace.prev;
19087 return;
19088 }
19089 void parser_prod___ANullExpr___init_anullexpr(val_t self, val_t param0, int* init_table) {
19090 struct trace_t trace = {NULL, NULL, 9726, LOCATE_parser_prod___ANullExpr___init_anullexpr};
19091 val_t variable0;
19092 val_t variable1;
19093 trace.prev = tracehead; tracehead = &trace;
19094 trace.file = LOCATE_parser_prod;
19095 variable0 = param0;
19096 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANullExpr].i]) return;
19097 ((parser_prod___ANullExpr___empty_init_t)CALL( self,COLOR_parser_prod___ANullExpr___empty_init))( self, init_table /*YYY*/) /*ANullExpr::empty_init*/;
19098 ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/ = variable0 /*n_kwnull*/;
19099 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_kwnull*/ == NIT_NULL /*null*/) || (( variable0 /*n_kwnull*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwnull*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_kwnull*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_kwnull*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_kwnull*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19100 if (UNTAG_Bool(variable1)) { /*if*/
19101 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwnull*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwnull*/, self) /*PNode::parent=*/;
19102 }
19103 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANullExpr].i] = 1;
19104 tracehead = trace.prev;
19105 return;
19106 }
19107 void parser_prod___ANullExpr___replace_child(val_t self, val_t param0, val_t param1) {
19108 struct trace_t trace = {NULL, NULL, 9737, LOCATE_parser_prod___ANullExpr___replace_child};
19109 val_t variable0;
19110 val_t variable1;
19111 val_t variable2;
19112 trace.prev = tracehead; tracehead = &trace;
19113 trace.file = LOCATE_parser_prod;
19114 variable0 = param0;
19115 variable1 = param1;
19116 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19117 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANullExpr___replace_child, LOCATE_parser_prod, 9739); nit_exit(1);}
19118 variable2 = ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/;
19119 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
19120 if (UNTAG_Bool(variable2)) { /*if*/
19121 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19122 if (UNTAG_Bool(variable2)) { /*if*/
19123 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
19124 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
19125 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ANullExpr___replace_child, LOCATE_parser_prod, 9743); nit_exit(1);}
19126 ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/ = variable1 /*new_child*/;
19127 } else { /*if*/
19128 ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/ = NIT_NULL /*null*/;
19129 }
19130 goto return_label851;
19131 }
19132 return_label851: while(false);
19133 tracehead = trace.prev;
19134 return;
19135 }
19136 void parser_prod___ANullExpr___visit_all(val_t self, val_t param0) {
19137 struct trace_t trace = {NULL, NULL, 9752, LOCATE_parser_prod___ANullExpr___visit_all};
19138 val_t variable0;
19139 val_t variable1;
19140 trace.prev = tracehead; tracehead = &trace;
19141 trace.file = LOCATE_parser_prod;
19142 variable0 = param0;
19143 variable1 = ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/;
19144 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
19145 if (UNTAG_Bool(variable1)) { /*if*/
19146 variable1 = ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/;
19147 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19148 }
19149 tracehead = trace.prev;
19150 return;
19151 }
19152 void parser_prod___ANullExpr___visit_all_reverse(val_t self, val_t param0) {
19153 struct trace_t trace = {NULL, NULL, 9759, LOCATE_parser_prod___ANullExpr___visit_all_reverse};
19154 val_t variable0;
19155 val_t variable1;
19156 trace.prev = tracehead; tracehead = &trace;
19157 trace.file = LOCATE_parser_prod;
19158 variable0 = param0;
19159 variable1 = ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/;
19160 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
19161 if (UNTAG_Bool(variable1)) { /*if*/
19162 variable1 = ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/;
19163 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19164 }
19165 tracehead = trace.prev;
19166 return;
19167 }
19168 void parser_prod___AIntExpr___n_number__eq(val_t self, val_t param0) {
19169 struct trace_t trace = {NULL, NULL, 9767, LOCATE_parser_prod___AIntExpr___n_number__eq};
19170 val_t variable0;
19171 val_t variable1;
19172 trace.prev = tracehead; tracehead = &trace;
19173 trace.file = LOCATE_parser_prod;
19174 variable0 = param0;
19175 ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/ = variable0 /*n*/;
19176 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19177 if (UNTAG_Bool(variable1)) { /*if*/
19178 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
19179 }
19180 tracehead = trace.prev;
19181 return;
19182 }
19183 void parser_prod___AIntExpr___empty_init(val_t self, int* init_table) {
19184 struct trace_t trace = {NULL, NULL, 9775, LOCATE_parser_prod___AIntExpr___empty_init};
19185 trace.prev = tracehead; tracehead = &trace;
19186 trace.file = LOCATE_parser_prod;
19187 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntExpr].i]) return;
19188 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntExpr].i] = 1;
19189 tracehead = trace.prev;
19190 return;
19191 }
19192 void parser_prod___AIntExpr___init_aintexpr(val_t self, val_t param0, int* init_table) {
19193 struct trace_t trace = {NULL, NULL, 9777, LOCATE_parser_prod___AIntExpr___init_aintexpr};
19194 val_t variable0;
19195 val_t variable1;
19196 trace.prev = tracehead; tracehead = &trace;
19197 trace.file = LOCATE_parser_prod;
19198 variable0 = param0;
19199 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntExpr].i]) return;
19200 ((parser_prod___AIntExpr___empty_init_t)CALL( self,COLOR_parser_prod___AIntExpr___empty_init))( self, init_table /*YYY*/) /*AIntExpr::empty_init*/;
19201 ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/ = variable0 /*n_number*/;
19202 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_number*/ == NIT_NULL /*null*/) || (( variable0 /*n_number*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_number*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_number*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_number*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_number*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19203 if (UNTAG_Bool(variable1)) { /*if*/
19204 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_number*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_number*/, self) /*PNode::parent=*/;
19205 }
19206 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntExpr].i] = 1;
19207 tracehead = trace.prev;
19208 return;
19209 }
19210 void parser_prod___AIntExpr___replace_child(val_t self, val_t param0, val_t param1) {
19211 struct trace_t trace = {NULL, NULL, 9788, LOCATE_parser_prod___AIntExpr___replace_child};
19212 val_t variable0;
19213 val_t variable1;
19214 val_t variable2;
19215 trace.prev = tracehead; tracehead = &trace;
19216 trace.file = LOCATE_parser_prod;
19217 variable0 = param0;
19218 variable1 = param1;
19219 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19220 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIntExpr___replace_child, LOCATE_parser_prod, 9790); nit_exit(1);}
19221 variable2 = ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/;
19222 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
19223 if (UNTAG_Bool(variable2)) { /*if*/
19224 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19225 if (UNTAG_Bool(variable2)) { /*if*/
19226 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
19227 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/;
19228 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AIntExpr___replace_child, LOCATE_parser_prod, 9794); nit_exit(1);}
19229 ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/ = variable1 /*new_child*/;
19230 } else { /*if*/
19231 ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/ = NIT_NULL /*null*/;
19232 }
19233 goto return_label857;
19234 }
19235 return_label857: while(false);
19236 tracehead = trace.prev;
19237 return;
19238 }
19239 void parser_prod___AIntExpr___visit_all(val_t self, val_t param0) {
19240 struct trace_t trace = {NULL, NULL, 9803, LOCATE_parser_prod___AIntExpr___visit_all};
19241 val_t variable0;
19242 val_t variable1;
19243 trace.prev = tracehead; tracehead = &trace;
19244 trace.file = LOCATE_parser_prod;
19245 variable0 = param0;
19246 variable1 = ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/;
19247 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
19248 if (UNTAG_Bool(variable1)) { /*if*/
19249 variable1 = ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/;
19250 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19251 }
19252 tracehead = trace.prev;
19253 return;
19254 }
19255 void parser_prod___AIntExpr___visit_all_reverse(val_t self, val_t param0) {
19256 struct trace_t trace = {NULL, NULL, 9810, LOCATE_parser_prod___AIntExpr___visit_all_reverse};
19257 val_t variable0;
19258 val_t variable1;
19259 trace.prev = tracehead; tracehead = &trace;
19260 trace.file = LOCATE_parser_prod;
19261 variable0 = param0;
19262 variable1 = ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/;
19263 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
19264 if (UNTAG_Bool(variable1)) { /*if*/
19265 variable1 = ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/;
19266 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19267 }
19268 tracehead = trace.prev;
19269 return;
19270 }
19271 void parser_prod___AFloatExpr___n_float__eq(val_t self, val_t param0) {
19272 struct trace_t trace = {NULL, NULL, 9818, LOCATE_parser_prod___AFloatExpr___n_float__eq};
19273 val_t variable0;
19274 val_t variable1;
19275 trace.prev = tracehead; tracehead = &trace;
19276 trace.file = LOCATE_parser_prod;
19277 variable0 = param0;
19278 ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/ = variable0 /*n*/;
19279 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19280 if (UNTAG_Bool(variable1)) { /*if*/
19281 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
19282 }
19283 tracehead = trace.prev;
19284 return;
19285 }
19286 void parser_prod___AFloatExpr___empty_init(val_t self, int* init_table) {
19287 struct trace_t trace = {NULL, NULL, 9826, LOCATE_parser_prod___AFloatExpr___empty_init};
19288 trace.prev = tracehead; tracehead = &trace;
19289 trace.file = LOCATE_parser_prod;
19290 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFloatExpr].i]) return;
19291 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFloatExpr].i] = 1;
19292 tracehead = trace.prev;
19293 return;
19294 }
19295 void parser_prod___AFloatExpr___init_afloatexpr(val_t self, val_t param0, int* init_table) {
19296 struct trace_t trace = {NULL, NULL, 9828, LOCATE_parser_prod___AFloatExpr___init_afloatexpr};
19297 val_t variable0;
19298 val_t variable1;
19299 trace.prev = tracehead; tracehead = &trace;
19300 trace.file = LOCATE_parser_prod;
19301 variable0 = param0;
19302 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFloatExpr].i]) return;
19303 ((parser_prod___AFloatExpr___empty_init_t)CALL( self,COLOR_parser_prod___AFloatExpr___empty_init))( self, init_table /*YYY*/) /*AFloatExpr::empty_init*/;
19304 ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/ = variable0 /*n_float*/;
19305 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_float*/ == NIT_NULL /*null*/) || (( variable0 /*n_float*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_float*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_float*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_float*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_float*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19306 if (UNTAG_Bool(variable1)) { /*if*/
19307 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_float*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_float*/, self) /*PNode::parent=*/;
19308 }
19309 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFloatExpr].i] = 1;
19310 tracehead = trace.prev;
19311 return;
19312 }
19313 void parser_prod___AFloatExpr___replace_child(val_t self, val_t param0, val_t param1) {
19314 struct trace_t trace = {NULL, NULL, 9839, LOCATE_parser_prod___AFloatExpr___replace_child};
19315 val_t variable0;
19316 val_t variable1;
19317 val_t variable2;
19318 trace.prev = tracehead; tracehead = &trace;
19319 trace.file = LOCATE_parser_prod;
19320 variable0 = param0;
19321 variable1 = param1;
19322 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19323 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AFloatExpr___replace_child, LOCATE_parser_prod, 9841); nit_exit(1);}
19324 variable2 = ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/;
19325 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
19326 if (UNTAG_Bool(variable2)) { /*if*/
19327 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19328 if (UNTAG_Bool(variable2)) { /*if*/
19329 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
19330 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/;
19331 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AFloatExpr___replace_child, LOCATE_parser_prod, 9845); nit_exit(1);}
19332 ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/ = variable1 /*new_child*/;
19333 } else { /*if*/
19334 ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/ = NIT_NULL /*null*/;
19335 }
19336 goto return_label863;
19337 }
19338 return_label863: while(false);
19339 tracehead = trace.prev;
19340 return;
19341 }
19342 void parser_prod___AFloatExpr___visit_all(val_t self, val_t param0) {
19343 struct trace_t trace = {NULL, NULL, 9854, LOCATE_parser_prod___AFloatExpr___visit_all};
19344 val_t variable0;
19345 val_t variable1;
19346 trace.prev = tracehead; tracehead = &trace;
19347 trace.file = LOCATE_parser_prod;
19348 variable0 = param0;
19349 variable1 = ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/;
19350 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
19351 if (UNTAG_Bool(variable1)) { /*if*/
19352 variable1 = ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/;
19353 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19354 }
19355 tracehead = trace.prev;
19356 return;
19357 }
19358 void parser_prod___AFloatExpr___visit_all_reverse(val_t self, val_t param0) {
19359 struct trace_t trace = {NULL, NULL, 9861, LOCATE_parser_prod___AFloatExpr___visit_all_reverse};
19360 val_t variable0;
19361 val_t variable1;
19362 trace.prev = tracehead; tracehead = &trace;
19363 trace.file = LOCATE_parser_prod;
19364 variable0 = param0;
19365 variable1 = ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/;
19366 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
19367 if (UNTAG_Bool(variable1)) { /*if*/
19368 variable1 = ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/;
19369 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19370 }
19371 tracehead = trace.prev;
19372 return;
19373 }
19374 void parser_prod___ACharExpr___n_char__eq(val_t self, val_t param0) {
19375 struct trace_t trace = {NULL, NULL, 9869, LOCATE_parser_prod___ACharExpr___n_char__eq};
19376 val_t variable0;
19377 val_t variable1;
19378 trace.prev = tracehead; tracehead = &trace;
19379 trace.file = LOCATE_parser_prod;
19380 variable0 = param0;
19381 ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/ = variable0 /*n*/;
19382 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19383 if (UNTAG_Bool(variable1)) { /*if*/
19384 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
19385 }
19386 tracehead = trace.prev;
19387 return;
19388 }
19389 void parser_prod___ACharExpr___empty_init(val_t self, int* init_table) {
19390 struct trace_t trace = {NULL, NULL, 9877, LOCATE_parser_prod___ACharExpr___empty_init};
19391 trace.prev = tracehead; tracehead = &trace;
19392 trace.file = LOCATE_parser_prod;
19393 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACharExpr].i]) return;
19394 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACharExpr].i] = 1;
19395 tracehead = trace.prev;
19396 return;
19397 }
19398 void parser_prod___ACharExpr___init_acharexpr(val_t self, val_t param0, int* init_table) {
19399 struct trace_t trace = {NULL, NULL, 9879, LOCATE_parser_prod___ACharExpr___init_acharexpr};
19400 val_t variable0;
19401 val_t variable1;
19402 trace.prev = tracehead; tracehead = &trace;
19403 trace.file = LOCATE_parser_prod;
19404 variable0 = param0;
19405 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACharExpr].i]) return;
19406 ((parser_prod___ACharExpr___empty_init_t)CALL( self,COLOR_parser_prod___ACharExpr___empty_init))( self, init_table /*YYY*/) /*ACharExpr::empty_init*/;
19407 ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/ = variable0 /*n_char*/;
19408 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_char*/ == NIT_NULL /*null*/) || (( variable0 /*n_char*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_char*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_char*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_char*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_char*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19409 if (UNTAG_Bool(variable1)) { /*if*/
19410 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_char*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_char*/, self) /*PNode::parent=*/;
19411 }
19412 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACharExpr].i] = 1;
19413 tracehead = trace.prev;
19414 return;
19415 }
19416 void parser_prod___ACharExpr___replace_child(val_t self, val_t param0, val_t param1) {
19417 struct trace_t trace = {NULL, NULL, 9890, LOCATE_parser_prod___ACharExpr___replace_child};
19418 val_t variable0;
19419 val_t variable1;
19420 val_t variable2;
19421 trace.prev = tracehead; tracehead = &trace;
19422 trace.file = LOCATE_parser_prod;
19423 variable0 = param0;
19424 variable1 = param1;
19425 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19426 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACharExpr___replace_child, LOCATE_parser_prod, 9892); nit_exit(1);}
19427 variable2 = ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/;
19428 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
19429 if (UNTAG_Bool(variable2)) { /*if*/
19430 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19431 if (UNTAG_Bool(variable2)) { /*if*/
19432 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
19433 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TChar, ID_TChar)) /*cast TChar*/;
19434 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ACharExpr___replace_child, LOCATE_parser_prod, 9896); nit_exit(1);}
19435 ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/ = variable1 /*new_child*/;
19436 } else { /*if*/
19437 ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/ = NIT_NULL /*null*/;
19438 }
19439 goto return_label869;
19440 }
19441 return_label869: while(false);
19442 tracehead = trace.prev;
19443 return;
19444 }
19445 void parser_prod___ACharExpr___visit_all(val_t self, val_t param0) {
19446 struct trace_t trace = {NULL, NULL, 9905, LOCATE_parser_prod___ACharExpr___visit_all};
19447 val_t variable0;
19448 val_t variable1;
19449 trace.prev = tracehead; tracehead = &trace;
19450 trace.file = LOCATE_parser_prod;
19451 variable0 = param0;
19452 variable1 = ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/;
19453 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
19454 if (UNTAG_Bool(variable1)) { /*if*/
19455 variable1 = ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/;
19456 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19457 }
19458 tracehead = trace.prev;
19459 return;
19460 }
19461 void parser_prod___ACharExpr___visit_all_reverse(val_t self, val_t param0) {
19462 struct trace_t trace = {NULL, NULL, 9912, LOCATE_parser_prod___ACharExpr___visit_all_reverse};
19463 val_t variable0;
19464 val_t variable1;
19465 trace.prev = tracehead; tracehead = &trace;
19466 trace.file = LOCATE_parser_prod;
19467 variable0 = param0;
19468 variable1 = ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/;
19469 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
19470 if (UNTAG_Bool(variable1)) { /*if*/
19471 variable1 = ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/;
19472 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19473 }
19474 tracehead = trace.prev;
19475 return;
19476 }
19477 void parser_prod___AStringExpr___n_string__eq(val_t self, val_t param0) {
19478 struct trace_t trace = {NULL, NULL, 9920, LOCATE_parser_prod___AStringExpr___n_string__eq};
19479 val_t variable0;
19480 val_t variable1;
19481 trace.prev = tracehead; tracehead = &trace;
19482 trace.file = LOCATE_parser_prod;
19483 variable0 = param0;
19484 ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/ = variable0 /*n*/;
19485 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19486 if (UNTAG_Bool(variable1)) { /*if*/
19487 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
19488 }
19489 tracehead = trace.prev;
19490 return;
19491 }
19492 void parser_prod___AStringExpr___empty_init(val_t self, int* init_table) {
19493 struct trace_t trace = {NULL, NULL, 9928, LOCATE_parser_prod___AStringExpr___empty_init};
19494 trace.prev = tracehead; tracehead = &trace;
19495 trace.file = LOCATE_parser_prod;
19496 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStringExpr].i]) return;
19497 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStringExpr].i] = 1;
19498 tracehead = trace.prev;
19499 return;
19500 }
19501 void parser_prod___AStringExpr___init_astringexpr(val_t self, val_t param0, int* init_table) {
19502 struct trace_t trace = {NULL, NULL, 9930, LOCATE_parser_prod___AStringExpr___init_astringexpr};
19503 val_t variable0;
19504 val_t variable1;
19505 trace.prev = tracehead; tracehead = &trace;
19506 trace.file = LOCATE_parser_prod;
19507 variable0 = param0;
19508 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStringExpr].i]) return;
19509 ((parser_prod___AStringExpr___empty_init_t)CALL( self,COLOR_parser_prod___AStringExpr___empty_init))( self, init_table /*YYY*/) /*AStringExpr::empty_init*/;
19510 ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/ = variable0 /*n_string*/;
19511 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_string*/ == NIT_NULL /*null*/) || (( variable0 /*n_string*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_string*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_string*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_string*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_string*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19512 if (UNTAG_Bool(variable1)) { /*if*/
19513 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_string*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_string*/, self) /*PNode::parent=*/;
19514 }
19515 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStringExpr].i] = 1;
19516 tracehead = trace.prev;
19517 return;
19518 }
19519 void parser_prod___AStringExpr___replace_child(val_t self, val_t param0, val_t param1) {
19520 struct trace_t trace = {NULL, NULL, 9941, LOCATE_parser_prod___AStringExpr___replace_child};
19521 val_t variable0;
19522 val_t variable1;
19523 val_t variable2;
19524 trace.prev = tracehead; tracehead = &trace;
19525 trace.file = LOCATE_parser_prod;
19526 variable0 = param0;
19527 variable1 = param1;
19528 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19529 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStringExpr___replace_child, LOCATE_parser_prod, 9943); nit_exit(1);}
19530 variable2 = ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/;
19531 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
19532 if (UNTAG_Bool(variable2)) { /*if*/
19533 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19534 if (UNTAG_Bool(variable2)) { /*if*/
19535 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
19536 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TString, ID_TString)) /*cast TString*/;
19537 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStringExpr___replace_child, LOCATE_parser_prod, 9947); nit_exit(1);}
19538 ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/ = variable1 /*new_child*/;
19539 } else { /*if*/
19540 ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/ = NIT_NULL /*null*/;
19541 }
19542 goto return_label875;
19543 }
19544 return_label875: while(false);
19545 tracehead = trace.prev;
19546 return;
19547 }
19548 void parser_prod___AStringExpr___visit_all(val_t self, val_t param0) {
19549 struct trace_t trace = {NULL, NULL, 9956, LOCATE_parser_prod___AStringExpr___visit_all};
19550 val_t variable0;
19551 val_t variable1;
19552 trace.prev = tracehead; tracehead = &trace;
19553 trace.file = LOCATE_parser_prod;
19554 variable0 = param0;
19555 variable1 = ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/;
19556 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
19557 if (UNTAG_Bool(variable1)) { /*if*/
19558 variable1 = ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/;
19559 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19560 }
19561 tracehead = trace.prev;
19562 return;
19563 }
19564 void parser_prod___AStringExpr___visit_all_reverse(val_t self, val_t param0) {
19565 struct trace_t trace = {NULL, NULL, 9963, LOCATE_parser_prod___AStringExpr___visit_all_reverse};
19566 val_t variable0;
19567 val_t variable1;
19568 trace.prev = tracehead; tracehead = &trace;
19569 trace.file = LOCATE_parser_prod;
19570 variable0 = param0;
19571 variable1 = ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/;
19572 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
19573 if (UNTAG_Bool(variable1)) { /*if*/
19574 variable1 = ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/;
19575 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19576 }
19577 tracehead = trace.prev;
19578 return;
19579 }
19580 void parser_prod___AStartStringExpr___n_string__eq(val_t self, val_t param0) {
19581 struct trace_t trace = {NULL, NULL, 9971, LOCATE_parser_prod___AStartStringExpr___n_string__eq};
19582 val_t variable0;
19583 val_t variable1;
19584 trace.prev = tracehead; tracehead = &trace;
19585 trace.file = LOCATE_parser_prod;
19586 variable0 = param0;
19587 ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/ = variable0 /*n*/;
19588 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19589 if (UNTAG_Bool(variable1)) { /*if*/
19590 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
19591 }
19592 tracehead = trace.prev;
19593 return;
19594 }
19595 void parser_prod___AStartStringExpr___empty_init(val_t self, int* init_table) {
19596 struct trace_t trace = {NULL, NULL, 9979, LOCATE_parser_prod___AStartStringExpr___empty_init};
19597 trace.prev = tracehead; tracehead = &trace;
19598 trace.file = LOCATE_parser_prod;
19599 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStartStringExpr].i]) return;
19600 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStartStringExpr].i] = 1;
19601 tracehead = trace.prev;
19602 return;
19603 }
19604 void parser_prod___AStartStringExpr___init_astartstringexpr(val_t self, val_t param0, int* init_table) {
19605 struct trace_t trace = {NULL, NULL, 9981, LOCATE_parser_prod___AStartStringExpr___init_astartstringexpr};
19606 val_t variable0;
19607 val_t variable1;
19608 trace.prev = tracehead; tracehead = &trace;
19609 trace.file = LOCATE_parser_prod;
19610 variable0 = param0;
19611 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStartStringExpr].i]) return;
19612 ((parser_prod___AStartStringExpr___empty_init_t)CALL( self,COLOR_parser_prod___AStartStringExpr___empty_init))( self, init_table /*YYY*/) /*AStartStringExpr::empty_init*/;
19613 ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/ = variable0 /*n_string*/;
19614 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_string*/ == NIT_NULL /*null*/) || (( variable0 /*n_string*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_string*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_string*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_string*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_string*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19615 if (UNTAG_Bool(variable1)) { /*if*/
19616 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_string*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_string*/, self) /*PNode::parent=*/;
19617 }
19618 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStartStringExpr].i] = 1;
19619 tracehead = trace.prev;
19620 return;
19621 }
19622 void parser_prod___AStartStringExpr___replace_child(val_t self, val_t param0, val_t param1) {
19623 struct trace_t trace = {NULL, NULL, 9992, LOCATE_parser_prod___AStartStringExpr___replace_child};
19624 val_t variable0;
19625 val_t variable1;
19626 val_t variable2;
19627 trace.prev = tracehead; tracehead = &trace;
19628 trace.file = LOCATE_parser_prod;
19629 variable0 = param0;
19630 variable1 = param1;
19631 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19632 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStartStringExpr___replace_child, LOCATE_parser_prod, 9994); nit_exit(1);}
19633 variable2 = ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/;
19634 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
19635 if (UNTAG_Bool(variable2)) { /*if*/
19636 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19637 if (UNTAG_Bool(variable2)) { /*if*/
19638 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
19639 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TStartString, ID_TStartString)) /*cast TStartString*/;
19640 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AStartStringExpr___replace_child, LOCATE_parser_prod, 9998); nit_exit(1);}
19641 ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/ = variable1 /*new_child*/;
19642 } else { /*if*/
19643 ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/ = NIT_NULL /*null*/;
19644 }
19645 goto return_label881;
19646 }
19647 return_label881: while(false);
19648 tracehead = trace.prev;
19649 return;
19650 }
19651 void parser_prod___AStartStringExpr___visit_all(val_t self, val_t param0) {
19652 struct trace_t trace = {NULL, NULL, 10007, LOCATE_parser_prod___AStartStringExpr___visit_all};
19653 val_t variable0;
19654 val_t variable1;
19655 trace.prev = tracehead; tracehead = &trace;
19656 trace.file = LOCATE_parser_prod;
19657 variable0 = param0;
19658 variable1 = ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/;
19659 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
19660 if (UNTAG_Bool(variable1)) { /*if*/
19661 variable1 = ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/;
19662 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19663 }
19664 tracehead = trace.prev;
19665 return;
19666 }
19667 void parser_prod___AStartStringExpr___visit_all_reverse(val_t self, val_t param0) {
19668 struct trace_t trace = {NULL, NULL, 10014, LOCATE_parser_prod___AStartStringExpr___visit_all_reverse};
19669 val_t variable0;
19670 val_t variable1;
19671 trace.prev = tracehead; tracehead = &trace;
19672 trace.file = LOCATE_parser_prod;
19673 variable0 = param0;
19674 variable1 = ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/;
19675 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
19676 if (UNTAG_Bool(variable1)) { /*if*/
19677 variable1 = ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/;
19678 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19679 }
19680 tracehead = trace.prev;
19681 return;
19682 }
19683 void parser_prod___AMidStringExpr___n_string__eq(val_t self, val_t param0) {
19684 struct trace_t trace = {NULL, NULL, 10022, LOCATE_parser_prod___AMidStringExpr___n_string__eq};
19685 val_t variable0;
19686 val_t variable1;
19687 trace.prev = tracehead; tracehead = &trace;
19688 trace.file = LOCATE_parser_prod;
19689 variable0 = param0;
19690 ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/ = variable0 /*n*/;
19691 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19692 if (UNTAG_Bool(variable1)) { /*if*/
19693 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
19694 }
19695 tracehead = trace.prev;
19696 return;
19697 }
19698 void parser_prod___AMidStringExpr___empty_init(val_t self, int* init_table) {
19699 struct trace_t trace = {NULL, NULL, 10030, LOCATE_parser_prod___AMidStringExpr___empty_init};
19700 trace.prev = tracehead; tracehead = &trace;
19701 trace.file = LOCATE_parser_prod;
19702 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMidStringExpr].i]) return;
19703 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMidStringExpr].i] = 1;
19704 tracehead = trace.prev;
19705 return;
19706 }
19707 void parser_prod___AMidStringExpr___init_amidstringexpr(val_t self, val_t param0, int* init_table) {
19708 struct trace_t trace = {NULL, NULL, 10032, LOCATE_parser_prod___AMidStringExpr___init_amidstringexpr};
19709 val_t variable0;
19710 val_t variable1;
19711 trace.prev = tracehead; tracehead = &trace;
19712 trace.file = LOCATE_parser_prod;
19713 variable0 = param0;
19714 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMidStringExpr].i]) return;
19715 ((parser_prod___AMidStringExpr___empty_init_t)CALL( self,COLOR_parser_prod___AMidStringExpr___empty_init))( self, init_table /*YYY*/) /*AMidStringExpr::empty_init*/;
19716 ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/ = variable0 /*n_string*/;
19717 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_string*/ == NIT_NULL /*null*/) || (( variable0 /*n_string*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_string*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_string*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_string*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_string*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19718 if (UNTAG_Bool(variable1)) { /*if*/
19719 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_string*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_string*/, self) /*PNode::parent=*/;
19720 }
19721 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMidStringExpr].i] = 1;
19722 tracehead = trace.prev;
19723 return;
19724 }
19725 void parser_prod___AMidStringExpr___replace_child(val_t self, val_t param0, val_t param1) {
19726 struct trace_t trace = {NULL, NULL, 10043, LOCATE_parser_prod___AMidStringExpr___replace_child};
19727 val_t variable0;
19728 val_t variable1;
19729 val_t variable2;
19730 trace.prev = tracehead; tracehead = &trace;
19731 trace.file = LOCATE_parser_prod;
19732 variable0 = param0;
19733 variable1 = param1;
19734 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19735 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMidStringExpr___replace_child, LOCATE_parser_prod, 10045); nit_exit(1);}
19736 variable2 = ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/;
19737 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
19738 if (UNTAG_Bool(variable2)) { /*if*/
19739 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19740 if (UNTAG_Bool(variable2)) { /*if*/
19741 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
19742 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TMidString, ID_TMidString)) /*cast TMidString*/;
19743 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMidStringExpr___replace_child, LOCATE_parser_prod, 10049); nit_exit(1);}
19744 ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/ = variable1 /*new_child*/;
19745 } else { /*if*/
19746 ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/ = NIT_NULL /*null*/;
19747 }
19748 goto return_label887;
19749 }
19750 return_label887: while(false);
19751 tracehead = trace.prev;
19752 return;
19753 }
19754 void parser_prod___AMidStringExpr___visit_all(val_t self, val_t param0) {
19755 struct trace_t trace = {NULL, NULL, 10058, LOCATE_parser_prod___AMidStringExpr___visit_all};
19756 val_t variable0;
19757 val_t variable1;
19758 trace.prev = tracehead; tracehead = &trace;
19759 trace.file = LOCATE_parser_prod;
19760 variable0 = param0;
19761 variable1 = ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/;
19762 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
19763 if (UNTAG_Bool(variable1)) { /*if*/
19764 variable1 = ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/;
19765 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19766 }
19767 tracehead = trace.prev;
19768 return;
19769 }
19770 void parser_prod___AMidStringExpr___visit_all_reverse(val_t self, val_t param0) {
19771 struct trace_t trace = {NULL, NULL, 10065, LOCATE_parser_prod___AMidStringExpr___visit_all_reverse};
19772 val_t variable0;
19773 val_t variable1;
19774 trace.prev = tracehead; tracehead = &trace;
19775 trace.file = LOCATE_parser_prod;
19776 variable0 = param0;
19777 variable1 = ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/;
19778 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
19779 if (UNTAG_Bool(variable1)) { /*if*/
19780 variable1 = ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/;
19781 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19782 }
19783 tracehead = trace.prev;
19784 return;
19785 }
19786 void parser_prod___AEndStringExpr___n_string__eq(val_t self, val_t param0) {
19787 struct trace_t trace = {NULL, NULL, 10073, LOCATE_parser_prod___AEndStringExpr___n_string__eq};
19788 val_t variable0;
19789 val_t variable1;
19790 trace.prev = tracehead; tracehead = &trace;
19791 trace.file = LOCATE_parser_prod;
19792 variable0 = param0;
19793 ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/ = variable0 /*n*/;
19794 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19795 if (UNTAG_Bool(variable1)) { /*if*/
19796 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
19797 }
19798 tracehead = trace.prev;
19799 return;
19800 }
19801 void parser_prod___AEndStringExpr___empty_init(val_t self, int* init_table) {
19802 struct trace_t trace = {NULL, NULL, 10081, LOCATE_parser_prod___AEndStringExpr___empty_init};
19803 trace.prev = tracehead; tracehead = &trace;
19804 trace.file = LOCATE_parser_prod;
19805 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEndStringExpr].i]) return;
19806 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEndStringExpr].i] = 1;
19807 tracehead = trace.prev;
19808 return;
19809 }
19810 void parser_prod___AEndStringExpr___init_aendstringexpr(val_t self, val_t param0, int* init_table) {
19811 struct trace_t trace = {NULL, NULL, 10083, LOCATE_parser_prod___AEndStringExpr___init_aendstringexpr};
19812 val_t variable0;
19813 val_t variable1;
19814 trace.prev = tracehead; tracehead = &trace;
19815 trace.file = LOCATE_parser_prod;
19816 variable0 = param0;
19817 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEndStringExpr].i]) return;
19818 ((parser_prod___AEndStringExpr___empty_init_t)CALL( self,COLOR_parser_prod___AEndStringExpr___empty_init))( self, init_table /*YYY*/) /*AEndStringExpr::empty_init*/;
19819 ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/ = variable0 /*n_string*/;
19820 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_string*/ == NIT_NULL /*null*/) || (( variable0 /*n_string*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_string*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_string*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_string*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_string*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19821 if (UNTAG_Bool(variable1)) { /*if*/
19822 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_string*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_string*/, self) /*PNode::parent=*/;
19823 }
19824 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEndStringExpr].i] = 1;
19825 tracehead = trace.prev;
19826 return;
19827 }
19828 void parser_prod___AEndStringExpr___replace_child(val_t self, val_t param0, val_t param1) {
19829 struct trace_t trace = {NULL, NULL, 10094, LOCATE_parser_prod___AEndStringExpr___replace_child};
19830 val_t variable0;
19831 val_t variable1;
19832 val_t variable2;
19833 trace.prev = tracehead; tracehead = &trace;
19834 trace.file = LOCATE_parser_prod;
19835 variable0 = param0;
19836 variable1 = param1;
19837 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19838 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEndStringExpr___replace_child, LOCATE_parser_prod, 10096); nit_exit(1);}
19839 variable2 = ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/;
19840 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
19841 if (UNTAG_Bool(variable2)) { /*if*/
19842 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19843 if (UNTAG_Bool(variable2)) { /*if*/
19844 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
19845 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TEndString, ID_TEndString)) /*cast TEndString*/;
19846 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AEndStringExpr___replace_child, LOCATE_parser_prod, 10100); nit_exit(1);}
19847 ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/ = variable1 /*new_child*/;
19848 } else { /*if*/
19849 ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/ = NIT_NULL /*null*/;
19850 }
19851 goto return_label893;
19852 }
19853 return_label893: while(false);
19854 tracehead = trace.prev;
19855 return;
19856 }
19857 void parser_prod___AEndStringExpr___visit_all(val_t self, val_t param0) {
19858 struct trace_t trace = {NULL, NULL, 10109, LOCATE_parser_prod___AEndStringExpr___visit_all};
19859 val_t variable0;
19860 val_t variable1;
19861 trace.prev = tracehead; tracehead = &trace;
19862 trace.file = LOCATE_parser_prod;
19863 variable0 = param0;
19864 variable1 = ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/;
19865 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
19866 if (UNTAG_Bool(variable1)) { /*if*/
19867 variable1 = ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/;
19868 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19869 }
19870 tracehead = trace.prev;
19871 return;
19872 }
19873 void parser_prod___AEndStringExpr___visit_all_reverse(val_t self, val_t param0) {
19874 struct trace_t trace = {NULL, NULL, 10116, LOCATE_parser_prod___AEndStringExpr___visit_all_reverse};
19875 val_t variable0;
19876 val_t variable1;
19877 trace.prev = tracehead; tracehead = &trace;
19878 trace.file = LOCATE_parser_prod;
19879 variable0 = param0;
19880 variable1 = ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/;
19881 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
19882 if (UNTAG_Bool(variable1)) { /*if*/
19883 variable1 = ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/;
19884 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19885 }
19886 tracehead = trace.prev;
19887 return;
19888 }
19889 void parser_prod___ASuperstringExpr___empty_init(val_t self, int* init_table) {
19890 struct trace_t trace = {NULL, NULL, 10125, LOCATE_parser_prod___ASuperstringExpr___empty_init};
19891 trace.prev = tracehead; tracehead = &trace;
19892 trace.file = LOCATE_parser_prod;
19893 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperstringExpr].i]) return;
19894 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperstringExpr].i] = 1;
19895 tracehead = trace.prev;
19896 return;
19897 }
19898 void parser_prod___ASuperstringExpr___init_asuperstringexpr(val_t self, val_t param0, int* init_table) {
19899 struct trace_t trace = {NULL, NULL, 10127, LOCATE_parser_prod___ASuperstringExpr___init_asuperstringexpr};
19900 val_t variable0;
19901 val_t variable1;
19902 val_t variable2;
19903 val_t variable3;
19904 trace.prev = tracehead; tracehead = &trace;
19905 trace.file = LOCATE_parser_prod;
19906 variable0 = param0;
19907 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperstringExpr].i]) return;
19908 ((parser_prod___ASuperstringExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASuperstringExpr___empty_init))( self, init_table /*YYY*/) /*ASuperstringExpr::empty_init*/;
19909 variable1 = NEW_List_list___List___init(); /*new List[PExpr]*/
19910 ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/ = variable1;
19911 variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_exprs*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_exprs*/) /*AbstractArray::iterator*/;
19912 while (true) { /*for*/
19913 variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
19914 if (!UNTAG_Bool(variable2)) break; /*for*/
19915 variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
19916 variable3 = TAG_Bool(( variable2 /*n*/==NIT_NULL) || VAL_ISA( variable2 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19917 if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperstringExpr___init_asuperstringexpr, LOCATE_parser_prod, 10134); nit_exit(1);}
19918 variable3 = ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/;
19919 ((abstract_collection___IndexedCollection___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable2 /*n*/) /*IndexedCollection::add*/;
19920 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n*/, self) /*PNode::parent=*/;
19921 continue_898: while(0);
19922 ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
19923 }
19924 break_898: while(0);
19925 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperstringExpr].i] = 1;
19926 tracehead = trace.prev;
19927 return;
19928 }
19929 void parser_prod___ASuperstringExpr___replace_child(val_t self, val_t param0, val_t param1) {
19930 struct trace_t trace = {NULL, NULL, 10140, LOCATE_parser_prod___ASuperstringExpr___replace_child};
19931 val_t variable0;
19932 val_t variable1;
19933 val_t variable2;
19934 val_t variable3;
19935 val_t variable4;
19936 trace.prev = tracehead; tracehead = &trace;
19937 trace.file = LOCATE_parser_prod;
19938 variable0 = param0;
19939 variable1 = param1;
19940 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19941 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperstringExpr___replace_child, LOCATE_parser_prod, 10142); nit_exit(1);}
19942 variable2 = ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/;
19943 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
19944 variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
19945 variable2 = variable3;
19946 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
19947 while (true) { /*for*/
19948 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
19949 if (!UNTAG_Bool(variable3)) break; /*for*/
19950 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
19951 variable4 = ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/;
19952 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
19953 variable4 = TAG_Bool((variable4 == variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable0 /*old_child*/) /*Object::==*/)))));
19954 if (UNTAG_Bool(variable4)) { /*if*/
19955 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19956 if (UNTAG_Bool(variable4)) { /*if*/
19957 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19958 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ASuperstringExpr___replace_child, LOCATE_parser_prod, 10146); nit_exit(1);}
19959 variable4 = ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/;
19960 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
19961 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
19962 } else { /*if*/
19963 variable4 = ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/;
19964 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
19965 }
19966 goto return_label899;
19967 }
19968 continue_900: while(0);
19969 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
19970 }
19971 break_900: while(0);
19972 return_label899: while(false);
19973 tracehead = trace.prev;
19974 return;
19975 }
19976 void parser_prod___ASuperstringExpr___visit_all(val_t self, val_t param0) {
19977 struct trace_t trace = {NULL, NULL, 10157, LOCATE_parser_prod___ASuperstringExpr___visit_all};
19978 val_t variable0;
19979 val_t variable1;
19980 val_t variable2;
19981 trace.prev = tracehead; tracehead = &trace;
19982 trace.file = LOCATE_parser_prod;
19983 variable0 = param0;
19984 variable1 = ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/;
19985 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
19986 while (true) { /*for*/
19987 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
19988 if (!UNTAG_Bool(variable2)) break; /*for*/
19989 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
19990 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
19991 continue_902: while(0);
19992 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
19993 }
19994 break_902: while(0);
19995 tracehead = trace.prev;
19996 return;
19997 }
19998 void parser_prod___ASuperstringExpr___visit_all_reverse(val_t self, val_t param0) {
19999 struct trace_t trace = {NULL, NULL, 10164, LOCATE_parser_prod___ASuperstringExpr___visit_all_reverse};
20000 val_t variable0;
20001 val_t variable1;
20002 val_t variable2;
20003 trace.prev = tracehead; tracehead = &trace;
20004 trace.file = LOCATE_parser_prod;
20005 variable0 = param0;
20006 variable2 = ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/;
20007 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
20008 variable1 = variable2;
20009 while (true) { /*while*/
20010 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
20011 if (!UNTAG_Bool(variable2)) break; /* while*/
20012 variable2 = ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/;
20013 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
20014 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
20015 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
20016 variable1 = variable2 /*i=*/;
20017 continue_904: while(0);
20018 }
20019 break_904: while(0);
20020 tracehead = trace.prev;
20021 return;
20022 }
20023 void parser_prod___AParExpr___n_expr__eq(val_t self, val_t param0) {
20024 struct trace_t trace = {NULL, NULL, 10176, LOCATE_parser_prod___AParExpr___n_expr__eq};
20025 val_t variable0;
20026 val_t variable1;
20027 trace.prev = tracehead; tracehead = &trace;
20028 trace.file = LOCATE_parser_prod;
20029 variable0 = param0;
20030 ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ = variable0 /*n*/;
20031 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20032 if (UNTAG_Bool(variable1)) { /*if*/
20033 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
20034 }
20035 tracehead = trace.prev;
20036 return;
20037 }
20038 void parser_prod___AParExpr___empty_init(val_t self, int* init_table) {
20039 struct trace_t trace = {NULL, NULL, 10184, LOCATE_parser_prod___AParExpr___empty_init};
20040 trace.prev = tracehead; tracehead = &trace;
20041 trace.file = LOCATE_parser_prod;
20042 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParExpr].i]) return;
20043 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParExpr].i] = 1;
20044 tracehead = trace.prev;
20045 return;
20046 }
20047 void parser_prod___AParExpr___init_aparexpr(val_t self, val_t param0, int* init_table) {
20048 struct trace_t trace = {NULL, NULL, 10186, LOCATE_parser_prod___AParExpr___init_aparexpr};
20049 val_t variable0;
20050 val_t variable1;
20051 trace.prev = tracehead; tracehead = &trace;
20052 trace.file = LOCATE_parser_prod;
20053 variable0 = param0;
20054 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParExpr].i]) return;
20055 ((parser_prod___AParExpr___empty_init_t)CALL( self,COLOR_parser_prod___AParExpr___empty_init))( self, init_table /*YYY*/) /*AParExpr::empty_init*/;
20056 ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ = variable0 /*n_expr*/;
20057 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20058 if (UNTAG_Bool(variable1)) { /*if*/
20059 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
20060 }
20061 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParExpr].i] = 1;
20062 tracehead = trace.prev;
20063 return;
20064 }
20065 void parser_prod___AParExpr___replace_child(val_t self, val_t param0, val_t param1) {
20066 struct trace_t trace = {NULL, NULL, 10197, LOCATE_parser_prod___AParExpr___replace_child};
20067 val_t variable0;
20068 val_t variable1;
20069 val_t variable2;
20070 trace.prev = tracehead; tracehead = &trace;
20071 trace.file = LOCATE_parser_prod;
20072 variable0 = param0;
20073 variable1 = param1;
20074 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20075 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AParExpr___replace_child, LOCATE_parser_prod, 10199); nit_exit(1);}
20076 variable2 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/;
20077 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
20078 if (UNTAG_Bool(variable2)) { /*if*/
20079 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20080 if (UNTAG_Bool(variable2)) { /*if*/
20081 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
20082 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20083 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AParExpr___replace_child, LOCATE_parser_prod, 10203); nit_exit(1);}
20084 ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ = variable1 /*new_child*/;
20085 } else { /*if*/
20086 ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ = NIT_NULL /*null*/;
20087 }
20088 goto return_label908;
20089 }
20090 return_label908: while(false);
20091 tracehead = trace.prev;
20092 return;
20093 }
20094 void parser_prod___AParExpr___visit_all(val_t self, val_t param0) {
20095 struct trace_t trace = {NULL, NULL, 10212, LOCATE_parser_prod___AParExpr___visit_all};
20096 val_t variable0;
20097 val_t variable1;
20098 trace.prev = tracehead; tracehead = &trace;
20099 trace.file = LOCATE_parser_prod;
20100 variable0 = param0;
20101 variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/;
20102 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
20103 if (UNTAG_Bool(variable1)) { /*if*/
20104 variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/;
20105 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
20106 }
20107 tracehead = trace.prev;
20108 return;
20109 }
20110 void parser_prod___AParExpr___visit_all_reverse(val_t self, val_t param0) {
20111 struct trace_t trace = {NULL, NULL, 10219, LOCATE_parser_prod___AParExpr___visit_all_reverse};
20112 val_t variable0;
20113 val_t variable1;
20114 trace.prev = tracehead; tracehead = &trace;
20115 trace.file = LOCATE_parser_prod;
20116 variable0 = param0;
20117 variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/;
20118 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
20119 if (UNTAG_Bool(variable1)) { /*if*/
20120 variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/;
20121 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
20122 }
20123 tracehead = trace.prev;
20124 return;
20125 }
20126 void parser_prod___AAsCastExpr___n_expr__eq(val_t self, val_t param0) {
20127 struct trace_t trace = {NULL, NULL, 10227, LOCATE_parser_prod___AAsCastExpr___n_expr__eq};
20128 val_t variable0;
20129 val_t variable1;
20130 trace.prev = tracehead; tracehead = &trace;
20131 trace.file = LOCATE_parser_prod;
20132 variable0 = param0;
20133 ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/ = variable0 /*n*/;
20134 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20135 if (UNTAG_Bool(variable1)) { /*if*/
20136 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
20137 }
20138 tracehead = trace.prev;
20139 return;
20140 }
20141 void parser_prod___AAsCastExpr___n_kwas__eq(val_t self, val_t param0) {
20142 struct trace_t trace = {NULL, NULL, 10234, LOCATE_parser_prod___AAsCastExpr___n_kwas__eq};
20143 val_t variable0;
20144 val_t variable1;
20145 trace.prev = tracehead; tracehead = &trace;
20146 trace.file = LOCATE_parser_prod;
20147 variable0 = param0;
20148 ATTR_parser_nodes___AAsCastExpr____n_kwas( self) /*AAsCastExpr::_n_kwas*/ = variable0 /*n*/;
20149 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20150 if (UNTAG_Bool(variable1)) { /*if*/
20151 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
20152 }
20153 tracehead = trace.prev;
20154 return;
20155 }
20156 void parser_prod___AAsCastExpr___n_type__eq(val_t self, val_t param0) {
20157 struct trace_t trace = {NULL, NULL, 10241, LOCATE_parser_prod___AAsCastExpr___n_type__eq};
20158 val_t variable0;
20159 val_t variable1;
20160 trace.prev = tracehead; tracehead = &trace;
20161 trace.file = LOCATE_parser_prod;
20162 variable0 = param0;
20163 ATTR_parser_nodes___AAsCastExpr____n_type( self) /*AAsCastExpr::_n_type*/ = variable0 /*n*/;
20164 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20165 if (UNTAG_Bool(variable1)) { /*if*/
20166 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
20167 }
20168 tracehead = trace.prev;
20169 return;
20170 }
20171 void parser_prod___AAsCastExpr___empty_init(val_t self, int* init_table) {
20172 struct trace_t trace = {NULL, NULL, 10249, LOCATE_parser_prod___AAsCastExpr___empty_init};
20173 trace.prev = tracehead; tracehead = &trace;
20174 trace.file = LOCATE_parser_prod;
20175 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAsCastExpr].i]) return;
20176 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAsCastExpr].i] = 1;
20177 tracehead = trace.prev;
20178 return;
20179 }
20180 void parser_prod___AAsCastExpr___init_aascastexpr(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
20181 struct trace_t trace = {NULL, NULL, 10251, LOCATE_parser_prod___AAsCastExpr___init_aascastexpr};
20182 val_t variable0;
20183 val_t variable1;
20184 val_t variable2;
20185 val_t variable3;
20186 trace.prev = tracehead; tracehead = &trace;
20187 trace.file = LOCATE_parser_prod;
20188 variable0 = param0;
20189 variable1 = param1;
20190 variable2 = param2;
20191 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAsCastExpr].i]) return;
20192 ((parser_prod___AAsCastExpr___empty_init_t)CALL( self,COLOR_parser_prod___AAsCastExpr___empty_init))( self, init_table /*YYY*/) /*AAsCastExpr::empty_init*/;
20193 ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/ = variable0 /*n_expr*/;
20194 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_expr*/ == NIT_NULL /*null*/) || (( variable0 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_expr*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20195 if (UNTAG_Bool(variable3)) { /*if*/
20196 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PNode::parent=*/;
20197 }
20198 ATTR_parser_nodes___AAsCastExpr____n_kwas( self) /*AAsCastExpr::_n_kwas*/ = variable1 /*n_kwas*/;
20199 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwas*/ == NIT_NULL /*null*/) || (( variable1 /*n_kwas*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwas*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwas*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwas*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwas*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20200 if (UNTAG_Bool(variable3)) { /*if*/
20201 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwas*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwas*/, self) /*PNode::parent=*/;
20202 }
20203 ATTR_parser_nodes___AAsCastExpr____n_type( self) /*AAsCastExpr::_n_type*/ = variable2 /*n_type*/;
20204 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_type*/ == NIT_NULL /*null*/) || (( variable2 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_type*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20205 if (UNTAG_Bool(variable3)) { /*if*/
20206 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_type*/, self) /*PNode::parent=*/;
20207 }
20208 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAsCastExpr].i] = 1;
20209 tracehead = trace.prev;
20210 return;
20211 }
20212 void parser_prod___AAsCastExpr___replace_child(val_t self, val_t param0, val_t param1) {
20213 struct trace_t trace = {NULL, NULL, 10272, LOCATE_parser_prod___AAsCastExpr___replace_child};
20214 val_t variable0;
20215 val_t variable1;
20216 val_t variable2;
20217 trace.prev = tracehead; tracehead = &trace;
20218 trace.file = LOCATE_parser_prod;
20219 variable0 = param0;
20220 variable1 = param1;
20221 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20222 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAsCastExpr___replace_child, LOCATE_parser_prod, 10274); nit_exit(1);}
20223 variable2 = ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/;
20224 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
20225 if (UNTAG_Bool(variable2)) { /*if*/
20226 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20227 if (UNTAG_Bool(variable2)) { /*if*/
20228 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
20229 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20230 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAsCastExpr___replace_child, LOCATE_parser_prod, 10278); nit_exit(1);}
20231 ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/ = variable1 /*new_child*/;
20232 } else { /*if*/
20233 ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/ = NIT_NULL /*null*/;
20234 }
20235 goto return_label916;
20236 }
20237 variable2 = ATTR_parser_nodes___AAsCastExpr____n_kwas( self) /*AAsCastExpr::_n_kwas*/;
20238 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
20239 if (UNTAG_Bool(variable2)) { /*if*/
20240 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20241 if (UNTAG_Bool(variable2)) { /*if*/
20242 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
20243 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwas, ID_TKwas)) /*cast TKwas*/;
20244 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAsCastExpr___replace_child, LOCATE_parser_prod, 10288); nit_exit(1);}
20245 ATTR_parser_nodes___AAsCastExpr____n_kwas( self) /*AAsCastExpr::_n_kwas*/ = variable1 /*new_child*/;
20246 } else { /*if*/
20247 ATTR_parser_nodes___AAsCastExpr____n_kwas( self) /*AAsCastExpr::_n_kwas*/ = NIT_NULL /*null*/;
20248 }
20249 goto return_label916;
20250 }
20251 variable2 = ATTR_parser_nodes___AAsCastExpr____n_type( self) /*AAsCastExpr::_n_type*/;
20252 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
20253 if (UNTAG_Bool(variable2)) { /*if*/
20254 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20255 if (UNTAG_Bool(variable2)) { /*if*/
20256 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
20257 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
20258 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AAsCastExpr___replace_child, LOCATE_parser_prod, 10298); nit_exit(1);}
20259 ATTR_parser_nodes___AAsCastExpr____n_type( self) /*AAsCastExpr::_n_type*/ = variable1 /*new_child*/;
20260 } else { /*if*/
20261 ATTR_parser_nodes___AAsCastExpr____n_type( self) /*AAsCastExpr::_n_type*/ = NIT_NULL /*null*/;
20262 }
20263 goto return_label916;
20264 }
20265 return_label916: while(false);
20266 tracehead = trace.prev;
20267 return;
20268 }
20269 void parser_prod___AAsCastExpr___visit_all(val_t self, val_t param0) {
20270 struct trace_t trace = {NULL, NULL, 10307, LOCATE_parser_prod___AAsCastExpr___visit_all};
20271 val_t variable0;
20272 val_t variable1;
20273 trace.prev = tracehead; tracehead = &trace;
20274 trace.file = LOCATE_parser_prod;
20275 variable0 = param0;
20276 variable1 = ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/;
20277 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
20278 if (UNTAG_Bool(variable1)) { /*if*/
20279 variable1 = ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/;
20280 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
20281 }
20282 variable1 = ATTR_parser_nodes___AAsCastExpr____n_kwas( self) /*AAsCastExpr::_n_kwas*/;
20283 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
20284 if (UNTAG_Bool(variable1)) { /*if*/
20285 variable1 = ATTR_parser_nodes___AAsCastExpr____n_kwas( self) /*AAsCastExpr::_n_kwas*/;
20286 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
20287 }
20288 variable1 = ATTR_parser_nodes___AAsCastExpr____n_type( self) /*AAsCastExpr::_n_type*/;
20289 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
20290 if (UNTAG_Bool(variable1)) { /*if*/
20291 variable1 = ATTR_parser_nodes___AAsCastExpr____n_type( self) /*AAsCastExpr::_n_type*/;
20292 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
20293 }
20294 tracehead = trace.prev;
20295 return;
20296 }
20297 void parser_prod___AAsCastExpr___visit_all_reverse(val_t self, val_t param0) {
20298 struct trace_t trace = {NULL, NULL, 10320, LOCATE_parser_prod___AAsCastExpr___visit_all_reverse};
20299 val_t variable0;
20300 val_t variable1;
20301 trace.prev = tracehead; tracehead = &trace;
20302 trace.file = LOCATE_parser_prod;
20303 variable0 = param0;
20304 variable1 = ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/;
20305 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
20306 if (UNTAG_Bool(variable1)) { /*if*/
20307 variable1 = ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/;
20308 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
20309 }
20310 variable1 = ATTR_parser_nodes___AAsCastExpr____n_kwas( self) /*AAsCastExpr::_n_kwas*/;
20311 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
20312 if (UNTAG_Bool(variable1)) { /*if*/
20313 variable1 = ATTR_parser_nodes___AAsCastExpr____n_kwas( self) /*AAsCastExpr::_n_kwas*/;
20314 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
20315 }
20316 variable1 = ATTR_parser_nodes___AAsCastExpr____n_type( self) /*AAsCastExpr::_n_type*/;
20317 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
20318 if (UNTAG_Bool(variable1)) { /*if*/
20319 variable1 = ATTR_parser_nodes___AAsCastExpr____n_type( self) /*AAsCastExpr::_n_type*/;
20320 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
20321 }
20322 tracehead = trace.prev;
20323 return;
20324 }
20325 void parser_prod___APlusAssignOp___n_pluseq__eq(val_t self, val_t param0) {
20326 struct trace_t trace = {NULL, NULL, 10334, LOCATE_parser_prod___APlusAssignOp___n_pluseq__eq};
20327 val_t variable0;
20328 val_t variable1;
20329 trace.prev = tracehead; tracehead = &trace;
20330 trace.file = LOCATE_parser_prod;
20331 variable0 = param0;
20332 ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/ = variable0 /*n*/;
20333 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20334 if (UNTAG_Bool(variable1)) { /*if*/
20335 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
20336 }
20337 tracehead = trace.prev;
20338 return;
20339 }
20340 void parser_prod___APlusAssignOp___empty_init(val_t self, int* init_table) {
20341 struct trace_t trace = {NULL, NULL, 10342, LOCATE_parser_prod___APlusAssignOp___empty_init};
20342 trace.prev = tracehead; tracehead = &trace;
20343 trace.file = LOCATE_parser_prod;
20344 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusAssignOp].i]) return;
20345 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusAssignOp].i] = 1;
20346 tracehead = trace.prev;
20347 return;
20348 }
20349 void parser_prod___APlusAssignOp___init_aplusassignop(val_t self, val_t param0, int* init_table) {
20350 struct trace_t trace = {NULL, NULL, 10344, LOCATE_parser_prod___APlusAssignOp___init_aplusassignop};
20351 val_t variable0;
20352 val_t variable1;
20353 trace.prev = tracehead; tracehead = &trace;
20354 trace.file = LOCATE_parser_prod;
20355 variable0 = param0;
20356 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusAssignOp].i]) return;
20357 ((parser_prod___APlusAssignOp___empty_init_t)CALL( self,COLOR_parser_prod___APlusAssignOp___empty_init))( self, init_table /*YYY*/) /*APlusAssignOp::empty_init*/;
20358 ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/ = variable0 /*n_pluseq*/;
20359 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_pluseq*/ == NIT_NULL /*null*/) || (( variable0 /*n_pluseq*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_pluseq*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_pluseq*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_pluseq*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_pluseq*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20360 if (UNTAG_Bool(variable1)) { /*if*/
20361 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_pluseq*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_pluseq*/, self) /*PNode::parent=*/;
20362 }
20363 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusAssignOp].i] = 1;
20364 tracehead = trace.prev;
20365 return;
20366 }
20367 void parser_prod___APlusAssignOp___replace_child(val_t self, val_t param0, val_t param1) {
20368 struct trace_t trace = {NULL, NULL, 10355, LOCATE_parser_prod___APlusAssignOp___replace_child};
20369 val_t variable0;
20370 val_t variable1;
20371 val_t variable2;
20372 trace.prev = tracehead; tracehead = &trace;
20373 trace.file = LOCATE_parser_prod;
20374 variable0 = param0;
20375 variable1 = param1;
20376 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20377 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APlusAssignOp___replace_child, LOCATE_parser_prod, 10357); nit_exit(1);}
20378 variable2 = ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/;
20379 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
20380 if (UNTAG_Bool(variable2)) { /*if*/
20381 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20382 if (UNTAG_Bool(variable2)) { /*if*/
20383 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
20384 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TPluseq, ID_TPluseq)) /*cast TPluseq*/;
20385 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___APlusAssignOp___replace_child, LOCATE_parser_prod, 10361); nit_exit(1);}
20386 ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/ = variable1 /*new_child*/;
20387 } else { /*if*/
20388 ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/ = NIT_NULL /*null*/;
20389 }
20390 goto return_label922;
20391 }
20392 return_label922: while(false);
20393 tracehead = trace.prev;
20394 return;
20395 }
20396 void parser_prod___APlusAssignOp___visit_all(val_t self, val_t param0) {
20397 struct trace_t trace = {NULL, NULL, 10370, LOCATE_parser_prod___APlusAssignOp___visit_all};
20398 val_t variable0;
20399 val_t variable1;
20400 trace.prev = tracehead; tracehead = &trace;
20401 trace.file = LOCATE_parser_prod;
20402 variable0 = param0;
20403 variable1 = ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/;
20404 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
20405 if (UNTAG_Bool(variable1)) { /*if*/
20406 variable1 = ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/;
20407 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
20408 }
20409 tracehead = trace.prev;
20410 return;
20411 }
20412 void parser_prod___APlusAssignOp___visit_all_reverse(val_t self, val_t param0) {
20413 struct trace_t trace = {NULL, NULL, 10377, LOCATE_parser_prod___APlusAssignOp___visit_all_reverse};
20414 val_t variable0;
20415 val_t variable1;
20416 trace.prev = tracehead; tracehead = &trace;
20417 trace.file = LOCATE_parser_prod;
20418 variable0 = param0;
20419 variable1 = ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/;
20420 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
20421 if (UNTAG_Bool(variable1)) { /*if*/
20422 variable1 = ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/;
20423 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
20424 }
20425 tracehead = trace.prev;
20426 return;
20427 }
20428 void parser_prod___AMinusAssignOp___n_minuseq__eq(val_t self, val_t param0) {
20429 struct trace_t trace = {NULL, NULL, 10385, LOCATE_parser_prod___AMinusAssignOp___n_minuseq__eq};
20430 val_t variable0;
20431 val_t variable1;
20432 trace.prev = tracehead; tracehead = &trace;
20433 trace.file = LOCATE_parser_prod;
20434 variable0 = param0;
20435 ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/ = variable0 /*n*/;
20436 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20437 if (UNTAG_Bool(variable1)) { /*if*/
20438 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
20439 }
20440 tracehead = trace.prev;
20441 return;
20442 }
20443 void parser_prod___AMinusAssignOp___empty_init(val_t self, int* init_table) {
20444 struct trace_t trace = {NULL, NULL, 10393, LOCATE_parser_prod___AMinusAssignOp___empty_init};
20445 trace.prev = tracehead; tracehead = &trace;
20446 trace.file = LOCATE_parser_prod;
20447 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusAssignOp].i]) return;
20448 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusAssignOp].i] = 1;
20449 tracehead = trace.prev;
20450 return;
20451 }
20452 void parser_prod___AMinusAssignOp___init_aminusassignop(val_t self, val_t param0, int* init_table) {
20453 struct trace_t trace = {NULL, NULL, 10395, LOCATE_parser_prod___AMinusAssignOp___init_aminusassignop};
20454 val_t variable0;
20455 val_t variable1;
20456 trace.prev = tracehead; tracehead = &trace;
20457 trace.file = LOCATE_parser_prod;
20458 variable0 = param0;
20459 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusAssignOp].i]) return;
20460 ((parser_prod___AMinusAssignOp___empty_init_t)CALL( self,COLOR_parser_prod___AMinusAssignOp___empty_init))( self, init_table /*YYY*/) /*AMinusAssignOp::empty_init*/;
20461 ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/ = variable0 /*n_minuseq*/;
20462 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n_minuseq*/ == NIT_NULL /*null*/) || (( variable0 /*n_minuseq*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n_minuseq*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n_minuseq*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n_minuseq*/,COLOR_kernel___Object_____eqeq))( variable0 /*n_minuseq*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20463 if (UNTAG_Bool(variable1)) { /*if*/
20464 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_minuseq*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_minuseq*/, self) /*PNode::parent=*/;
20465 }
20466 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusAssignOp].i] = 1;
20467 tracehead = trace.prev;
20468 return;
20469 }
20470 void parser_prod___AMinusAssignOp___replace_child(val_t self, val_t param0, val_t param1) {
20471 struct trace_t trace = {NULL, NULL, 10406, LOCATE_parser_prod___AMinusAssignOp___replace_child};
20472 val_t variable0;
20473 val_t variable1;
20474 val_t variable2;
20475 trace.prev = tracehead; tracehead = &trace;
20476 trace.file = LOCATE_parser_prod;
20477 variable0 = param0;
20478 variable1 = param1;
20479 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20480 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMinusAssignOp___replace_child, LOCATE_parser_prod, 10408); nit_exit(1);}
20481 variable2 = ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/;
20482 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
20483 if (UNTAG_Bool(variable2)) { /*if*/
20484 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20485 if (UNTAG_Bool(variable2)) { /*if*/
20486 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
20487 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TMinuseq, ID_TMinuseq)) /*cast TMinuseq*/;
20488 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AMinusAssignOp___replace_child, LOCATE_parser_prod, 10412); nit_exit(1);}
20489 ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/ = variable1 /*new_child*/;
20490 } else { /*if*/
20491 ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/ = NIT_NULL /*null*/;
20492 }
20493 goto return_label928;
20494 }
20495 return_label928: while(false);
20496 tracehead = trace.prev;
20497 return;
20498 }
20499 void parser_prod___AMinusAssignOp___visit_all(val_t self, val_t param0) {
20500 struct trace_t trace = {NULL, NULL, 10421, LOCATE_parser_prod___AMinusAssignOp___visit_all};
20501 val_t variable0;
20502 val_t variable1;
20503 trace.prev = tracehead; tracehead = &trace;
20504 trace.file = LOCATE_parser_prod;
20505 variable0 = param0;
20506 variable1 = ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/;
20507 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
20508 if (UNTAG_Bool(variable1)) { /*if*/
20509 variable1 = ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/;
20510 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
20511 }
20512 tracehead = trace.prev;
20513 return;
20514 }
20515 void parser_prod___AMinusAssignOp___visit_all_reverse(val_t self, val_t param0) {
20516 struct trace_t trace = {NULL, NULL, 10428, LOCATE_parser_prod___AMinusAssignOp___visit_all_reverse};
20517 val_t variable0;
20518 val_t variable1;
20519 trace.prev = tracehead; tracehead = &trace;
20520 trace.file = LOCATE_parser_prod;
20521 variable0 = param0;
20522 variable1 = ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/;
20523 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
20524 if (UNTAG_Bool(variable1)) { /*if*/
20525 variable1 = ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/;
20526 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
20527 }
20528 tracehead = trace.prev;
20529 return;
20530 }
20531 void parser_prod___AQualified___n_classid__eq(val_t self, val_t param0) {
20532 struct trace_t trace = {NULL, NULL, 10436, LOCATE_parser_prod___AQualified___n_classid__eq};
20533 val_t variable0;
20534 val_t variable1;
20535 trace.prev = tracehead; tracehead = &trace;
20536 trace.file = LOCATE_parser_prod;
20537 variable0 = param0;
20538 ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/ = variable0 /*n*/;
20539 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20540 if (UNTAG_Bool(variable1)) { /*if*/
20541 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PNode::parent=*/;
20542 }
20543 tracehead = trace.prev;
20544 return;
20545 }
20546 void parser_prod___AQualified___empty_init(val_t self, int* init_table) {
20547 struct trace_t trace = {NULL, NULL, 10444, LOCATE_parser_prod___AQualified___empty_init};
20548 trace.prev = tracehead; tracehead = &trace;
20549 trace.file = LOCATE_parser_prod;
20550 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AQualified].i]) return;
20551 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AQualified].i] = 1;
20552 tracehead = trace.prev;
20553 return;
20554 }
20555 void parser_prod___AQualified___init_aqualified(val_t self, val_t param0, val_t param1, int* init_table) {
20556 struct trace_t trace = {NULL, NULL, 10446, LOCATE_parser_prod___AQualified___init_aqualified};
20557 val_t variable0;
20558 val_t variable1;
20559 val_t variable2;
20560 val_t variable3;
20561 val_t variable4;
20562 trace.prev = tracehead; tracehead = &trace;
20563 trace.file = LOCATE_parser_prod;
20564 variable0 = param0;
20565 variable1 = param1;
20566 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AQualified].i]) return;
20567 ((parser_prod___AQualified___empty_init_t)CALL( self,COLOR_parser_prod___AQualified___empty_init))( self, init_table /*YYY*/) /*AQualified::empty_init*/;
20568 variable2 = NEW_List_list___List___init(); /*new List[TId]*/
20569 ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/ = variable2;
20570 variable2 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_id*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_id*/) /*AbstractArray::iterator*/;
20571 while (true) { /*for*/
20572 variable3 = ((array___ArrayIterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*ArrayIterator::is_ok*/;
20573 if (!UNTAG_Bool(variable3)) break; /*for*/
20574 variable3 = ((array___ArrayIterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*ArrayIterator::item*/;
20575 variable4 = TAG_Bool(( variable3 /*n*/==NIT_NULL) || VAL_ISA( variable3 /*n*/, COLOR_TId, ID_TId)) /*cast TId*/;
20576 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AQualified___init_aqualified, LOCATE_parser_prod, 10454); nit_exit(1);}
20577 variable4 = ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/;
20578 ((abstract_collection___IndexedCollection___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable3 /*n*/) /*IndexedCollection::add*/;
20579 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n*/, self) /*PNode::parent=*/;
20580 continue_934: while(0);
20581 ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
20582 }
20583 break_934: while(0);
20584 ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/ = variable1 /*n_classid*/;
20585 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_classid*/ == NIT_NULL /*null*/) || (( variable1 /*n_classid*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_classid*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_classid*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_classid*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_classid*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20586 if (UNTAG_Bool(variable2)) { /*if*/
20587 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_classid*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_classid*/, self) /*PNode::parent=*/;
20588 }
20589 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AQualified].i] = 1;
20590 tracehead = trace.prev;
20591 return;
20592 }
20593 void parser_prod___AQualified___replace_child(val_t self, val_t param0, val_t param1) {
20594 struct trace_t trace = {NULL, NULL, 10464, LOCATE_parser_prod___AQualified___replace_child};
20595 val_t variable0;
20596 val_t variable1;
20597 val_t variable2;
20598 val_t variable3;
20599 val_t variable4;
20600 trace.prev = tracehead; tracehead = &trace;
20601 trace.file = LOCATE_parser_prod;
20602 variable0 = param0;
20603 variable1 = param1;
20604 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20605 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AQualified___replace_child, LOCATE_parser_prod, 10466); nit_exit(1);}
20606 variable2 = ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/;
20607 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
20608 variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
20609 variable2 = variable3;
20610 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
20611 while (true) { /*for*/
20612 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
20613 if (!UNTAG_Bool(variable3)) break; /*for*/
20614 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
20615 variable4 = ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/;
20616 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
20617 variable4 = TAG_Bool((variable4 == variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable0 /*old_child*/) /*Object::==*/)))));
20618 if (UNTAG_Bool(variable4)) { /*if*/
20619 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20620 if (UNTAG_Bool(variable4)) { /*if*/
20621 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
20622 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AQualified___replace_child, LOCATE_parser_prod, 10470); nit_exit(1);}
20623 variable4 = ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/;
20624 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
20625 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
20626 } else { /*if*/
20627 variable4 = ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/;
20628 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
20629 }
20630 goto return_label935;
20631 }
20632 continue_936: while(0);
20633 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
20634 }
20635 break_936: while(0);
20636 variable2 = ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/;
20637 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
20638 if (UNTAG_Bool(variable2)) { /*if*/
20639 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20640 if (UNTAG_Bool(variable2)) { /*if*/
20641 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
20642 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
20643 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___AQualified___replace_child, LOCATE_parser_prod, 10482); nit_exit(1);}
20644 ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/ = variable1 /*new_child*/;
20645 } else { /*if*/
20646 ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/ = NIT_NULL /*null*/;
20647 }
20648 goto return_label935;
20649 }
20650 return_label935: while(false);
20651 tracehead = trace.prev;
20652 return;
20653 }
20654 void parser_prod___AQualified___visit_all(val_t self, val_t param0) {
20655 struct trace_t trace = {NULL, NULL, 10491, LOCATE_parser_prod___AQualified___visit_all};
20656 val_t variable0;
20657 val_t variable1;
20658 val_t variable2;
20659 trace.prev = tracehead; tracehead = &trace;
20660 trace.file = LOCATE_parser_prod;
20661 variable0 = param0;
20662 variable1 = ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/;
20663 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
20664 while (true) { /*for*/
20665 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
20666 if (!UNTAG_Bool(variable2)) break; /*for*/
20667 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
20668 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
20669 continue_938: while(0);
20670 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
20671 }
20672 break_938: while(0);
20673 variable1 = ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/;
20674 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
20675 if (UNTAG_Bool(variable1)) { /*if*/
20676 variable1 = ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/;
20677 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
20678 }
20679 tracehead = trace.prev;
20680 return;
20681 }
20682 void parser_prod___AQualified___visit_all_reverse(val_t self, val_t param0) {
20683 struct trace_t trace = {NULL, NULL, 10501, LOCATE_parser_prod___AQualified___visit_all_reverse};
20684 val_t variable0;
20685 val_t variable1;
20686 val_t variable2;
20687 trace.prev = tracehead; tracehead = &trace;
20688 trace.file = LOCATE_parser_prod;
20689 variable0 = param0;
20690 variable2 = ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/;
20691 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
20692 variable1 = variable2;
20693 while (true) { /*while*/
20694 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
20695 if (!UNTAG_Bool(variable2)) break; /* while*/
20696 variable2 = ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/;
20697 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
20698 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
20699 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
20700 variable1 = variable2 /*i=*/;
20701 continue_940: while(0);
20702 }
20703 break_940: while(0);
20704 variable1 = ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/;
20705 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
20706 if (UNTAG_Bool(variable1)) { /*if*/
20707 variable1 = ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/;
20708 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
20709 }
20710 tracehead = trace.prev;
20711 return;
20712 }
20713 void parser_prod___ADoc___empty_init(val_t self, int* init_table) {
20714 struct trace_t trace = {NULL, NULL, 10517, LOCATE_parser_prod___ADoc___empty_init};
20715 trace.prev = tracehead; tracehead = &trace;
20716 trace.file = LOCATE_parser_prod;
20717 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoc].i]) return;
20718 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoc].i] = 1;
20719 tracehead = trace.prev;
20720 return;
20721 }
20722 void parser_prod___ADoc___init_adoc(val_t self, val_t param0, int* init_table) {
20723 struct trace_t trace = {NULL, NULL, 10519, LOCATE_parser_prod___ADoc___init_adoc};
20724 val_t variable0;
20725 val_t variable1;
20726 val_t variable2;
20727 val_t variable3;
20728 trace.prev = tracehead; tracehead = &trace;
20729 trace.file = LOCATE_parser_prod;
20730 variable0 = param0;
20731 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoc].i]) return;
20732 ((parser_prod___ADoc___empty_init_t)CALL( self,COLOR_parser_prod___ADoc___empty_init))( self, init_table /*YYY*/) /*ADoc::empty_init*/;
20733 variable1 = NEW_List_list___List___init(); /*new List[TComment]*/
20734 ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/ = variable1;
20735 variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_comment*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_comment*/) /*AbstractArray::iterator*/;
20736 while (true) { /*for*/
20737 variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
20738 if (!UNTAG_Bool(variable2)) break; /*for*/
20739 variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
20740 variable3 = TAG_Bool(( variable2 /*n*/==NIT_NULL) || VAL_ISA( variable2 /*n*/, COLOR_TComment, ID_TComment)) /*cast TComment*/;
20741 if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADoc___init_adoc, LOCATE_parser_prod, 10526); nit_exit(1);}
20742 variable3 = ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/;
20743 ((abstract_collection___IndexedCollection___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable2 /*n*/) /*IndexedCollection::add*/;
20744 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n*/, self) /*PNode::parent=*/;
20745 continue_943: while(0);
20746 ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
20747 }
20748 break_943: while(0);
20749 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoc].i] = 1;
20750 tracehead = trace.prev;
20751 return;
20752 }
20753 void parser_prod___ADoc___replace_child(val_t self, val_t param0, val_t param1) {
20754 struct trace_t trace = {NULL, NULL, 10532, LOCATE_parser_prod___ADoc___replace_child};
20755 val_t variable0;
20756 val_t variable1;
20757 val_t variable2;
20758 val_t variable3;
20759 val_t variable4;
20760 trace.prev = tracehead; tracehead = &trace;
20761 trace.file = LOCATE_parser_prod;
20762 variable0 = param0;
20763 variable1 = param1;
20764 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20765 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADoc___replace_child, LOCATE_parser_prod, 10534); nit_exit(1);}
20766 variable2 = ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/;
20767 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
20768 variable3 = NEW_Range_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
20769 variable2 = variable3;
20770 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
20771 while (true) { /*for*/
20772 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
20773 if (!UNTAG_Bool(variable3)) break; /*for*/
20774 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
20775 variable4 = ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/;
20776 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
20777 variable4 = TAG_Bool((variable4 == variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable0 /*old_child*/) /*Object::==*/)))));
20778 if (UNTAG_Bool(variable4)) { /*if*/
20779 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20780 if (UNTAG_Bool(variable4)) { /*if*/
20781 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TComment, ID_TComment)) /*cast TComment*/;
20782 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___ADoc___replace_child, LOCATE_parser_prod, 10538); nit_exit(1);}
20783 variable4 = ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/;
20784 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
20785 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
20786 } else { /*if*/
20787 variable4 = ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/;
20788 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
20789 }
20790 goto return_label944;
20791 }
20792 continue_945: while(0);
20793 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
20794 }
20795 break_945: while(0);
20796 return_label944: while(false);
20797 tracehead = trace.prev;
20798 return;
20799 }
20800 void parser_prod___ADoc___visit_all(val_t self, val_t param0) {
20801 struct trace_t trace = {NULL, NULL, 10549, LOCATE_parser_prod___ADoc___visit_all};
20802 val_t variable0;
20803 val_t variable1;
20804 val_t variable2;
20805 trace.prev = tracehead; tracehead = &trace;
20806 trace.file = LOCATE_parser_prod;
20807 variable0 = param0;
20808 variable1 = ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/;
20809 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
20810 while (true) { /*for*/
20811 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
20812 if (!UNTAG_Bool(variable2)) break; /*for*/
20813 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
20814 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
20815 continue_947: while(0);
20816 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
20817 }
20818 break_947: while(0);
20819 tracehead = trace.prev;
20820 return;
20821 }
20822 void parser_prod___ADoc___visit_all_reverse(val_t self, val_t param0) {
20823 struct trace_t trace = {NULL, NULL, 10556, LOCATE_parser_prod___ADoc___visit_all_reverse};
20824 val_t variable0;
20825 val_t variable1;
20826 val_t variable2;
20827 trace.prev = tracehead; tracehead = &trace;
20828 trace.file = LOCATE_parser_prod;
20829 variable0 = param0;
20830 variable2 = ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/;
20831 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
20832 variable1 = variable2;
20833 while (true) { /*while*/
20834 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
20835 if (!UNTAG_Bool(variable2)) break; /* while*/
20836 variable2 = ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/;
20837 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
20838 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
20839 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
20840 variable1 = variable2 /*i=*/;
20841 continue_949: while(0);
20842 }
20843 break_949: while(0);
20844 tracehead = trace.prev;
20845 return;
20846 }
20847 void parser_prod___Start___init(val_t self, val_t param0, val_t param1, int* init_table) {
20848 struct trace_t trace = {NULL, NULL, 10569, LOCATE_parser_prod___Start___init};
20849 val_t variable0;
20850 val_t variable1;
20851 trace.prev = tracehead; tracehead = &trace;
20852 trace.file = LOCATE_parser_prod;
20853 variable0 = param0;
20854 variable1 = param1;
20855 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Start].i]) return;
20856 ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/ = variable0 /*n_base*/;
20857 ATTR_parser_nodes___Start____n_eof( self) /*Start::_n_eof*/ = variable1 /*n_eof*/;
20858 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Start].i] = 1;
20859 tracehead = trace.prev;
20860 return;
20861 }
20862 void parser_prod___Start___replace_child(val_t self, val_t param0, val_t param1) {
20863 struct trace_t trace = {NULL, NULL, 10577, LOCATE_parser_prod___Start___replace_child};
20864 val_t variable0;
20865 val_t variable1;
20866 val_t variable2;
20867 trace.prev = tracehead; tracehead = &trace;
20868 trace.file = LOCATE_parser_prod;
20869 variable0 = param0;
20870 variable1 = param1;
20871 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*old_child*/ == NIT_NULL /*null*/) || (( variable0 /*old_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*old_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*old_child*/,COLOR_kernel___Object_____eqeq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20872 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___Start___replace_child, LOCATE_parser_prod, 10579); nit_exit(1);}
20873 variable2 = ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/;
20874 variable2 = TAG_Bool((variable2 == variable0 /*old_child*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*old_child*/) /*Object::==*/)))));
20875 if (UNTAG_Bool(variable2)) { /*if*/
20876 variable2 = TAG_Bool(( variable1 /*new_child*/ == NIT_NULL /*null*/) || (( variable1 /*new_child*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*new_child*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*new_child*/,COLOR_kernel___Object_____eqeq))( variable1 /*new_child*/, NIT_NULL /*null*/) /*Object::==*/)))));
20877 if (UNTAG_Bool(variable2)) { /*if*/
20878 } else { /*if*/
20879 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
20880 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PModule, ID_PModule)) /*cast PModule*/;
20881 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___Start___replace_child, LOCATE_parser_prod, 10584); nit_exit(1);}
20882 ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/ = variable1 /*new_child*/;
20883 }
20884 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*old_child*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*PNode::parent=*/;
20885 goto return_label951;
20886 }
20887 return_label951: while(false);
20888 tracehead = trace.prev;
20889 return;
20890 }
20891 void parser_prod___Start___visit_all(val_t self, val_t param0) {
20892 struct trace_t trace = {NULL, NULL, 10592, LOCATE_parser_prod___Start___visit_all};
20893 val_t variable0;
20894 val_t variable1;
20895 trace.prev = tracehead; tracehead = &trace;
20896 trace.file = LOCATE_parser_prod;
20897 variable0 = param0;
20898 variable1 = ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/;
20899 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
20900 if (UNTAG_Bool(variable1)) { /*if*/
20901 variable1 = ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/;
20902 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
20903 }
20904 tracehead = trace.prev;
20905 return;
20906 }
20907 void parser_prod___Start___visit_all_reverse(val_t self, val_t param0) {
20908 struct trace_t trace = {NULL, NULL, 10599, LOCATE_parser_prod___Start___visit_all_reverse};
20909 val_t variable0;
20910 val_t variable1;
20911 trace.prev = tracehead; tracehead = &trace;
20912 trace.file = LOCATE_parser_prod;
20913 variable0 = param0;
20914 variable1 = ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/;
20915 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Object::==*/)))))));
20916 if (UNTAG_Bool(variable1)) { /*if*/
20917 variable1 = ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/;
20918 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
20919 }
20920 tracehead = trace.prev;
20921 return;
20922 }