First NIT release and new clean mercurial repository
[nit.git] / c_src / parser_prod._sep.c
1 #include "parser_prod._sep.h"
2 val_t parser_prod___PNode___parent(val_t self) {
3 struct trace_t trace = {NULL, "parser_prod::PNode::parent (src/parser//parser_prod.nit:9,2--10:38)"};
4 trace.prev = tracehead; tracehead = &trace;
5 tracehead = trace.prev;
6 return ATTR_parser_prod___PNode____parent( self) /*PNode::_parent*/;
7 }
8 void parser_prod___PNode___parent__eq(val_t self, val_t param0) {
9 struct trace_t trace = {NULL, "parser_prod::PNode::parent= (src/parser//parser_prod.nit:9,2--10:38)"};
10 trace.prev = tracehead; tracehead = &trace;
11 ATTR_parser_prod___PNode____parent( self) /*PNode::_parent*/ = param0;
12 tracehead = trace.prev;
13 return;
14 }
15 void parser_prod___PNode___remove_child(val_t self, val_t param0) {
16 struct trace_t trace = {NULL, "parser_prod::PNode::remove_child (src/parser//parser_prod.nit:12,2--15:27)"};
17 val_t variable0;
18 trace.prev = tracehead; tracehead = &trace;
19 variable0 = param0;
20 ((parser_prod___PNode___replace_child_t)CALL( self,COLOR_parser_prod___PNode___replace_child))( self, variable0 /*child*/, NIT_NULL /*null*/) /*PNode::replace_child*/;
21 tracehead = trace.prev;
22 return;
23 }
24 void parser_prod___PNode___replace_child(val_t self, val_t param0, val_t param1) {
25 struct trace_t trace = {NULL, "parser_prod::PNode::replace_child (src/parser//parser_prod.nit:18,2--19:54)"};
26 trace.prev = tracehead; tracehead = &trace;
27 fprintf(stderr, "Deferred method replace_child called (src/parser//parser_prod.nit:18,2)\n");
28 nit_exit(1);
29 tracehead = trace.prev;
30 return;
31 }
32 void parser_prod___PNode___replace_with(val_t self, val_t param0) {
33 struct trace_t trace = {NULL, "parser_prod::PNode::replace_with (src/parser//parser_prod.nit:21,2--25:35)"};
34 val_t variable0;
35 val_t variable1;
36 trace.prev = tracehead; tracehead = &trace;
37 variable0 = param0;
38 variable1 = ATTR_parser_prod___PNode____parent( self) /*PNode::_parent*/;
39 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PNode::==*/)))))));
40 if (UNTAG_Bool(variable1)) { /*if*/
41 variable1 = ATTR_parser_prod___PNode____parent( self) /*PNode::_parent*/;
42 ((parser_prod___PNode___replace_child_t)CALL(variable1,COLOR_parser_prod___PNode___replace_child))(variable1, self, variable0 /*node*/) /*PNode::replace_child*/;
43 }
44 tracehead = trace.prev;
45 return;
46 }
47 void parser_prod___PNode___visit_all(val_t self, val_t param0) {
48 struct trace_t trace = {NULL, "parser_prod::PNode::visit_all (src/parser//parser_prod.nit:29,2--31:26)"};
49 trace.prev = tracehead; tracehead = &trace;
50 fprintf(stderr, "Deferred method visit_all called (src/parser//parser_prod.nit:29,2)\n");
51 nit_exit(1);
52 tracehead = trace.prev;
53 return;
54 }
55 void parser_prod___PNode___visit_all_reverse(val_t self, val_t param0) {
56 struct trace_t trace = {NULL, "parser_prod::PNode::visit_all_reverse (src/parser//parser_prod.nit:33,2--35:34)"};
57 trace.prev = tracehead; tracehead = &trace;
58 fprintf(stderr, "Deferred method visit_all_reverse called (src/parser//parser_prod.nit:33,2)\n");
59 nit_exit(1);
60 tracehead = trace.prev;
61 return;
62 }
63 val_t parser_prod___PNode___locate(val_t self) {
64 struct trace_t trace = {NULL, "parser_prod::PNode::locate (src/parser//parser_prod.nit:37,2--38:20)"};
65 trace.prev = tracehead; tracehead = &trace;
66 fprintf(stderr, "Deferred method locate called (src/parser//parser_prod.nit:37,2)\n");
67 nit_exit(1);
68 tracehead = trace.prev;
69 return NIT_NULL;
70 }
71 void parser_prod___PNode___printl(val_t self, val_t param0) {
72 struct trace_t trace = {NULL, "parser_prod::PNode::printl (src/parser//parser_prod.nit:40,2--43:27)"};
73 val_t variable0;
74 val_t variable1;
75 val_t variable2;
76 val_t variable3;
77 val_t variable4;
78 val_t variable5;
79 val_t variable6;
80 val_t variable7;
81 val_t variable8;
82 val_t variable9;
83 val_t variable10;
84 trace.prev = tracehead; tracehead = &trace;
85 variable0 = param0;
86 variable1 = NEW_string___String___init(); /*new String*/
87 variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
88 variable3 = variable2;
89 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
90 variable4 = ((parser_prod___PNode___locate_t)CALL( self,COLOR_parser_prod___PNode___locate))( self) /*PNode::locate*/;
91 variable5 = variable4;
92 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
93 variable6 = NEW_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
94 variable7 = variable6;
95 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
96 variable8 = variable0 /*str*/;
97 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable8) /*String::append*/;
98 variable9 = NEW_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
99 variable10 = variable9;
100 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable10) /*String::append*/;
101 ((file___Object___print_t)CALL( self,COLOR_file___Object___print))( self, variable1) /*PNode::print*/;
102 tracehead = trace.prev;
103 return;
104 }
105 void parser_prod___Token___visit_all(val_t self, val_t param0) {
106 struct trace_t trace = {NULL, "parser_prod::Token::visit_all (src/parser//parser_prod.nit:48,2--32)"};
107 val_t variable0;
108 trace.prev = tracehead; tracehead = &trace;
109 variable0 = param0;
110 tracehead = trace.prev;
111 return;
112 }
113 void parser_prod___Token___visit_all_reverse(val_t self, val_t param0) {
114 struct trace_t trace = {NULL, "parser_prod::Token::visit_all_reverse (src/parser//parser_prod.nit:49,2--40)"};
115 val_t variable0;
116 trace.prev = tracehead; tracehead = &trace;
117 variable0 = param0;
118 tracehead = trace.prev;
119 return;
120 }
121 void parser_prod___Token___replace_child(val_t self, val_t param0, val_t param1) {
122 struct trace_t trace = {NULL, "parser_prod::Token::replace_child (src/parser//parser_prod.nit:50,2--60)"};
123 val_t variable0;
124 val_t variable1;
125 trace.prev = tracehead; tracehead = &trace;
126 variable0 = param0;
127 variable1 = param1;
128 tracehead = trace.prev;
129 return;
130 }
131 val_t parser_prod___Token___locate(val_t self) {
132 struct trace_t trace = {NULL, "parser_prod::Token::locate (src/parser//parser_prod.nit:52,2--54:34)"};
133 val_t variable0;
134 val_t variable1;
135 val_t variable2;
136 val_t variable3;
137 val_t variable4;
138 val_t variable5;
139 val_t variable6;
140 val_t variable7;
141 val_t variable8;
142 val_t variable9;
143 val_t variable10;
144 val_t variable11;
145 val_t variable12;
146 val_t variable13;
147 val_t variable14;
148 trace.prev = tracehead; tracehead = &trace;
149 variable0 = NEW_string___String___init(); /*new String*/
150 variable1 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
151 variable2 = variable1;
152 ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable2) /*String::append*/;
153 variable3 = ((lexer___Token___filename_t)CALL( self,COLOR_lexer___Token___filename))( self) /*Token::filename*/;
154 variable4 = variable3;
155 ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable4) /*String::append*/;
156 variable5 = NEW_string___String___with_native(BOX_NativeString(":"), TAG_Int(1)); /*new String*/
157 variable6 = variable5;
158 ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable6) /*String::append*/;
159 variable7 = ((lexer___Token___line_t)CALL( self,COLOR_lexer___Token___line))( self) /*Token::line*/;
160 variable8 = variable7;
161 variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
162 ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable8) /*String::append*/;
163 variable9 = NEW_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
164 variable10 = variable9;
165 ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable10) /*String::append*/;
166 variable11 = ((lexer___Token___pos_t)CALL( self,COLOR_lexer___Token___pos))( self) /*Token::pos*/;
167 variable12 = variable11;
168 variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
169 ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable12) /*String::append*/;
170 variable13 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
171 variable14 = variable13;
172 ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable14) /*String::append*/;
173 goto return_label6;
174 return_label6: while(false);
175 tracehead = trace.prev;
176 return variable0;
177 }
178 val_t parser_prod___Prod___first_token(val_t self) {
179 struct trace_t trace = {NULL, "parser_prod::Prod::first_token (src/parser//parser_prod.nit:59,2--60:43)"};
180 trace.prev = tracehead; tracehead = &trace;
181 tracehead = trace.prev;
182 return ATTR_parser_prod___Prod____first_token( self) /*Prod::_first_token*/;
183 }
184 void parser_prod___Prod___first_token__eq(val_t self, val_t param0) {
185 struct trace_t trace = {NULL, "parser_prod::Prod::first_token= (src/parser//parser_prod.nit:59,2--60:43)"};
186 trace.prev = tracehead; tracehead = &trace;
187 ATTR_parser_prod___Prod____first_token( self) /*Prod::_first_token*/ = param0;
188 tracehead = trace.prev;
189 return;
190 }
191 val_t parser_prod___Prod___last_token(val_t self) {
192 struct trace_t trace = {NULL, "parser_prod::Prod::last_token (src/parser//parser_prod.nit:62,2--63:42)"};
193 trace.prev = tracehead; tracehead = &trace;
194 tracehead = trace.prev;
195 return ATTR_parser_prod___Prod____last_token( self) /*Prod::_last_token*/;
196 }
197 void parser_prod___Prod___last_token__eq(val_t self, val_t param0) {
198 struct trace_t trace = {NULL, "parser_prod::Prod::last_token= (src/parser//parser_prod.nit:62,2--63:42)"};
199 trace.prev = tracehead; tracehead = &trace;
200 ATTR_parser_prod___Prod____last_token( self) /*Prod::_last_token*/ = param0;
201 tracehead = trace.prev;
202 return;
203 }
204 val_t parser_prod___Prod___locate(val_t self) {
205 struct trace_t trace = {NULL, "parser_prod::Prod::locate (src/parser//parser_prod.nit:65,2--74:61)"};
206 val_t variable0;
207 val_t variable1;
208 val_t variable2;
209 val_t variable3;
210 val_t variable4;
211 val_t variable5;
212 val_t variable6;
213 val_t variable7;
214 val_t variable8;
215 val_t variable9;
216 val_t variable10;
217 val_t variable11;
218 val_t variable12;
219 val_t variable13;
220 val_t variable14;
221 trace.prev = tracehead; tracehead = &trace;
222 variable0 = ((parser_prod___Prod___first_token_t)CALL( self,COLOR_parser_prod___Prod___first_token))( self) /*Prod::first_token*/;
223 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*/) /*Token::==*/)))));
224 if (UNTAG_Bool(variable0)) { /*if*/
225 variable0 = NEW_string___String___with_native(BOX_NativeString("????"), TAG_Int(4)); /*new String*/
226 goto return_label7;
227 }
228 variable1 = ((parser_prod___Prod___last_token_t)CALL( self,COLOR_parser_prod___Prod___last_token))( self) /*Prod::last_token*/;
229 variable1 = ((lexer___Token___pos_t)CALL(variable1,COLOR_lexer___Token___pos))(variable1) /*Token::pos*/;
230 variable2 = ((parser_prod___Prod___last_token_t)CALL( self,COLOR_parser_prod___Prod___last_token))( self) /*Prod::last_token*/;
231 variable2 = ((lexer___Token___text_t)CALL(variable2,COLOR_lexer___Token___text))(variable2) /*Token::text*/;
232 variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*String::length*/;
233 variable1 = TAG_Int(UNTAG_Int(variable1)+UNTAG_Int(variable2));
234 variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(1)));
235 variable0 = variable1;
236 variable1 = ((parser_prod___Prod___first_token_t)CALL( self,COLOR_parser_prod___Prod___first_token))( self) /*Prod::first_token*/;
237 variable1 = ((lexer___Token___line_t)CALL(variable1,COLOR_lexer___Token___line))(variable1) /*Token::line*/;
238 variable2 = ((parser_prod___Prod___last_token_t)CALL( self,COLOR_parser_prod___Prod___last_token))( self) /*Prod::last_token*/;
239 variable2 = ((lexer___Token___line_t)CALL(variable2,COLOR_lexer___Token___line))(variable2) /*Token::line*/;
240 variable1 = TAG_Bool((variable1)==(variable2));
241 if (UNTAG_Bool(variable1)) { /*if*/
242 variable1 = NEW_string___String___init(); /*new String*/
243 variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
244 variable3 = variable2;
245 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
246 variable4 = ((parser_prod___Prod___first_token_t)CALL( self,COLOR_parser_prod___Prod___first_token))( self) /*Prod::first_token*/;
247 variable4 = ((parser_prod___Token___locate_t)CALL(variable4,COLOR_parser_prod___PNode___locate))(variable4) /*Token::locate*/;
248 variable5 = variable4;
249 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
250 variable6 = NEW_string___String___with_native(BOX_NativeString("--"), TAG_Int(2)); /*new String*/
251 variable7 = variable6;
252 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
253 variable8 = variable0 /*lastpos*/;
254 variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
255 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable8) /*String::append*/;
256 variable9 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
257 variable10 = variable9;
258 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable10) /*String::append*/;
259 variable0 = variable1;
260 goto return_label7;
261 } else { /*if*/
262 variable1 = NEW_string___String___init(); /*new String*/
263 variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
264 variable3 = variable2;
265 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
266 variable4 = ((parser_prod___Prod___first_token_t)CALL( self,COLOR_parser_prod___Prod___first_token))( self) /*Prod::first_token*/;
267 variable4 = ((parser_prod___Token___locate_t)CALL(variable4,COLOR_parser_prod___PNode___locate))(variable4) /*Token::locate*/;
268 variable5 = variable4;
269 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
270 variable6 = NEW_string___String___with_native(BOX_NativeString("--"), TAG_Int(2)); /*new String*/
271 variable7 = variable6;
272 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
273 variable8 = ((parser_prod___Prod___last_token_t)CALL( self,COLOR_parser_prod___Prod___last_token))( self) /*Prod::last_token*/;
274 variable8 = ((lexer___Token___line_t)CALL(variable8,COLOR_lexer___Token___line))(variable8) /*Token::line*/;
275 variable9 = variable8;
276 variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
277 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable9) /*String::append*/;
278 variable10 = NEW_string___String___with_native(BOX_NativeString(":"), TAG_Int(1)); /*new String*/
279 variable11 = variable10;
280 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable11) /*String::append*/;
281 variable12 = variable0 /*lastpos*/;
282 variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
283 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable12) /*String::append*/;
284 variable13 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
285 variable14 = variable13;
286 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable14) /*String::append*/;
287 variable0 = variable1;
288 goto return_label7;
289 }
290 return_label7: while(false);
291 tracehead = trace.prev;
292 return variable0;
293 }
294 void parser_prod___Prod___replace_with(val_t self, val_t param0) {
295 struct trace_t trace = {NULL, "parser_prod::Prod::replace_with (src/parser//parser_prod.nit:78,2--83:27)"};
296 val_t variable0;
297 val_t variable1;
298 trace.prev = tracehead; tracehead = &trace;
299 variable0 = param0;
300 ((parser_prod___Prod___replace_with_t)CALL( self,COLOR_SUPER_parser_prod___Prod___replace_with))( self, param0) /*super Prod::replace_with*/;
301 variable1 = TAG_Bool(( variable0 /*n*/==NIT_NULL) || VAL_ISA( variable0 /*n*/, COLOR_Prod, ID_Prod)) /*cast Prod*/;
302 if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:81,3--19\n"); nit_exit(1);}
303 variable1 = ((parser_prod___Prod___first_token_t)CALL( self,COLOR_parser_prod___Prod___first_token))( self) /*Prod::first_token*/;
304 ((parser_prod___Prod___first_token__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___Prod___first_token__eq))( variable0 /*n*/, variable1) /*Prod::first_token=*/;
305 variable1 = ((parser_prod___Prod___last_token_t)CALL( self,COLOR_parser_prod___Prod___last_token))( self) /*Prod::last_token*/;
306 ((parser_prod___Prod___last_token__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___Prod___last_token__eq))( variable0 /*n*/, variable1) /*Prod::last_token=*/;
307 tracehead = trace.prev;
308 return;
309 }
310 void parser_prod___Visitor___visit(val_t self, val_t param0) {
311 struct trace_t trace = {NULL, "parser_prod::Visitor::visit (src/parser//parser_prod.nit:89,9--92:27)"};
312 trace.prev = tracehead; tracehead = &trace;
313 fprintf(stderr, "Deferred method visit called (src/parser//parser_prod.nit:89,9)\n");
314 nit_exit(1);
315 tracehead = trace.prev;
316 return;
317 }
318 void parser_prod___AModule___n_packagedecl__eq(val_t self, val_t param0) {
319 struct trace_t trace = {NULL, "parser_prod::AModule::n_packagedecl= (src/parser//parser_prod.nit:96,5--100:20)"};
320 val_t variable0;
321 val_t variable1;
322 trace.prev = tracehead; tracehead = &trace;
323 variable0 = param0;
324 ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/ = variable0 /*n*/;
325 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*/) /*PPackagedecl::==*/)))))));
326 if (UNTAG_Bool(variable1)) { /*if*/
327 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PPackagedecl::parent=*/;
328 }
329 tracehead = trace.prev;
330 return;
331 }
332 void parser_prod___AModule___empty_init(val_t self, int* init_table) {
333 struct trace_t trace = {NULL, "parser_prod::AModule::empty_init (src/parser//parser_prod.nit:104,5--27)"};
334 trace.prev = tracehead; tracehead = &trace;
335 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AModule].i]) return;
336 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AModule].i] = 1;
337 tracehead = trace.prev;
338 return;
339 }
340 void parser_prod___AModule___init_amodule(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
341 struct trace_t trace = {NULL, "parser_prod::AModule::init_amodule (src/parser//parser_prod.nit:106,5--126:17)"};
342 val_t variable0;
343 val_t variable1;
344 val_t variable2;
345 val_t variable3;
346 val_t variable4;
347 val_t variable5;
348 trace.prev = tracehead; tracehead = &trace;
349 variable0 = param0;
350 variable1 = param1;
351 variable2 = param2;
352 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AModule].i]) return;
353 ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/ = variable0 /*n_packagedecl*/;
354 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*/) /*PPackagedecl::==*/)))))));
355 if (UNTAG_Bool(variable3)) { /*if*/
356 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_packagedecl*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_packagedecl*/, self) /*PPackagedecl::parent=*/;
357 }
358 variable3 = NEW_list___List___init(); /*new List[PImport]*/
359 ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/ = variable3;
360 variable3 = ((array___AbstractArray___iterator_t)CALL( variable1 /*n_imports*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*n_imports*/) /*Array::iterator*/;
361 while (true) { /*for*/
362 variable4 = ((array___ArrayIterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*ArrayIterator::is_ok*/;
363 if (!UNTAG_Bool(variable4)) break; /*for*/
364 variable4 = ((array___ArrayIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ArrayIterator::item*/;
365 variable5 = TAG_Bool(( variable4 /*n*/==NIT_NULL) || VAL_ISA( variable4 /*n*/, COLOR_PImport, ID_PImport)) /*cast PImport*/;
366 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:118,3--22\n"); nit_exit(1);}
367 variable5 = ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/;
368 ((abstract_collection___IndexedCollection___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5, variable4 /*n*/) /*List::add*/;
369 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n*/, self) /*PImport::parent=*/;
370 continue_12: while(0);
371 ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
372 }
373 break_12: while(0);
374 variable3 = NEW_list___List___init(); /*new List[PClassdef]*/
375 ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/ = variable3;
376 variable3 = ((array___AbstractArray___iterator_t)CALL( variable2 /*n_classdefs*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*n_classdefs*/) /*Array::iterator*/;
377 while (true) { /*for*/
378 variable4 = ((array___ArrayIterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*ArrayIterator::is_ok*/;
379 if (!UNTAG_Bool(variable4)) break; /*for*/
380 variable4 = ((array___ArrayIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ArrayIterator::item*/;
381 variable5 = TAG_Bool(( variable4 /*n*/==NIT_NULL) || VAL_ISA( variable4 /*n*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
382 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:124,3--24\n"); nit_exit(1);}
383 variable5 = ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/;
384 ((abstract_collection___IndexedCollection___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5, variable4 /*n*/) /*List::add*/;
385 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n*/, self) /*PClassdef::parent=*/;
386 continue_13: while(0);
387 ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
388 }
389 break_13: while(0);
390 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AModule].i] = 1;
391 tracehead = trace.prev;
392 return;
393 }
394 void parser_prod___AModule___replace_child(val_t self, val_t param0, val_t param1) {
395 struct trace_t trace = {NULL, "parser_prod::AModule::replace_child (src/parser//parser_prod.nit:130,5--164:22)"};
396 val_t variable0;
397 val_t variable1;
398 val_t variable2;
399 val_t variable3;
400 val_t variable4;
401 trace.prev = tracehead; tracehead = &trace;
402 variable0 = param0;
403 variable1 = param1;
404 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*/) /*PNode::==*/)))))));
405 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:132,9--32\n"); nit_exit(1);}
406 variable2 = ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/;
407 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*/) /*PPackagedecl::==*/)))));
408 if (UNTAG_Bool(variable2)) { /*if*/
409 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*/) /*PNode::==*/)))))));
410 if (UNTAG_Bool(variable2)) { /*if*/
411 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
412 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
413 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:136,3--35\n"); nit_exit(1);}
414 ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/ = variable1 /*new_child*/;
415 } else { /*if*/
416 ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/ = NIT_NULL /*null*/;
417 }
418 goto return_label14;
419 }
420 variable2 = ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/;
421 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
422 variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
423 variable2 = variable3;
424 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
425 while (true) { /*for*/
426 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
427 if (!UNTAG_Bool(variable3)) break; /*for*/
428 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
429 variable4 = ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/;
430 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
431 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*/) /*PImport::==*/)))));
432 if (UNTAG_Bool(variable4)) { /*if*/
433 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*/) /*PNode::==*/)))))));
434 if (UNTAG_Bool(variable4)) { /*if*/
435 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PImport, ID_PImport)) /*cast PImport*/;
436 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:146,7--34\n"); nit_exit(1);}
437 variable4 = ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/;
438 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
439 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PImport::parent=*/;
440 } else { /*if*/
441 variable4 = ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/;
442 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
443 }
444 goto return_label14;
445 }
446 continue_15: while(0);
447 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
448 }
449 break_15: while(0);
450 variable2 = ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/;
451 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
452 variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
453 variable2 = variable3;
454 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
455 while (true) { /*for*/
456 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
457 if (!UNTAG_Bool(variable3)) break; /*for*/
458 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
459 variable4 = ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/;
460 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
461 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*/) /*PClassdef::==*/)))));
462 if (UNTAG_Bool(variable4)) { /*if*/
463 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*/) /*PNode::==*/)))))));
464 if (UNTAG_Bool(variable4)) { /*if*/
465 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
466 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:158,7--36\n"); nit_exit(1);}
467 variable4 = ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/;
468 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
469 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PClassdef::parent=*/;
470 } else { /*if*/
471 variable4 = ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/;
472 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
473 }
474 goto return_label14;
475 }
476 continue_16: while(0);
477 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
478 }
479 break_16: while(0);
480 return_label14: while(false);
481 tracehead = trace.prev;
482 return;
483 }
484 void parser_prod___AModule___visit_all(val_t self, val_t param0) {
485 struct trace_t trace = {NULL, "parser_prod::AModule::visit_all (src/parser//parser_prod.nit:169,5--178:25)"};
486 val_t variable0;
487 val_t variable1;
488 val_t variable2;
489 trace.prev = tracehead; tracehead = &trace;
490 variable0 = param0;
491 variable1 = ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/;
492 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PPackagedecl::==*/)))))));
493 if (UNTAG_Bool(variable1)) { /*if*/
494 variable1 = ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/;
495 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
496 }
497 variable1 = ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/;
498 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
499 while (true) { /*for*/
500 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
501 if (!UNTAG_Bool(variable2)) break; /*for*/
502 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
503 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
504 continue_18: while(0);
505 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
506 }
507 break_18: while(0);
508 variable1 = ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/;
509 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
510 while (true) { /*for*/
511 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
512 if (!UNTAG_Bool(variable2)) break; /*for*/
513 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
514 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
515 continue_19: while(0);
516 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
517 }
518 break_19: while(0);
519 tracehead = trace.prev;
520 return;
521 }
522 void parser_prod___AModule___visit_all_reverse(val_t self, val_t param0) {
523 struct trace_t trace = {NULL, "parser_prod::AModule::visit_all_reverse (src/parser//parser_prod.nit:182,5--198:11)"};
524 val_t variable0;
525 val_t variable1;
526 val_t variable2;
527 trace.prev = tracehead; tracehead = &trace;
528 variable0 = param0;
529 variable1 = ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/;
530 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PPackagedecl::==*/)))))));
531 if (UNTAG_Bool(variable1)) { /*if*/
532 variable1 = ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/;
533 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
534 }
535 variable2 = ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/;
536 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
537 variable1 = variable2;
538 while (true) { /*while*/
539 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
540 if (!UNTAG_Bool(variable2)) break; /* while*/
541 variable2 = ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/;
542 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
543 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
544 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
545 variable1 = variable2 /*i=*/;
546 continue_21: while(0);
547 }
548 break_21: while(0);
549 variable2 = ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/;
550 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
551 variable1 = variable2;
552 while (true) { /*while*/
553 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
554 if (!UNTAG_Bool(variable2)) break; /* while*/
555 variable2 = ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/;
556 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
557 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
558 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
559 variable1 = variable2 /*i=*/;
560 continue_22: while(0);
561 }
562 break_22: while(0);
563 tracehead = trace.prev;
564 return;
565 }
566 void parser_prod___APackagedecl___n_doc__eq(val_t self, val_t param0) {
567 struct trace_t trace = {NULL, "parser_prod::APackagedecl::n_doc= (src/parser//parser_prod.nit:204,5--208:20)"};
568 val_t variable0;
569 val_t variable1;
570 trace.prev = tracehead; tracehead = &trace;
571 variable0 = param0;
572 ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/ = variable0 /*n*/;
573 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*/) /*PDoc::==*/)))))));
574 if (UNTAG_Bool(variable1)) { /*if*/
575 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PDoc::parent=*/;
576 }
577 tracehead = trace.prev;
578 return;
579 }
580 void parser_prod___APackagedecl___n_kwpackage__eq(val_t self, val_t param0) {
581 struct trace_t trace = {NULL, "parser_prod::APackagedecl::n_kwpackage= (src/parser//parser_prod.nit:211,5--215:20)"};
582 val_t variable0;
583 val_t variable1;
584 trace.prev = tracehead; tracehead = &trace;
585 variable0 = param0;
586 ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/ = variable0 /*n*/;
587 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*/) /*TKwpackage::==*/)))))));
588 if (UNTAG_Bool(variable1)) { /*if*/
589 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwpackage::parent=*/;
590 }
591 tracehead = trace.prev;
592 return;
593 }
594 void parser_prod___APackagedecl___n_id__eq(val_t self, val_t param0) {
595 struct trace_t trace = {NULL, "parser_prod::APackagedecl::n_id= (src/parser//parser_prod.nit:218,5--222:20)"};
596 val_t variable0;
597 val_t variable1;
598 trace.prev = tracehead; tracehead = &trace;
599 variable0 = param0;
600 ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/ = variable0 /*n*/;
601 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*/) /*TId::==*/)))))));
602 if (UNTAG_Bool(variable1)) { /*if*/
603 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TId::parent=*/;
604 }
605 tracehead = trace.prev;
606 return;
607 }
608 void parser_prod___APackagedecl___empty_init(val_t self, int* init_table) {
609 struct trace_t trace = {NULL, "parser_prod::APackagedecl::empty_init (src/parser//parser_prod.nit:226,5--27)"};
610 trace.prev = tracehead; tracehead = &trace;
611 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APackagedecl].i]) return;
612 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APackagedecl].i] = 1;
613 tracehead = trace.prev;
614 return;
615 }
616 void parser_prod___APackagedecl___init_apackagedecl(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
617 struct trace_t trace = {NULL, "parser_prod::APackagedecl::init_apackagedecl (src/parser//parser_prod.nit:228,5--244:20)"};
618 val_t variable0;
619 val_t variable1;
620 val_t variable2;
621 val_t variable3;
622 trace.prev = tracehead; tracehead = &trace;
623 variable0 = param0;
624 variable1 = param1;
625 variable2 = param2;
626 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APackagedecl].i]) return;
627 ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/ = variable0 /*n_doc*/;
628 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*/) /*PDoc::==*/)))))));
629 if (UNTAG_Bool(variable3)) { /*if*/
630 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/, self) /*PDoc::parent=*/;
631 }
632 ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/ = variable1 /*n_kwpackage*/;
633 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*/) /*TKwpackage::==*/)))))));
634 if (UNTAG_Bool(variable3)) { /*if*/
635 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwpackage*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwpackage*/, self) /*TKwpackage::parent=*/;
636 }
637 ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/ = variable2 /*n_id*/;
638 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*/) /*TId::==*/)))))));
639 if (UNTAG_Bool(variable3)) { /*if*/
640 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_id*/, self) /*TId::parent=*/;
641 }
642 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APackagedecl].i] = 1;
643 tracehead = trace.prev;
644 return;
645 }
646 void parser_prod___APackagedecl___replace_child(val_t self, val_t param0, val_t param1) {
647 struct trace_t trace = {NULL, "parser_prod::APackagedecl::replace_child (src/parser//parser_prod.nit:248,5--279:18)"};
648 val_t variable0;
649 val_t variable1;
650 val_t variable2;
651 trace.prev = tracehead; tracehead = &trace;
652 variable0 = param0;
653 variable1 = param1;
654 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*/) /*PNode::==*/)))))));
655 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:250,9--32\n"); nit_exit(1);}
656 variable2 = ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/;
657 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*/) /*PDoc::==*/)))));
658 if (UNTAG_Bool(variable2)) { /*if*/
659 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*/) /*PNode::==*/)))))));
660 if (UNTAG_Bool(variable2)) { /*if*/
661 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
662 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
663 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:254,3--27\n"); nit_exit(1);}
664 ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/ = variable1 /*new_child*/;
665 } else { /*if*/
666 ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/ = NIT_NULL /*null*/;
667 }
668 goto return_label28;
669 }
670 variable2 = ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/;
671 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*/) /*TKwpackage::==*/)))));
672 if (UNTAG_Bool(variable2)) { /*if*/
673 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*/) /*PNode::==*/)))))));
674 if (UNTAG_Bool(variable2)) { /*if*/
675 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
676 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwpackage, ID_TKwpackage)) /*cast TKwpackage*/;
677 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:264,3--33\n"); nit_exit(1);}
678 ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/ = variable1 /*new_child*/;
679 } else { /*if*/
680 ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/ = NIT_NULL /*null*/;
681 }
682 goto return_label28;
683 }
684 variable2 = ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/;
685 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*/) /*TId::==*/)))));
686 if (UNTAG_Bool(variable2)) { /*if*/
687 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*/) /*PNode::==*/)))))));
688 if (UNTAG_Bool(variable2)) { /*if*/
689 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
690 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
691 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:274,3--26\n"); nit_exit(1);}
692 ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/ = variable1 /*new_child*/;
693 } else { /*if*/
694 ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/ = NIT_NULL /*null*/;
695 }
696 goto return_label28;
697 }
698 return_label28: while(false);
699 tracehead = trace.prev;
700 return;
701 }
702 void parser_prod___APackagedecl___visit_all(val_t self, val_t param0) {
703 struct trace_t trace = {NULL, "parser_prod::APackagedecl::visit_all (src/parser//parser_prod.nit:283,5--292:25)"};
704 val_t variable0;
705 val_t variable1;
706 trace.prev = tracehead; tracehead = &trace;
707 variable0 = param0;
708 variable1 = ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/;
709 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PDoc::==*/)))))));
710 if (UNTAG_Bool(variable1)) { /*if*/
711 variable1 = ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/;
712 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
713 }
714 variable1 = ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/;
715 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwpackage::==*/)))))));
716 if (UNTAG_Bool(variable1)) { /*if*/
717 variable1 = ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/;
718 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
719 }
720 variable1 = ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/;
721 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
722 if (UNTAG_Bool(variable1)) { /*if*/
723 variable1 = ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/;
724 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
725 }
726 tracehead = trace.prev;
727 return;
728 }
729 void parser_prod___APackagedecl___visit_all_reverse(val_t self, val_t param0) {
730 struct trace_t trace = {NULL, "parser_prod::APackagedecl::visit_all_reverse (src/parser//parser_prod.nit:296,5--305:25)"};
731 val_t variable0;
732 val_t variable1;
733 trace.prev = tracehead; tracehead = &trace;
734 variable0 = param0;
735 variable1 = ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/;
736 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PDoc::==*/)))))));
737 if (UNTAG_Bool(variable1)) { /*if*/
738 variable1 = ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/;
739 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
740 }
741 variable1 = ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/;
742 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwpackage::==*/)))))));
743 if (UNTAG_Bool(variable1)) { /*if*/
744 variable1 = ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/;
745 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
746 }
747 variable1 = ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/;
748 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
749 if (UNTAG_Bool(variable1)) { /*if*/
750 variable1 = ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/;
751 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
752 }
753 tracehead = trace.prev;
754 return;
755 }
756 void parser_prod___AImport___n_visibility__eq(val_t self, val_t param0) {
757 struct trace_t trace = {NULL, "parser_prod::AImport::n_visibility= (src/parser//parser_prod.nit:310,5--314:20)"};
758 val_t variable0;
759 val_t variable1;
760 trace.prev = tracehead; tracehead = &trace;
761 variable0 = param0;
762 ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/ = variable0 /*n*/;
763 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*/) /*PVisibility::==*/)))))));
764 if (UNTAG_Bool(variable1)) { /*if*/
765 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PVisibility::parent=*/;
766 }
767 tracehead = trace.prev;
768 return;
769 }
770 void parser_prod___AImport___n_kwimport__eq(val_t self, val_t param0) {
771 struct trace_t trace = {NULL, "parser_prod::AImport::n_kwimport= (src/parser//parser_prod.nit:317,5--321:20)"};
772 val_t variable0;
773 val_t variable1;
774 trace.prev = tracehead; tracehead = &trace;
775 variable0 = param0;
776 ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/ = variable0 /*n*/;
777 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*/) /*TKwimport::==*/)))))));
778 if (UNTAG_Bool(variable1)) { /*if*/
779 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwimport::parent=*/;
780 }
781 tracehead = trace.prev;
782 return;
783 }
784 void parser_prod___AImport___n_id__eq(val_t self, val_t param0) {
785 struct trace_t trace = {NULL, "parser_prod::AImport::n_id= (src/parser//parser_prod.nit:324,5--328:20)"};
786 val_t variable0;
787 val_t variable1;
788 trace.prev = tracehead; tracehead = &trace;
789 variable0 = param0;
790 ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/ = variable0 /*n*/;
791 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*/) /*TId::==*/)))))));
792 if (UNTAG_Bool(variable1)) { /*if*/
793 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TId::parent=*/;
794 }
795 tracehead = trace.prev;
796 return;
797 }
798 void parser_prod___AImport___empty_init(val_t self, int* init_table) {
799 struct trace_t trace = {NULL, "parser_prod::AImport::empty_init (src/parser//parser_prod.nit:332,5--27)"};
800 trace.prev = tracehead; tracehead = &trace;
801 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImport].i]) return;
802 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImport].i] = 1;
803 tracehead = trace.prev;
804 return;
805 }
806 void parser_prod___AImport___init_aimport(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
807 struct trace_t trace = {NULL, "parser_prod::AImport::init_aimport (src/parser//parser_prod.nit:334,5--350:20)"};
808 val_t variable0;
809 val_t variable1;
810 val_t variable2;
811 val_t variable3;
812 trace.prev = tracehead; tracehead = &trace;
813 variable0 = param0;
814 variable1 = param1;
815 variable2 = param2;
816 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImport].i]) return;
817 ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/ = variable0 /*n_visibility*/;
818 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*/) /*PVisibility::==*/)))))));
819 if (UNTAG_Bool(variable3)) { /*if*/
820 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_visibility*/, self) /*PVisibility::parent=*/;
821 }
822 ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/ = variable1 /*n_kwimport*/;
823 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*/) /*TKwimport::==*/)))))));
824 if (UNTAG_Bool(variable3)) { /*if*/
825 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwimport*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwimport*/, self) /*TKwimport::parent=*/;
826 }
827 ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/ = variable2 /*n_id*/;
828 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*/) /*TId::==*/)))))));
829 if (UNTAG_Bool(variable3)) { /*if*/
830 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_id*/, self) /*TId::parent=*/;
831 }
832 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImport].i] = 1;
833 tracehead = trace.prev;
834 return;
835 }
836 void parser_prod___AImport___replace_child(val_t self, val_t param0, val_t param1) {
837 struct trace_t trace = {NULL, "parser_prod::AImport::replace_child (src/parser//parser_prod.nit:354,5--385:18)"};
838 val_t variable0;
839 val_t variable1;
840 val_t variable2;
841 trace.prev = tracehead; tracehead = &trace;
842 variable0 = param0;
843 variable1 = param1;
844 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*/) /*PNode::==*/)))))));
845 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:356,9--32\n"); nit_exit(1);}
846 variable2 = ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/;
847 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*/) /*PVisibility::==*/)))));
848 if (UNTAG_Bool(variable2)) { /*if*/
849 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*/) /*PNode::==*/)))))));
850 if (UNTAG_Bool(variable2)) { /*if*/
851 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
852 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
853 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:360,3--34\n"); nit_exit(1);}
854 ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/ = variable1 /*new_child*/;
855 } else { /*if*/
856 ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/ = NIT_NULL /*null*/;
857 }
858 goto return_label36;
859 }
860 variable2 = ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/;
861 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*/) /*TKwimport::==*/)))));
862 if (UNTAG_Bool(variable2)) { /*if*/
863 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*/) /*PNode::==*/)))))));
864 if (UNTAG_Bool(variable2)) { /*if*/
865 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
866 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwimport, ID_TKwimport)) /*cast TKwimport*/;
867 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:370,3--32\n"); nit_exit(1);}
868 ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/ = variable1 /*new_child*/;
869 } else { /*if*/
870 ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/ = NIT_NULL /*null*/;
871 }
872 goto return_label36;
873 }
874 variable2 = ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/;
875 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*/) /*TId::==*/)))));
876 if (UNTAG_Bool(variable2)) { /*if*/
877 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*/) /*PNode::==*/)))))));
878 if (UNTAG_Bool(variable2)) { /*if*/
879 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
880 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
881 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:380,3--26\n"); nit_exit(1);}
882 ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/ = variable1 /*new_child*/;
883 } else { /*if*/
884 ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/ = NIT_NULL /*null*/;
885 }
886 goto return_label36;
887 }
888 return_label36: while(false);
889 tracehead = trace.prev;
890 return;
891 }
892 void parser_prod___AImport___visit_all(val_t self, val_t param0) {
893 struct trace_t trace = {NULL, "parser_prod::AImport::visit_all (src/parser//parser_prod.nit:389,5--398:25)"};
894 val_t variable0;
895 val_t variable1;
896 trace.prev = tracehead; tracehead = &trace;
897 variable0 = param0;
898 variable1 = ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/;
899 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PVisibility::==*/)))))));
900 if (UNTAG_Bool(variable1)) { /*if*/
901 variable1 = ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/;
902 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
903 }
904 variable1 = ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/;
905 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwimport::==*/)))))));
906 if (UNTAG_Bool(variable1)) { /*if*/
907 variable1 = ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/;
908 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
909 }
910 variable1 = ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/;
911 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
912 if (UNTAG_Bool(variable1)) { /*if*/
913 variable1 = ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/;
914 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
915 }
916 tracehead = trace.prev;
917 return;
918 }
919 void parser_prod___AImport___visit_all_reverse(val_t self, val_t param0) {
920 struct trace_t trace = {NULL, "parser_prod::AImport::visit_all_reverse (src/parser//parser_prod.nit:402,5--411:25)"};
921 val_t variable0;
922 val_t variable1;
923 trace.prev = tracehead; tracehead = &trace;
924 variable0 = param0;
925 variable1 = ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/;
926 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PVisibility::==*/)))))));
927 if (UNTAG_Bool(variable1)) { /*if*/
928 variable1 = ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/;
929 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
930 }
931 variable1 = ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/;
932 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwimport::==*/)))))));
933 if (UNTAG_Bool(variable1)) { /*if*/
934 variable1 = ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/;
935 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
936 }
937 variable1 = ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/;
938 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
939 if (UNTAG_Bool(variable1)) { /*if*/
940 variable1 = ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/;
941 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
942 }
943 tracehead = trace.prev;
944 return;
945 }
946 void parser_prod___ANoImport___n_visibility__eq(val_t self, val_t param0) {
947 struct trace_t trace = {NULL, "parser_prod::ANoImport::n_visibility= (src/parser//parser_prod.nit:416,5--420:20)"};
948 val_t variable0;
949 val_t variable1;
950 trace.prev = tracehead; tracehead = &trace;
951 variable0 = param0;
952 ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/ = variable0 /*n*/;
953 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*/) /*PVisibility::==*/)))))));
954 if (UNTAG_Bool(variable1)) { /*if*/
955 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PVisibility::parent=*/;
956 }
957 tracehead = trace.prev;
958 return;
959 }
960 void parser_prod___ANoImport___n_kwimport__eq(val_t self, val_t param0) {
961 struct trace_t trace = {NULL, "parser_prod::ANoImport::n_kwimport= (src/parser//parser_prod.nit:423,5--427:20)"};
962 val_t variable0;
963 val_t variable1;
964 trace.prev = tracehead; tracehead = &trace;
965 variable0 = param0;
966 ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/ = variable0 /*n*/;
967 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*/) /*TKwimport::==*/)))))));
968 if (UNTAG_Bool(variable1)) { /*if*/
969 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwimport::parent=*/;
970 }
971 tracehead = trace.prev;
972 return;
973 }
974 void parser_prod___ANoImport___n_kwend__eq(val_t self, val_t param0) {
975 struct trace_t trace = {NULL, "parser_prod::ANoImport::n_kwend= (src/parser//parser_prod.nit:430,5--434:20)"};
976 val_t variable0;
977 val_t variable1;
978 trace.prev = tracehead; tracehead = &trace;
979 variable0 = param0;
980 ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/ = variable0 /*n*/;
981 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*/) /*TKwend::==*/)))))));
982 if (UNTAG_Bool(variable1)) { /*if*/
983 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwend::parent=*/;
984 }
985 tracehead = trace.prev;
986 return;
987 }
988 void parser_prod___ANoImport___empty_init(val_t self, int* init_table) {
989 struct trace_t trace = {NULL, "parser_prod::ANoImport::empty_init (src/parser//parser_prod.nit:438,5--27)"};
990 trace.prev = tracehead; tracehead = &trace;
991 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANoImport].i]) return;
992 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANoImport].i] = 1;
993 tracehead = trace.prev;
994 return;
995 }
996 void parser_prod___ANoImport___init_anoimport(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
997 struct trace_t trace = {NULL, "parser_prod::ANoImport::init_anoimport (src/parser//parser_prod.nit:440,5--456:23)"};
998 val_t variable0;
999 val_t variable1;
1000 val_t variable2;
1001 val_t variable3;
1002 trace.prev = tracehead; tracehead = &trace;
1003 variable0 = param0;
1004 variable1 = param1;
1005 variable2 = param2;
1006 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANoImport].i]) return;
1007 ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/ = variable0 /*n_visibility*/;
1008 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*/) /*PVisibility::==*/)))))));
1009 if (UNTAG_Bool(variable3)) { /*if*/
1010 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_visibility*/, self) /*PVisibility::parent=*/;
1011 }
1012 ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/ = variable1 /*n_kwimport*/;
1013 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*/) /*TKwimport::==*/)))))));
1014 if (UNTAG_Bool(variable3)) { /*if*/
1015 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwimport*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwimport*/, self) /*TKwimport::parent=*/;
1016 }
1017 ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/ = variable2 /*n_kwend*/;
1018 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*/) /*TKwend::==*/)))))));
1019 if (UNTAG_Bool(variable3)) { /*if*/
1020 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_kwend*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_kwend*/, self) /*TKwend::parent=*/;
1021 }
1022 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANoImport].i] = 1;
1023 tracehead = trace.prev;
1024 return;
1025 }
1026 void parser_prod___ANoImport___replace_child(val_t self, val_t param0, val_t param1) {
1027 struct trace_t trace = {NULL, "parser_prod::ANoImport::replace_child (src/parser//parser_prod.nit:460,5--491:18)"};
1028 val_t variable0;
1029 val_t variable1;
1030 val_t variable2;
1031 trace.prev = tracehead; tracehead = &trace;
1032 variable0 = param0;
1033 variable1 = param1;
1034 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*/) /*PNode::==*/)))))));
1035 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:462,9--32\n"); nit_exit(1);}
1036 variable2 = ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/;
1037 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*/) /*PVisibility::==*/)))));
1038 if (UNTAG_Bool(variable2)) { /*if*/
1039 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*/) /*PNode::==*/)))))));
1040 if (UNTAG_Bool(variable2)) { /*if*/
1041 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
1042 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
1043 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:466,3--34\n"); nit_exit(1);}
1044 ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/ = variable1 /*new_child*/;
1045 } else { /*if*/
1046 ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/ = NIT_NULL /*null*/;
1047 }
1048 goto return_label44;
1049 }
1050 variable2 = ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/;
1051 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*/) /*TKwimport::==*/)))));
1052 if (UNTAG_Bool(variable2)) { /*if*/
1053 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*/) /*PNode::==*/)))))));
1054 if (UNTAG_Bool(variable2)) { /*if*/
1055 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
1056 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwimport, ID_TKwimport)) /*cast TKwimport*/;
1057 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:476,3--32\n"); nit_exit(1);}
1058 ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/ = variable1 /*new_child*/;
1059 } else { /*if*/
1060 ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/ = NIT_NULL /*null*/;
1061 }
1062 goto return_label44;
1063 }
1064 variable2 = ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/;
1065 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*/) /*TKwend::==*/)))));
1066 if (UNTAG_Bool(variable2)) { /*if*/
1067 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*/) /*PNode::==*/)))))));
1068 if (UNTAG_Bool(variable2)) { /*if*/
1069 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
1070 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwend, ID_TKwend)) /*cast TKwend*/;
1071 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:486,3--29\n"); nit_exit(1);}
1072 ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/ = variable1 /*new_child*/;
1073 } else { /*if*/
1074 ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/ = NIT_NULL /*null*/;
1075 }
1076 goto return_label44;
1077 }
1078 return_label44: while(false);
1079 tracehead = trace.prev;
1080 return;
1081 }
1082 void parser_prod___ANoImport___visit_all(val_t self, val_t param0) {
1083 struct trace_t trace = {NULL, "parser_prod::ANoImport::visit_all (src/parser//parser_prod.nit:495,5--504:28)"};
1084 val_t variable0;
1085 val_t variable1;
1086 trace.prev = tracehead; tracehead = &trace;
1087 variable0 = param0;
1088 variable1 = ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/;
1089 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PVisibility::==*/)))))));
1090 if (UNTAG_Bool(variable1)) { /*if*/
1091 variable1 = ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/;
1092 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1093 }
1094 variable1 = ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/;
1095 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwimport::==*/)))))));
1096 if (UNTAG_Bool(variable1)) { /*if*/
1097 variable1 = ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/;
1098 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1099 }
1100 variable1 = ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/;
1101 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwend::==*/)))))));
1102 if (UNTAG_Bool(variable1)) { /*if*/
1103 variable1 = ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/;
1104 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1105 }
1106 tracehead = trace.prev;
1107 return;
1108 }
1109 void parser_prod___ANoImport___visit_all_reverse(val_t self, val_t param0) {
1110 struct trace_t trace = {NULL, "parser_prod::ANoImport::visit_all_reverse (src/parser//parser_prod.nit:508,5--517:28)"};
1111 val_t variable0;
1112 val_t variable1;
1113 trace.prev = tracehead; tracehead = &trace;
1114 variable0 = param0;
1115 variable1 = ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/;
1116 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PVisibility::==*/)))))));
1117 if (UNTAG_Bool(variable1)) { /*if*/
1118 variable1 = ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/;
1119 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1120 }
1121 variable1 = ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/;
1122 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwimport::==*/)))))));
1123 if (UNTAG_Bool(variable1)) { /*if*/
1124 variable1 = ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/;
1125 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1126 }
1127 variable1 = ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/;
1128 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwend::==*/)))))));
1129 if (UNTAG_Bool(variable1)) { /*if*/
1130 variable1 = ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/;
1131 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1132 }
1133 tracehead = trace.prev;
1134 return;
1135 }
1136 void parser_prod___APublicVisibility___empty_init(val_t self, int* init_table) {
1137 struct trace_t trace = {NULL, "parser_prod::APublicVisibility::empty_init (src/parser//parser_prod.nit:523,5--27)"};
1138 trace.prev = tracehead; tracehead = &trace;
1139 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APublicVisibility].i]) return;
1140 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APublicVisibility].i] = 1;
1141 tracehead = trace.prev;
1142 return;
1143 }
1144 void parser_prod___APublicVisibility___init_apublicvisibility(val_t self, int* init_table) {
1145 struct trace_t trace = {NULL, "parser_prod::APublicVisibility::init_apublicvisibility (src/parser//parser_prod.nit:525,5--31)"};
1146 trace.prev = tracehead; tracehead = &trace;
1147 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APublicVisibility].i]) return;
1148 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APublicVisibility].i] = 1;
1149 tracehead = trace.prev;
1150 return;
1151 }
1152 void parser_prod___APublicVisibility___replace_child(val_t self, val_t param0, val_t param1) {
1153 struct trace_t trace = {NULL, "parser_prod::APublicVisibility::replace_child (src/parser//parser_prod.nit:529,5--531:32)"};
1154 val_t variable0;
1155 val_t variable1;
1156 val_t variable2;
1157 trace.prev = tracehead; tracehead = &trace;
1158 variable0 = param0;
1159 variable1 = param1;
1160 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*/) /*PNode::==*/)))))));
1161 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:531,9--32\n"); nit_exit(1);}
1162 tracehead = trace.prev;
1163 return;
1164 }
1165 void parser_prod___APublicVisibility___visit_all(val_t self, val_t param0) {
1166 struct trace_t trace = {NULL, "parser_prod::APublicVisibility::visit_all (src/parser//parser_prod.nit:534,5--35)"};
1167 val_t variable0;
1168 trace.prev = tracehead; tracehead = &trace;
1169 variable0 = param0;
1170 tracehead = trace.prev;
1171 return;
1172 }
1173 void parser_prod___APublicVisibility___visit_all_reverse(val_t self, val_t param0) {
1174 struct trace_t trace = {NULL, "parser_prod::APublicVisibility::visit_all_reverse (src/parser//parser_prod.nit:538,5--43)"};
1175 val_t variable0;
1176 trace.prev = tracehead; tracehead = &trace;
1177 variable0 = param0;
1178 tracehead = trace.prev;
1179 return;
1180 }
1181 void parser_prod___APrivateVisibility___n_kwprivate__eq(val_t self, val_t param0) {
1182 struct trace_t trace = {NULL, "parser_prod::APrivateVisibility::n_kwprivate= (src/parser//parser_prod.nit:543,5--547:20)"};
1183 val_t variable0;
1184 val_t variable1;
1185 trace.prev = tracehead; tracehead = &trace;
1186 variable0 = param0;
1187 ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/ = variable0 /*n*/;
1188 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*/) /*TKwprivate::==*/)))))));
1189 if (UNTAG_Bool(variable1)) { /*if*/
1190 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwprivate::parent=*/;
1191 }
1192 tracehead = trace.prev;
1193 return;
1194 }
1195 void parser_prod___APrivateVisibility___empty_init(val_t self, int* init_table) {
1196 struct trace_t trace = {NULL, "parser_prod::APrivateVisibility::empty_init (src/parser//parser_prod.nit:551,5--27)"};
1197 trace.prev = tracehead; tracehead = &trace;
1198 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APrivateVisibility].i]) return;
1199 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APrivateVisibility].i] = 1;
1200 tracehead = trace.prev;
1201 return;
1202 }
1203 void parser_prod___APrivateVisibility___init_aprivatevisibility(val_t self, val_t param0, int* init_table) {
1204 struct trace_t trace = {NULL, "parser_prod::APrivateVisibility::init_aprivatevisibility (src/parser//parser_prod.nit:553,5--559:27)"};
1205 val_t variable0;
1206 val_t variable1;
1207 trace.prev = tracehead; tracehead = &trace;
1208 variable0 = param0;
1209 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APrivateVisibility].i]) return;
1210 ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/ = variable0 /*n_kwprivate*/;
1211 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*/) /*TKwprivate::==*/)))))));
1212 if (UNTAG_Bool(variable1)) { /*if*/
1213 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwprivate*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwprivate*/, self) /*TKwprivate::parent=*/;
1214 }
1215 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APrivateVisibility].i] = 1;
1216 tracehead = trace.prev;
1217 return;
1218 }
1219 void parser_prod___APrivateVisibility___replace_child(val_t self, val_t param0, val_t param1) {
1220 struct trace_t trace = {NULL, "parser_prod::APrivateVisibility::replace_child (src/parser//parser_prod.nit:563,5--574:18)"};
1221 val_t variable0;
1222 val_t variable1;
1223 val_t variable2;
1224 trace.prev = tracehead; tracehead = &trace;
1225 variable0 = param0;
1226 variable1 = param1;
1227 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*/) /*PNode::==*/)))))));
1228 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:565,9--32\n"); nit_exit(1);}
1229 variable2 = ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/;
1230 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*/) /*TKwprivate::==*/)))));
1231 if (UNTAG_Bool(variable2)) { /*if*/
1232 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*/) /*PNode::==*/)))))));
1233 if (UNTAG_Bool(variable2)) { /*if*/
1234 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
1235 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwprivate, ID_TKwprivate)) /*cast TKwprivate*/;
1236 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:569,3--33\n"); nit_exit(1);}
1237 ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/ = variable1 /*new_child*/;
1238 } else { /*if*/
1239 ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/ = NIT_NULL /*null*/;
1240 }
1241 goto return_label55;
1242 }
1243 return_label55: while(false);
1244 tracehead = trace.prev;
1245 return;
1246 }
1247 void parser_prod___APrivateVisibility___visit_all(val_t self, val_t param0) {
1248 struct trace_t trace = {NULL, "parser_prod::APrivateVisibility::visit_all (src/parser//parser_prod.nit:578,5--581:32)"};
1249 val_t variable0;
1250 val_t variable1;
1251 trace.prev = tracehead; tracehead = &trace;
1252 variable0 = param0;
1253 variable1 = ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/;
1254 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwprivate::==*/)))))));
1255 if (UNTAG_Bool(variable1)) { /*if*/
1256 variable1 = ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/;
1257 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1258 }
1259 tracehead = trace.prev;
1260 return;
1261 }
1262 void parser_prod___APrivateVisibility___visit_all_reverse(val_t self, val_t param0) {
1263 struct trace_t trace = {NULL, "parser_prod::APrivateVisibility::visit_all_reverse (src/parser//parser_prod.nit:585,5--588:32)"};
1264 val_t variable0;
1265 val_t variable1;
1266 trace.prev = tracehead; tracehead = &trace;
1267 variable0 = param0;
1268 variable1 = ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/;
1269 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwprivate::==*/)))))));
1270 if (UNTAG_Bool(variable1)) { /*if*/
1271 variable1 = ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/;
1272 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1273 }
1274 tracehead = trace.prev;
1275 return;
1276 }
1277 void parser_prod___AProtectedVisibility___n_kwprotected__eq(val_t self, val_t param0) {
1278 struct trace_t trace = {NULL, "parser_prod::AProtectedVisibility::n_kwprotected= (src/parser//parser_prod.nit:593,5--597:20)"};
1279 val_t variable0;
1280 val_t variable1;
1281 trace.prev = tracehead; tracehead = &trace;
1282 variable0 = param0;
1283 ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/ = variable0 /*n*/;
1284 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*/) /*TKwprotected::==*/)))))));
1285 if (UNTAG_Bool(variable1)) { /*if*/
1286 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwprotected::parent=*/;
1287 }
1288 tracehead = trace.prev;
1289 return;
1290 }
1291 void parser_prod___AProtectedVisibility___empty_init(val_t self, int* init_table) {
1292 struct trace_t trace = {NULL, "parser_prod::AProtectedVisibility::empty_init (src/parser//parser_prod.nit:601,5--27)"};
1293 trace.prev = tracehead; tracehead = &trace;
1294 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AProtectedVisibility].i]) return;
1295 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AProtectedVisibility].i] = 1;
1296 tracehead = trace.prev;
1297 return;
1298 }
1299 void parser_prod___AProtectedVisibility___init_aprotectedvisibility(val_t self, val_t param0, int* init_table) {
1300 struct trace_t trace = {NULL, "parser_prod::AProtectedVisibility::init_aprotectedvisibility (src/parser//parser_prod.nit:603,5--609:29)"};
1301 val_t variable0;
1302 val_t variable1;
1303 trace.prev = tracehead; tracehead = &trace;
1304 variable0 = param0;
1305 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AProtectedVisibility].i]) return;
1306 ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/ = variable0 /*n_kwprotected*/;
1307 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*/) /*TKwprotected::==*/)))))));
1308 if (UNTAG_Bool(variable1)) { /*if*/
1309 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwprotected*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwprotected*/, self) /*TKwprotected::parent=*/;
1310 }
1311 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AProtectedVisibility].i] = 1;
1312 tracehead = trace.prev;
1313 return;
1314 }
1315 void parser_prod___AProtectedVisibility___replace_child(val_t self, val_t param0, val_t param1) {
1316 struct trace_t trace = {NULL, "parser_prod::AProtectedVisibility::replace_child (src/parser//parser_prod.nit:613,5--624:18)"};
1317 val_t variable0;
1318 val_t variable1;
1319 val_t variable2;
1320 trace.prev = tracehead; tracehead = &trace;
1321 variable0 = param0;
1322 variable1 = param1;
1323 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*/) /*PNode::==*/)))))));
1324 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:615,9--32\n"); nit_exit(1);}
1325 variable2 = ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/;
1326 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*/) /*TKwprotected::==*/)))));
1327 if (UNTAG_Bool(variable2)) { /*if*/
1328 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*/) /*PNode::==*/)))))));
1329 if (UNTAG_Bool(variable2)) { /*if*/
1330 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
1331 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwprotected, ID_TKwprotected)) /*cast TKwprotected*/;
1332 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:619,3--35\n"); nit_exit(1);}
1333 ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/ = variable1 /*new_child*/;
1334 } else { /*if*/
1335 ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/ = NIT_NULL /*null*/;
1336 }
1337 goto return_label61;
1338 }
1339 return_label61: while(false);
1340 tracehead = trace.prev;
1341 return;
1342 }
1343 void parser_prod___AProtectedVisibility___visit_all(val_t self, val_t param0) {
1344 struct trace_t trace = {NULL, "parser_prod::AProtectedVisibility::visit_all (src/parser//parser_prod.nit:628,5--631:34)"};
1345 val_t variable0;
1346 val_t variable1;
1347 trace.prev = tracehead; tracehead = &trace;
1348 variable0 = param0;
1349 variable1 = ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/;
1350 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwprotected::==*/)))))));
1351 if (UNTAG_Bool(variable1)) { /*if*/
1352 variable1 = ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/;
1353 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1354 }
1355 tracehead = trace.prev;
1356 return;
1357 }
1358 void parser_prod___AProtectedVisibility___visit_all_reverse(val_t self, val_t param0) {
1359 struct trace_t trace = {NULL, "parser_prod::AProtectedVisibility::visit_all_reverse (src/parser//parser_prod.nit:635,5--638:34)"};
1360 val_t variable0;
1361 val_t variable1;
1362 trace.prev = tracehead; tracehead = &trace;
1363 variable0 = param0;
1364 variable1 = ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/;
1365 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwprotected::==*/)))))));
1366 if (UNTAG_Bool(variable1)) { /*if*/
1367 variable1 = ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/;
1368 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1369 }
1370 tracehead = trace.prev;
1371 return;
1372 }
1373 void parser_prod___AIntrudeVisibility___n_kwintrude__eq(val_t self, val_t param0) {
1374 struct trace_t trace = {NULL, "parser_prod::AIntrudeVisibility::n_kwintrude= (src/parser//parser_prod.nit:643,5--647:20)"};
1375 val_t variable0;
1376 val_t variable1;
1377 trace.prev = tracehead; tracehead = &trace;
1378 variable0 = param0;
1379 ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/ = variable0 /*n*/;
1380 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*/) /*TKwintrude::==*/)))))));
1381 if (UNTAG_Bool(variable1)) { /*if*/
1382 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwintrude::parent=*/;
1383 }
1384 tracehead = trace.prev;
1385 return;
1386 }
1387 void parser_prod___AIntrudeVisibility___empty_init(val_t self, int* init_table) {
1388 struct trace_t trace = {NULL, "parser_prod::AIntrudeVisibility::empty_init (src/parser//parser_prod.nit:651,5--27)"};
1389 trace.prev = tracehead; tracehead = &trace;
1390 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntrudeVisibility].i]) return;
1391 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntrudeVisibility].i] = 1;
1392 tracehead = trace.prev;
1393 return;
1394 }
1395 void parser_prod___AIntrudeVisibility___init_aintrudevisibility(val_t self, val_t param0, int* init_table) {
1396 struct trace_t trace = {NULL, "parser_prod::AIntrudeVisibility::init_aintrudevisibility (src/parser//parser_prod.nit:653,5--659:27)"};
1397 val_t variable0;
1398 val_t variable1;
1399 trace.prev = tracehead; tracehead = &trace;
1400 variable0 = param0;
1401 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntrudeVisibility].i]) return;
1402 ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/ = variable0 /*n_kwintrude*/;
1403 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*/) /*TKwintrude::==*/)))))));
1404 if (UNTAG_Bool(variable1)) { /*if*/
1405 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwintrude*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwintrude*/, self) /*TKwintrude::parent=*/;
1406 }
1407 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntrudeVisibility].i] = 1;
1408 tracehead = trace.prev;
1409 return;
1410 }
1411 void parser_prod___AIntrudeVisibility___replace_child(val_t self, val_t param0, val_t param1) {
1412 struct trace_t trace = {NULL, "parser_prod::AIntrudeVisibility::replace_child (src/parser//parser_prod.nit:663,5--674:18)"};
1413 val_t variable0;
1414 val_t variable1;
1415 val_t variable2;
1416 trace.prev = tracehead; tracehead = &trace;
1417 variable0 = param0;
1418 variable1 = param1;
1419 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*/) /*PNode::==*/)))))));
1420 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:665,9--32\n"); nit_exit(1);}
1421 variable2 = ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/;
1422 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*/) /*TKwintrude::==*/)))));
1423 if (UNTAG_Bool(variable2)) { /*if*/
1424 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*/) /*PNode::==*/)))))));
1425 if (UNTAG_Bool(variable2)) { /*if*/
1426 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
1427 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwintrude, ID_TKwintrude)) /*cast TKwintrude*/;
1428 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:669,3--33\n"); nit_exit(1);}
1429 ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/ = variable1 /*new_child*/;
1430 } else { /*if*/
1431 ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/ = NIT_NULL /*null*/;
1432 }
1433 goto return_label67;
1434 }
1435 return_label67: while(false);
1436 tracehead = trace.prev;
1437 return;
1438 }
1439 void parser_prod___AIntrudeVisibility___visit_all(val_t self, val_t param0) {
1440 struct trace_t trace = {NULL, "parser_prod::AIntrudeVisibility::visit_all (src/parser//parser_prod.nit:678,5--681:32)"};
1441 val_t variable0;
1442 val_t variable1;
1443 trace.prev = tracehead; tracehead = &trace;
1444 variable0 = param0;
1445 variable1 = ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/;
1446 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwintrude::==*/)))))));
1447 if (UNTAG_Bool(variable1)) { /*if*/
1448 variable1 = ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/;
1449 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1450 }
1451 tracehead = trace.prev;
1452 return;
1453 }
1454 void parser_prod___AIntrudeVisibility___visit_all_reverse(val_t self, val_t param0) {
1455 struct trace_t trace = {NULL, "parser_prod::AIntrudeVisibility::visit_all_reverse (src/parser//parser_prod.nit:685,5--688:32)"};
1456 val_t variable0;
1457 val_t variable1;
1458 trace.prev = tracehead; tracehead = &trace;
1459 variable0 = param0;
1460 variable1 = ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/;
1461 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwintrude::==*/)))))));
1462 if (UNTAG_Bool(variable1)) { /*if*/
1463 variable1 = ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/;
1464 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1465 }
1466 tracehead = trace.prev;
1467 return;
1468 }
1469 void parser_prod___AClassdef___n_doc__eq(val_t self, val_t param0) {
1470 struct trace_t trace = {NULL, "parser_prod::AClassdef::n_doc= (src/parser//parser_prod.nit:693,5--697:20)"};
1471 val_t variable0;
1472 val_t variable1;
1473 trace.prev = tracehead; tracehead = &trace;
1474 variable0 = param0;
1475 ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/ = variable0 /*n*/;
1476 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*/) /*PDoc::==*/)))))));
1477 if (UNTAG_Bool(variable1)) { /*if*/
1478 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PDoc::parent=*/;
1479 }
1480 tracehead = trace.prev;
1481 return;
1482 }
1483 void parser_prod___AClassdef___n_kwredef__eq(val_t self, val_t param0) {
1484 struct trace_t trace = {NULL, "parser_prod::AClassdef::n_kwredef= (src/parser//parser_prod.nit:700,5--704:20)"};
1485 val_t variable0;
1486 val_t variable1;
1487 trace.prev = tracehead; tracehead = &trace;
1488 variable0 = param0;
1489 ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/ = variable0 /*n*/;
1490 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*/) /*TKwredef::==*/)))))));
1491 if (UNTAG_Bool(variable1)) { /*if*/
1492 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwredef::parent=*/;
1493 }
1494 tracehead = trace.prev;
1495 return;
1496 }
1497 void parser_prod___AClassdef___n_visibility__eq(val_t self, val_t param0) {
1498 struct trace_t trace = {NULL, "parser_prod::AClassdef::n_visibility= (src/parser//parser_prod.nit:707,5--711:20)"};
1499 val_t variable0;
1500 val_t variable1;
1501 trace.prev = tracehead; tracehead = &trace;
1502 variable0 = param0;
1503 ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/ = variable0 /*n*/;
1504 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*/) /*PVisibility::==*/)))))));
1505 if (UNTAG_Bool(variable1)) { /*if*/
1506 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PVisibility::parent=*/;
1507 }
1508 tracehead = trace.prev;
1509 return;
1510 }
1511 void parser_prod___AClassdef___n_classkind__eq(val_t self, val_t param0) {
1512 struct trace_t trace = {NULL, "parser_prod::AClassdef::n_classkind= (src/parser//parser_prod.nit:714,5--718:20)"};
1513 val_t variable0;
1514 val_t variable1;
1515 trace.prev = tracehead; tracehead = &trace;
1516 variable0 = param0;
1517 ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/ = variable0 /*n*/;
1518 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*/) /*PClasskind::==*/)))))));
1519 if (UNTAG_Bool(variable1)) { /*if*/
1520 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PClasskind::parent=*/;
1521 }
1522 tracehead = trace.prev;
1523 return;
1524 }
1525 void parser_prod___AClassdef___n_id__eq(val_t self, val_t param0) {
1526 struct trace_t trace = {NULL, "parser_prod::AClassdef::n_id= (src/parser//parser_prod.nit:721,5--725:20)"};
1527 val_t variable0;
1528 val_t variable1;
1529 trace.prev = tracehead; tracehead = &trace;
1530 variable0 = param0;
1531 ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/ = variable0 /*n*/;
1532 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*/) /*TClassid::==*/)))))));
1533 if (UNTAG_Bool(variable1)) { /*if*/
1534 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TClassid::parent=*/;
1535 }
1536 tracehead = trace.prev;
1537 return;
1538 }
1539 void parser_prod___AClassdef___empty_init(val_t self, int* init_table) {
1540 struct trace_t trace = {NULL, "parser_prod::AClassdef::empty_init (src/parser//parser_prod.nit:729,5--27)"};
1541 trace.prev = tracehead; tracehead = &trace;
1542 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AClassdef].i]) return;
1543 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AClassdef].i] = 1;
1544 tracehead = trace.prev;
1545 return;
1546 }
1547 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) {
1548 struct trace_t trace = {NULL, "parser_prod::AClassdef::init_aclassdef (src/parser//parser_prod.nit:731,5--778:17)"};
1549 val_t variable0;
1550 val_t variable1;
1551 val_t variable2;
1552 val_t variable3;
1553 val_t variable4;
1554 val_t variable5;
1555 val_t variable6;
1556 val_t variable7;
1557 val_t variable8;
1558 val_t variable9;
1559 val_t variable10;
1560 trace.prev = tracehead; tracehead = &trace;
1561 variable0 = param0;
1562 variable1 = param1;
1563 variable2 = param2;
1564 variable3 = param3;
1565 variable4 = param4;
1566 variable5 = param5;
1567 variable6 = param6;
1568 variable7 = param7;
1569 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AClassdef].i]) return;
1570 ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/ = variable0 /*n_doc*/;
1571 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*/) /*PDoc::==*/)))))));
1572 if (UNTAG_Bool(variable8)) { /*if*/
1573 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/, self) /*PDoc::parent=*/;
1574 }
1575 ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/ = variable1 /*n_kwredef*/;
1576 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*/) /*TKwredef::==*/)))))));
1577 if (UNTAG_Bool(variable8)) { /*if*/
1578 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/, self) /*TKwredef::parent=*/;
1579 }
1580 ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/ = variable2 /*n_visibility*/;
1581 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*/) /*PVisibility::==*/)))))));
1582 if (UNTAG_Bool(variable8)) { /*if*/
1583 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/, self) /*PVisibility::parent=*/;
1584 }
1585 ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/ = variable3 /*n_classkind*/;
1586 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*/) /*PClasskind::==*/)))))));
1587 if (UNTAG_Bool(variable8)) { /*if*/
1588 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_classkind*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_classkind*/, self) /*PClasskind::parent=*/;
1589 }
1590 ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/ = variable4 /*n_id*/;
1591 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*/) /*TClassid::==*/)))))));
1592 if (UNTAG_Bool(variable8)) { /*if*/
1593 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_id*/, self) /*TClassid::parent=*/;
1594 }
1595 variable8 = NEW_list___List___init(); /*new List[PFormaldef]*/
1596 ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/ = variable8;
1597 variable8 = ((array___AbstractArray___iterator_t)CALL( variable5 /*n_formaldefs*/,COLOR_abstract_collection___Collection___iterator))( variable5 /*n_formaldefs*/) /*Array::iterator*/;
1598 while (true) { /*for*/
1599 variable9 = ((array___ArrayIterator___is_ok_t)CALL(variable8,COLOR_abstract_collection___Iterator___is_ok))(variable8) /*ArrayIterator::is_ok*/;
1600 if (!UNTAG_Bool(variable9)) break; /*for*/
1601 variable9 = ((array___ArrayIterator___item_t)CALL(variable8,COLOR_abstract_collection___Iterator___item))(variable8) /*ArrayIterator::item*/;
1602 variable10 = TAG_Bool(( variable9 /*n*/==NIT_NULL) || VAL_ISA( variable9 /*n*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
1603 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:764,3--25\n"); nit_exit(1);}
1604 variable10 = ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/;
1605 ((abstract_collection___IndexedCollection___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10, variable9 /*n*/) /*List::add*/;
1606 ((parser_prod___PNode___parent__eq_t)CALL( variable9 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable9 /*n*/, self) /*PFormaldef::parent=*/;
1607 continue_77: while(0);
1608 ((array___ArrayIterator___next_t)CALL(variable8,COLOR_abstract_collection___Iterator___next))(variable8) /*ArrayIterator::next*/;
1609 }
1610 break_77: while(0);
1611 variable8 = NEW_list___List___init(); /*new List[PSuperclass]*/
1612 ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/ = variable8;
1613 variable8 = ((array___AbstractArray___iterator_t)CALL( variable6 /*n_superclasses*/,COLOR_abstract_collection___Collection___iterator))( variable6 /*n_superclasses*/) /*Array::iterator*/;
1614 while (true) { /*for*/
1615 variable9 = ((array___ArrayIterator___is_ok_t)CALL(variable8,COLOR_abstract_collection___Iterator___is_ok))(variable8) /*ArrayIterator::is_ok*/;
1616 if (!UNTAG_Bool(variable9)) break; /*for*/
1617 variable9 = ((array___ArrayIterator___item_t)CALL(variable8,COLOR_abstract_collection___Iterator___item))(variable8) /*ArrayIterator::item*/;
1618 variable10 = TAG_Bool(( variable9 /*n*/==NIT_NULL) || VAL_ISA( variable9 /*n*/, COLOR_PSuperclass, ID_PSuperclass)) /*cast PSuperclass*/;
1619 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:770,3--26\n"); nit_exit(1);}
1620 variable10 = ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/;
1621 ((abstract_collection___IndexedCollection___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10, variable9 /*n*/) /*List::add*/;
1622 ((parser_prod___PNode___parent__eq_t)CALL( variable9 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable9 /*n*/, self) /*PSuperclass::parent=*/;
1623 continue_78: while(0);
1624 ((array___ArrayIterator___next_t)CALL(variable8,COLOR_abstract_collection___Iterator___next))(variable8) /*ArrayIterator::next*/;
1625 }
1626 break_78: while(0);
1627 variable8 = NEW_list___List___init(); /*new List[PPropdef]*/
1628 ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/ = variable8;
1629 variable8 = ((array___AbstractArray___iterator_t)CALL( variable7 /*n_propdefs*/,COLOR_abstract_collection___Collection___iterator))( variable7 /*n_propdefs*/) /*Array::iterator*/;
1630 while (true) { /*for*/
1631 variable9 = ((array___ArrayIterator___is_ok_t)CALL(variable8,COLOR_abstract_collection___Iterator___is_ok))(variable8) /*ArrayIterator::is_ok*/;
1632 if (!UNTAG_Bool(variable9)) break; /*for*/
1633 variable9 = ((array___ArrayIterator___item_t)CALL(variable8,COLOR_abstract_collection___Iterator___item))(variable8) /*ArrayIterator::item*/;
1634 variable10 = TAG_Bool(( variable9 /*n*/==NIT_NULL) || VAL_ISA( variable9 /*n*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
1635 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:776,3--23\n"); nit_exit(1);}
1636 variable10 = ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/;
1637 ((abstract_collection___IndexedCollection___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10, variable9 /*n*/) /*List::add*/;
1638 ((parser_prod___PNode___parent__eq_t)CALL( variable9 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable9 /*n*/, self) /*PPropdef::parent=*/;
1639 continue_79: while(0);
1640 ((array___ArrayIterator___next_t)CALL(variable8,COLOR_abstract_collection___Iterator___next))(variable8) /*ArrayIterator::next*/;
1641 }
1642 break_79: while(0);
1643 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AClassdef].i] = 1;
1644 tracehead = trace.prev;
1645 return;
1646 }
1647 void parser_prod___AClassdef___replace_child(val_t self, val_t param0, val_t param1) {
1648 struct trace_t trace = {NULL, "parser_prod::AClassdef::replace_child (src/parser//parser_prod.nit:782,5--868:22)"};
1649 val_t variable0;
1650 val_t variable1;
1651 val_t variable2;
1652 val_t variable3;
1653 val_t variable4;
1654 trace.prev = tracehead; tracehead = &trace;
1655 variable0 = param0;
1656 variable1 = param1;
1657 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*/) /*PNode::==*/)))))));
1658 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:784,9--32\n"); nit_exit(1);}
1659 variable2 = ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/;
1660 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*/) /*PDoc::==*/)))));
1661 if (UNTAG_Bool(variable2)) { /*if*/
1662 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*/) /*PNode::==*/)))))));
1663 if (UNTAG_Bool(variable2)) { /*if*/
1664 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
1665 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
1666 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:788,3--27\n"); nit_exit(1);}
1667 ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/ = variable1 /*new_child*/;
1668 } else { /*if*/
1669 ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/ = NIT_NULL /*null*/;
1670 }
1671 goto return_label80;
1672 }
1673 variable2 = ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/;
1674 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*/) /*TKwredef::==*/)))));
1675 if (UNTAG_Bool(variable2)) { /*if*/
1676 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*/) /*PNode::==*/)))))));
1677 if (UNTAG_Bool(variable2)) { /*if*/
1678 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
1679 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
1680 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:798,3--31\n"); nit_exit(1);}
1681 ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/ = variable1 /*new_child*/;
1682 } else { /*if*/
1683 ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/ = NIT_NULL /*null*/;
1684 }
1685 goto return_label80;
1686 }
1687 variable2 = ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/;
1688 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*/) /*PVisibility::==*/)))));
1689 if (UNTAG_Bool(variable2)) { /*if*/
1690 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*/) /*PNode::==*/)))))));
1691 if (UNTAG_Bool(variable2)) { /*if*/
1692 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
1693 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
1694 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:808,3--34\n"); nit_exit(1);}
1695 ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/ = variable1 /*new_child*/;
1696 } else { /*if*/
1697 ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/ = NIT_NULL /*null*/;
1698 }
1699 goto return_label80;
1700 }
1701 variable2 = ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/;
1702 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*/) /*PClasskind::==*/)))));
1703 if (UNTAG_Bool(variable2)) { /*if*/
1704 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*/) /*PNode::==*/)))))));
1705 if (UNTAG_Bool(variable2)) { /*if*/
1706 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
1707 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
1708 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:818,3--33\n"); nit_exit(1);}
1709 ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/ = variable1 /*new_child*/;
1710 } else { /*if*/
1711 ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/ = NIT_NULL /*null*/;
1712 }
1713 goto return_label80;
1714 }
1715 variable2 = ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/;
1716 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*/) /*TClassid::==*/)))));
1717 if (UNTAG_Bool(variable2)) { /*if*/
1718 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*/) /*PNode::==*/)))))));
1719 if (UNTAG_Bool(variable2)) { /*if*/
1720 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
1721 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
1722 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:828,3--31\n"); nit_exit(1);}
1723 ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/ = variable1 /*new_child*/;
1724 } else { /*if*/
1725 ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/ = NIT_NULL /*null*/;
1726 }
1727 goto return_label80;
1728 }
1729 variable2 = ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/;
1730 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
1731 variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
1732 variable2 = variable3;
1733 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
1734 while (true) { /*for*/
1735 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
1736 if (!UNTAG_Bool(variable3)) break; /*for*/
1737 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
1738 variable4 = ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/;
1739 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
1740 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*/) /*PFormaldef::==*/)))));
1741 if (UNTAG_Bool(variable4)) { /*if*/
1742 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*/) /*PNode::==*/)))))));
1743 if (UNTAG_Bool(variable4)) { /*if*/
1744 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
1745 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:838,7--37\n"); nit_exit(1);}
1746 variable4 = ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/;
1747 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
1748 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PFormaldef::parent=*/;
1749 } else { /*if*/
1750 variable4 = ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/;
1751 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
1752 }
1753 goto return_label80;
1754 }
1755 continue_81: while(0);
1756 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
1757 }
1758 break_81: while(0);
1759 variable2 = ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/;
1760 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
1761 variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
1762 variable2 = variable3;
1763 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
1764 while (true) { /*for*/
1765 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
1766 if (!UNTAG_Bool(variable3)) break; /*for*/
1767 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
1768 variable4 = ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/;
1769 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
1770 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*/) /*PSuperclass::==*/)))));
1771 if (UNTAG_Bool(variable4)) { /*if*/
1772 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*/) /*PNode::==*/)))))));
1773 if (UNTAG_Bool(variable4)) { /*if*/
1774 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PSuperclass, ID_PSuperclass)) /*cast PSuperclass*/;
1775 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:850,7--38\n"); nit_exit(1);}
1776 variable4 = ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/;
1777 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
1778 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PSuperclass::parent=*/;
1779 } else { /*if*/
1780 variable4 = ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/;
1781 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
1782 }
1783 goto return_label80;
1784 }
1785 continue_82: while(0);
1786 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
1787 }
1788 break_82: while(0);
1789 variable2 = ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/;
1790 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
1791 variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
1792 variable2 = variable3;
1793 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
1794 while (true) { /*for*/
1795 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
1796 if (!UNTAG_Bool(variable3)) break; /*for*/
1797 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
1798 variable4 = ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/;
1799 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
1800 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*/) /*PPropdef::==*/)))));
1801 if (UNTAG_Bool(variable4)) { /*if*/
1802 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*/) /*PNode::==*/)))))));
1803 if (UNTAG_Bool(variable4)) { /*if*/
1804 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
1805 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:862,7--35\n"); nit_exit(1);}
1806 variable4 = ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/;
1807 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
1808 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PPropdef::parent=*/;
1809 } else { /*if*/
1810 variable4 = ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/;
1811 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
1812 }
1813 goto return_label80;
1814 }
1815 continue_83: while(0);
1816 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
1817 }
1818 break_83: while(0);
1819 return_label80: while(false);
1820 tracehead = trace.prev;
1821 return;
1822 }
1823 void parser_prod___AClassdef___visit_all(val_t self, val_t param0) {
1824 struct trace_t trace = {NULL, "parser_prod::AClassdef::visit_all (src/parser//parser_prod.nit:873,5--897:25)"};
1825 val_t variable0;
1826 val_t variable1;
1827 val_t variable2;
1828 trace.prev = tracehead; tracehead = &trace;
1829 variable0 = param0;
1830 variable1 = ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/;
1831 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PDoc::==*/)))))));
1832 if (UNTAG_Bool(variable1)) { /*if*/
1833 variable1 = ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/;
1834 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1835 }
1836 variable1 = ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/;
1837 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwredef::==*/)))))));
1838 if (UNTAG_Bool(variable1)) { /*if*/
1839 variable1 = ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/;
1840 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1841 }
1842 variable1 = ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/;
1843 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PVisibility::==*/)))))));
1844 if (UNTAG_Bool(variable1)) { /*if*/
1845 variable1 = ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/;
1846 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1847 }
1848 variable1 = ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/;
1849 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PClasskind::==*/)))))));
1850 if (UNTAG_Bool(variable1)) { /*if*/
1851 variable1 = ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/;
1852 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1853 }
1854 variable1 = ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/;
1855 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TClassid::==*/)))))));
1856 if (UNTAG_Bool(variable1)) { /*if*/
1857 variable1 = ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/;
1858 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1859 }
1860 variable1 = ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/;
1861 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
1862 while (true) { /*for*/
1863 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
1864 if (!UNTAG_Bool(variable2)) break; /*for*/
1865 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
1866 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
1867 continue_85: while(0);
1868 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
1869 }
1870 break_85: while(0);
1871 variable1 = ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/;
1872 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
1873 while (true) { /*for*/
1874 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
1875 if (!UNTAG_Bool(variable2)) break; /*for*/
1876 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
1877 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
1878 continue_86: while(0);
1879 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
1880 }
1881 break_86: while(0);
1882 variable1 = ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/;
1883 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
1884 while (true) { /*for*/
1885 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
1886 if (!UNTAG_Bool(variable2)) break; /*for*/
1887 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
1888 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
1889 continue_87: while(0);
1890 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
1891 }
1892 break_87: while(0);
1893 tracehead = trace.prev;
1894 return;
1895 }
1896 void parser_prod___AClassdef___visit_all_reverse(val_t self, val_t param0) {
1897 struct trace_t trace = {NULL, "parser_prod::AClassdef::visit_all_reverse (src/parser//parser_prod.nit:901,5--936:11)"};
1898 val_t variable0;
1899 val_t variable1;
1900 val_t variable2;
1901 trace.prev = tracehead; tracehead = &trace;
1902 variable0 = param0;
1903 variable1 = ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/;
1904 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PDoc::==*/)))))));
1905 if (UNTAG_Bool(variable1)) { /*if*/
1906 variable1 = ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/;
1907 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1908 }
1909 variable1 = ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/;
1910 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwredef::==*/)))))));
1911 if (UNTAG_Bool(variable1)) { /*if*/
1912 variable1 = ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/;
1913 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1914 }
1915 variable1 = ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/;
1916 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PVisibility::==*/)))))));
1917 if (UNTAG_Bool(variable1)) { /*if*/
1918 variable1 = ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/;
1919 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1920 }
1921 variable1 = ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/;
1922 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PClasskind::==*/)))))));
1923 if (UNTAG_Bool(variable1)) { /*if*/
1924 variable1 = ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/;
1925 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1926 }
1927 variable1 = ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/;
1928 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TClassid::==*/)))))));
1929 if (UNTAG_Bool(variable1)) { /*if*/
1930 variable1 = ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/;
1931 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
1932 }
1933 variable2 = ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/;
1934 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
1935 variable1 = variable2;
1936 while (true) { /*while*/
1937 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
1938 if (!UNTAG_Bool(variable2)) break; /* while*/
1939 variable2 = ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/;
1940 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
1941 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
1942 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
1943 variable1 = variable2 /*i=*/;
1944 continue_89: while(0);
1945 }
1946 break_89: while(0);
1947 variable2 = ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/;
1948 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
1949 variable1 = variable2;
1950 while (true) { /*while*/
1951 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
1952 if (!UNTAG_Bool(variable2)) break; /* while*/
1953 variable2 = ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/;
1954 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
1955 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
1956 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
1957 variable1 = variable2 /*i=*/;
1958 continue_90: while(0);
1959 }
1960 break_90: while(0);
1961 variable2 = ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/;
1962 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
1963 variable1 = variable2;
1964 while (true) { /*while*/
1965 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
1966 if (!UNTAG_Bool(variable2)) break; /* while*/
1967 variable2 = ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/;
1968 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
1969 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
1970 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
1971 variable1 = variable2 /*i=*/;
1972 continue_91: while(0);
1973 }
1974 break_91: while(0);
1975 tracehead = trace.prev;
1976 return;
1977 }
1978 void parser_prod___ATopClassdef___empty_init(val_t self, int* init_table) {
1979 struct trace_t trace = {NULL, "parser_prod::ATopClassdef::empty_init (src/parser//parser_prod.nit:943,5--27)"};
1980 trace.prev = tracehead; tracehead = &trace;
1981 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATopClassdef].i]) return;
1982 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATopClassdef].i] = 1;
1983 tracehead = trace.prev;
1984 return;
1985 }
1986 void parser_prod___ATopClassdef___init_atopclassdef(val_t self, val_t param0, int* init_table) {
1987 struct trace_t trace = {NULL, "parser_prod::ATopClassdef::init_atopclassdef (src/parser//parser_prod.nit:945,5--953:17)"};
1988 val_t variable0;
1989 val_t variable1;
1990 val_t variable2;
1991 val_t variable3;
1992 trace.prev = tracehead; tracehead = &trace;
1993 variable0 = param0;
1994 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATopClassdef].i]) return;
1995 variable1 = NEW_list___List___init(); /*new List[PPropdef]*/
1996 ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/ = variable1;
1997 variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_propdefs*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_propdefs*/) /*Array::iterator*/;
1998 while (true) { /*for*/
1999 variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
2000 if (!UNTAG_Bool(variable2)) break; /*for*/
2001 variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
2002 variable3 = TAG_Bool(( variable2 /*n*/==NIT_NULL) || VAL_ISA( variable2 /*n*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
2003 if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:951,3--23\n"); nit_exit(1);}
2004 variable3 = ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/;
2005 ((abstract_collection___IndexedCollection___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable2 /*n*/) /*List::add*/;
2006 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n*/, self) /*PPropdef::parent=*/;
2007 continue_94: while(0);
2008 ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
2009 }
2010 break_94: while(0);
2011 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATopClassdef].i] = 1;
2012 tracehead = trace.prev;
2013 return;
2014 }
2015 void parser_prod___ATopClassdef___replace_child(val_t self, val_t param0, val_t param1) {
2016 struct trace_t trace = {NULL, "parser_prod::ATopClassdef::replace_child (src/parser//parser_prod.nit:957,5--969:22)"};
2017 val_t variable0;
2018 val_t variable1;
2019 val_t variable2;
2020 val_t variable3;
2021 val_t variable4;
2022 trace.prev = tracehead; tracehead = &trace;
2023 variable0 = param0;
2024 variable1 = param1;
2025 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*/) /*PNode::==*/)))))));
2026 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:959,9--32\n"); nit_exit(1);}
2027 variable2 = ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/;
2028 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
2029 variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
2030 variable2 = variable3;
2031 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
2032 while (true) { /*for*/
2033 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
2034 if (!UNTAG_Bool(variable3)) break; /*for*/
2035 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
2036 variable4 = ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/;
2037 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
2038 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*/) /*PPropdef::==*/)))));
2039 if (UNTAG_Bool(variable4)) { /*if*/
2040 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*/) /*PNode::==*/)))))));
2041 if (UNTAG_Bool(variable4)) { /*if*/
2042 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
2043 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:963,7--35\n"); nit_exit(1);}
2044 variable4 = ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/;
2045 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
2046 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PPropdef::parent=*/;
2047 } else { /*if*/
2048 variable4 = ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/;
2049 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
2050 }
2051 goto return_label95;
2052 }
2053 continue_96: while(0);
2054 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
2055 }
2056 break_96: while(0);
2057 return_label95: while(false);
2058 tracehead = trace.prev;
2059 return;
2060 }
2061 void parser_prod___ATopClassdef___visit_all(val_t self, val_t param0) {
2062 struct trace_t trace = {NULL, "parser_prod::ATopClassdef::visit_all (src/parser//parser_prod.nit:974,5--977:25)"};
2063 val_t variable0;
2064 val_t variable1;
2065 val_t variable2;
2066 trace.prev = tracehead; tracehead = &trace;
2067 variable0 = param0;
2068 variable1 = ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/;
2069 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
2070 while (true) { /*for*/
2071 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
2072 if (!UNTAG_Bool(variable2)) break; /*for*/
2073 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
2074 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
2075 continue_98: while(0);
2076 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
2077 }
2078 break_98: while(0);
2079 tracehead = trace.prev;
2080 return;
2081 }
2082 void parser_prod___ATopClassdef___visit_all_reverse(val_t self, val_t param0) {
2083 struct trace_t trace = {NULL, "parser_prod::ATopClassdef::visit_all_reverse (src/parser//parser_prod.nit:981,5--987:11)"};
2084 val_t variable0;
2085 val_t variable1;
2086 val_t variable2;
2087 trace.prev = tracehead; tracehead = &trace;
2088 variable0 = param0;
2089 variable2 = ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/;
2090 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
2091 variable1 = variable2;
2092 while (true) { /*while*/
2093 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
2094 if (!UNTAG_Bool(variable2)) break; /* while*/
2095 variable2 = ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/;
2096 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
2097 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
2098 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
2099 variable1 = variable2 /*i=*/;
2100 continue_100: while(0);
2101 }
2102 break_100: while(0);
2103 tracehead = trace.prev;
2104 return;
2105 }
2106 void parser_prod___AMainClassdef___empty_init(val_t self, int* init_table) {
2107 struct trace_t trace = {NULL, "parser_prod::AMainClassdef::empty_init (src/parser//parser_prod.nit:994,5--27)"};
2108 trace.prev = tracehead; tracehead = &trace;
2109 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainClassdef].i]) return;
2110 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainClassdef].i] = 1;
2111 tracehead = trace.prev;
2112 return;
2113 }
2114 void parser_prod___AMainClassdef___init_amainclassdef(val_t self, val_t param0, int* init_table) {
2115 struct trace_t trace = {NULL, "parser_prod::AMainClassdef::init_amainclassdef (src/parser//parser_prod.nit:996,5--1004:17)"};
2116 val_t variable0;
2117 val_t variable1;
2118 val_t variable2;
2119 val_t variable3;
2120 trace.prev = tracehead; tracehead = &trace;
2121 variable0 = param0;
2122 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainClassdef].i]) return;
2123 variable1 = NEW_list___List___init(); /*new List[PPropdef]*/
2124 ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/ = variable1;
2125 variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_propdefs*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_propdefs*/) /*Array::iterator*/;
2126 while (true) { /*for*/
2127 variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
2128 if (!UNTAG_Bool(variable2)) break; /*for*/
2129 variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
2130 variable3 = TAG_Bool(( variable2 /*n*/==NIT_NULL) || VAL_ISA( variable2 /*n*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
2131 if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1002,3--23\n"); nit_exit(1);}
2132 variable3 = ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/;
2133 ((abstract_collection___IndexedCollection___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable2 /*n*/) /*List::add*/;
2134 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n*/, self) /*PPropdef::parent=*/;
2135 continue_103: while(0);
2136 ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
2137 }
2138 break_103: while(0);
2139 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainClassdef].i] = 1;
2140 tracehead = trace.prev;
2141 return;
2142 }
2143 void parser_prod___AMainClassdef___replace_child(val_t self, val_t param0, val_t param1) {
2144 struct trace_t trace = {NULL, "parser_prod::AMainClassdef::replace_child (src/parser//parser_prod.nit:1008,5--1020:22)"};
2145 val_t variable0;
2146 val_t variable1;
2147 val_t variable2;
2148 val_t variable3;
2149 val_t variable4;
2150 trace.prev = tracehead; tracehead = &trace;
2151 variable0 = param0;
2152 variable1 = param1;
2153 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*/) /*PNode::==*/)))))));
2154 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1010,9--32\n"); nit_exit(1);}
2155 variable2 = ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/;
2156 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
2157 variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
2158 variable2 = variable3;
2159 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
2160 while (true) { /*for*/
2161 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
2162 if (!UNTAG_Bool(variable3)) break; /*for*/
2163 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
2164 variable4 = ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/;
2165 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
2166 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*/) /*PPropdef::==*/)))));
2167 if (UNTAG_Bool(variable4)) { /*if*/
2168 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*/) /*PNode::==*/)))))));
2169 if (UNTAG_Bool(variable4)) { /*if*/
2170 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
2171 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1014,7--35\n"); nit_exit(1);}
2172 variable4 = ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/;
2173 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
2174 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PPropdef::parent=*/;
2175 } else { /*if*/
2176 variable4 = ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/;
2177 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
2178 }
2179 goto return_label104;
2180 }
2181 continue_105: while(0);
2182 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
2183 }
2184 break_105: while(0);
2185 return_label104: while(false);
2186 tracehead = trace.prev;
2187 return;
2188 }
2189 void parser_prod___AMainClassdef___visit_all(val_t self, val_t param0) {
2190 struct trace_t trace = {NULL, "parser_prod::AMainClassdef::visit_all (src/parser//parser_prod.nit:1025,5--1028:25)"};
2191 val_t variable0;
2192 val_t variable1;
2193 val_t variable2;
2194 trace.prev = tracehead; tracehead = &trace;
2195 variable0 = param0;
2196 variable1 = ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/;
2197 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
2198 while (true) { /*for*/
2199 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
2200 if (!UNTAG_Bool(variable2)) break; /*for*/
2201 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
2202 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
2203 continue_107: while(0);
2204 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
2205 }
2206 break_107: while(0);
2207 tracehead = trace.prev;
2208 return;
2209 }
2210 void parser_prod___AMainClassdef___visit_all_reverse(val_t self, val_t param0) {
2211 struct trace_t trace = {NULL, "parser_prod::AMainClassdef::visit_all_reverse (src/parser//parser_prod.nit:1032,5--1038:11)"};
2212 val_t variable0;
2213 val_t variable1;
2214 val_t variable2;
2215 trace.prev = tracehead; tracehead = &trace;
2216 variable0 = param0;
2217 variable2 = ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/;
2218 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
2219 variable1 = variable2;
2220 while (true) { /*while*/
2221 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
2222 if (!UNTAG_Bool(variable2)) break; /* while*/
2223 variable2 = ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/;
2224 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
2225 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
2226 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
2227 variable1 = variable2 /*i=*/;
2228 continue_109: while(0);
2229 }
2230 break_109: while(0);
2231 tracehead = trace.prev;
2232 return;
2233 }
2234 void parser_prod___AConcreteClasskind___n_kwclass__eq(val_t self, val_t param0) {
2235 struct trace_t trace = {NULL, "parser_prod::AConcreteClasskind::n_kwclass= (src/parser//parser_prod.nit:1044,5--1048:20)"};
2236 val_t variable0;
2237 val_t variable1;
2238 trace.prev = tracehead; tracehead = &trace;
2239 variable0 = param0;
2240 ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/ = variable0 /*n*/;
2241 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*/) /*TKwclass::==*/)))))));
2242 if (UNTAG_Bool(variable1)) { /*if*/
2243 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwclass::parent=*/;
2244 }
2245 tracehead = trace.prev;
2246 return;
2247 }
2248 void parser_prod___AConcreteClasskind___empty_init(val_t self, int* init_table) {
2249 struct trace_t trace = {NULL, "parser_prod::AConcreteClasskind::empty_init (src/parser//parser_prod.nit:1052,5--27)"};
2250 trace.prev = tracehead; tracehead = &trace;
2251 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteClasskind].i]) return;
2252 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteClasskind].i] = 1;
2253 tracehead = trace.prev;
2254 return;
2255 }
2256 void parser_prod___AConcreteClasskind___init_aconcreteclasskind(val_t self, val_t param0, int* init_table) {
2257 struct trace_t trace = {NULL, "parser_prod::AConcreteClasskind::init_aconcreteclasskind (src/parser//parser_prod.nit:1054,5--1060:25)"};
2258 val_t variable0;
2259 val_t variable1;
2260 trace.prev = tracehead; tracehead = &trace;
2261 variable0 = param0;
2262 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteClasskind].i]) return;
2263 ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/ = variable0 /*n_kwclass*/;
2264 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*/) /*TKwclass::==*/)))))));
2265 if (UNTAG_Bool(variable1)) { /*if*/
2266 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwclass*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwclass*/, self) /*TKwclass::parent=*/;
2267 }
2268 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteClasskind].i] = 1;
2269 tracehead = trace.prev;
2270 return;
2271 }
2272 void parser_prod___AConcreteClasskind___replace_child(val_t self, val_t param0, val_t param1) {
2273 struct trace_t trace = {NULL, "parser_prod::AConcreteClasskind::replace_child (src/parser//parser_prod.nit:1064,5--1075:18)"};
2274 val_t variable0;
2275 val_t variable1;
2276 val_t variable2;
2277 trace.prev = tracehead; tracehead = &trace;
2278 variable0 = param0;
2279 variable1 = param1;
2280 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*/) /*PNode::==*/)))))));
2281 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1066,9--32\n"); nit_exit(1);}
2282 variable2 = ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/;
2283 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*/) /*TKwclass::==*/)))));
2284 if (UNTAG_Bool(variable2)) { /*if*/
2285 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*/) /*PNode::==*/)))))));
2286 if (UNTAG_Bool(variable2)) { /*if*/
2287 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
2288 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwclass, ID_TKwclass)) /*cast TKwclass*/;
2289 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1070,3--31\n"); nit_exit(1);}
2290 ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/ = variable1 /*new_child*/;
2291 } else { /*if*/
2292 ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/ = NIT_NULL /*null*/;
2293 }
2294 goto return_label113;
2295 }
2296 return_label113: while(false);
2297 tracehead = trace.prev;
2298 return;
2299 }
2300 void parser_prod___AConcreteClasskind___visit_all(val_t self, val_t param0) {
2301 struct trace_t trace = {NULL, "parser_prod::AConcreteClasskind::visit_all (src/parser//parser_prod.nit:1079,5--1082:30)"};
2302 val_t variable0;
2303 val_t variable1;
2304 trace.prev = tracehead; tracehead = &trace;
2305 variable0 = param0;
2306 variable1 = ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/;
2307 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwclass::==*/)))))));
2308 if (UNTAG_Bool(variable1)) { /*if*/
2309 variable1 = ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/;
2310 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2311 }
2312 tracehead = trace.prev;
2313 return;
2314 }
2315 void parser_prod___AConcreteClasskind___visit_all_reverse(val_t self, val_t param0) {
2316 struct trace_t trace = {NULL, "parser_prod::AConcreteClasskind::visit_all_reverse (src/parser//parser_prod.nit:1086,5--1089:30)"};
2317 val_t variable0;
2318 val_t variable1;
2319 trace.prev = tracehead; tracehead = &trace;
2320 variable0 = param0;
2321 variable1 = ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/;
2322 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwclass::==*/)))))));
2323 if (UNTAG_Bool(variable1)) { /*if*/
2324 variable1 = ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/;
2325 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2326 }
2327 tracehead = trace.prev;
2328 return;
2329 }
2330 void parser_prod___AAbstractClasskind___n_kwabstract__eq(val_t self, val_t param0) {
2331 struct trace_t trace = {NULL, "parser_prod::AAbstractClasskind::n_kwabstract= (src/parser//parser_prod.nit:1094,5--1098:20)"};
2332 val_t variable0;
2333 val_t variable1;
2334 trace.prev = tracehead; tracehead = &trace;
2335 variable0 = param0;
2336 ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/ = variable0 /*n*/;
2337 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*/) /*TKwabstract::==*/)))))));
2338 if (UNTAG_Bool(variable1)) { /*if*/
2339 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwabstract::parent=*/;
2340 }
2341 tracehead = trace.prev;
2342 return;
2343 }
2344 void parser_prod___AAbstractClasskind___n_kwclass__eq(val_t self, val_t param0) {
2345 struct trace_t trace = {NULL, "parser_prod::AAbstractClasskind::n_kwclass= (src/parser//parser_prod.nit:1101,5--1105:20)"};
2346 val_t variable0;
2347 val_t variable1;
2348 trace.prev = tracehead; tracehead = &trace;
2349 variable0 = param0;
2350 ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/ = variable0 /*n*/;
2351 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*/) /*TKwclass::==*/)))))));
2352 if (UNTAG_Bool(variable1)) { /*if*/
2353 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwclass::parent=*/;
2354 }
2355 tracehead = trace.prev;
2356 return;
2357 }
2358 void parser_prod___AAbstractClasskind___empty_init(val_t self, int* init_table) {
2359 struct trace_t trace = {NULL, "parser_prod::AAbstractClasskind::empty_init (src/parser//parser_prod.nit:1109,5--27)"};
2360 trace.prev = tracehead; tracehead = &trace;
2361 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbstractClasskind].i]) return;
2362 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbstractClasskind].i] = 1;
2363 tracehead = trace.prev;
2364 return;
2365 }
2366 void parser_prod___AAbstractClasskind___init_aabstractclasskind(val_t self, val_t param0, val_t param1, int* init_table) {
2367 struct trace_t trace = {NULL, "parser_prod::AAbstractClasskind::init_aabstractclasskind (src/parser//parser_prod.nit:1111,5--1122:25)"};
2368 val_t variable0;
2369 val_t variable1;
2370 val_t variable2;
2371 trace.prev = tracehead; tracehead = &trace;
2372 variable0 = param0;
2373 variable1 = param1;
2374 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbstractClasskind].i]) return;
2375 ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/ = variable0 /*n_kwabstract*/;
2376 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*/) /*TKwabstract::==*/)))))));
2377 if (UNTAG_Bool(variable2)) { /*if*/
2378 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwabstract*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwabstract*/, self) /*TKwabstract::parent=*/;
2379 }
2380 ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/ = variable1 /*n_kwclass*/;
2381 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*/) /*TKwclass::==*/)))))));
2382 if (UNTAG_Bool(variable2)) { /*if*/
2383 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwclass*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwclass*/, self) /*TKwclass::parent=*/;
2384 }
2385 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbstractClasskind].i] = 1;
2386 tracehead = trace.prev;
2387 return;
2388 }
2389 void parser_prod___AAbstractClasskind___replace_child(val_t self, val_t param0, val_t param1) {
2390 struct trace_t trace = {NULL, "parser_prod::AAbstractClasskind::replace_child (src/parser//parser_prod.nit:1126,5--1147:18)"};
2391 val_t variable0;
2392 val_t variable1;
2393 val_t variable2;
2394 trace.prev = tracehead; tracehead = &trace;
2395 variable0 = param0;
2396 variable1 = param1;
2397 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*/) /*PNode::==*/)))))));
2398 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1128,9--32\n"); nit_exit(1);}
2399 variable2 = ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/;
2400 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*/) /*TKwabstract::==*/)))));
2401 if (UNTAG_Bool(variable2)) { /*if*/
2402 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*/) /*PNode::==*/)))))));
2403 if (UNTAG_Bool(variable2)) { /*if*/
2404 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
2405 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwabstract, ID_TKwabstract)) /*cast TKwabstract*/;
2406 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1132,3--34\n"); nit_exit(1);}
2407 ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/ = variable1 /*new_child*/;
2408 } else { /*if*/
2409 ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/ = NIT_NULL /*null*/;
2410 }
2411 goto return_label120;
2412 }
2413 variable2 = ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/;
2414 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*/) /*TKwclass::==*/)))));
2415 if (UNTAG_Bool(variable2)) { /*if*/
2416 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*/) /*PNode::==*/)))))));
2417 if (UNTAG_Bool(variable2)) { /*if*/
2418 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
2419 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwclass, ID_TKwclass)) /*cast TKwclass*/;
2420 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1142,3--31\n"); nit_exit(1);}
2421 ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/ = variable1 /*new_child*/;
2422 } else { /*if*/
2423 ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/ = NIT_NULL /*null*/;
2424 }
2425 goto return_label120;
2426 }
2427 return_label120: while(false);
2428 tracehead = trace.prev;
2429 return;
2430 }
2431 void parser_prod___AAbstractClasskind___visit_all(val_t self, val_t param0) {
2432 struct trace_t trace = {NULL, "parser_prod::AAbstractClasskind::visit_all (src/parser//parser_prod.nit:1151,5--1157:30)"};
2433 val_t variable0;
2434 val_t variable1;
2435 trace.prev = tracehead; tracehead = &trace;
2436 variable0 = param0;
2437 variable1 = ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/;
2438 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwabstract::==*/)))))));
2439 if (UNTAG_Bool(variable1)) { /*if*/
2440 variable1 = ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/;
2441 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2442 }
2443 variable1 = ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/;
2444 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwclass::==*/)))))));
2445 if (UNTAG_Bool(variable1)) { /*if*/
2446 variable1 = ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/;
2447 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2448 }
2449 tracehead = trace.prev;
2450 return;
2451 }
2452 void parser_prod___AAbstractClasskind___visit_all_reverse(val_t self, val_t param0) {
2453 struct trace_t trace = {NULL, "parser_prod::AAbstractClasskind::visit_all_reverse (src/parser//parser_prod.nit:1161,5--1167:30)"};
2454 val_t variable0;
2455 val_t variable1;
2456 trace.prev = tracehead; tracehead = &trace;
2457 variable0 = param0;
2458 variable1 = ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/;
2459 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwabstract::==*/)))))));
2460 if (UNTAG_Bool(variable1)) { /*if*/
2461 variable1 = ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/;
2462 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2463 }
2464 variable1 = ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/;
2465 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwclass::==*/)))))));
2466 if (UNTAG_Bool(variable1)) { /*if*/
2467 variable1 = ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/;
2468 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2469 }
2470 tracehead = trace.prev;
2471 return;
2472 }
2473 void parser_prod___AInterfaceClasskind___n_kwinterface__eq(val_t self, val_t param0) {
2474 struct trace_t trace = {NULL, "parser_prod::AInterfaceClasskind::n_kwinterface= (src/parser//parser_prod.nit:1172,5--1176:20)"};
2475 val_t variable0;
2476 val_t variable1;
2477 trace.prev = tracehead; tracehead = &trace;
2478 variable0 = param0;
2479 ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/ = variable0 /*n*/;
2480 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*/) /*TKwinterface::==*/)))))));
2481 if (UNTAG_Bool(variable1)) { /*if*/
2482 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwinterface::parent=*/;
2483 }
2484 tracehead = trace.prev;
2485 return;
2486 }
2487 void parser_prod___AInterfaceClasskind___empty_init(val_t self, int* init_table) {
2488 struct trace_t trace = {NULL, "parser_prod::AInterfaceClasskind::empty_init (src/parser//parser_prod.nit:1180,5--27)"};
2489 trace.prev = tracehead; tracehead = &trace;
2490 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInterfaceClasskind].i]) return;
2491 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInterfaceClasskind].i] = 1;
2492 tracehead = trace.prev;
2493 return;
2494 }
2495 void parser_prod___AInterfaceClasskind___init_ainterfaceclasskind(val_t self, val_t param0, int* init_table) {
2496 struct trace_t trace = {NULL, "parser_prod::AInterfaceClasskind::init_ainterfaceclasskind (src/parser//parser_prod.nit:1182,5--1188:29)"};
2497 val_t variable0;
2498 val_t variable1;
2499 trace.prev = tracehead; tracehead = &trace;
2500 variable0 = param0;
2501 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInterfaceClasskind].i]) return;
2502 ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/ = variable0 /*n_kwinterface*/;
2503 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*/) /*TKwinterface::==*/)))))));
2504 if (UNTAG_Bool(variable1)) { /*if*/
2505 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwinterface*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwinterface*/, self) /*TKwinterface::parent=*/;
2506 }
2507 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInterfaceClasskind].i] = 1;
2508 tracehead = trace.prev;
2509 return;
2510 }
2511 void parser_prod___AInterfaceClasskind___replace_child(val_t self, val_t param0, val_t param1) {
2512 struct trace_t trace = {NULL, "parser_prod::AInterfaceClasskind::replace_child (src/parser//parser_prod.nit:1192,5--1203:18)"};
2513 val_t variable0;
2514 val_t variable1;
2515 val_t variable2;
2516 trace.prev = tracehead; tracehead = &trace;
2517 variable0 = param0;
2518 variable1 = param1;
2519 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*/) /*PNode::==*/)))))));
2520 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1194,9--32\n"); nit_exit(1);}
2521 variable2 = ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/;
2522 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*/) /*TKwinterface::==*/)))));
2523 if (UNTAG_Bool(variable2)) { /*if*/
2524 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*/) /*PNode::==*/)))))));
2525 if (UNTAG_Bool(variable2)) { /*if*/
2526 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
2527 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwinterface, ID_TKwinterface)) /*cast TKwinterface*/;
2528 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1198,3--35\n"); nit_exit(1);}
2529 ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/ = variable1 /*new_child*/;
2530 } else { /*if*/
2531 ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/ = NIT_NULL /*null*/;
2532 }
2533 goto return_label126;
2534 }
2535 return_label126: while(false);
2536 tracehead = trace.prev;
2537 return;
2538 }
2539 void parser_prod___AInterfaceClasskind___visit_all(val_t self, val_t param0) {
2540 struct trace_t trace = {NULL, "parser_prod::AInterfaceClasskind::visit_all (src/parser//parser_prod.nit:1207,5--1210:34)"};
2541 val_t variable0;
2542 val_t variable1;
2543 trace.prev = tracehead; tracehead = &trace;
2544 variable0 = param0;
2545 variable1 = ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/;
2546 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwinterface::==*/)))))));
2547 if (UNTAG_Bool(variable1)) { /*if*/
2548 variable1 = ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/;
2549 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2550 }
2551 tracehead = trace.prev;
2552 return;
2553 }
2554 void parser_prod___AInterfaceClasskind___visit_all_reverse(val_t self, val_t param0) {
2555 struct trace_t trace = {NULL, "parser_prod::AInterfaceClasskind::visit_all_reverse (src/parser//parser_prod.nit:1214,5--1217:34)"};
2556 val_t variable0;
2557 val_t variable1;
2558 trace.prev = tracehead; tracehead = &trace;
2559 variable0 = param0;
2560 variable1 = ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/;
2561 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwinterface::==*/)))))));
2562 if (UNTAG_Bool(variable1)) { /*if*/
2563 variable1 = ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/;
2564 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2565 }
2566 tracehead = trace.prev;
2567 return;
2568 }
2569 void parser_prod___AUniversalClasskind___n_kwuniversal__eq(val_t self, val_t param0) {
2570 struct trace_t trace = {NULL, "parser_prod::AUniversalClasskind::n_kwuniversal= (src/parser//parser_prod.nit:1222,5--1226:20)"};
2571 val_t variable0;
2572 val_t variable1;
2573 trace.prev = tracehead; tracehead = &trace;
2574 variable0 = param0;
2575 ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/ = variable0 /*n*/;
2576 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*/) /*TKwuniversal::==*/)))))));
2577 if (UNTAG_Bool(variable1)) { /*if*/
2578 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwuniversal::parent=*/;
2579 }
2580 tracehead = trace.prev;
2581 return;
2582 }
2583 void parser_prod___AUniversalClasskind___empty_init(val_t self, int* init_table) {
2584 struct trace_t trace = {NULL, "parser_prod::AUniversalClasskind::empty_init (src/parser//parser_prod.nit:1230,5--27)"};
2585 trace.prev = tracehead; tracehead = &trace;
2586 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUniversalClasskind].i]) return;
2587 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUniversalClasskind].i] = 1;
2588 tracehead = trace.prev;
2589 return;
2590 }
2591 void parser_prod___AUniversalClasskind___init_auniversalclasskind(val_t self, val_t param0, int* init_table) {
2592 struct trace_t trace = {NULL, "parser_prod::AUniversalClasskind::init_auniversalclasskind (src/parser//parser_prod.nit:1232,5--1238:29)"};
2593 val_t variable0;
2594 val_t variable1;
2595 trace.prev = tracehead; tracehead = &trace;
2596 variable0 = param0;
2597 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUniversalClasskind].i]) return;
2598 ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/ = variable0 /*n_kwuniversal*/;
2599 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*/) /*TKwuniversal::==*/)))))));
2600 if (UNTAG_Bool(variable1)) { /*if*/
2601 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwuniversal*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwuniversal*/, self) /*TKwuniversal::parent=*/;
2602 }
2603 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUniversalClasskind].i] = 1;
2604 tracehead = trace.prev;
2605 return;
2606 }
2607 void parser_prod___AUniversalClasskind___replace_child(val_t self, val_t param0, val_t param1) {
2608 struct trace_t trace = {NULL, "parser_prod::AUniversalClasskind::replace_child (src/parser//parser_prod.nit:1242,5--1253:18)"};
2609 val_t variable0;
2610 val_t variable1;
2611 val_t variable2;
2612 trace.prev = tracehead; tracehead = &trace;
2613 variable0 = param0;
2614 variable1 = param1;
2615 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*/) /*PNode::==*/)))))));
2616 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1244,9--32\n"); nit_exit(1);}
2617 variable2 = ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/;
2618 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*/) /*TKwuniversal::==*/)))));
2619 if (UNTAG_Bool(variable2)) { /*if*/
2620 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*/) /*PNode::==*/)))))));
2621 if (UNTAG_Bool(variable2)) { /*if*/
2622 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
2623 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwuniversal, ID_TKwuniversal)) /*cast TKwuniversal*/;
2624 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1248,3--35\n"); nit_exit(1);}
2625 ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/ = variable1 /*new_child*/;
2626 } else { /*if*/
2627 ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/ = NIT_NULL /*null*/;
2628 }
2629 goto return_label132;
2630 }
2631 return_label132: while(false);
2632 tracehead = trace.prev;
2633 return;
2634 }
2635 void parser_prod___AUniversalClasskind___visit_all(val_t self, val_t param0) {
2636 struct trace_t trace = {NULL, "parser_prod::AUniversalClasskind::visit_all (src/parser//parser_prod.nit:1257,5--1260:34)"};
2637 val_t variable0;
2638 val_t variable1;
2639 trace.prev = tracehead; tracehead = &trace;
2640 variable0 = param0;
2641 variable1 = ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/;
2642 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwuniversal::==*/)))))));
2643 if (UNTAG_Bool(variable1)) { /*if*/
2644 variable1 = ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/;
2645 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2646 }
2647 tracehead = trace.prev;
2648 return;
2649 }
2650 void parser_prod___AUniversalClasskind___visit_all_reverse(val_t self, val_t param0) {
2651 struct trace_t trace = {NULL, "parser_prod::AUniversalClasskind::visit_all_reverse (src/parser//parser_prod.nit:1264,5--1267:34)"};
2652 val_t variable0;
2653 val_t variable1;
2654 trace.prev = tracehead; tracehead = &trace;
2655 variable0 = param0;
2656 variable1 = ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/;
2657 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwuniversal::==*/)))))));
2658 if (UNTAG_Bool(variable1)) { /*if*/
2659 variable1 = ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/;
2660 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2661 }
2662 tracehead = trace.prev;
2663 return;
2664 }
2665 void parser_prod___AFormaldef___n_id__eq(val_t self, val_t param0) {
2666 struct trace_t trace = {NULL, "parser_prod::AFormaldef::n_id= (src/parser//parser_prod.nit:1272,5--1276:20)"};
2667 val_t variable0;
2668 val_t variable1;
2669 trace.prev = tracehead; tracehead = &trace;
2670 variable0 = param0;
2671 ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/ = variable0 /*n*/;
2672 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*/) /*TClassid::==*/)))))));
2673 if (UNTAG_Bool(variable1)) { /*if*/
2674 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TClassid::parent=*/;
2675 }
2676 tracehead = trace.prev;
2677 return;
2678 }
2679 void parser_prod___AFormaldef___n_type__eq(val_t self, val_t param0) {
2680 struct trace_t trace = {NULL, "parser_prod::AFormaldef::n_type= (src/parser//parser_prod.nit:1279,5--1283:20)"};
2681 val_t variable0;
2682 val_t variable1;
2683 trace.prev = tracehead; tracehead = &trace;
2684 variable0 = param0;
2685 ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/ = variable0 /*n*/;
2686 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*/) /*PType::==*/)))))));
2687 if (UNTAG_Bool(variable1)) { /*if*/
2688 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PType::parent=*/;
2689 }
2690 tracehead = trace.prev;
2691 return;
2692 }
2693 void parser_prod___AFormaldef___empty_init(val_t self, int* init_table) {
2694 struct trace_t trace = {NULL, "parser_prod::AFormaldef::empty_init (src/parser//parser_prod.nit:1287,5--27)"};
2695 trace.prev = tracehead; tracehead = &trace;
2696 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFormaldef].i]) return;
2697 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFormaldef].i] = 1;
2698 tracehead = trace.prev;
2699 return;
2700 }
2701 void parser_prod___AFormaldef___init_aformaldef(val_t self, val_t param0, val_t param1, int* init_table) {
2702 struct trace_t trace = {NULL, "parser_prod::AFormaldef::init_aformaldef (src/parser//parser_prod.nit:1289,5--1300:22)"};
2703 val_t variable0;
2704 val_t variable1;
2705 val_t variable2;
2706 trace.prev = tracehead; tracehead = &trace;
2707 variable0 = param0;
2708 variable1 = param1;
2709 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFormaldef].i]) return;
2710 ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/ = variable0 /*n_id*/;
2711 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*/) /*TClassid::==*/)))))));
2712 if (UNTAG_Bool(variable2)) { /*if*/
2713 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/, self) /*TClassid::parent=*/;
2714 }
2715 ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/ = variable1 /*n_type*/;
2716 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*/) /*PType::==*/)))))));
2717 if (UNTAG_Bool(variable2)) { /*if*/
2718 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_type*/, self) /*PType::parent=*/;
2719 }
2720 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFormaldef].i] = 1;
2721 tracehead = trace.prev;
2722 return;
2723 }
2724 void parser_prod___AFormaldef___replace_child(val_t self, val_t param0, val_t param1) {
2725 struct trace_t trace = {NULL, "parser_prod::AFormaldef::replace_child (src/parser//parser_prod.nit:1304,5--1325:18)"};
2726 val_t variable0;
2727 val_t variable1;
2728 val_t variable2;
2729 trace.prev = tracehead; tracehead = &trace;
2730 variable0 = param0;
2731 variable1 = param1;
2732 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*/) /*PNode::==*/)))))));
2733 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1306,9--32\n"); nit_exit(1);}
2734 variable2 = ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/;
2735 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*/) /*TClassid::==*/)))));
2736 if (UNTAG_Bool(variable2)) { /*if*/
2737 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*/) /*PNode::==*/)))))));
2738 if (UNTAG_Bool(variable2)) { /*if*/
2739 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
2740 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
2741 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1310,3--31\n"); nit_exit(1);}
2742 ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/ = variable1 /*new_child*/;
2743 } else { /*if*/
2744 ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/ = NIT_NULL /*null*/;
2745 }
2746 goto return_label139;
2747 }
2748 variable2 = ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/;
2749 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*/) /*PType::==*/)))));
2750 if (UNTAG_Bool(variable2)) { /*if*/
2751 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*/) /*PNode::==*/)))))));
2752 if (UNTAG_Bool(variable2)) { /*if*/
2753 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
2754 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
2755 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1320,3--28\n"); nit_exit(1);}
2756 ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/ = variable1 /*new_child*/;
2757 } else { /*if*/
2758 ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/ = NIT_NULL /*null*/;
2759 }
2760 goto return_label139;
2761 }
2762 return_label139: while(false);
2763 tracehead = trace.prev;
2764 return;
2765 }
2766 void parser_prod___AFormaldef___visit_all(val_t self, val_t param0) {
2767 struct trace_t trace = {NULL, "parser_prod::AFormaldef::visit_all (src/parser//parser_prod.nit:1329,5--1335:27)"};
2768 val_t variable0;
2769 val_t variable1;
2770 trace.prev = tracehead; tracehead = &trace;
2771 variable0 = param0;
2772 variable1 = ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/;
2773 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TClassid::==*/)))))));
2774 if (UNTAG_Bool(variable1)) { /*if*/
2775 variable1 = ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/;
2776 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2777 }
2778 variable1 = ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/;
2779 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PType::==*/)))))));
2780 if (UNTAG_Bool(variable1)) { /*if*/
2781 variable1 = ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/;
2782 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2783 }
2784 tracehead = trace.prev;
2785 return;
2786 }
2787 void parser_prod___AFormaldef___visit_all_reverse(val_t self, val_t param0) {
2788 struct trace_t trace = {NULL, "parser_prod::AFormaldef::visit_all_reverse (src/parser//parser_prod.nit:1339,5--1345:27)"};
2789 val_t variable0;
2790 val_t variable1;
2791 trace.prev = tracehead; tracehead = &trace;
2792 variable0 = param0;
2793 variable1 = ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/;
2794 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TClassid::==*/)))))));
2795 if (UNTAG_Bool(variable1)) { /*if*/
2796 variable1 = ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/;
2797 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2798 }
2799 variable1 = ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/;
2800 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PType::==*/)))))));
2801 if (UNTAG_Bool(variable1)) { /*if*/
2802 variable1 = ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/;
2803 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2804 }
2805 tracehead = trace.prev;
2806 return;
2807 }
2808 void parser_prod___ASuperclass___n_kwspecial__eq(val_t self, val_t param0) {
2809 struct trace_t trace = {NULL, "parser_prod::ASuperclass::n_kwspecial= (src/parser//parser_prod.nit:1350,5--1354:20)"};
2810 val_t variable0;
2811 val_t variable1;
2812 trace.prev = tracehead; tracehead = &trace;
2813 variable0 = param0;
2814 ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/ = variable0 /*n*/;
2815 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*/) /*TKwspecial::==*/)))))));
2816 if (UNTAG_Bool(variable1)) { /*if*/
2817 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwspecial::parent=*/;
2818 }
2819 tracehead = trace.prev;
2820 return;
2821 }
2822 void parser_prod___ASuperclass___n_type__eq(val_t self, val_t param0) {
2823 struct trace_t trace = {NULL, "parser_prod::ASuperclass::n_type= (src/parser//parser_prod.nit:1357,5--1361:20)"};
2824 val_t variable0;
2825 val_t variable1;
2826 trace.prev = tracehead; tracehead = &trace;
2827 variable0 = param0;
2828 ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/ = variable0 /*n*/;
2829 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*/) /*PType::==*/)))))));
2830 if (UNTAG_Bool(variable1)) { /*if*/
2831 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PType::parent=*/;
2832 }
2833 tracehead = trace.prev;
2834 return;
2835 }
2836 void parser_prod___ASuperclass___empty_init(val_t self, int* init_table) {
2837 struct trace_t trace = {NULL, "parser_prod::ASuperclass::empty_init (src/parser//parser_prod.nit:1365,5--27)"};
2838 trace.prev = tracehead; tracehead = &trace;
2839 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperclass].i]) return;
2840 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperclass].i] = 1;
2841 tracehead = trace.prev;
2842 return;
2843 }
2844 void parser_prod___ASuperclass___init_asuperclass(val_t self, val_t param0, val_t param1, int* init_table) {
2845 struct trace_t trace = {NULL, "parser_prod::ASuperclass::init_asuperclass (src/parser//parser_prod.nit:1367,5--1378:22)"};
2846 val_t variable0;
2847 val_t variable1;
2848 val_t variable2;
2849 trace.prev = tracehead; tracehead = &trace;
2850 variable0 = param0;
2851 variable1 = param1;
2852 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperclass].i]) return;
2853 ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/ = variable0 /*n_kwspecial*/;
2854 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*/) /*TKwspecial::==*/)))))));
2855 if (UNTAG_Bool(variable2)) { /*if*/
2856 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwspecial*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwspecial*/, self) /*TKwspecial::parent=*/;
2857 }
2858 ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/ = variable1 /*n_type*/;
2859 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*/) /*PType::==*/)))))));
2860 if (UNTAG_Bool(variable2)) { /*if*/
2861 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_type*/, self) /*PType::parent=*/;
2862 }
2863 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperclass].i] = 1;
2864 tracehead = trace.prev;
2865 return;
2866 }
2867 void parser_prod___ASuperclass___replace_child(val_t self, val_t param0, val_t param1) {
2868 struct trace_t trace = {NULL, "parser_prod::ASuperclass::replace_child (src/parser//parser_prod.nit:1382,5--1403:18)"};
2869 val_t variable0;
2870 val_t variable1;
2871 val_t variable2;
2872 trace.prev = tracehead; tracehead = &trace;
2873 variable0 = param0;
2874 variable1 = param1;
2875 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*/) /*PNode::==*/)))))));
2876 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1384,9--32\n"); nit_exit(1);}
2877 variable2 = ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/;
2878 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*/) /*TKwspecial::==*/)))));
2879 if (UNTAG_Bool(variable2)) { /*if*/
2880 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*/) /*PNode::==*/)))))));
2881 if (UNTAG_Bool(variable2)) { /*if*/
2882 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
2883 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwspecial, ID_TKwspecial)) /*cast TKwspecial*/;
2884 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1388,3--33\n"); nit_exit(1);}
2885 ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/ = variable1 /*new_child*/;
2886 } else { /*if*/
2887 ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/ = NIT_NULL /*null*/;
2888 }
2889 goto return_label146;
2890 }
2891 variable2 = ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/;
2892 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*/) /*PType::==*/)))));
2893 if (UNTAG_Bool(variable2)) { /*if*/
2894 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*/) /*PNode::==*/)))))));
2895 if (UNTAG_Bool(variable2)) { /*if*/
2896 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
2897 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
2898 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1398,3--28\n"); nit_exit(1);}
2899 ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/ = variable1 /*new_child*/;
2900 } else { /*if*/
2901 ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/ = NIT_NULL /*null*/;
2902 }
2903 goto return_label146;
2904 }
2905 return_label146: while(false);
2906 tracehead = trace.prev;
2907 return;
2908 }
2909 void parser_prod___ASuperclass___visit_all(val_t self, val_t param0) {
2910 struct trace_t trace = {NULL, "parser_prod::ASuperclass::visit_all (src/parser//parser_prod.nit:1407,5--1413:27)"};
2911 val_t variable0;
2912 val_t variable1;
2913 trace.prev = tracehead; tracehead = &trace;
2914 variable0 = param0;
2915 variable1 = ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/;
2916 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwspecial::==*/)))))));
2917 if (UNTAG_Bool(variable1)) { /*if*/
2918 variable1 = ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/;
2919 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2920 }
2921 variable1 = ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/;
2922 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PType::==*/)))))));
2923 if (UNTAG_Bool(variable1)) { /*if*/
2924 variable1 = ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/;
2925 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2926 }
2927 tracehead = trace.prev;
2928 return;
2929 }
2930 void parser_prod___ASuperclass___visit_all_reverse(val_t self, val_t param0) {
2931 struct trace_t trace = {NULL, "parser_prod::ASuperclass::visit_all_reverse (src/parser//parser_prod.nit:1417,5--1423:27)"};
2932 val_t variable0;
2933 val_t variable1;
2934 trace.prev = tracehead; tracehead = &trace;
2935 variable0 = param0;
2936 variable1 = ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/;
2937 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwspecial::==*/)))))));
2938 if (UNTAG_Bool(variable1)) { /*if*/
2939 variable1 = ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/;
2940 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2941 }
2942 variable1 = ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/;
2943 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PType::==*/)))))));
2944 if (UNTAG_Bool(variable1)) { /*if*/
2945 variable1 = ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/;
2946 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
2947 }
2948 tracehead = trace.prev;
2949 return;
2950 }
2951 void parser_prod___AAttrPropdef___n_doc__eq(val_t self, val_t param0) {
2952 struct trace_t trace = {NULL, "parser_prod::AAttrPropdef::n_doc= (src/parser//parser_prod.nit:1428,5--1432:20)"};
2953 val_t variable0;
2954 val_t variable1;
2955 trace.prev = tracehead; tracehead = &trace;
2956 variable0 = param0;
2957 ATTR_parser_nodes___PPropdef____n_doc( self) /*AAttrPropdef::_n_doc*/ = variable0 /*n*/;
2958 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*/) /*PDoc::==*/)))))));
2959 if (UNTAG_Bool(variable1)) { /*if*/
2960 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PDoc::parent=*/;
2961 }
2962 tracehead = trace.prev;
2963 return;
2964 }
2965 void parser_prod___AAttrPropdef___n_readable__eq(val_t self, val_t param0) {
2966 struct trace_t trace = {NULL, "parser_prod::AAttrPropdef::n_readable= (src/parser//parser_prod.nit:1435,5--1439:20)"};
2967 val_t variable0;
2968 val_t variable1;
2969 trace.prev = tracehead; tracehead = &trace;
2970 variable0 = param0;
2971 ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/ = variable0 /*n*/;
2972 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*/) /*PAble::==*/)))))));
2973 if (UNTAG_Bool(variable1)) { /*if*/
2974 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PAble::parent=*/;
2975 }
2976 tracehead = trace.prev;
2977 return;
2978 }
2979 void parser_prod___AAttrPropdef___n_writable__eq(val_t self, val_t param0) {
2980 struct trace_t trace = {NULL, "parser_prod::AAttrPropdef::n_writable= (src/parser//parser_prod.nit:1442,5--1446:20)"};
2981 val_t variable0;
2982 val_t variable1;
2983 trace.prev = tracehead; tracehead = &trace;
2984 variable0 = param0;
2985 ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/ = variable0 /*n*/;
2986 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*/) /*PAble::==*/)))))));
2987 if (UNTAG_Bool(variable1)) { /*if*/
2988 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PAble::parent=*/;
2989 }
2990 tracehead = trace.prev;
2991 return;
2992 }
2993 void parser_prod___AAttrPropdef___n_kwredef__eq(val_t self, val_t param0) {
2994 struct trace_t trace = {NULL, "parser_prod::AAttrPropdef::n_kwredef= (src/parser//parser_prod.nit:1449,5--1453:20)"};
2995 val_t variable0;
2996 val_t variable1;
2997 trace.prev = tracehead; tracehead = &trace;
2998 variable0 = param0;
2999 ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/ = variable0 /*n*/;
3000 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*/) /*TKwredef::==*/)))))));
3001 if (UNTAG_Bool(variable1)) { /*if*/
3002 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwredef::parent=*/;
3003 }
3004 tracehead = trace.prev;
3005 return;
3006 }
3007 void parser_prod___AAttrPropdef___n_visibility__eq(val_t self, val_t param0) {
3008 struct trace_t trace = {NULL, "parser_prod::AAttrPropdef::n_visibility= (src/parser//parser_prod.nit:1456,5--1460:20)"};
3009 val_t variable0;
3010 val_t variable1;
3011 trace.prev = tracehead; tracehead = &trace;
3012 variable0 = param0;
3013 ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/ = variable0 /*n*/;
3014 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*/) /*PVisibility::==*/)))))));
3015 if (UNTAG_Bool(variable1)) { /*if*/
3016 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PVisibility::parent=*/;
3017 }
3018 tracehead = trace.prev;
3019 return;
3020 }
3021 void parser_prod___AAttrPropdef___n_kwattr__eq(val_t self, val_t param0) {
3022 struct trace_t trace = {NULL, "parser_prod::AAttrPropdef::n_kwattr= (src/parser//parser_prod.nit:1463,5--1467:20)"};
3023 val_t variable0;
3024 val_t variable1;
3025 trace.prev = tracehead; tracehead = &trace;
3026 variable0 = param0;
3027 ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/ = variable0 /*n*/;
3028 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*/) /*TKwattr::==*/)))))));
3029 if (UNTAG_Bool(variable1)) { /*if*/
3030 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwattr::parent=*/;
3031 }
3032 tracehead = trace.prev;
3033 return;
3034 }
3035 void parser_prod___AAttrPropdef___n_id__eq(val_t self, val_t param0) {
3036 struct trace_t trace = {NULL, "parser_prod::AAttrPropdef::n_id= (src/parser//parser_prod.nit:1470,5--1474:20)"};
3037 val_t variable0;
3038 val_t variable1;
3039 trace.prev = tracehead; tracehead = &trace;
3040 variable0 = param0;
3041 ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/ = variable0 /*n*/;
3042 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*/) /*TAttrid::==*/)))))));
3043 if (UNTAG_Bool(variable1)) { /*if*/
3044 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TAttrid::parent=*/;
3045 }
3046 tracehead = trace.prev;
3047 return;
3048 }
3049 void parser_prod___AAttrPropdef___n_type__eq(val_t self, val_t param0) {
3050 struct trace_t trace = {NULL, "parser_prod::AAttrPropdef::n_type= (src/parser//parser_prod.nit:1477,5--1481:20)"};
3051 val_t variable0;
3052 val_t variable1;
3053 trace.prev = tracehead; tracehead = &trace;
3054 variable0 = param0;
3055 ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/ = variable0 /*n*/;
3056 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*/) /*PType::==*/)))))));
3057 if (UNTAG_Bool(variable1)) { /*if*/
3058 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PType::parent=*/;
3059 }
3060 tracehead = trace.prev;
3061 return;
3062 }
3063 void parser_prod___AAttrPropdef___n_expr__eq(val_t self, val_t param0) {
3064 struct trace_t trace = {NULL, "parser_prod::AAttrPropdef::n_expr= (src/parser//parser_prod.nit:1484,5--1488:20)"};
3065 val_t variable0;
3066 val_t variable1;
3067 trace.prev = tracehead; tracehead = &trace;
3068 variable0 = param0;
3069 ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/ = variable0 /*n*/;
3070 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*/) /*PExpr::==*/)))))));
3071 if (UNTAG_Bool(variable1)) { /*if*/
3072 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
3073 }
3074 tracehead = trace.prev;
3075 return;
3076 }
3077 void parser_prod___AAttrPropdef___empty_init(val_t self, int* init_table) {
3078 struct trace_t trace = {NULL, "parser_prod::AAttrPropdef::empty_init (src/parser//parser_prod.nit:1492,5--27)"};
3079 trace.prev = tracehead; tracehead = &trace;
3080 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrPropdef].i]) return;
3081 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrPropdef].i] = 1;
3082 tracehead = trace.prev;
3083 return;
3084 }
3085 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) {
3086 struct trace_t trace = {NULL, "parser_prod::AAttrPropdef::init_aattrpropdef (src/parser//parser_prod.nit:1494,5--1540:22)"};
3087 val_t variable0;
3088 val_t variable1;
3089 val_t variable2;
3090 val_t variable3;
3091 val_t variable4;
3092 val_t variable5;
3093 val_t variable6;
3094 val_t variable7;
3095 val_t variable8;
3096 val_t variable9;
3097 trace.prev = tracehead; tracehead = &trace;
3098 variable0 = param0;
3099 variable1 = param1;
3100 variable2 = param2;
3101 variable3 = param3;
3102 variable4 = param4;
3103 variable5 = param5;
3104 variable6 = param6;
3105 variable7 = param7;
3106 variable8 = param8;
3107 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrPropdef].i]) return;
3108 ATTR_parser_nodes___PPropdef____n_doc( self) /*AAttrPropdef::_n_doc*/ = variable0 /*n_doc*/;
3109 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*/) /*PDoc::==*/)))))));
3110 if (UNTAG_Bool(variable9)) { /*if*/
3111 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/, self) /*PDoc::parent=*/;
3112 }
3113 ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/ = variable1 /*n_readable*/;
3114 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*/) /*PAble::==*/)))))));
3115 if (UNTAG_Bool(variable9)) { /*if*/
3116 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_readable*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_readable*/, self) /*PAble::parent=*/;
3117 }
3118 ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/ = variable2 /*n_writable*/;
3119 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*/) /*PAble::==*/)))))));
3120 if (UNTAG_Bool(variable9)) { /*if*/
3121 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_writable*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_writable*/, self) /*PAble::parent=*/;
3122 }
3123 ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/ = variable3 /*n_kwredef*/;
3124 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*/) /*TKwredef::==*/)))))));
3125 if (UNTAG_Bool(variable9)) { /*if*/
3126 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwredef*/, self) /*TKwredef::parent=*/;
3127 }
3128 ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/ = variable4 /*n_visibility*/;
3129 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*/) /*PVisibility::==*/)))))));
3130 if (UNTAG_Bool(variable9)) { /*if*/
3131 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_visibility*/, self) /*PVisibility::parent=*/;
3132 }
3133 ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/ = variable5 /*n_kwattr*/;
3134 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*/) /*TKwattr::==*/)))))));
3135 if (UNTAG_Bool(variable9)) { /*if*/
3136 ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_kwattr*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_kwattr*/, self) /*TKwattr::parent=*/;
3137 }
3138 ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/ = variable6 /*n_id*/;
3139 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*/) /*TAttrid::==*/)))))));
3140 if (UNTAG_Bool(variable9)) { /*if*/
3141 ((parser_prod___PNode___parent__eq_t)CALL( variable6 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable6 /*n_id*/, self) /*TAttrid::parent=*/;
3142 }
3143 ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/ = variable7 /*n_type*/;
3144 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*/) /*PType::==*/)))))));
3145 if (UNTAG_Bool(variable9)) { /*if*/
3146 ((parser_prod___PNode___parent__eq_t)CALL( variable7 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable7 /*n_type*/, self) /*PType::parent=*/;
3147 }
3148 ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/ = variable8 /*n_expr*/;
3149 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*/) /*PExpr::==*/)))))));
3150 if (UNTAG_Bool(variable9)) { /*if*/
3151 ((parser_prod___PNode___parent__eq_t)CALL( variable8 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable8 /*n_expr*/, self) /*PExpr::parent=*/;
3152 }
3153 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrPropdef].i] = 1;
3154 tracehead = trace.prev;
3155 return;
3156 }
3157 void parser_prod___AAttrPropdef___replace_child(val_t self, val_t param0, val_t param1) {
3158 struct trace_t trace = {NULL, "parser_prod::AAttrPropdef::replace_child (src/parser//parser_prod.nit:1544,5--1635:18)"};
3159 val_t variable0;
3160 val_t variable1;
3161 val_t variable2;
3162 trace.prev = tracehead; tracehead = &trace;
3163 variable0 = param0;
3164 variable1 = param1;
3165 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*/) /*PNode::==*/)))))));
3166 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1546,9--32\n"); nit_exit(1);}
3167 variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AAttrPropdef::_n_doc*/;
3168 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*/) /*PDoc::==*/)))));
3169 if (UNTAG_Bool(variable2)) { /*if*/
3170 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*/) /*PNode::==*/)))))));
3171 if (UNTAG_Bool(variable2)) { /*if*/
3172 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3173 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
3174 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1550,3--27\n"); nit_exit(1);}
3175 ATTR_parser_nodes___PPropdef____n_doc( self) /*AAttrPropdef::_n_doc*/ = variable1 /*new_child*/;
3176 } else { /*if*/
3177 ATTR_parser_nodes___PPropdef____n_doc( self) /*AAttrPropdef::_n_doc*/ = NIT_NULL /*null*/;
3178 }
3179 goto return_label160;
3180 }
3181 variable2 = ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/;
3182 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*/) /*PAble::==*/)))));
3183 if (UNTAG_Bool(variable2)) { /*if*/
3184 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*/) /*PNode::==*/)))))));
3185 if (UNTAG_Bool(variable2)) { /*if*/
3186 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3187 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PAble, ID_PAble)) /*cast PAble*/;
3188 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1560,3--28\n"); nit_exit(1);}
3189 ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/ = variable1 /*new_child*/;
3190 } else { /*if*/
3191 ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/ = NIT_NULL /*null*/;
3192 }
3193 goto return_label160;
3194 }
3195 variable2 = ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/;
3196 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*/) /*PAble::==*/)))));
3197 if (UNTAG_Bool(variable2)) { /*if*/
3198 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*/) /*PNode::==*/)))))));
3199 if (UNTAG_Bool(variable2)) { /*if*/
3200 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3201 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PAble, ID_PAble)) /*cast PAble*/;
3202 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1570,3--28\n"); nit_exit(1);}
3203 ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/ = variable1 /*new_child*/;
3204 } else { /*if*/
3205 ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/ = NIT_NULL /*null*/;
3206 }
3207 goto return_label160;
3208 }
3209 variable2 = ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/;
3210 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*/) /*TKwredef::==*/)))));
3211 if (UNTAG_Bool(variable2)) { /*if*/
3212 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*/) /*PNode::==*/)))))));
3213 if (UNTAG_Bool(variable2)) { /*if*/
3214 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3215 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
3216 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1580,3--31\n"); nit_exit(1);}
3217 ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/ = variable1 /*new_child*/;
3218 } else { /*if*/
3219 ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/ = NIT_NULL /*null*/;
3220 }
3221 goto return_label160;
3222 }
3223 variable2 = ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/;
3224 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*/) /*PVisibility::==*/)))));
3225 if (UNTAG_Bool(variable2)) { /*if*/
3226 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*/) /*PNode::==*/)))))));
3227 if (UNTAG_Bool(variable2)) { /*if*/
3228 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3229 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
3230 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1590,3--34\n"); nit_exit(1);}
3231 ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/ = variable1 /*new_child*/;
3232 } else { /*if*/
3233 ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/ = NIT_NULL /*null*/;
3234 }
3235 goto return_label160;
3236 }
3237 variable2 = ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/;
3238 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*/) /*TKwattr::==*/)))));
3239 if (UNTAG_Bool(variable2)) { /*if*/
3240 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*/) /*PNode::==*/)))))));
3241 if (UNTAG_Bool(variable2)) { /*if*/
3242 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3243 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
3244 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1600,3--30\n"); nit_exit(1);}
3245 ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/ = variable1 /*new_child*/;
3246 } else { /*if*/
3247 ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/ = NIT_NULL /*null*/;
3248 }
3249 goto return_label160;
3250 }
3251 variable2 = ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/;
3252 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*/) /*TAttrid::==*/)))));
3253 if (UNTAG_Bool(variable2)) { /*if*/
3254 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*/) /*PNode::==*/)))))));
3255 if (UNTAG_Bool(variable2)) { /*if*/
3256 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3257 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
3258 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1610,3--30\n"); nit_exit(1);}
3259 ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/ = variable1 /*new_child*/;
3260 } else { /*if*/
3261 ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/ = NIT_NULL /*null*/;
3262 }
3263 goto return_label160;
3264 }
3265 variable2 = ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/;
3266 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*/) /*PType::==*/)))));
3267 if (UNTAG_Bool(variable2)) { /*if*/
3268 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*/) /*PNode::==*/)))))));
3269 if (UNTAG_Bool(variable2)) { /*if*/
3270 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3271 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
3272 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1620,3--28\n"); nit_exit(1);}
3273 ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/ = variable1 /*new_child*/;
3274 } else { /*if*/
3275 ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/ = NIT_NULL /*null*/;
3276 }
3277 goto return_label160;
3278 }
3279 variable2 = ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/;
3280 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*/) /*PExpr::==*/)))));
3281 if (UNTAG_Bool(variable2)) { /*if*/
3282 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*/) /*PNode::==*/)))))));
3283 if (UNTAG_Bool(variable2)) { /*if*/
3284 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3285 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
3286 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1630,3--28\n"); nit_exit(1);}
3287 ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/ = variable1 /*new_child*/;
3288 } else { /*if*/
3289 ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/ = NIT_NULL /*null*/;
3290 }
3291 goto return_label160;
3292 }
3293 return_label160: while(false);
3294 tracehead = trace.prev;
3295 return;
3296 }
3297 void parser_prod___AAttrPropdef___visit_all(val_t self, val_t param0) {
3298 struct trace_t trace = {NULL, "parser_prod::AAttrPropdef::visit_all (src/parser//parser_prod.nit:1639,5--1666:27)"};
3299 val_t variable0;
3300 val_t variable1;
3301 trace.prev = tracehead; tracehead = &trace;
3302 variable0 = param0;
3303 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AAttrPropdef::_n_doc*/;
3304 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PDoc::==*/)))))));
3305 if (UNTAG_Bool(variable1)) { /*if*/
3306 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AAttrPropdef::_n_doc*/;
3307 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3308 }
3309 variable1 = ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/;
3310 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PAble::==*/)))))));
3311 if (UNTAG_Bool(variable1)) { /*if*/
3312 variable1 = ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/;
3313 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3314 }
3315 variable1 = ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/;
3316 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PAble::==*/)))))));
3317 if (UNTAG_Bool(variable1)) { /*if*/
3318 variable1 = ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/;
3319 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3320 }
3321 variable1 = ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/;
3322 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwredef::==*/)))))));
3323 if (UNTAG_Bool(variable1)) { /*if*/
3324 variable1 = ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/;
3325 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3326 }
3327 variable1 = ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/;
3328 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PVisibility::==*/)))))));
3329 if (UNTAG_Bool(variable1)) { /*if*/
3330 variable1 = ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/;
3331 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3332 }
3333 variable1 = ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/;
3334 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwattr::==*/)))))));
3335 if (UNTAG_Bool(variable1)) { /*if*/
3336 variable1 = ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/;
3337 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3338 }
3339 variable1 = ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/;
3340 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TAttrid::==*/)))))));
3341 if (UNTAG_Bool(variable1)) { /*if*/
3342 variable1 = ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/;
3343 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3344 }
3345 variable1 = ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/;
3346 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PType::==*/)))))));
3347 if (UNTAG_Bool(variable1)) { /*if*/
3348 variable1 = ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/;
3349 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3350 }
3351 variable1 = ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/;
3352 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
3353 if (UNTAG_Bool(variable1)) { /*if*/
3354 variable1 = ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/;
3355 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3356 }
3357 tracehead = trace.prev;
3358 return;
3359 }
3360 void parser_prod___AAttrPropdef___visit_all_reverse(val_t self, val_t param0) {
3361 struct trace_t trace = {NULL, "parser_prod::AAttrPropdef::visit_all_reverse (src/parser//parser_prod.nit:1670,5--1697:27)"};
3362 val_t variable0;
3363 val_t variable1;
3364 trace.prev = tracehead; tracehead = &trace;
3365 variable0 = param0;
3366 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AAttrPropdef::_n_doc*/;
3367 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PDoc::==*/)))))));
3368 if (UNTAG_Bool(variable1)) { /*if*/
3369 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AAttrPropdef::_n_doc*/;
3370 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3371 }
3372 variable1 = ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/;
3373 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PAble::==*/)))))));
3374 if (UNTAG_Bool(variable1)) { /*if*/
3375 variable1 = ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/;
3376 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3377 }
3378 variable1 = ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/;
3379 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PAble::==*/)))))));
3380 if (UNTAG_Bool(variable1)) { /*if*/
3381 variable1 = ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/;
3382 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3383 }
3384 variable1 = ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/;
3385 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwredef::==*/)))))));
3386 if (UNTAG_Bool(variable1)) { /*if*/
3387 variable1 = ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/;
3388 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3389 }
3390 variable1 = ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/;
3391 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PVisibility::==*/)))))));
3392 if (UNTAG_Bool(variable1)) { /*if*/
3393 variable1 = ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/;
3394 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3395 }
3396 variable1 = ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/;
3397 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwattr::==*/)))))));
3398 if (UNTAG_Bool(variable1)) { /*if*/
3399 variable1 = ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/;
3400 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3401 }
3402 variable1 = ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/;
3403 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TAttrid::==*/)))))));
3404 if (UNTAG_Bool(variable1)) { /*if*/
3405 variable1 = ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/;
3406 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3407 }
3408 variable1 = ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/;
3409 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PType::==*/)))))));
3410 if (UNTAG_Bool(variable1)) { /*if*/
3411 variable1 = ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/;
3412 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3413 }
3414 variable1 = ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/;
3415 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
3416 if (UNTAG_Bool(variable1)) { /*if*/
3417 variable1 = ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/;
3418 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3419 }
3420 tracehead = trace.prev;
3421 return;
3422 }
3423 void parser_prod___AMethPropdef___n_doc__eq(val_t self, val_t param0) {
3424 struct trace_t trace = {NULL, "parser_prod::AMethPropdef::n_doc= (src/parser//parser_prod.nit:1702,5--1706:20)"};
3425 val_t variable0;
3426 val_t variable1;
3427 trace.prev = tracehead; tracehead = &trace;
3428 variable0 = param0;
3429 ATTR_parser_nodes___PPropdef____n_doc( self) /*AMethPropdef::_n_doc*/ = variable0 /*n*/;
3430 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*/) /*PDoc::==*/)))))));
3431 if (UNTAG_Bool(variable1)) { /*if*/
3432 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PDoc::parent=*/;
3433 }
3434 tracehead = trace.prev;
3435 return;
3436 }
3437 void parser_prod___AMethPropdef___n_kwredef__eq(val_t self, val_t param0) {
3438 struct trace_t trace = {NULL, "parser_prod::AMethPropdef::n_kwredef= (src/parser//parser_prod.nit:1709,5--1713:20)"};
3439 val_t variable0;
3440 val_t variable1;
3441 trace.prev = tracehead; tracehead = &trace;
3442 variable0 = param0;
3443 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = variable0 /*n*/;
3444 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*/) /*TKwredef::==*/)))))));
3445 if (UNTAG_Bool(variable1)) { /*if*/
3446 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwredef::parent=*/;
3447 }
3448 tracehead = trace.prev;
3449 return;
3450 }
3451 void parser_prod___AMethPropdef___n_visibility__eq(val_t self, val_t param0) {
3452 struct trace_t trace = {NULL, "parser_prod::AMethPropdef::n_visibility= (src/parser//parser_prod.nit:1716,5--1720:20)"};
3453 val_t variable0;
3454 val_t variable1;
3455 trace.prev = tracehead; tracehead = &trace;
3456 variable0 = param0;
3457 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = variable0 /*n*/;
3458 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*/) /*PVisibility::==*/)))))));
3459 if (UNTAG_Bool(variable1)) { /*if*/
3460 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PVisibility::parent=*/;
3461 }
3462 tracehead = trace.prev;
3463 return;
3464 }
3465 void parser_prod___AMethPropdef___n_methid__eq(val_t self, val_t param0) {
3466 struct trace_t trace = {NULL, "parser_prod::AMethPropdef::n_methid= (src/parser//parser_prod.nit:1723,5--1727:20)"};
3467 val_t variable0;
3468 val_t variable1;
3469 trace.prev = tracehead; tracehead = &trace;
3470 variable0 = param0;
3471 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = variable0 /*n*/;
3472 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*/) /*PMethid::==*/)))))));
3473 if (UNTAG_Bool(variable1)) { /*if*/
3474 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PMethid::parent=*/;
3475 }
3476 tracehead = trace.prev;
3477 return;
3478 }
3479 void parser_prod___AMethPropdef___n_signature__eq(val_t self, val_t param0) {
3480 struct trace_t trace = {NULL, "parser_prod::AMethPropdef::n_signature= (src/parser//parser_prod.nit:1730,5--1734:20)"};
3481 val_t variable0;
3482 val_t variable1;
3483 trace.prev = tracehead; tracehead = &trace;
3484 variable0 = param0;
3485 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = variable0 /*n*/;
3486 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*/) /*PSignature::==*/)))))));
3487 if (UNTAG_Bool(variable1)) { /*if*/
3488 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PSignature::parent=*/;
3489 }
3490 tracehead = trace.prev;
3491 return;
3492 }
3493 void parser_prod___AMethPropdef___empty_init(val_t self, int* init_table) {
3494 struct trace_t trace = {NULL, "parser_prod::AMethPropdef::empty_init (src/parser//parser_prod.nit:1738,5--27)"};
3495 trace.prev = tracehead; tracehead = &trace;
3496 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMethPropdef].i]) return;
3497 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMethPropdef].i] = 1;
3498 tracehead = trace.prev;
3499 return;
3500 }
3501 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) {
3502 struct trace_t trace = {NULL, "parser_prod::AMethPropdef::init_amethpropdef (src/parser//parser_prod.nit:1740,5--1766:27)"};
3503 val_t variable0;
3504 val_t variable1;
3505 val_t variable2;
3506 val_t variable3;
3507 val_t variable4;
3508 val_t variable5;
3509 trace.prev = tracehead; tracehead = &trace;
3510 variable0 = param0;
3511 variable1 = param1;
3512 variable2 = param2;
3513 variable3 = param3;
3514 variable4 = param4;
3515 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMethPropdef].i]) return;
3516 ATTR_parser_nodes___PPropdef____n_doc( self) /*AMethPropdef::_n_doc*/ = variable0 /*n_doc*/;
3517 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*/) /*PDoc::==*/)))))));
3518 if (UNTAG_Bool(variable5)) { /*if*/
3519 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/, self) /*PDoc::parent=*/;
3520 }
3521 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = variable1 /*n_kwredef*/;
3522 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*/) /*TKwredef::==*/)))))));
3523 if (UNTAG_Bool(variable5)) { /*if*/
3524 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/, self) /*TKwredef::parent=*/;
3525 }
3526 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = variable2 /*n_visibility*/;
3527 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*/) /*PVisibility::==*/)))))));
3528 if (UNTAG_Bool(variable5)) { /*if*/
3529 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/, self) /*PVisibility::parent=*/;
3530 }
3531 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = variable3 /*n_methid*/;
3532 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*/) /*PMethid::==*/)))))));
3533 if (UNTAG_Bool(variable5)) { /*if*/
3534 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_methid*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_methid*/, self) /*PMethid::parent=*/;
3535 }
3536 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = variable4 /*n_signature*/;
3537 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*/) /*PSignature::==*/)))))));
3538 if (UNTAG_Bool(variable5)) { /*if*/
3539 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_signature*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_signature*/, self) /*PSignature::parent=*/;
3540 }
3541 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMethPropdef].i] = 1;
3542 tracehead = trace.prev;
3543 return;
3544 }
3545 void parser_prod___AMethPropdef___replace_child(val_t self, val_t param0, val_t param1) {
3546 struct trace_t trace = {NULL, "parser_prod::AMethPropdef::replace_child (src/parser//parser_prod.nit:1770,5--1821:18)"};
3547 val_t variable0;
3548 val_t variable1;
3549 val_t variable2;
3550 trace.prev = tracehead; tracehead = &trace;
3551 variable0 = param0;
3552 variable1 = param1;
3553 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*/) /*PNode::==*/)))))));
3554 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1772,9--32\n"); nit_exit(1);}
3555 variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AMethPropdef::_n_doc*/;
3556 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*/) /*PDoc::==*/)))));
3557 if (UNTAG_Bool(variable2)) { /*if*/
3558 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*/) /*PNode::==*/)))))));
3559 if (UNTAG_Bool(variable2)) { /*if*/
3560 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3561 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
3562 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1776,3--27\n"); nit_exit(1);}
3563 ATTR_parser_nodes___PPropdef____n_doc( self) /*AMethPropdef::_n_doc*/ = variable1 /*new_child*/;
3564 } else { /*if*/
3565 ATTR_parser_nodes___PPropdef____n_doc( self) /*AMethPropdef::_n_doc*/ = NIT_NULL /*null*/;
3566 }
3567 goto return_label170;
3568 }
3569 variable2 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
3570 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*/) /*TKwredef::==*/)))));
3571 if (UNTAG_Bool(variable2)) { /*if*/
3572 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*/) /*PNode::==*/)))))));
3573 if (UNTAG_Bool(variable2)) { /*if*/
3574 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3575 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
3576 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1786,3--31\n"); nit_exit(1);}
3577 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = variable1 /*new_child*/;
3578 } else { /*if*/
3579 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ = NIT_NULL /*null*/;
3580 }
3581 goto return_label170;
3582 }
3583 variable2 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
3584 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*/) /*PVisibility::==*/)))));
3585 if (UNTAG_Bool(variable2)) { /*if*/
3586 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*/) /*PNode::==*/)))))));
3587 if (UNTAG_Bool(variable2)) { /*if*/
3588 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3589 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
3590 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1796,3--34\n"); nit_exit(1);}
3591 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = variable1 /*new_child*/;
3592 } else { /*if*/
3593 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ = NIT_NULL /*null*/;
3594 }
3595 goto return_label170;
3596 }
3597 variable2 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
3598 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*/) /*PMethid::==*/)))));
3599 if (UNTAG_Bool(variable2)) { /*if*/
3600 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*/) /*PNode::==*/)))))));
3601 if (UNTAG_Bool(variable2)) { /*if*/
3602 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3603 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
3604 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1806,3--30\n"); nit_exit(1);}
3605 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = variable1 /*new_child*/;
3606 } else { /*if*/
3607 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ = NIT_NULL /*null*/;
3608 }
3609 goto return_label170;
3610 }
3611 variable2 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
3612 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*/) /*PSignature::==*/)))));
3613 if (UNTAG_Bool(variable2)) { /*if*/
3614 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*/) /*PNode::==*/)))))));
3615 if (UNTAG_Bool(variable2)) { /*if*/
3616 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3617 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
3618 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1816,3--33\n"); nit_exit(1);}
3619 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = variable1 /*new_child*/;
3620 } else { /*if*/
3621 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ = NIT_NULL /*null*/;
3622 }
3623 goto return_label170;
3624 }
3625 return_label170: while(false);
3626 tracehead = trace.prev;
3627 return;
3628 }
3629 void parser_prod___AMethPropdef___visit_all(val_t self, val_t param0) {
3630 struct trace_t trace = {NULL, "parser_prod::AMethPropdef::visit_all (src/parser//parser_prod.nit:1825,5--1840:32)"};
3631 val_t variable0;
3632 val_t variable1;
3633 trace.prev = tracehead; tracehead = &trace;
3634 variable0 = param0;
3635 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AMethPropdef::_n_doc*/;
3636 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PDoc::==*/)))))));
3637 if (UNTAG_Bool(variable1)) { /*if*/
3638 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AMethPropdef::_n_doc*/;
3639 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3640 }
3641 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
3642 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwredef::==*/)))))));
3643 if (UNTAG_Bool(variable1)) { /*if*/
3644 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
3645 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3646 }
3647 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
3648 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PVisibility::==*/)))))));
3649 if (UNTAG_Bool(variable1)) { /*if*/
3650 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
3651 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3652 }
3653 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
3654 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PMethid::==*/)))))));
3655 if (UNTAG_Bool(variable1)) { /*if*/
3656 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
3657 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3658 }
3659 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
3660 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PSignature::==*/)))))));
3661 if (UNTAG_Bool(variable1)) { /*if*/
3662 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
3663 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3664 }
3665 tracehead = trace.prev;
3666 return;
3667 }
3668 void parser_prod___AMethPropdef___visit_all_reverse(val_t self, val_t param0) {
3669 struct trace_t trace = {NULL, "parser_prod::AMethPropdef::visit_all_reverse (src/parser//parser_prod.nit:1844,5--1859:32)"};
3670 val_t variable0;
3671 val_t variable1;
3672 trace.prev = tracehead; tracehead = &trace;
3673 variable0 = param0;
3674 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AMethPropdef::_n_doc*/;
3675 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PDoc::==*/)))))));
3676 if (UNTAG_Bool(variable1)) { /*if*/
3677 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AMethPropdef::_n_doc*/;
3678 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3679 }
3680 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
3681 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwredef::==*/)))))));
3682 if (UNTAG_Bool(variable1)) { /*if*/
3683 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
3684 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3685 }
3686 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
3687 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PVisibility::==*/)))))));
3688 if (UNTAG_Bool(variable1)) { /*if*/
3689 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
3690 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3691 }
3692 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
3693 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PMethid::==*/)))))));
3694 if (UNTAG_Bool(variable1)) { /*if*/
3695 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
3696 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3697 }
3698 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
3699 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PSignature::==*/)))))));
3700 if (UNTAG_Bool(variable1)) { /*if*/
3701 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
3702 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3703 }
3704 tracehead = trace.prev;
3705 return;
3706 }
3707 void parser_prod___ADeferredMethPropdef___n_doc__eq(val_t self, val_t param0) {
3708 struct trace_t trace = {NULL, "parser_prod::ADeferredMethPropdef::n_doc= (src/parser//parser_prod.nit:1864,5--1868:20)"};
3709 val_t variable0;
3710 val_t variable1;
3711 trace.prev = tracehead; tracehead = &trace;
3712 variable0 = param0;
3713 ATTR_parser_nodes___PPropdef____n_doc( self) /*ADeferredMethPropdef::_n_doc*/ = variable0 /*n*/;
3714 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*/) /*PDoc::==*/)))))));
3715 if (UNTAG_Bool(variable1)) { /*if*/
3716 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PDoc::parent=*/;
3717 }
3718 tracehead = trace.prev;
3719 return;
3720 }
3721 void parser_prod___ADeferredMethPropdef___n_kwredef__eq(val_t self, val_t param0) {
3722 struct trace_t trace = {NULL, "parser_prod::ADeferredMethPropdef::n_kwredef= (src/parser//parser_prod.nit:1871,5--1875:20)"};
3723 val_t variable0;
3724 val_t variable1;
3725 trace.prev = tracehead; tracehead = &trace;
3726 variable0 = param0;
3727 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*ADeferredMethPropdef::_n_kwredef*/ = variable0 /*n*/;
3728 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*/) /*TKwredef::==*/)))))));
3729 if (UNTAG_Bool(variable1)) { /*if*/
3730 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwredef::parent=*/;
3731 }
3732 tracehead = trace.prev;
3733 return;
3734 }
3735 void parser_prod___ADeferredMethPropdef___n_visibility__eq(val_t self, val_t param0) {
3736 struct trace_t trace = {NULL, "parser_prod::ADeferredMethPropdef::n_visibility= (src/parser//parser_prod.nit:1878,5--1882:20)"};
3737 val_t variable0;
3738 val_t variable1;
3739 trace.prev = tracehead; tracehead = &trace;
3740 variable0 = param0;
3741 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*ADeferredMethPropdef::_n_visibility*/ = variable0 /*n*/;
3742 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*/) /*PVisibility::==*/)))))));
3743 if (UNTAG_Bool(variable1)) { /*if*/
3744 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PVisibility::parent=*/;
3745 }
3746 tracehead = trace.prev;
3747 return;
3748 }
3749 void parser_prod___ADeferredMethPropdef___n_kwmeth__eq(val_t self, val_t param0) {
3750 struct trace_t trace = {NULL, "parser_prod::ADeferredMethPropdef::n_kwmeth= (src/parser//parser_prod.nit:1885,5--1889:20)"};
3751 val_t variable0;
3752 val_t variable1;
3753 trace.prev = tracehead; tracehead = &trace;
3754 variable0 = param0;
3755 ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/ = variable0 /*n*/;
3756 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*/) /*TKwmeth::==*/)))))));
3757 if (UNTAG_Bool(variable1)) { /*if*/
3758 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwmeth::parent=*/;
3759 }
3760 tracehead = trace.prev;
3761 return;
3762 }
3763 void parser_prod___ADeferredMethPropdef___n_methid__eq(val_t self, val_t param0) {
3764 struct trace_t trace = {NULL, "parser_prod::ADeferredMethPropdef::n_methid= (src/parser//parser_prod.nit:1892,5--1896:20)"};
3765 val_t variable0;
3766 val_t variable1;
3767 trace.prev = tracehead; tracehead = &trace;
3768 variable0 = param0;
3769 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*ADeferredMethPropdef::_n_methid*/ = variable0 /*n*/;
3770 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*/) /*PMethid::==*/)))))));
3771 if (UNTAG_Bool(variable1)) { /*if*/
3772 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PMethid::parent=*/;
3773 }
3774 tracehead = trace.prev;
3775 return;
3776 }
3777 void parser_prod___ADeferredMethPropdef___n_signature__eq(val_t self, val_t param0) {
3778 struct trace_t trace = {NULL, "parser_prod::ADeferredMethPropdef::n_signature= (src/parser//parser_prod.nit:1899,5--1903:20)"};
3779 val_t variable0;
3780 val_t variable1;
3781 trace.prev = tracehead; tracehead = &trace;
3782 variable0 = param0;
3783 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*ADeferredMethPropdef::_n_signature*/ = variable0 /*n*/;
3784 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*/) /*PSignature::==*/)))))));
3785 if (UNTAG_Bool(variable1)) { /*if*/
3786 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PSignature::parent=*/;
3787 }
3788 tracehead = trace.prev;
3789 return;
3790 }
3791 void parser_prod___ADeferredMethPropdef___empty_init(val_t self, int* init_table) {
3792 struct trace_t trace = {NULL, "parser_prod::ADeferredMethPropdef::empty_init (src/parser//parser_prod.nit:1907,5--27)"};
3793 trace.prev = tracehead; tracehead = &trace;
3794 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADeferredMethPropdef].i]) return;
3795 ((parser_prod___AMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AMethPropdef___empty_init))( self, init_table /*YYY*/) /*AMethPropdef::empty_init*/;
3796 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADeferredMethPropdef].i] = 1;
3797 tracehead = trace.prev;
3798 return;
3799 }
3800 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) {
3801 struct trace_t trace = {NULL, "parser_prod::ADeferredMethPropdef::init_adeferredmethpropdef (src/parser//parser_prod.nit:1909,5--1940:27)"};
3802 val_t variable0;
3803 val_t variable1;
3804 val_t variable2;
3805 val_t variable3;
3806 val_t variable4;
3807 val_t variable5;
3808 val_t variable6;
3809 trace.prev = tracehead; tracehead = &trace;
3810 variable0 = param0;
3811 variable1 = param1;
3812 variable2 = param2;
3813 variable3 = param3;
3814 variable4 = param4;
3815 variable5 = param5;
3816 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADeferredMethPropdef].i]) return;
3817 ((parser_prod___AMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AMethPropdef___empty_init))( self, init_table /*YYY*/) /*AMethPropdef::empty_init*/;
3818 ATTR_parser_nodes___PPropdef____n_doc( self) /*ADeferredMethPropdef::_n_doc*/ = variable0 /*n_doc*/;
3819 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*/) /*PDoc::==*/)))))));
3820 if (UNTAG_Bool(variable6)) { /*if*/
3821 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/, self) /*PDoc::parent=*/;
3822 }
3823 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*ADeferredMethPropdef::_n_kwredef*/ = variable1 /*n_kwredef*/;
3824 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*/) /*TKwredef::==*/)))))));
3825 if (UNTAG_Bool(variable6)) { /*if*/
3826 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/, self) /*TKwredef::parent=*/;
3827 }
3828 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*ADeferredMethPropdef::_n_visibility*/ = variable2 /*n_visibility*/;
3829 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*/) /*PVisibility::==*/)))))));
3830 if (UNTAG_Bool(variable6)) { /*if*/
3831 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/, self) /*PVisibility::parent=*/;
3832 }
3833 ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/ = variable3 /*n_kwmeth*/;
3834 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*/) /*TKwmeth::==*/)))))));
3835 if (UNTAG_Bool(variable6)) { /*if*/
3836 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwmeth*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwmeth*/, self) /*TKwmeth::parent=*/;
3837 }
3838 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*ADeferredMethPropdef::_n_methid*/ = variable4 /*n_methid*/;
3839 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*/) /*PMethid::==*/)))))));
3840 if (UNTAG_Bool(variable6)) { /*if*/
3841 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_methid*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_methid*/, self) /*PMethid::parent=*/;
3842 }
3843 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*ADeferredMethPropdef::_n_signature*/ = variable5 /*n_signature*/;
3844 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*/) /*PSignature::==*/)))))));
3845 if (UNTAG_Bool(variable6)) { /*if*/
3846 ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_signature*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_signature*/, self) /*PSignature::parent=*/;
3847 }
3848 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADeferredMethPropdef].i] = 1;
3849 tracehead = trace.prev;
3850 return;
3851 }
3852 void parser_prod___ADeferredMethPropdef___replace_child(val_t self, val_t param0, val_t param1) {
3853 struct trace_t trace = {NULL, "parser_prod::ADeferredMethPropdef::replace_child (src/parser//parser_prod.nit:1944,5--2005:18)"};
3854 val_t variable0;
3855 val_t variable1;
3856 val_t variable2;
3857 trace.prev = tracehead; tracehead = &trace;
3858 variable0 = param0;
3859 variable1 = param1;
3860 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*/) /*PNode::==*/)))))));
3861 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1946,9--32\n"); nit_exit(1);}
3862 variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*ADeferredMethPropdef::_n_doc*/;
3863 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*/) /*PDoc::==*/)))));
3864 if (UNTAG_Bool(variable2)) { /*if*/
3865 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*/) /*PNode::==*/)))))));
3866 if (UNTAG_Bool(variable2)) { /*if*/
3867 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3868 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
3869 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1950,3--27\n"); nit_exit(1);}
3870 ATTR_parser_nodes___PPropdef____n_doc( self) /*ADeferredMethPropdef::_n_doc*/ = variable1 /*new_child*/;
3871 } else { /*if*/
3872 ATTR_parser_nodes___PPropdef____n_doc( self) /*ADeferredMethPropdef::_n_doc*/ = NIT_NULL /*null*/;
3873 }
3874 goto return_label181;
3875 }
3876 variable2 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*ADeferredMethPropdef::_n_kwredef*/;
3877 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*/) /*TKwredef::==*/)))));
3878 if (UNTAG_Bool(variable2)) { /*if*/
3879 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*/) /*PNode::==*/)))))));
3880 if (UNTAG_Bool(variable2)) { /*if*/
3881 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3882 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
3883 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1960,3--31\n"); nit_exit(1);}
3884 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*ADeferredMethPropdef::_n_kwredef*/ = variable1 /*new_child*/;
3885 } else { /*if*/
3886 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*ADeferredMethPropdef::_n_kwredef*/ = NIT_NULL /*null*/;
3887 }
3888 goto return_label181;
3889 }
3890 variable2 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*ADeferredMethPropdef::_n_visibility*/;
3891 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*/) /*PVisibility::==*/)))));
3892 if (UNTAG_Bool(variable2)) { /*if*/
3893 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*/) /*PNode::==*/)))))));
3894 if (UNTAG_Bool(variable2)) { /*if*/
3895 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3896 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
3897 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1970,3--34\n"); nit_exit(1);}
3898 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*ADeferredMethPropdef::_n_visibility*/ = variable1 /*new_child*/;
3899 } else { /*if*/
3900 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*ADeferredMethPropdef::_n_visibility*/ = NIT_NULL /*null*/;
3901 }
3902 goto return_label181;
3903 }
3904 variable2 = ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/;
3905 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*/) /*TKwmeth::==*/)))));
3906 if (UNTAG_Bool(variable2)) { /*if*/
3907 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*/) /*PNode::==*/)))))));
3908 if (UNTAG_Bool(variable2)) { /*if*/
3909 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3910 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
3911 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1980,3--30\n"); nit_exit(1);}
3912 ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/ = variable1 /*new_child*/;
3913 } else { /*if*/
3914 ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/ = NIT_NULL /*null*/;
3915 }
3916 goto return_label181;
3917 }
3918 variable2 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*ADeferredMethPropdef::_n_methid*/;
3919 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*/) /*PMethid::==*/)))));
3920 if (UNTAG_Bool(variable2)) { /*if*/
3921 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*/) /*PNode::==*/)))))));
3922 if (UNTAG_Bool(variable2)) { /*if*/
3923 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3924 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
3925 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:1990,3--30\n"); nit_exit(1);}
3926 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*ADeferredMethPropdef::_n_methid*/ = variable1 /*new_child*/;
3927 } else { /*if*/
3928 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*ADeferredMethPropdef::_n_methid*/ = NIT_NULL /*null*/;
3929 }
3930 goto return_label181;
3931 }
3932 variable2 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*ADeferredMethPropdef::_n_signature*/;
3933 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*/) /*PSignature::==*/)))));
3934 if (UNTAG_Bool(variable2)) { /*if*/
3935 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*/) /*PNode::==*/)))))));
3936 if (UNTAG_Bool(variable2)) { /*if*/
3937 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
3938 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
3939 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2000,3--33\n"); nit_exit(1);}
3940 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*ADeferredMethPropdef::_n_signature*/ = variable1 /*new_child*/;
3941 } else { /*if*/
3942 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*ADeferredMethPropdef::_n_signature*/ = NIT_NULL /*null*/;
3943 }
3944 goto return_label181;
3945 }
3946 return_label181: while(false);
3947 tracehead = trace.prev;
3948 return;
3949 }
3950 void parser_prod___ADeferredMethPropdef___visit_all(val_t self, val_t param0) {
3951 struct trace_t trace = {NULL, "parser_prod::ADeferredMethPropdef::visit_all (src/parser//parser_prod.nit:2009,5--2027:32)"};
3952 val_t variable0;
3953 val_t variable1;
3954 trace.prev = tracehead; tracehead = &trace;
3955 variable0 = param0;
3956 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*ADeferredMethPropdef::_n_doc*/;
3957 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PDoc::==*/)))))));
3958 if (UNTAG_Bool(variable1)) { /*if*/
3959 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*ADeferredMethPropdef::_n_doc*/;
3960 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3961 }
3962 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*ADeferredMethPropdef::_n_kwredef*/;
3963 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwredef::==*/)))))));
3964 if (UNTAG_Bool(variable1)) { /*if*/
3965 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*ADeferredMethPropdef::_n_kwredef*/;
3966 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3967 }
3968 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*ADeferredMethPropdef::_n_visibility*/;
3969 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PVisibility::==*/)))))));
3970 if (UNTAG_Bool(variable1)) { /*if*/
3971 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*ADeferredMethPropdef::_n_visibility*/;
3972 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3973 }
3974 variable1 = ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/;
3975 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwmeth::==*/)))))));
3976 if (UNTAG_Bool(variable1)) { /*if*/
3977 variable1 = ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/;
3978 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3979 }
3980 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*ADeferredMethPropdef::_n_methid*/;
3981 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PMethid::==*/)))))));
3982 if (UNTAG_Bool(variable1)) { /*if*/
3983 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*ADeferredMethPropdef::_n_methid*/;
3984 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3985 }
3986 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*ADeferredMethPropdef::_n_signature*/;
3987 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PSignature::==*/)))))));
3988 if (UNTAG_Bool(variable1)) { /*if*/
3989 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*ADeferredMethPropdef::_n_signature*/;
3990 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
3991 }
3992 tracehead = trace.prev;
3993 return;
3994 }
3995 void parser_prod___ADeferredMethPropdef___visit_all_reverse(val_t self, val_t param0) {
3996 struct trace_t trace = {NULL, "parser_prod::ADeferredMethPropdef::visit_all_reverse (src/parser//parser_prod.nit:2031,5--2049:32)"};
3997 val_t variable0;
3998 val_t variable1;
3999 trace.prev = tracehead; tracehead = &trace;
4000 variable0 = param0;
4001 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*ADeferredMethPropdef::_n_doc*/;
4002 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PDoc::==*/)))))));
4003 if (UNTAG_Bool(variable1)) { /*if*/
4004 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*ADeferredMethPropdef::_n_doc*/;
4005 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4006 }
4007 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*ADeferredMethPropdef::_n_kwredef*/;
4008 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwredef::==*/)))))));
4009 if (UNTAG_Bool(variable1)) { /*if*/
4010 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*ADeferredMethPropdef::_n_kwredef*/;
4011 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4012 }
4013 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*ADeferredMethPropdef::_n_visibility*/;
4014 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PVisibility::==*/)))))));
4015 if (UNTAG_Bool(variable1)) { /*if*/
4016 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*ADeferredMethPropdef::_n_visibility*/;
4017 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4018 }
4019 variable1 = ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/;
4020 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwmeth::==*/)))))));
4021 if (UNTAG_Bool(variable1)) { /*if*/
4022 variable1 = ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/;
4023 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4024 }
4025 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*ADeferredMethPropdef::_n_methid*/;
4026 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PMethid::==*/)))))));
4027 if (UNTAG_Bool(variable1)) { /*if*/
4028 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*ADeferredMethPropdef::_n_methid*/;
4029 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4030 }
4031 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*ADeferredMethPropdef::_n_signature*/;
4032 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PSignature::==*/)))))));
4033 if (UNTAG_Bool(variable1)) { /*if*/
4034 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*ADeferredMethPropdef::_n_signature*/;
4035 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4036 }
4037 tracehead = trace.prev;
4038 return;
4039 }
4040 void parser_prod___AInternMethPropdef___n_doc__eq(val_t self, val_t param0) {
4041 struct trace_t trace = {NULL, "parser_prod::AInternMethPropdef::n_doc= (src/parser//parser_prod.nit:2054,5--2058:20)"};
4042 val_t variable0;
4043 val_t variable1;
4044 trace.prev = tracehead; tracehead = &trace;
4045 variable0 = param0;
4046 ATTR_parser_nodes___PPropdef____n_doc( self) /*AInternMethPropdef::_n_doc*/ = variable0 /*n*/;
4047 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*/) /*PDoc::==*/)))))));
4048 if (UNTAG_Bool(variable1)) { /*if*/
4049 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PDoc::parent=*/;
4050 }
4051 tracehead = trace.prev;
4052 return;
4053 }
4054 void parser_prod___AInternMethPropdef___n_kwredef__eq(val_t self, val_t param0) {
4055 struct trace_t trace = {NULL, "parser_prod::AInternMethPropdef::n_kwredef= (src/parser//parser_prod.nit:2061,5--2065:20)"};
4056 val_t variable0;
4057 val_t variable1;
4058 trace.prev = tracehead; tracehead = &trace;
4059 variable0 = param0;
4060 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AInternMethPropdef::_n_kwredef*/ = variable0 /*n*/;
4061 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*/) /*TKwredef::==*/)))))));
4062 if (UNTAG_Bool(variable1)) { /*if*/
4063 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwredef::parent=*/;
4064 }
4065 tracehead = trace.prev;
4066 return;
4067 }
4068 void parser_prod___AInternMethPropdef___n_visibility__eq(val_t self, val_t param0) {
4069 struct trace_t trace = {NULL, "parser_prod::AInternMethPropdef::n_visibility= (src/parser//parser_prod.nit:2068,5--2072:20)"};
4070 val_t variable0;
4071 val_t variable1;
4072 trace.prev = tracehead; tracehead = &trace;
4073 variable0 = param0;
4074 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AInternMethPropdef::_n_visibility*/ = variable0 /*n*/;
4075 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*/) /*PVisibility::==*/)))))));
4076 if (UNTAG_Bool(variable1)) { /*if*/
4077 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PVisibility::parent=*/;
4078 }
4079 tracehead = trace.prev;
4080 return;
4081 }
4082 void parser_prod___AInternMethPropdef___n_kwmeth__eq(val_t self, val_t param0) {
4083 struct trace_t trace = {NULL, "parser_prod::AInternMethPropdef::n_kwmeth= (src/parser//parser_prod.nit:2075,5--2079:20)"};
4084 val_t variable0;
4085 val_t variable1;
4086 trace.prev = tracehead; tracehead = &trace;
4087 variable0 = param0;
4088 ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/ = variable0 /*n*/;
4089 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*/) /*TKwmeth::==*/)))))));
4090 if (UNTAG_Bool(variable1)) { /*if*/
4091 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwmeth::parent=*/;
4092 }
4093 tracehead = trace.prev;
4094 return;
4095 }
4096 void parser_prod___AInternMethPropdef___n_methid__eq(val_t self, val_t param0) {
4097 struct trace_t trace = {NULL, "parser_prod::AInternMethPropdef::n_methid= (src/parser//parser_prod.nit:2082,5--2086:20)"};
4098 val_t variable0;
4099 val_t variable1;
4100 trace.prev = tracehead; tracehead = &trace;
4101 variable0 = param0;
4102 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AInternMethPropdef::_n_methid*/ = variable0 /*n*/;
4103 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*/) /*PMethid::==*/)))))));
4104 if (UNTAG_Bool(variable1)) { /*if*/
4105 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PMethid::parent=*/;
4106 }
4107 tracehead = trace.prev;
4108 return;
4109 }
4110 void parser_prod___AInternMethPropdef___n_signature__eq(val_t self, val_t param0) {
4111 struct trace_t trace = {NULL, "parser_prod::AInternMethPropdef::n_signature= (src/parser//parser_prod.nit:2089,5--2093:20)"};
4112 val_t variable0;
4113 val_t variable1;
4114 trace.prev = tracehead; tracehead = &trace;
4115 variable0 = param0;
4116 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AInternMethPropdef::_n_signature*/ = variable0 /*n*/;
4117 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*/) /*PSignature::==*/)))))));
4118 if (UNTAG_Bool(variable1)) { /*if*/
4119 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PSignature::parent=*/;
4120 }
4121 tracehead = trace.prev;
4122 return;
4123 }
4124 void parser_prod___AInternMethPropdef___empty_init(val_t self, int* init_table) {
4125 struct trace_t trace = {NULL, "parser_prod::AInternMethPropdef::empty_init (src/parser//parser_prod.nit:2097,5--27)"};
4126 trace.prev = tracehead; tracehead = &trace;
4127 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInternMethPropdef].i]) return;
4128 ((parser_prod___AMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AMethPropdef___empty_init))( self, init_table /*YYY*/) /*AMethPropdef::empty_init*/;
4129 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInternMethPropdef].i] = 1;
4130 tracehead = trace.prev;
4131 return;
4132 }
4133 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) {
4134 struct trace_t trace = {NULL, "parser_prod::AInternMethPropdef::init_ainternmethpropdef (src/parser//parser_prod.nit:2099,5--2130:27)"};
4135 val_t variable0;
4136 val_t variable1;
4137 val_t variable2;
4138 val_t variable3;
4139 val_t variable4;
4140 val_t variable5;
4141 val_t variable6;
4142 trace.prev = tracehead; tracehead = &trace;
4143 variable0 = param0;
4144 variable1 = param1;
4145 variable2 = param2;
4146 variable3 = param3;
4147 variable4 = param4;
4148 variable5 = param5;
4149 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInternMethPropdef].i]) return;
4150 ((parser_prod___AMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AMethPropdef___empty_init))( self, init_table /*YYY*/) /*AMethPropdef::empty_init*/;
4151 ATTR_parser_nodes___PPropdef____n_doc( self) /*AInternMethPropdef::_n_doc*/ = variable0 /*n_doc*/;
4152 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*/) /*PDoc::==*/)))))));
4153 if (UNTAG_Bool(variable6)) { /*if*/
4154 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/, self) /*PDoc::parent=*/;
4155 }
4156 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AInternMethPropdef::_n_kwredef*/ = variable1 /*n_kwredef*/;
4157 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*/) /*TKwredef::==*/)))))));
4158 if (UNTAG_Bool(variable6)) { /*if*/
4159 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/, self) /*TKwredef::parent=*/;
4160 }
4161 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AInternMethPropdef::_n_visibility*/ = variable2 /*n_visibility*/;
4162 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*/) /*PVisibility::==*/)))))));
4163 if (UNTAG_Bool(variable6)) { /*if*/
4164 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/, self) /*PVisibility::parent=*/;
4165 }
4166 ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/ = variable3 /*n_kwmeth*/;
4167 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*/) /*TKwmeth::==*/)))))));
4168 if (UNTAG_Bool(variable6)) { /*if*/
4169 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwmeth*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwmeth*/, self) /*TKwmeth::parent=*/;
4170 }
4171 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AInternMethPropdef::_n_methid*/ = variable4 /*n_methid*/;
4172 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*/) /*PMethid::==*/)))))));
4173 if (UNTAG_Bool(variable6)) { /*if*/
4174 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_methid*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_methid*/, self) /*PMethid::parent=*/;
4175 }
4176 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AInternMethPropdef::_n_signature*/ = variable5 /*n_signature*/;
4177 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*/) /*PSignature::==*/)))))));
4178 if (UNTAG_Bool(variable6)) { /*if*/
4179 ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_signature*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_signature*/, self) /*PSignature::parent=*/;
4180 }
4181 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInternMethPropdef].i] = 1;
4182 tracehead = trace.prev;
4183 return;
4184 }
4185 void parser_prod___AInternMethPropdef___replace_child(val_t self, val_t param0, val_t param1) {
4186 struct trace_t trace = {NULL, "parser_prod::AInternMethPropdef::replace_child (src/parser//parser_prod.nit:2134,5--2195:18)"};
4187 val_t variable0;
4188 val_t variable1;
4189 val_t variable2;
4190 trace.prev = tracehead; tracehead = &trace;
4191 variable0 = param0;
4192 variable1 = param1;
4193 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*/) /*PNode::==*/)))))));
4194 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2136,9--32\n"); nit_exit(1);}
4195 variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AInternMethPropdef::_n_doc*/;
4196 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*/) /*PDoc::==*/)))));
4197 if (UNTAG_Bool(variable2)) { /*if*/
4198 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*/) /*PNode::==*/)))))));
4199 if (UNTAG_Bool(variable2)) { /*if*/
4200 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4201 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
4202 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2140,3--27\n"); nit_exit(1);}
4203 ATTR_parser_nodes___PPropdef____n_doc( self) /*AInternMethPropdef::_n_doc*/ = variable1 /*new_child*/;
4204 } else { /*if*/
4205 ATTR_parser_nodes___PPropdef____n_doc( self) /*AInternMethPropdef::_n_doc*/ = NIT_NULL /*null*/;
4206 }
4207 goto return_label192;
4208 }
4209 variable2 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AInternMethPropdef::_n_kwredef*/;
4210 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*/) /*TKwredef::==*/)))));
4211 if (UNTAG_Bool(variable2)) { /*if*/
4212 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*/) /*PNode::==*/)))))));
4213 if (UNTAG_Bool(variable2)) { /*if*/
4214 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4215 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
4216 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2150,3--31\n"); nit_exit(1);}
4217 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AInternMethPropdef::_n_kwredef*/ = variable1 /*new_child*/;
4218 } else { /*if*/
4219 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AInternMethPropdef::_n_kwredef*/ = NIT_NULL /*null*/;
4220 }
4221 goto return_label192;
4222 }
4223 variable2 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AInternMethPropdef::_n_visibility*/;
4224 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*/) /*PVisibility::==*/)))));
4225 if (UNTAG_Bool(variable2)) { /*if*/
4226 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*/) /*PNode::==*/)))))));
4227 if (UNTAG_Bool(variable2)) { /*if*/
4228 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4229 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
4230 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2160,3--34\n"); nit_exit(1);}
4231 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AInternMethPropdef::_n_visibility*/ = variable1 /*new_child*/;
4232 } else { /*if*/
4233 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AInternMethPropdef::_n_visibility*/ = NIT_NULL /*null*/;
4234 }
4235 goto return_label192;
4236 }
4237 variable2 = ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/;
4238 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*/) /*TKwmeth::==*/)))));
4239 if (UNTAG_Bool(variable2)) { /*if*/
4240 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*/) /*PNode::==*/)))))));
4241 if (UNTAG_Bool(variable2)) { /*if*/
4242 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4243 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
4244 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2170,3--30\n"); nit_exit(1);}
4245 ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/ = variable1 /*new_child*/;
4246 } else { /*if*/
4247 ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/ = NIT_NULL /*null*/;
4248 }
4249 goto return_label192;
4250 }
4251 variable2 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AInternMethPropdef::_n_methid*/;
4252 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*/) /*PMethid::==*/)))));
4253 if (UNTAG_Bool(variable2)) { /*if*/
4254 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*/) /*PNode::==*/)))))));
4255 if (UNTAG_Bool(variable2)) { /*if*/
4256 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4257 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
4258 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2180,3--30\n"); nit_exit(1);}
4259 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AInternMethPropdef::_n_methid*/ = variable1 /*new_child*/;
4260 } else { /*if*/
4261 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AInternMethPropdef::_n_methid*/ = NIT_NULL /*null*/;
4262 }
4263 goto return_label192;
4264 }
4265 variable2 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AInternMethPropdef::_n_signature*/;
4266 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*/) /*PSignature::==*/)))));
4267 if (UNTAG_Bool(variable2)) { /*if*/
4268 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*/) /*PNode::==*/)))))));
4269 if (UNTAG_Bool(variable2)) { /*if*/
4270 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4271 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
4272 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2190,3--33\n"); nit_exit(1);}
4273 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AInternMethPropdef::_n_signature*/ = variable1 /*new_child*/;
4274 } else { /*if*/
4275 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AInternMethPropdef::_n_signature*/ = NIT_NULL /*null*/;
4276 }
4277 goto return_label192;
4278 }
4279 return_label192: while(false);
4280 tracehead = trace.prev;
4281 return;
4282 }
4283 void parser_prod___AInternMethPropdef___visit_all(val_t self, val_t param0) {
4284 struct trace_t trace = {NULL, "parser_prod::AInternMethPropdef::visit_all (src/parser//parser_prod.nit:2199,5--2217:32)"};
4285 val_t variable0;
4286 val_t variable1;
4287 trace.prev = tracehead; tracehead = &trace;
4288 variable0 = param0;
4289 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AInternMethPropdef::_n_doc*/;
4290 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PDoc::==*/)))))));
4291 if (UNTAG_Bool(variable1)) { /*if*/
4292 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AInternMethPropdef::_n_doc*/;
4293 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4294 }
4295 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AInternMethPropdef::_n_kwredef*/;
4296 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwredef::==*/)))))));
4297 if (UNTAG_Bool(variable1)) { /*if*/
4298 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AInternMethPropdef::_n_kwredef*/;
4299 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4300 }
4301 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AInternMethPropdef::_n_visibility*/;
4302 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PVisibility::==*/)))))));
4303 if (UNTAG_Bool(variable1)) { /*if*/
4304 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AInternMethPropdef::_n_visibility*/;
4305 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4306 }
4307 variable1 = ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/;
4308 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwmeth::==*/)))))));
4309 if (UNTAG_Bool(variable1)) { /*if*/
4310 variable1 = ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/;
4311 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4312 }
4313 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AInternMethPropdef::_n_methid*/;
4314 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PMethid::==*/)))))));
4315 if (UNTAG_Bool(variable1)) { /*if*/
4316 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AInternMethPropdef::_n_methid*/;
4317 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4318 }
4319 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AInternMethPropdef::_n_signature*/;
4320 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PSignature::==*/)))))));
4321 if (UNTAG_Bool(variable1)) { /*if*/
4322 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AInternMethPropdef::_n_signature*/;
4323 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4324 }
4325 tracehead = trace.prev;
4326 return;
4327 }
4328 void parser_prod___AInternMethPropdef___visit_all_reverse(val_t self, val_t param0) {
4329 struct trace_t trace = {NULL, "parser_prod::AInternMethPropdef::visit_all_reverse (src/parser//parser_prod.nit:2221,5--2239:32)"};
4330 val_t variable0;
4331 val_t variable1;
4332 trace.prev = tracehead; tracehead = &trace;
4333 variable0 = param0;
4334 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AInternMethPropdef::_n_doc*/;
4335 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PDoc::==*/)))))));
4336 if (UNTAG_Bool(variable1)) { /*if*/
4337 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AInternMethPropdef::_n_doc*/;
4338 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4339 }
4340 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AInternMethPropdef::_n_kwredef*/;
4341 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwredef::==*/)))))));
4342 if (UNTAG_Bool(variable1)) { /*if*/
4343 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AInternMethPropdef::_n_kwredef*/;
4344 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4345 }
4346 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AInternMethPropdef::_n_visibility*/;
4347 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PVisibility::==*/)))))));
4348 if (UNTAG_Bool(variable1)) { /*if*/
4349 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AInternMethPropdef::_n_visibility*/;
4350 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4351 }
4352 variable1 = ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/;
4353 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwmeth::==*/)))))));
4354 if (UNTAG_Bool(variable1)) { /*if*/
4355 variable1 = ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/;
4356 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4357 }
4358 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AInternMethPropdef::_n_methid*/;
4359 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PMethid::==*/)))))));
4360 if (UNTAG_Bool(variable1)) { /*if*/
4361 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AInternMethPropdef::_n_methid*/;
4362 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4363 }
4364 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AInternMethPropdef::_n_signature*/;
4365 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PSignature::==*/)))))));
4366 if (UNTAG_Bool(variable1)) { /*if*/
4367 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AInternMethPropdef::_n_signature*/;
4368 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4369 }
4370 tracehead = trace.prev;
4371 return;
4372 }
4373 void parser_prod___AExternMethPropdef___n_doc__eq(val_t self, val_t param0) {
4374 struct trace_t trace = {NULL, "parser_prod::AExternMethPropdef::n_doc= (src/parser//parser_prod.nit:2244,5--2248:20)"};
4375 val_t variable0;
4376 val_t variable1;
4377 trace.prev = tracehead; tracehead = &trace;
4378 variable0 = param0;
4379 ATTR_parser_nodes___PPropdef____n_doc( self) /*AExternMethPropdef::_n_doc*/ = variable0 /*n*/;
4380 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*/) /*PDoc::==*/)))))));
4381 if (UNTAG_Bool(variable1)) { /*if*/
4382 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PDoc::parent=*/;
4383 }
4384 tracehead = trace.prev;
4385 return;
4386 }
4387 void parser_prod___AExternMethPropdef___n_kwredef__eq(val_t self, val_t param0) {
4388 struct trace_t trace = {NULL, "parser_prod::AExternMethPropdef::n_kwredef= (src/parser//parser_prod.nit:2251,5--2255:20)"};
4389 val_t variable0;
4390 val_t variable1;
4391 trace.prev = tracehead; tracehead = &trace;
4392 variable0 = param0;
4393 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AExternMethPropdef::_n_kwredef*/ = variable0 /*n*/;
4394 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*/) /*TKwredef::==*/)))))));
4395 if (UNTAG_Bool(variable1)) { /*if*/
4396 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwredef::parent=*/;
4397 }
4398 tracehead = trace.prev;
4399 return;
4400 }
4401 void parser_prod___AExternMethPropdef___n_visibility__eq(val_t self, val_t param0) {
4402 struct trace_t trace = {NULL, "parser_prod::AExternMethPropdef::n_visibility= (src/parser//parser_prod.nit:2258,5--2262:20)"};
4403 val_t variable0;
4404 val_t variable1;
4405 trace.prev = tracehead; tracehead = &trace;
4406 variable0 = param0;
4407 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AExternMethPropdef::_n_visibility*/ = variable0 /*n*/;
4408 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*/) /*PVisibility::==*/)))))));
4409 if (UNTAG_Bool(variable1)) { /*if*/
4410 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PVisibility::parent=*/;
4411 }
4412 tracehead = trace.prev;
4413 return;
4414 }
4415 void parser_prod___AExternMethPropdef___n_kwmeth__eq(val_t self, val_t param0) {
4416 struct trace_t trace = {NULL, "parser_prod::AExternMethPropdef::n_kwmeth= (src/parser//parser_prod.nit:2265,5--2269:20)"};
4417 val_t variable0;
4418 val_t variable1;
4419 trace.prev = tracehead; tracehead = &trace;
4420 variable0 = param0;
4421 ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/ = variable0 /*n*/;
4422 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*/) /*TKwmeth::==*/)))))));
4423 if (UNTAG_Bool(variable1)) { /*if*/
4424 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwmeth::parent=*/;
4425 }
4426 tracehead = trace.prev;
4427 return;
4428 }
4429 void parser_prod___AExternMethPropdef___n_methid__eq(val_t self, val_t param0) {
4430 struct trace_t trace = {NULL, "parser_prod::AExternMethPropdef::n_methid= (src/parser//parser_prod.nit:2272,5--2276:20)"};
4431 val_t variable0;
4432 val_t variable1;
4433 trace.prev = tracehead; tracehead = &trace;
4434 variable0 = param0;
4435 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AExternMethPropdef::_n_methid*/ = variable0 /*n*/;
4436 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*/) /*PMethid::==*/)))))));
4437 if (UNTAG_Bool(variable1)) { /*if*/
4438 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PMethid::parent=*/;
4439 }
4440 tracehead = trace.prev;
4441 return;
4442 }
4443 void parser_prod___AExternMethPropdef___n_signature__eq(val_t self, val_t param0) {
4444 struct trace_t trace = {NULL, "parser_prod::AExternMethPropdef::n_signature= (src/parser//parser_prod.nit:2279,5--2283:20)"};
4445 val_t variable0;
4446 val_t variable1;
4447 trace.prev = tracehead; tracehead = &trace;
4448 variable0 = param0;
4449 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AExternMethPropdef::_n_signature*/ = variable0 /*n*/;
4450 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*/) /*PSignature::==*/)))))));
4451 if (UNTAG_Bool(variable1)) { /*if*/
4452 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PSignature::parent=*/;
4453 }
4454 tracehead = trace.prev;
4455 return;
4456 }
4457 void parser_prod___AExternMethPropdef___n_extern__eq(val_t self, val_t param0) {
4458 struct trace_t trace = {NULL, "parser_prod::AExternMethPropdef::n_extern= (src/parser//parser_prod.nit:2286,5--2290:20)"};
4459 val_t variable0;
4460 val_t variable1;
4461 trace.prev = tracehead; tracehead = &trace;
4462 variable0 = param0;
4463 ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/ = variable0 /*n*/;
4464 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*/) /*TString::==*/)))))));
4465 if (UNTAG_Bool(variable1)) { /*if*/
4466 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TString::parent=*/;
4467 }
4468 tracehead = trace.prev;
4469 return;
4470 }
4471 void parser_prod___AExternMethPropdef___empty_init(val_t self, int* init_table) {
4472 struct trace_t trace = {NULL, "parser_prod::AExternMethPropdef::empty_init (src/parser//parser_prod.nit:2294,5--27)"};
4473 trace.prev = tracehead; tracehead = &trace;
4474 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AExternMethPropdef].i]) return;
4475 ((parser_prod___AMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AMethPropdef___empty_init))( self, init_table /*YYY*/) /*AMethPropdef::empty_init*/;
4476 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AExternMethPropdef].i] = 1;
4477 tracehead = trace.prev;
4478 return;
4479 }
4480 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) {
4481 struct trace_t trace = {NULL, "parser_prod::AExternMethPropdef::init_aexternmethpropdef (src/parser//parser_prod.nit:2296,5--2332:24)"};
4482 val_t variable0;
4483 val_t variable1;
4484 val_t variable2;
4485 val_t variable3;
4486 val_t variable4;
4487 val_t variable5;
4488 val_t variable6;
4489 val_t variable7;
4490 trace.prev = tracehead; tracehead = &trace;
4491 variable0 = param0;
4492 variable1 = param1;
4493 variable2 = param2;
4494 variable3 = param3;
4495 variable4 = param4;
4496 variable5 = param5;
4497 variable6 = param6;
4498 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AExternMethPropdef].i]) return;
4499 ((parser_prod___AMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AMethPropdef___empty_init))( self, init_table /*YYY*/) /*AMethPropdef::empty_init*/;
4500 ATTR_parser_nodes___PPropdef____n_doc( self) /*AExternMethPropdef::_n_doc*/ = variable0 /*n_doc*/;
4501 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*/) /*PDoc::==*/)))))));
4502 if (UNTAG_Bool(variable7)) { /*if*/
4503 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/, self) /*PDoc::parent=*/;
4504 }
4505 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AExternMethPropdef::_n_kwredef*/ = variable1 /*n_kwredef*/;
4506 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*/) /*TKwredef::==*/)))))));
4507 if (UNTAG_Bool(variable7)) { /*if*/
4508 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/, self) /*TKwredef::parent=*/;
4509 }
4510 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AExternMethPropdef::_n_visibility*/ = variable2 /*n_visibility*/;
4511 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*/) /*PVisibility::==*/)))))));
4512 if (UNTAG_Bool(variable7)) { /*if*/
4513 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/, self) /*PVisibility::parent=*/;
4514 }
4515 ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/ = variable3 /*n_kwmeth*/;
4516 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*/) /*TKwmeth::==*/)))))));
4517 if (UNTAG_Bool(variable7)) { /*if*/
4518 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwmeth*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwmeth*/, self) /*TKwmeth::parent=*/;
4519 }
4520 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AExternMethPropdef::_n_methid*/ = variable4 /*n_methid*/;
4521 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*/) /*PMethid::==*/)))))));
4522 if (UNTAG_Bool(variable7)) { /*if*/
4523 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_methid*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_methid*/, self) /*PMethid::parent=*/;
4524 }
4525 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AExternMethPropdef::_n_signature*/ = variable5 /*n_signature*/;
4526 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*/) /*PSignature::==*/)))))));
4527 if (UNTAG_Bool(variable7)) { /*if*/
4528 ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_signature*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_signature*/, self) /*PSignature::parent=*/;
4529 }
4530 ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/ = variable6 /*n_extern*/;
4531 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*/) /*TString::==*/)))))));
4532 if (UNTAG_Bool(variable7)) { /*if*/
4533 ((parser_prod___PNode___parent__eq_t)CALL( variable6 /*n_extern*/,COLOR_parser_prod___PNode___parent__eq))( variable6 /*n_extern*/, self) /*TString::parent=*/;
4534 }
4535 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AExternMethPropdef].i] = 1;
4536 tracehead = trace.prev;
4537 return;
4538 }
4539 void parser_prod___AExternMethPropdef___replace_child(val_t self, val_t param0, val_t param1) {
4540 struct trace_t trace = {NULL, "parser_prod::AExternMethPropdef::replace_child (src/parser//parser_prod.nit:2336,5--2407:18)"};
4541 val_t variable0;
4542 val_t variable1;
4543 val_t variable2;
4544 trace.prev = tracehead; tracehead = &trace;
4545 variable0 = param0;
4546 variable1 = param1;
4547 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*/) /*PNode::==*/)))))));
4548 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2338,9--32\n"); nit_exit(1);}
4549 variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AExternMethPropdef::_n_doc*/;
4550 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*/) /*PDoc::==*/)))));
4551 if (UNTAG_Bool(variable2)) { /*if*/
4552 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*/) /*PNode::==*/)))))));
4553 if (UNTAG_Bool(variable2)) { /*if*/
4554 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4555 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
4556 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2342,3--27\n"); nit_exit(1);}
4557 ATTR_parser_nodes___PPropdef____n_doc( self) /*AExternMethPropdef::_n_doc*/ = variable1 /*new_child*/;
4558 } else { /*if*/
4559 ATTR_parser_nodes___PPropdef____n_doc( self) /*AExternMethPropdef::_n_doc*/ = NIT_NULL /*null*/;
4560 }
4561 goto return_label204;
4562 }
4563 variable2 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AExternMethPropdef::_n_kwredef*/;
4564 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*/) /*TKwredef::==*/)))));
4565 if (UNTAG_Bool(variable2)) { /*if*/
4566 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*/) /*PNode::==*/)))))));
4567 if (UNTAG_Bool(variable2)) { /*if*/
4568 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4569 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
4570 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2352,3--31\n"); nit_exit(1);}
4571 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AExternMethPropdef::_n_kwredef*/ = variable1 /*new_child*/;
4572 } else { /*if*/
4573 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AExternMethPropdef::_n_kwredef*/ = NIT_NULL /*null*/;
4574 }
4575 goto return_label204;
4576 }
4577 variable2 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AExternMethPropdef::_n_visibility*/;
4578 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*/) /*PVisibility::==*/)))));
4579 if (UNTAG_Bool(variable2)) { /*if*/
4580 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*/) /*PNode::==*/)))))));
4581 if (UNTAG_Bool(variable2)) { /*if*/
4582 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4583 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
4584 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2362,3--34\n"); nit_exit(1);}
4585 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AExternMethPropdef::_n_visibility*/ = variable1 /*new_child*/;
4586 } else { /*if*/
4587 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AExternMethPropdef::_n_visibility*/ = NIT_NULL /*null*/;
4588 }
4589 goto return_label204;
4590 }
4591 variable2 = ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/;
4592 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*/) /*TKwmeth::==*/)))));
4593 if (UNTAG_Bool(variable2)) { /*if*/
4594 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*/) /*PNode::==*/)))))));
4595 if (UNTAG_Bool(variable2)) { /*if*/
4596 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4597 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
4598 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2372,3--30\n"); nit_exit(1);}
4599 ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/ = variable1 /*new_child*/;
4600 } else { /*if*/
4601 ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/ = NIT_NULL /*null*/;
4602 }
4603 goto return_label204;
4604 }
4605 variable2 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AExternMethPropdef::_n_methid*/;
4606 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*/) /*PMethid::==*/)))));
4607 if (UNTAG_Bool(variable2)) { /*if*/
4608 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*/) /*PNode::==*/)))))));
4609 if (UNTAG_Bool(variable2)) { /*if*/
4610 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4611 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
4612 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2382,3--30\n"); nit_exit(1);}
4613 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AExternMethPropdef::_n_methid*/ = variable1 /*new_child*/;
4614 } else { /*if*/
4615 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AExternMethPropdef::_n_methid*/ = NIT_NULL /*null*/;
4616 }
4617 goto return_label204;
4618 }
4619 variable2 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AExternMethPropdef::_n_signature*/;
4620 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*/) /*PSignature::==*/)))));
4621 if (UNTAG_Bool(variable2)) { /*if*/
4622 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*/) /*PNode::==*/)))))));
4623 if (UNTAG_Bool(variable2)) { /*if*/
4624 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4625 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
4626 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2392,3--33\n"); nit_exit(1);}
4627 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AExternMethPropdef::_n_signature*/ = variable1 /*new_child*/;
4628 } else { /*if*/
4629 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AExternMethPropdef::_n_signature*/ = NIT_NULL /*null*/;
4630 }
4631 goto return_label204;
4632 }
4633 variable2 = ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/;
4634 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*/) /*TString::==*/)))));
4635 if (UNTAG_Bool(variable2)) { /*if*/
4636 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*/) /*PNode::==*/)))))));
4637 if (UNTAG_Bool(variable2)) { /*if*/
4638 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4639 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TString, ID_TString)) /*cast TString*/;
4640 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2402,3--30\n"); nit_exit(1);}
4641 ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/ = variable1 /*new_child*/;
4642 } else { /*if*/
4643 ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/ = NIT_NULL /*null*/;
4644 }
4645 goto return_label204;
4646 }
4647 return_label204: while(false);
4648 tracehead = trace.prev;
4649 return;
4650 }
4651 void parser_prod___AExternMethPropdef___visit_all(val_t self, val_t param0) {
4652 struct trace_t trace = {NULL, "parser_prod::AExternMethPropdef::visit_all (src/parser//parser_prod.nit:2411,5--2432:29)"};
4653 val_t variable0;
4654 val_t variable1;
4655 trace.prev = tracehead; tracehead = &trace;
4656 variable0 = param0;
4657 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AExternMethPropdef::_n_doc*/;
4658 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PDoc::==*/)))))));
4659 if (UNTAG_Bool(variable1)) { /*if*/
4660 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AExternMethPropdef::_n_doc*/;
4661 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4662 }
4663 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AExternMethPropdef::_n_kwredef*/;
4664 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwredef::==*/)))))));
4665 if (UNTAG_Bool(variable1)) { /*if*/
4666 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AExternMethPropdef::_n_kwredef*/;
4667 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4668 }
4669 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AExternMethPropdef::_n_visibility*/;
4670 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PVisibility::==*/)))))));
4671 if (UNTAG_Bool(variable1)) { /*if*/
4672 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AExternMethPropdef::_n_visibility*/;
4673 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4674 }
4675 variable1 = ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/;
4676 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwmeth::==*/)))))));
4677 if (UNTAG_Bool(variable1)) { /*if*/
4678 variable1 = ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/;
4679 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4680 }
4681 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AExternMethPropdef::_n_methid*/;
4682 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PMethid::==*/)))))));
4683 if (UNTAG_Bool(variable1)) { /*if*/
4684 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AExternMethPropdef::_n_methid*/;
4685 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4686 }
4687 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AExternMethPropdef::_n_signature*/;
4688 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PSignature::==*/)))))));
4689 if (UNTAG_Bool(variable1)) { /*if*/
4690 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AExternMethPropdef::_n_signature*/;
4691 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4692 }
4693 variable1 = ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/;
4694 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TString::==*/)))))));
4695 if (UNTAG_Bool(variable1)) { /*if*/
4696 variable1 = ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/;
4697 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4698 }
4699 tracehead = trace.prev;
4700 return;
4701 }
4702 void parser_prod___AExternMethPropdef___visit_all_reverse(val_t self, val_t param0) {
4703 struct trace_t trace = {NULL, "parser_prod::AExternMethPropdef::visit_all_reverse (src/parser//parser_prod.nit:2436,5--2457:29)"};
4704 val_t variable0;
4705 val_t variable1;
4706 trace.prev = tracehead; tracehead = &trace;
4707 variable0 = param0;
4708 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AExternMethPropdef::_n_doc*/;
4709 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PDoc::==*/)))))));
4710 if (UNTAG_Bool(variable1)) { /*if*/
4711 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AExternMethPropdef::_n_doc*/;
4712 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4713 }
4714 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AExternMethPropdef::_n_kwredef*/;
4715 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwredef::==*/)))))));
4716 if (UNTAG_Bool(variable1)) { /*if*/
4717 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AExternMethPropdef::_n_kwredef*/;
4718 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4719 }
4720 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AExternMethPropdef::_n_visibility*/;
4721 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PVisibility::==*/)))))));
4722 if (UNTAG_Bool(variable1)) { /*if*/
4723 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AExternMethPropdef::_n_visibility*/;
4724 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4725 }
4726 variable1 = ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/;
4727 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwmeth::==*/)))))));
4728 if (UNTAG_Bool(variable1)) { /*if*/
4729 variable1 = ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/;
4730 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4731 }
4732 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AExternMethPropdef::_n_methid*/;
4733 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PMethid::==*/)))))));
4734 if (UNTAG_Bool(variable1)) { /*if*/
4735 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AExternMethPropdef::_n_methid*/;
4736 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4737 }
4738 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AExternMethPropdef::_n_signature*/;
4739 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PSignature::==*/)))))));
4740 if (UNTAG_Bool(variable1)) { /*if*/
4741 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AExternMethPropdef::_n_signature*/;
4742 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4743 }
4744 variable1 = ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/;
4745 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TString::==*/)))))));
4746 if (UNTAG_Bool(variable1)) { /*if*/
4747 variable1 = ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/;
4748 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
4749 }
4750 tracehead = trace.prev;
4751 return;
4752 }
4753 void parser_prod___AConcreteMethPropdef___n_doc__eq(val_t self, val_t param0) {
4754 struct trace_t trace = {NULL, "parser_prod::AConcreteMethPropdef::n_doc= (src/parser//parser_prod.nit:2462,5--2466:20)"};
4755 val_t variable0;
4756 val_t variable1;
4757 trace.prev = tracehead; tracehead = &trace;
4758 variable0 = param0;
4759 ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteMethPropdef::_n_doc*/ = variable0 /*n*/;
4760 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*/) /*PDoc::==*/)))))));
4761 if (UNTAG_Bool(variable1)) { /*if*/
4762 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PDoc::parent=*/;
4763 }
4764 tracehead = trace.prev;
4765 return;
4766 }
4767 void parser_prod___AConcreteMethPropdef___n_kwredef__eq(val_t self, val_t param0) {
4768 struct trace_t trace = {NULL, "parser_prod::AConcreteMethPropdef::n_kwredef= (src/parser//parser_prod.nit:2469,5--2473:20)"};
4769 val_t variable0;
4770 val_t variable1;
4771 trace.prev = tracehead; tracehead = &trace;
4772 variable0 = param0;
4773 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteMethPropdef::_n_kwredef*/ = variable0 /*n*/;
4774 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*/) /*TKwredef::==*/)))))));
4775 if (UNTAG_Bool(variable1)) { /*if*/
4776 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwredef::parent=*/;
4777 }
4778 tracehead = trace.prev;
4779 return;
4780 }
4781 void parser_prod___AConcreteMethPropdef___n_visibility__eq(val_t self, val_t param0) {
4782 struct trace_t trace = {NULL, "parser_prod::AConcreteMethPropdef::n_visibility= (src/parser//parser_prod.nit:2476,5--2480:20)"};
4783 val_t variable0;
4784 val_t variable1;
4785 trace.prev = tracehead; tracehead = &trace;
4786 variable0 = param0;
4787 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteMethPropdef::_n_visibility*/ = variable0 /*n*/;
4788 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*/) /*PVisibility::==*/)))))));
4789 if (UNTAG_Bool(variable1)) { /*if*/
4790 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PVisibility::parent=*/;
4791 }
4792 tracehead = trace.prev;
4793 return;
4794 }
4795 void parser_prod___AConcreteMethPropdef___n_kwmeth__eq(val_t self, val_t param0) {
4796 struct trace_t trace = {NULL, "parser_prod::AConcreteMethPropdef::n_kwmeth= (src/parser//parser_prod.nit:2483,5--2487:20)"};
4797 val_t variable0;
4798 val_t variable1;
4799 trace.prev = tracehead; tracehead = &trace;
4800 variable0 = param0;
4801 ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/ = variable0 /*n*/;
4802 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*/) /*TKwmeth::==*/)))))));
4803 if (UNTAG_Bool(variable1)) { /*if*/
4804 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwmeth::parent=*/;
4805 }
4806 tracehead = trace.prev;
4807 return;
4808 }
4809 void parser_prod___AConcreteMethPropdef___n_methid__eq(val_t self, val_t param0) {
4810 struct trace_t trace = {NULL, "parser_prod::AConcreteMethPropdef::n_methid= (src/parser//parser_prod.nit:2490,5--2494:20)"};
4811 val_t variable0;
4812 val_t variable1;
4813 trace.prev = tracehead; tracehead = &trace;
4814 variable0 = param0;
4815 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteMethPropdef::_n_methid*/ = variable0 /*n*/;
4816 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*/) /*PMethid::==*/)))))));
4817 if (UNTAG_Bool(variable1)) { /*if*/
4818 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PMethid::parent=*/;
4819 }
4820 tracehead = trace.prev;
4821 return;
4822 }
4823 void parser_prod___AConcreteMethPropdef___n_signature__eq(val_t self, val_t param0) {
4824 struct trace_t trace = {NULL, "parser_prod::AConcreteMethPropdef::n_signature= (src/parser//parser_prod.nit:2497,5--2501:20)"};
4825 val_t variable0;
4826 val_t variable1;
4827 trace.prev = tracehead; tracehead = &trace;
4828 variable0 = param0;
4829 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteMethPropdef::_n_signature*/ = variable0 /*n*/;
4830 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*/) /*PSignature::==*/)))))));
4831 if (UNTAG_Bool(variable1)) { /*if*/
4832 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PSignature::parent=*/;
4833 }
4834 tracehead = trace.prev;
4835 return;
4836 }
4837 void parser_prod___AConcreteMethPropdef___n_block__eq(val_t self, val_t param0) {
4838 struct trace_t trace = {NULL, "parser_prod::AConcreteMethPropdef::n_block= (src/parser//parser_prod.nit:2504,5--2508:20)"};
4839 val_t variable0;
4840 val_t variable1;
4841 trace.prev = tracehead; tracehead = &trace;
4842 variable0 = param0;
4843 ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ = variable0 /*n*/;
4844 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*/) /*PExpr::==*/)))))));
4845 if (UNTAG_Bool(variable1)) { /*if*/
4846 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
4847 }
4848 tracehead = trace.prev;
4849 return;
4850 }
4851 void parser_prod___AConcreteMethPropdef___empty_init(val_t self, int* init_table) {
4852 struct trace_t trace = {NULL, "parser_prod::AConcreteMethPropdef::empty_init (src/parser//parser_prod.nit:2512,5--27)"};
4853 trace.prev = tracehead; tracehead = &trace;
4854 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteMethPropdef].i]) return;
4855 ((parser_prod___AMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AMethPropdef___empty_init))( self, init_table /*YYY*/) /*AMethPropdef::empty_init*/;
4856 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteMethPropdef].i] = 1;
4857 tracehead = trace.prev;
4858 return;
4859 }
4860 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) {
4861 struct trace_t trace = {NULL, "parser_prod::AConcreteMethPropdef::init_aconcretemethpropdef (src/parser//parser_prod.nit:2514,5--2550:23)"};
4862 val_t variable0;
4863 val_t variable1;
4864 val_t variable2;
4865 val_t variable3;
4866 val_t variable4;
4867 val_t variable5;
4868 val_t variable6;
4869 val_t variable7;
4870 trace.prev = tracehead; tracehead = &trace;
4871 variable0 = param0;
4872 variable1 = param1;
4873 variable2 = param2;
4874 variable3 = param3;
4875 variable4 = param4;
4876 variable5 = param5;
4877 variable6 = param6;
4878 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteMethPropdef].i]) return;
4879 ((parser_prod___AMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AMethPropdef___empty_init))( self, init_table /*YYY*/) /*AMethPropdef::empty_init*/;
4880 ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteMethPropdef::_n_doc*/ = variable0 /*n_doc*/;
4881 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*/) /*PDoc::==*/)))))));
4882 if (UNTAG_Bool(variable7)) { /*if*/
4883 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/, self) /*PDoc::parent=*/;
4884 }
4885 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteMethPropdef::_n_kwredef*/ = variable1 /*n_kwredef*/;
4886 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*/) /*TKwredef::==*/)))))));
4887 if (UNTAG_Bool(variable7)) { /*if*/
4888 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/, self) /*TKwredef::parent=*/;
4889 }
4890 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteMethPropdef::_n_visibility*/ = variable2 /*n_visibility*/;
4891 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*/) /*PVisibility::==*/)))))));
4892 if (UNTAG_Bool(variable7)) { /*if*/
4893 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/, self) /*PVisibility::parent=*/;
4894 }
4895 ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/ = variable3 /*n_kwmeth*/;
4896 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*/) /*TKwmeth::==*/)))))));
4897 if (UNTAG_Bool(variable7)) { /*if*/
4898 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwmeth*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwmeth*/, self) /*TKwmeth::parent=*/;
4899 }
4900 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteMethPropdef::_n_methid*/ = variable4 /*n_methid*/;
4901 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*/) /*PMethid::==*/)))))));
4902 if (UNTAG_Bool(variable7)) { /*if*/
4903 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_methid*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_methid*/, self) /*PMethid::parent=*/;
4904 }
4905 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteMethPropdef::_n_signature*/ = variable5 /*n_signature*/;
4906 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*/) /*PSignature::==*/)))))));
4907 if (UNTAG_Bool(variable7)) { /*if*/
4908 ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_signature*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_signature*/, self) /*PSignature::parent=*/;
4909 }
4910 ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ = variable6 /*n_block*/;
4911 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*/) /*PExpr::==*/)))))));
4912 if (UNTAG_Bool(variable7)) { /*if*/
4913 ((parser_prod___PNode___parent__eq_t)CALL( variable6 /*n_block*/,COLOR_parser_prod___PNode___parent__eq))( variable6 /*n_block*/, self) /*PExpr::parent=*/;
4914 }
4915 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteMethPropdef].i] = 1;
4916 tracehead = trace.prev;
4917 return;
4918 }
4919 void parser_prod___AConcreteMethPropdef___replace_child(val_t self, val_t param0, val_t param1) {
4920 struct trace_t trace = {NULL, "parser_prod::AConcreteMethPropdef::replace_child (src/parser//parser_prod.nit:2554,5--2625:18)"};
4921 val_t variable0;
4922 val_t variable1;
4923 val_t variable2;
4924 trace.prev = tracehead; tracehead = &trace;
4925 variable0 = param0;
4926 variable1 = param1;
4927 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*/) /*PNode::==*/)))))));
4928 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2556,9--32\n"); nit_exit(1);}
4929 variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteMethPropdef::_n_doc*/;
4930 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*/) /*PDoc::==*/)))));
4931 if (UNTAG_Bool(variable2)) { /*if*/
4932 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*/) /*PNode::==*/)))))));
4933 if (UNTAG_Bool(variable2)) { /*if*/
4934 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4935 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
4936 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2560,3--27\n"); nit_exit(1);}
4937 ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteMethPropdef::_n_doc*/ = variable1 /*new_child*/;
4938 } else { /*if*/
4939 ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteMethPropdef::_n_doc*/ = NIT_NULL /*null*/;
4940 }
4941 goto return_label216;
4942 }
4943 variable2 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteMethPropdef::_n_kwredef*/;
4944 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*/) /*TKwredef::==*/)))));
4945 if (UNTAG_Bool(variable2)) { /*if*/
4946 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*/) /*PNode::==*/)))))));
4947 if (UNTAG_Bool(variable2)) { /*if*/
4948 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4949 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
4950 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2570,3--31\n"); nit_exit(1);}
4951 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteMethPropdef::_n_kwredef*/ = variable1 /*new_child*/;
4952 } else { /*if*/
4953 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteMethPropdef::_n_kwredef*/ = NIT_NULL /*null*/;
4954 }
4955 goto return_label216;
4956 }
4957 variable2 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteMethPropdef::_n_visibility*/;
4958 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*/) /*PVisibility::==*/)))));
4959 if (UNTAG_Bool(variable2)) { /*if*/
4960 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*/) /*PNode::==*/)))))));
4961 if (UNTAG_Bool(variable2)) { /*if*/
4962 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4963 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
4964 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2580,3--34\n"); nit_exit(1);}
4965 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteMethPropdef::_n_visibility*/ = variable1 /*new_child*/;
4966 } else { /*if*/
4967 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteMethPropdef::_n_visibility*/ = NIT_NULL /*null*/;
4968 }
4969 goto return_label216;
4970 }
4971 variable2 = ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/;
4972 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*/) /*TKwmeth::==*/)))));
4973 if (UNTAG_Bool(variable2)) { /*if*/
4974 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*/) /*PNode::==*/)))))));
4975 if (UNTAG_Bool(variable2)) { /*if*/
4976 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4977 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
4978 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2590,3--30\n"); nit_exit(1);}
4979 ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/ = variable1 /*new_child*/;
4980 } else { /*if*/
4981 ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/ = NIT_NULL /*null*/;
4982 }
4983 goto return_label216;
4984 }
4985 variable2 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteMethPropdef::_n_methid*/;
4986 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*/) /*PMethid::==*/)))));
4987 if (UNTAG_Bool(variable2)) { /*if*/
4988 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*/) /*PNode::==*/)))))));
4989 if (UNTAG_Bool(variable2)) { /*if*/
4990 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
4991 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
4992 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2600,3--30\n"); nit_exit(1);}
4993 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteMethPropdef::_n_methid*/ = variable1 /*new_child*/;
4994 } else { /*if*/
4995 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteMethPropdef::_n_methid*/ = NIT_NULL /*null*/;
4996 }
4997 goto return_label216;
4998 }
4999 variable2 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteMethPropdef::_n_signature*/;
5000 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*/) /*PSignature::==*/)))));
5001 if (UNTAG_Bool(variable2)) { /*if*/
5002 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*/) /*PNode::==*/)))))));
5003 if (UNTAG_Bool(variable2)) { /*if*/
5004 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5005 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
5006 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2610,3--33\n"); nit_exit(1);}
5007 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteMethPropdef::_n_signature*/ = variable1 /*new_child*/;
5008 } else { /*if*/
5009 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteMethPropdef::_n_signature*/ = NIT_NULL /*null*/;
5010 }
5011 goto return_label216;
5012 }
5013 variable2 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
5014 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*/) /*PExpr::==*/)))));
5015 if (UNTAG_Bool(variable2)) { /*if*/
5016 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*/) /*PNode::==*/)))))));
5017 if (UNTAG_Bool(variable2)) { /*if*/
5018 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5019 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
5020 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2620,3--28\n"); nit_exit(1);}
5021 ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ = variable1 /*new_child*/;
5022 } else { /*if*/
5023 ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ = NIT_NULL /*null*/;
5024 }
5025 goto return_label216;
5026 }
5027 return_label216: while(false);
5028 tracehead = trace.prev;
5029 return;
5030 }
5031 void parser_prod___AConcreteMethPropdef___visit_all(val_t self, val_t param0) {
5032 struct trace_t trace = {NULL, "parser_prod::AConcreteMethPropdef::visit_all (src/parser//parser_prod.nit:2629,5--2650:28)"};
5033 val_t variable0;
5034 val_t variable1;
5035 trace.prev = tracehead; tracehead = &trace;
5036 variable0 = param0;
5037 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteMethPropdef::_n_doc*/;
5038 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PDoc::==*/)))))));
5039 if (UNTAG_Bool(variable1)) { /*if*/
5040 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteMethPropdef::_n_doc*/;
5041 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5042 }
5043 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteMethPropdef::_n_kwredef*/;
5044 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwredef::==*/)))))));
5045 if (UNTAG_Bool(variable1)) { /*if*/
5046 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteMethPropdef::_n_kwredef*/;
5047 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5048 }
5049 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteMethPropdef::_n_visibility*/;
5050 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PVisibility::==*/)))))));
5051 if (UNTAG_Bool(variable1)) { /*if*/
5052 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteMethPropdef::_n_visibility*/;
5053 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5054 }
5055 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/;
5056 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwmeth::==*/)))))));
5057 if (UNTAG_Bool(variable1)) { /*if*/
5058 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/;
5059 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5060 }
5061 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteMethPropdef::_n_methid*/;
5062 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PMethid::==*/)))))));
5063 if (UNTAG_Bool(variable1)) { /*if*/
5064 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteMethPropdef::_n_methid*/;
5065 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5066 }
5067 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteMethPropdef::_n_signature*/;
5068 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PSignature::==*/)))))));
5069 if (UNTAG_Bool(variable1)) { /*if*/
5070 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteMethPropdef::_n_signature*/;
5071 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5072 }
5073 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
5074 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
5075 if (UNTAG_Bool(variable1)) { /*if*/
5076 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
5077 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5078 }
5079 tracehead = trace.prev;
5080 return;
5081 }
5082 void parser_prod___AConcreteMethPropdef___visit_all_reverse(val_t self, val_t param0) {
5083 struct trace_t trace = {NULL, "parser_prod::AConcreteMethPropdef::visit_all_reverse (src/parser//parser_prod.nit:2654,5--2675:28)"};
5084 val_t variable0;
5085 val_t variable1;
5086 trace.prev = tracehead; tracehead = &trace;
5087 variable0 = param0;
5088 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteMethPropdef::_n_doc*/;
5089 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PDoc::==*/)))))));
5090 if (UNTAG_Bool(variable1)) { /*if*/
5091 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteMethPropdef::_n_doc*/;
5092 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5093 }
5094 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteMethPropdef::_n_kwredef*/;
5095 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwredef::==*/)))))));
5096 if (UNTAG_Bool(variable1)) { /*if*/
5097 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteMethPropdef::_n_kwredef*/;
5098 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5099 }
5100 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteMethPropdef::_n_visibility*/;
5101 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PVisibility::==*/)))))));
5102 if (UNTAG_Bool(variable1)) { /*if*/
5103 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteMethPropdef::_n_visibility*/;
5104 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5105 }
5106 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/;
5107 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwmeth::==*/)))))));
5108 if (UNTAG_Bool(variable1)) { /*if*/
5109 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/;
5110 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5111 }
5112 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteMethPropdef::_n_methid*/;
5113 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PMethid::==*/)))))));
5114 if (UNTAG_Bool(variable1)) { /*if*/
5115 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteMethPropdef::_n_methid*/;
5116 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5117 }
5118 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteMethPropdef::_n_signature*/;
5119 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PSignature::==*/)))))));
5120 if (UNTAG_Bool(variable1)) { /*if*/
5121 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteMethPropdef::_n_signature*/;
5122 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5123 }
5124 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
5125 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
5126 if (UNTAG_Bool(variable1)) { /*if*/
5127 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
5128 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5129 }
5130 tracehead = trace.prev;
5131 return;
5132 }
5133 void parser_prod___AConcreteInitPropdef___n_doc__eq(val_t self, val_t param0) {
5134 struct trace_t trace = {NULL, "parser_prod::AConcreteInitPropdef::n_doc= (src/parser//parser_prod.nit:2680,5--2684:20)"};
5135 val_t variable0;
5136 val_t variable1;
5137 trace.prev = tracehead; tracehead = &trace;
5138 variable0 = param0;
5139 ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteInitPropdef::_n_doc*/ = variable0 /*n*/;
5140 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*/) /*PDoc::==*/)))))));
5141 if (UNTAG_Bool(variable1)) { /*if*/
5142 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PDoc::parent=*/;
5143 }
5144 tracehead = trace.prev;
5145 return;
5146 }
5147 void parser_prod___AConcreteInitPropdef___n_kwredef__eq(val_t self, val_t param0) {
5148 struct trace_t trace = {NULL, "parser_prod::AConcreteInitPropdef::n_kwredef= (src/parser//parser_prod.nit:2687,5--2691:20)"};
5149 val_t variable0;
5150 val_t variable1;
5151 trace.prev = tracehead; tracehead = &trace;
5152 variable0 = param0;
5153 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteInitPropdef::_n_kwredef*/ = variable0 /*n*/;
5154 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*/) /*TKwredef::==*/)))))));
5155 if (UNTAG_Bool(variable1)) { /*if*/
5156 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwredef::parent=*/;
5157 }
5158 tracehead = trace.prev;
5159 return;
5160 }
5161 void parser_prod___AConcreteInitPropdef___n_visibility__eq(val_t self, val_t param0) {
5162 struct trace_t trace = {NULL, "parser_prod::AConcreteInitPropdef::n_visibility= (src/parser//parser_prod.nit:2694,5--2698:20)"};
5163 val_t variable0;
5164 val_t variable1;
5165 trace.prev = tracehead; tracehead = &trace;
5166 variable0 = param0;
5167 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteInitPropdef::_n_visibility*/ = variable0 /*n*/;
5168 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*/) /*PVisibility::==*/)))))));
5169 if (UNTAG_Bool(variable1)) { /*if*/
5170 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PVisibility::parent=*/;
5171 }
5172 tracehead = trace.prev;
5173 return;
5174 }
5175 void parser_prod___AConcreteInitPropdef___n_kwinit__eq(val_t self, val_t param0) {
5176 struct trace_t trace = {NULL, "parser_prod::AConcreteInitPropdef::n_kwinit= (src/parser//parser_prod.nit:2701,5--2705:20)"};
5177 val_t variable0;
5178 val_t variable1;
5179 trace.prev = tracehead; tracehead = &trace;
5180 variable0 = param0;
5181 ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/ = variable0 /*n*/;
5182 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*/) /*TKwinit::==*/)))))));
5183 if (UNTAG_Bool(variable1)) { /*if*/
5184 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwinit::parent=*/;
5185 }
5186 tracehead = trace.prev;
5187 return;
5188 }
5189 void parser_prod___AConcreteInitPropdef___n_methid__eq(val_t self, val_t param0) {
5190 struct trace_t trace = {NULL, "parser_prod::AConcreteInitPropdef::n_methid= (src/parser//parser_prod.nit:2708,5--2712:20)"};
5191 val_t variable0;
5192 val_t variable1;
5193 trace.prev = tracehead; tracehead = &trace;
5194 variable0 = param0;
5195 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteInitPropdef::_n_methid*/ = variable0 /*n*/;
5196 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*/) /*PMethid::==*/)))))));
5197 if (UNTAG_Bool(variable1)) { /*if*/
5198 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PMethid::parent=*/;
5199 }
5200 tracehead = trace.prev;
5201 return;
5202 }
5203 void parser_prod___AConcreteInitPropdef___n_signature__eq(val_t self, val_t param0) {
5204 struct trace_t trace = {NULL, "parser_prod::AConcreteInitPropdef::n_signature= (src/parser//parser_prod.nit:2715,5--2719:20)"};
5205 val_t variable0;
5206 val_t variable1;
5207 trace.prev = tracehead; tracehead = &trace;
5208 variable0 = param0;
5209 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteInitPropdef::_n_signature*/ = variable0 /*n*/;
5210 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*/) /*PSignature::==*/)))))));
5211 if (UNTAG_Bool(variable1)) { /*if*/
5212 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PSignature::parent=*/;
5213 }
5214 tracehead = trace.prev;
5215 return;
5216 }
5217 void parser_prod___AConcreteInitPropdef___n_block__eq(val_t self, val_t param0) {
5218 struct trace_t trace = {NULL, "parser_prod::AConcreteInitPropdef::n_block= (src/parser//parser_prod.nit:2722,5--2726:20)"};
5219 val_t variable0;
5220 val_t variable1;
5221 trace.prev = tracehead; tracehead = &trace;
5222 variable0 = param0;
5223 ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteInitPropdef::_n_block*/ = variable0 /*n*/;
5224 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*/) /*PExpr::==*/)))))));
5225 if (UNTAG_Bool(variable1)) { /*if*/
5226 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
5227 }
5228 tracehead = trace.prev;
5229 return;
5230 }
5231 void parser_prod___AConcreteInitPropdef___empty_init(val_t self, int* init_table) {
5232 struct trace_t trace = {NULL, "parser_prod::AConcreteInitPropdef::empty_init (src/parser//parser_prod.nit:2730,5--27)"};
5233 trace.prev = tracehead; tracehead = &trace;
5234 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteInitPropdef].i]) return;
5235 ((parser_prod___AConcreteMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AConcreteMethPropdef___empty_init))( self, init_table /*YYY*/) /*AConcreteMethPropdef::empty_init*/;
5236 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteInitPropdef].i] = 1;
5237 tracehead = trace.prev;
5238 return;
5239 }
5240 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) {
5241 struct trace_t trace = {NULL, "parser_prod::AConcreteInitPropdef::init_aconcreteinitpropdef (src/parser//parser_prod.nit:2732,5--2768:23)"};
5242 val_t variable0;
5243 val_t variable1;
5244 val_t variable2;
5245 val_t variable3;
5246 val_t variable4;
5247 val_t variable5;
5248 val_t variable6;
5249 val_t variable7;
5250 trace.prev = tracehead; tracehead = &trace;
5251 variable0 = param0;
5252 variable1 = param1;
5253 variable2 = param2;
5254 variable3 = param3;
5255 variable4 = param4;
5256 variable5 = param5;
5257 variable6 = param6;
5258 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteInitPropdef].i]) return;
5259 ((parser_prod___AConcreteMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AConcreteMethPropdef___empty_init))( self, init_table /*YYY*/) /*AConcreteMethPropdef::empty_init*/;
5260 ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteInitPropdef::_n_doc*/ = variable0 /*n_doc*/;
5261 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*/) /*PDoc::==*/)))))));
5262 if (UNTAG_Bool(variable7)) { /*if*/
5263 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/, self) /*PDoc::parent=*/;
5264 }
5265 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteInitPropdef::_n_kwredef*/ = variable1 /*n_kwredef*/;
5266 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*/) /*TKwredef::==*/)))))));
5267 if (UNTAG_Bool(variable7)) { /*if*/
5268 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/, self) /*TKwredef::parent=*/;
5269 }
5270 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteInitPropdef::_n_visibility*/ = variable2 /*n_visibility*/;
5271 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*/) /*PVisibility::==*/)))))));
5272 if (UNTAG_Bool(variable7)) { /*if*/
5273 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/, self) /*PVisibility::parent=*/;
5274 }
5275 ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/ = variable3 /*n_kwinit*/;
5276 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*/) /*TKwinit::==*/)))))));
5277 if (UNTAG_Bool(variable7)) { /*if*/
5278 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwinit*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwinit*/, self) /*TKwinit::parent=*/;
5279 }
5280 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteInitPropdef::_n_methid*/ = variable4 /*n_methid*/;
5281 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*/) /*PMethid::==*/)))))));
5282 if (UNTAG_Bool(variable7)) { /*if*/
5283 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_methid*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_methid*/, self) /*PMethid::parent=*/;
5284 }
5285 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteInitPropdef::_n_signature*/ = variable5 /*n_signature*/;
5286 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*/) /*PSignature::==*/)))))));
5287 if (UNTAG_Bool(variable7)) { /*if*/
5288 ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_signature*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_signature*/, self) /*PSignature::parent=*/;
5289 }
5290 ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteInitPropdef::_n_block*/ = variable6 /*n_block*/;
5291 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*/) /*PExpr::==*/)))))));
5292 if (UNTAG_Bool(variable7)) { /*if*/
5293 ((parser_prod___PNode___parent__eq_t)CALL( variable6 /*n_block*/,COLOR_parser_prod___PNode___parent__eq))( variable6 /*n_block*/, self) /*PExpr::parent=*/;
5294 }
5295 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteInitPropdef].i] = 1;
5296 tracehead = trace.prev;
5297 return;
5298 }
5299 void parser_prod___AConcreteInitPropdef___replace_child(val_t self, val_t param0, val_t param1) {
5300 struct trace_t trace = {NULL, "parser_prod::AConcreteInitPropdef::replace_child (src/parser//parser_prod.nit:2772,5--2843:18)"};
5301 val_t variable0;
5302 val_t variable1;
5303 val_t variable2;
5304 trace.prev = tracehead; tracehead = &trace;
5305 variable0 = param0;
5306 variable1 = param1;
5307 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*/) /*PNode::==*/)))))));
5308 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2774,9--32\n"); nit_exit(1);}
5309 variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteInitPropdef::_n_doc*/;
5310 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*/) /*PDoc::==*/)))));
5311 if (UNTAG_Bool(variable2)) { /*if*/
5312 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*/) /*PNode::==*/)))))));
5313 if (UNTAG_Bool(variable2)) { /*if*/
5314 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5315 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
5316 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2778,3--27\n"); nit_exit(1);}
5317 ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteInitPropdef::_n_doc*/ = variable1 /*new_child*/;
5318 } else { /*if*/
5319 ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteInitPropdef::_n_doc*/ = NIT_NULL /*null*/;
5320 }
5321 goto return_label228;
5322 }
5323 variable2 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteInitPropdef::_n_kwredef*/;
5324 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*/) /*TKwredef::==*/)))));
5325 if (UNTAG_Bool(variable2)) { /*if*/
5326 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*/) /*PNode::==*/)))))));
5327 if (UNTAG_Bool(variable2)) { /*if*/
5328 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5329 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
5330 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2788,3--31\n"); nit_exit(1);}
5331 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteInitPropdef::_n_kwredef*/ = variable1 /*new_child*/;
5332 } else { /*if*/
5333 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteInitPropdef::_n_kwredef*/ = NIT_NULL /*null*/;
5334 }
5335 goto return_label228;
5336 }
5337 variable2 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteInitPropdef::_n_visibility*/;
5338 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*/) /*PVisibility::==*/)))));
5339 if (UNTAG_Bool(variable2)) { /*if*/
5340 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*/) /*PNode::==*/)))))));
5341 if (UNTAG_Bool(variable2)) { /*if*/
5342 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5343 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
5344 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2798,3--34\n"); nit_exit(1);}
5345 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteInitPropdef::_n_visibility*/ = variable1 /*new_child*/;
5346 } else { /*if*/
5347 ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteInitPropdef::_n_visibility*/ = NIT_NULL /*null*/;
5348 }
5349 goto return_label228;
5350 }
5351 variable2 = ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/;
5352 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*/) /*TKwinit::==*/)))));
5353 if (UNTAG_Bool(variable2)) { /*if*/
5354 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*/) /*PNode::==*/)))))));
5355 if (UNTAG_Bool(variable2)) { /*if*/
5356 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5357 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
5358 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2808,3--30\n"); nit_exit(1);}
5359 ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/ = variable1 /*new_child*/;
5360 } else { /*if*/
5361 ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/ = NIT_NULL /*null*/;
5362 }
5363 goto return_label228;
5364 }
5365 variable2 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteInitPropdef::_n_methid*/;
5366 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*/) /*PMethid::==*/)))));
5367 if (UNTAG_Bool(variable2)) { /*if*/
5368 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*/) /*PNode::==*/)))))));
5369 if (UNTAG_Bool(variable2)) { /*if*/
5370 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5371 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
5372 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2818,3--30\n"); nit_exit(1);}
5373 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteInitPropdef::_n_methid*/ = variable1 /*new_child*/;
5374 } else { /*if*/
5375 ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteInitPropdef::_n_methid*/ = NIT_NULL /*null*/;
5376 }
5377 goto return_label228;
5378 }
5379 variable2 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteInitPropdef::_n_signature*/;
5380 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*/) /*PSignature::==*/)))));
5381 if (UNTAG_Bool(variable2)) { /*if*/
5382 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*/) /*PNode::==*/)))))));
5383 if (UNTAG_Bool(variable2)) { /*if*/
5384 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5385 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
5386 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2828,3--33\n"); nit_exit(1);}
5387 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteInitPropdef::_n_signature*/ = variable1 /*new_child*/;
5388 } else { /*if*/
5389 ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteInitPropdef::_n_signature*/ = NIT_NULL /*null*/;
5390 }
5391 goto return_label228;
5392 }
5393 variable2 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteInitPropdef::_n_block*/;
5394 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*/) /*PExpr::==*/)))));
5395 if (UNTAG_Bool(variable2)) { /*if*/
5396 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*/) /*PNode::==*/)))))));
5397 if (UNTAG_Bool(variable2)) { /*if*/
5398 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5399 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
5400 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2838,3--28\n"); nit_exit(1);}
5401 ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteInitPropdef::_n_block*/ = variable1 /*new_child*/;
5402 } else { /*if*/
5403 ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteInitPropdef::_n_block*/ = NIT_NULL /*null*/;
5404 }
5405 goto return_label228;
5406 }
5407 return_label228: while(false);
5408 tracehead = trace.prev;
5409 return;
5410 }
5411 void parser_prod___AConcreteInitPropdef___visit_all(val_t self, val_t param0) {
5412 struct trace_t trace = {NULL, "parser_prod::AConcreteInitPropdef::visit_all (src/parser//parser_prod.nit:2847,5--2868:28)"};
5413 val_t variable0;
5414 val_t variable1;
5415 trace.prev = tracehead; tracehead = &trace;
5416 variable0 = param0;
5417 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteInitPropdef::_n_doc*/;
5418 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PDoc::==*/)))))));
5419 if (UNTAG_Bool(variable1)) { /*if*/
5420 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteInitPropdef::_n_doc*/;
5421 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5422 }
5423 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteInitPropdef::_n_kwredef*/;
5424 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwredef::==*/)))))));
5425 if (UNTAG_Bool(variable1)) { /*if*/
5426 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteInitPropdef::_n_kwredef*/;
5427 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5428 }
5429 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteInitPropdef::_n_visibility*/;
5430 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PVisibility::==*/)))))));
5431 if (UNTAG_Bool(variable1)) { /*if*/
5432 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteInitPropdef::_n_visibility*/;
5433 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5434 }
5435 variable1 = ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/;
5436 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwinit::==*/)))))));
5437 if (UNTAG_Bool(variable1)) { /*if*/
5438 variable1 = ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/;
5439 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5440 }
5441 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteInitPropdef::_n_methid*/;
5442 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PMethid::==*/)))))));
5443 if (UNTAG_Bool(variable1)) { /*if*/
5444 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteInitPropdef::_n_methid*/;
5445 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5446 }
5447 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteInitPropdef::_n_signature*/;
5448 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PSignature::==*/)))))));
5449 if (UNTAG_Bool(variable1)) { /*if*/
5450 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteInitPropdef::_n_signature*/;
5451 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5452 }
5453 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteInitPropdef::_n_block*/;
5454 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
5455 if (UNTAG_Bool(variable1)) { /*if*/
5456 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteInitPropdef::_n_block*/;
5457 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5458 }
5459 tracehead = trace.prev;
5460 return;
5461 }
5462 void parser_prod___AConcreteInitPropdef___visit_all_reverse(val_t self, val_t param0) {
5463 struct trace_t trace = {NULL, "parser_prod::AConcreteInitPropdef::visit_all_reverse (src/parser//parser_prod.nit:2872,5--2893:28)"};
5464 val_t variable0;
5465 val_t variable1;
5466 trace.prev = tracehead; tracehead = &trace;
5467 variable0 = param0;
5468 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteInitPropdef::_n_doc*/;
5469 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PDoc::==*/)))))));
5470 if (UNTAG_Bool(variable1)) { /*if*/
5471 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteInitPropdef::_n_doc*/;
5472 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5473 }
5474 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteInitPropdef::_n_kwredef*/;
5475 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwredef::==*/)))))));
5476 if (UNTAG_Bool(variable1)) { /*if*/
5477 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteInitPropdef::_n_kwredef*/;
5478 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5479 }
5480 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteInitPropdef::_n_visibility*/;
5481 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PVisibility::==*/)))))));
5482 if (UNTAG_Bool(variable1)) { /*if*/
5483 variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteInitPropdef::_n_visibility*/;
5484 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5485 }
5486 variable1 = ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/;
5487 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwinit::==*/)))))));
5488 if (UNTAG_Bool(variable1)) { /*if*/
5489 variable1 = ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/;
5490 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5491 }
5492 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteInitPropdef::_n_methid*/;
5493 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PMethid::==*/)))))));
5494 if (UNTAG_Bool(variable1)) { /*if*/
5495 variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteInitPropdef::_n_methid*/;
5496 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5497 }
5498 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteInitPropdef::_n_signature*/;
5499 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PSignature::==*/)))))));
5500 if (UNTAG_Bool(variable1)) { /*if*/
5501 variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteInitPropdef::_n_signature*/;
5502 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5503 }
5504 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteInitPropdef::_n_block*/;
5505 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
5506 if (UNTAG_Bool(variable1)) { /*if*/
5507 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteInitPropdef::_n_block*/;
5508 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5509 }
5510 tracehead = trace.prev;
5511 return;
5512 }
5513 void parser_prod___AMainMethPropdef___n_kwredef__eq(val_t self, val_t param0) {
5514 struct trace_t trace = {NULL, "parser_prod::AMainMethPropdef::n_kwredef= (src/parser//parser_prod.nit:2898,5--2902:20)"};
5515 val_t variable0;
5516 val_t variable1;
5517 trace.prev = tracehead; tracehead = &trace;
5518 variable0 = param0;
5519 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMainMethPropdef::_n_kwredef*/ = variable0 /*n*/;
5520 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*/) /*TKwredef::==*/)))))));
5521 if (UNTAG_Bool(variable1)) { /*if*/
5522 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwredef::parent=*/;
5523 }
5524 tracehead = trace.prev;
5525 return;
5526 }
5527 void parser_prod___AMainMethPropdef___n_block__eq(val_t self, val_t param0) {
5528 struct trace_t trace = {NULL, "parser_prod::AMainMethPropdef::n_block= (src/parser//parser_prod.nit:2905,5--2909:20)"};
5529 val_t variable0;
5530 val_t variable1;
5531 trace.prev = tracehead; tracehead = &trace;
5532 variable0 = param0;
5533 ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AMainMethPropdef::_n_block*/ = variable0 /*n*/;
5534 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*/) /*PExpr::==*/)))))));
5535 if (UNTAG_Bool(variable1)) { /*if*/
5536 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
5537 }
5538 tracehead = trace.prev;
5539 return;
5540 }
5541 void parser_prod___AMainMethPropdef___empty_init(val_t self, int* init_table) {
5542 struct trace_t trace = {NULL, "parser_prod::AMainMethPropdef::empty_init (src/parser//parser_prod.nit:2913,5--27)"};
5543 trace.prev = tracehead; tracehead = &trace;
5544 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainMethPropdef].i]) return;
5545 ((parser_prod___AConcreteMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AConcreteMethPropdef___empty_init))( self, init_table /*YYY*/) /*AConcreteMethPropdef::empty_init*/;
5546 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainMethPropdef].i] = 1;
5547 tracehead = trace.prev;
5548 return;
5549 }
5550 void parser_prod___AMainMethPropdef___init_amainmethpropdef(val_t self, val_t param0, val_t param1, int* init_table) {
5551 struct trace_t trace = {NULL, "parser_prod::AMainMethPropdef::init_amainmethpropdef (src/parser//parser_prod.nit:2915,5--2926:23)"};
5552 val_t variable0;
5553 val_t variable1;
5554 val_t variable2;
5555 trace.prev = tracehead; tracehead = &trace;
5556 variable0 = param0;
5557 variable1 = param1;
5558 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainMethPropdef].i]) return;
5559 ((parser_prod___AConcreteMethPropdef___empty_init_t)CALL( self,COLOR_parser_prod___AConcreteMethPropdef___empty_init))( self, init_table /*YYY*/) /*AConcreteMethPropdef::empty_init*/;
5560 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMainMethPropdef::_n_kwredef*/ = variable0 /*n_kwredef*/;
5561 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*/) /*TKwredef::==*/)))))));
5562 if (UNTAG_Bool(variable2)) { /*if*/
5563 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwredef*/, self) /*TKwredef::parent=*/;
5564 }
5565 ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AMainMethPropdef::_n_block*/ = variable1 /*n_block*/;
5566 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*/) /*PExpr::==*/)))))));
5567 if (UNTAG_Bool(variable2)) { /*if*/
5568 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_block*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_block*/, self) /*PExpr::parent=*/;
5569 }
5570 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainMethPropdef].i] = 1;
5571 tracehead = trace.prev;
5572 return;
5573 }
5574 void parser_prod___AMainMethPropdef___replace_child(val_t self, val_t param0, val_t param1) {
5575 struct trace_t trace = {NULL, "parser_prod::AMainMethPropdef::replace_child (src/parser//parser_prod.nit:2930,5--2951:18)"};
5576 val_t variable0;
5577 val_t variable1;
5578 val_t variable2;
5579 trace.prev = tracehead; tracehead = &trace;
5580 variable0 = param0;
5581 variable1 = param1;
5582 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*/) /*PNode::==*/)))))));
5583 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2932,9--32\n"); nit_exit(1);}
5584 variable2 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMainMethPropdef::_n_kwredef*/;
5585 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*/) /*TKwredef::==*/)))));
5586 if (UNTAG_Bool(variable2)) { /*if*/
5587 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*/) /*PNode::==*/)))))));
5588 if (UNTAG_Bool(variable2)) { /*if*/
5589 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5590 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
5591 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2936,3--31\n"); nit_exit(1);}
5592 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMainMethPropdef::_n_kwredef*/ = variable1 /*new_child*/;
5593 } else { /*if*/
5594 ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMainMethPropdef::_n_kwredef*/ = NIT_NULL /*null*/;
5595 }
5596 goto return_label235;
5597 }
5598 variable2 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AMainMethPropdef::_n_block*/;
5599 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*/) /*PExpr::==*/)))));
5600 if (UNTAG_Bool(variable2)) { /*if*/
5601 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*/) /*PNode::==*/)))))));
5602 if (UNTAG_Bool(variable2)) { /*if*/
5603 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5604 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
5605 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:2946,3--28\n"); nit_exit(1);}
5606 ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AMainMethPropdef::_n_block*/ = variable1 /*new_child*/;
5607 } else { /*if*/
5608 ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AMainMethPropdef::_n_block*/ = NIT_NULL /*null*/;
5609 }
5610 goto return_label235;
5611 }
5612 return_label235: while(false);
5613 tracehead = trace.prev;
5614 return;
5615 }
5616 void parser_prod___AMainMethPropdef___visit_all(val_t self, val_t param0) {
5617 struct trace_t trace = {NULL, "parser_prod::AMainMethPropdef::visit_all (src/parser//parser_prod.nit:2955,5--2961:28)"};
5618 val_t variable0;
5619 val_t variable1;
5620 trace.prev = tracehead; tracehead = &trace;
5621 variable0 = param0;
5622 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMainMethPropdef::_n_kwredef*/;
5623 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwredef::==*/)))))));
5624 if (UNTAG_Bool(variable1)) { /*if*/
5625 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMainMethPropdef::_n_kwredef*/;
5626 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5627 }
5628 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AMainMethPropdef::_n_block*/;
5629 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
5630 if (UNTAG_Bool(variable1)) { /*if*/
5631 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AMainMethPropdef::_n_block*/;
5632 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5633 }
5634 tracehead = trace.prev;
5635 return;
5636 }
5637 void parser_prod___AMainMethPropdef___visit_all_reverse(val_t self, val_t param0) {
5638 struct trace_t trace = {NULL, "parser_prod::AMainMethPropdef::visit_all_reverse (src/parser//parser_prod.nit:2965,5--2971:28)"};
5639 val_t variable0;
5640 val_t variable1;
5641 trace.prev = tracehead; tracehead = &trace;
5642 variable0 = param0;
5643 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMainMethPropdef::_n_kwredef*/;
5644 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwredef::==*/)))))));
5645 if (UNTAG_Bool(variable1)) { /*if*/
5646 variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMainMethPropdef::_n_kwredef*/;
5647 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5648 }
5649 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AMainMethPropdef::_n_block*/;
5650 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
5651 if (UNTAG_Bool(variable1)) { /*if*/
5652 variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AMainMethPropdef::_n_block*/;
5653 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5654 }
5655 tracehead = trace.prev;
5656 return;
5657 }
5658 void parser_prod___ATypePropdef___n_doc__eq(val_t self, val_t param0) {
5659 struct trace_t trace = {NULL, "parser_prod::ATypePropdef::n_doc= (src/parser//parser_prod.nit:2976,5--2980:20)"};
5660 val_t variable0;
5661 val_t variable1;
5662 trace.prev = tracehead; tracehead = &trace;
5663 variable0 = param0;
5664 ATTR_parser_nodes___PPropdef____n_doc( self) /*ATypePropdef::_n_doc*/ = variable0 /*n*/;
5665 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*/) /*PDoc::==*/)))))));
5666 if (UNTAG_Bool(variable1)) { /*if*/
5667 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PDoc::parent=*/;
5668 }
5669 tracehead = trace.prev;
5670 return;
5671 }
5672 void parser_prod___ATypePropdef___n_kwredef__eq(val_t self, val_t param0) {
5673 struct trace_t trace = {NULL, "parser_prod::ATypePropdef::n_kwredef= (src/parser//parser_prod.nit:2983,5--2987:20)"};
5674 val_t variable0;
5675 val_t variable1;
5676 trace.prev = tracehead; tracehead = &trace;
5677 variable0 = param0;
5678 ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/ = variable0 /*n*/;
5679 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*/) /*TKwredef::==*/)))))));
5680 if (UNTAG_Bool(variable1)) { /*if*/
5681 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwredef::parent=*/;
5682 }
5683 tracehead = trace.prev;
5684 return;
5685 }
5686 void parser_prod___ATypePropdef___n_visibility__eq(val_t self, val_t param0) {
5687 struct trace_t trace = {NULL, "parser_prod::ATypePropdef::n_visibility= (src/parser//parser_prod.nit:2990,5--2994:20)"};
5688 val_t variable0;
5689 val_t variable1;
5690 trace.prev = tracehead; tracehead = &trace;
5691 variable0 = param0;
5692 ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/ = variable0 /*n*/;
5693 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*/) /*PVisibility::==*/)))))));
5694 if (UNTAG_Bool(variable1)) { /*if*/
5695 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PVisibility::parent=*/;
5696 }
5697 tracehead = trace.prev;
5698 return;
5699 }
5700 void parser_prod___ATypePropdef___n_kwtype__eq(val_t self, val_t param0) {
5701 struct trace_t trace = {NULL, "parser_prod::ATypePropdef::n_kwtype= (src/parser//parser_prod.nit:2997,5--3001:20)"};
5702 val_t variable0;
5703 val_t variable1;
5704 trace.prev = tracehead; tracehead = &trace;
5705 variable0 = param0;
5706 ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/ = variable0 /*n*/;
5707 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*/) /*TKwtype::==*/)))))));
5708 if (UNTAG_Bool(variable1)) { /*if*/
5709 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwtype::parent=*/;
5710 }
5711 tracehead = trace.prev;
5712 return;
5713 }
5714 void parser_prod___ATypePropdef___n_id__eq(val_t self, val_t param0) {
5715 struct trace_t trace = {NULL, "parser_prod::ATypePropdef::n_id= (src/parser//parser_prod.nit:3004,5--3008:20)"};
5716 val_t variable0;
5717 val_t variable1;
5718 trace.prev = tracehead; tracehead = &trace;
5719 variable0 = param0;
5720 ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/ = variable0 /*n*/;
5721 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*/) /*TClassid::==*/)))))));
5722 if (UNTAG_Bool(variable1)) { /*if*/
5723 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TClassid::parent=*/;
5724 }
5725 tracehead = trace.prev;
5726 return;
5727 }
5728 void parser_prod___ATypePropdef___n_type__eq(val_t self, val_t param0) {
5729 struct trace_t trace = {NULL, "parser_prod::ATypePropdef::n_type= (src/parser//parser_prod.nit:3011,5--3015:20)"};
5730 val_t variable0;
5731 val_t variable1;
5732 trace.prev = tracehead; tracehead = &trace;
5733 variable0 = param0;
5734 ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/ = variable0 /*n*/;
5735 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*/) /*PType::==*/)))))));
5736 if (UNTAG_Bool(variable1)) { /*if*/
5737 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PType::parent=*/;
5738 }
5739 tracehead = trace.prev;
5740 return;
5741 }
5742 void parser_prod___ATypePropdef___empty_init(val_t self, int* init_table) {
5743 struct trace_t trace = {NULL, "parser_prod::ATypePropdef::empty_init (src/parser//parser_prod.nit:3019,5--27)"};
5744 trace.prev = tracehead; tracehead = &trace;
5745 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATypePropdef].i]) return;
5746 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATypePropdef].i] = 1;
5747 tracehead = trace.prev;
5748 return;
5749 }
5750 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) {
5751 struct trace_t trace = {NULL, "parser_prod::ATypePropdef::init_atypepropdef (src/parser//parser_prod.nit:3021,5--3052:22)"};
5752 val_t variable0;
5753 val_t variable1;
5754 val_t variable2;
5755 val_t variable3;
5756 val_t variable4;
5757 val_t variable5;
5758 val_t variable6;
5759 trace.prev = tracehead; tracehead = &trace;
5760 variable0 = param0;
5761 variable1 = param1;
5762 variable2 = param2;
5763 variable3 = param3;
5764 variable4 = param4;
5765 variable5 = param5;
5766 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATypePropdef].i]) return;
5767 ATTR_parser_nodes___PPropdef____n_doc( self) /*ATypePropdef::_n_doc*/ = variable0 /*n_doc*/;
5768 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*/) /*PDoc::==*/)))))));
5769 if (UNTAG_Bool(variable6)) { /*if*/
5770 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/, self) /*PDoc::parent=*/;
5771 }
5772 ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/ = variable1 /*n_kwredef*/;
5773 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*/) /*TKwredef::==*/)))))));
5774 if (UNTAG_Bool(variable6)) { /*if*/
5775 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/, self) /*TKwredef::parent=*/;
5776 }
5777 ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/ = variable2 /*n_visibility*/;
5778 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*/) /*PVisibility::==*/)))))));
5779 if (UNTAG_Bool(variable6)) { /*if*/
5780 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/, self) /*PVisibility::parent=*/;
5781 }
5782 ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/ = variable3 /*n_kwtype*/;
5783 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*/) /*TKwtype::==*/)))))));
5784 if (UNTAG_Bool(variable6)) { /*if*/
5785 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwtype*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwtype*/, self) /*TKwtype::parent=*/;
5786 }
5787 ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/ = variable4 /*n_id*/;
5788 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*/) /*TClassid::==*/)))))));
5789 if (UNTAG_Bool(variable6)) { /*if*/
5790 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_id*/, self) /*TClassid::parent=*/;
5791 }
5792 ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/ = variable5 /*n_type*/;
5793 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*/) /*PType::==*/)))))));
5794 if (UNTAG_Bool(variable6)) { /*if*/
5795 ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_type*/, self) /*PType::parent=*/;
5796 }
5797 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATypePropdef].i] = 1;
5798 tracehead = trace.prev;
5799 return;
5800 }
5801 void parser_prod___ATypePropdef___replace_child(val_t self, val_t param0, val_t param1) {
5802 struct trace_t trace = {NULL, "parser_prod::ATypePropdef::replace_child (src/parser//parser_prod.nit:3056,5--3117:18)"};
5803 val_t variable0;
5804 val_t variable1;
5805 val_t variable2;
5806 trace.prev = tracehead; tracehead = &trace;
5807 variable0 = param0;
5808 variable1 = param1;
5809 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*/) /*PNode::==*/)))))));
5810 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3058,9--32\n"); nit_exit(1);}
5811 variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*ATypePropdef::_n_doc*/;
5812 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*/) /*PDoc::==*/)))));
5813 if (UNTAG_Bool(variable2)) { /*if*/
5814 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*/) /*PNode::==*/)))))));
5815 if (UNTAG_Bool(variable2)) { /*if*/
5816 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5817 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
5818 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3062,3--27\n"); nit_exit(1);}
5819 ATTR_parser_nodes___PPropdef____n_doc( self) /*ATypePropdef::_n_doc*/ = variable1 /*new_child*/;
5820 } else { /*if*/
5821 ATTR_parser_nodes___PPropdef____n_doc( self) /*ATypePropdef::_n_doc*/ = NIT_NULL /*null*/;
5822 }
5823 goto return_label246;
5824 }
5825 variable2 = ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/;
5826 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*/) /*TKwredef::==*/)))));
5827 if (UNTAG_Bool(variable2)) { /*if*/
5828 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*/) /*PNode::==*/)))))));
5829 if (UNTAG_Bool(variable2)) { /*if*/
5830 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5831 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
5832 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3072,3--31\n"); nit_exit(1);}
5833 ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/ = variable1 /*new_child*/;
5834 } else { /*if*/
5835 ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/ = NIT_NULL /*null*/;
5836 }
5837 goto return_label246;
5838 }
5839 variable2 = ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/;
5840 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*/) /*PVisibility::==*/)))));
5841 if (UNTAG_Bool(variable2)) { /*if*/
5842 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*/) /*PNode::==*/)))))));
5843 if (UNTAG_Bool(variable2)) { /*if*/
5844 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5845 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
5846 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3082,3--34\n"); nit_exit(1);}
5847 ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/ = variable1 /*new_child*/;
5848 } else { /*if*/
5849 ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/ = NIT_NULL /*null*/;
5850 }
5851 goto return_label246;
5852 }
5853 variable2 = ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/;
5854 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*/) /*TKwtype::==*/)))));
5855 if (UNTAG_Bool(variable2)) { /*if*/
5856 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*/) /*PNode::==*/)))))));
5857 if (UNTAG_Bool(variable2)) { /*if*/
5858 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5859 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwtype, ID_TKwtype)) /*cast TKwtype*/;
5860 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3092,3--30\n"); nit_exit(1);}
5861 ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/ = variable1 /*new_child*/;
5862 } else { /*if*/
5863 ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/ = NIT_NULL /*null*/;
5864 }
5865 goto return_label246;
5866 }
5867 variable2 = ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/;
5868 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*/) /*TClassid::==*/)))));
5869 if (UNTAG_Bool(variable2)) { /*if*/
5870 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*/) /*PNode::==*/)))))));
5871 if (UNTAG_Bool(variable2)) { /*if*/
5872 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5873 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
5874 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3102,3--31\n"); nit_exit(1);}
5875 ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/ = variable1 /*new_child*/;
5876 } else { /*if*/
5877 ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/ = NIT_NULL /*null*/;
5878 }
5879 goto return_label246;
5880 }
5881 variable2 = ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/;
5882 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*/) /*PType::==*/)))));
5883 if (UNTAG_Bool(variable2)) { /*if*/
5884 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*/) /*PNode::==*/)))))));
5885 if (UNTAG_Bool(variable2)) { /*if*/
5886 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
5887 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
5888 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3112,3--28\n"); nit_exit(1);}
5889 ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/ = variable1 /*new_child*/;
5890 } else { /*if*/
5891 ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/ = NIT_NULL /*null*/;
5892 }
5893 goto return_label246;
5894 }
5895 return_label246: while(false);
5896 tracehead = trace.prev;
5897 return;
5898 }
5899 void parser_prod___ATypePropdef___visit_all(val_t self, val_t param0) {
5900 struct trace_t trace = {NULL, "parser_prod::ATypePropdef::visit_all (src/parser//parser_prod.nit:3121,5--3139:27)"};
5901 val_t variable0;
5902 val_t variable1;
5903 trace.prev = tracehead; tracehead = &trace;
5904 variable0 = param0;
5905 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*ATypePropdef::_n_doc*/;
5906 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PDoc::==*/)))))));
5907 if (UNTAG_Bool(variable1)) { /*if*/
5908 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*ATypePropdef::_n_doc*/;
5909 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5910 }
5911 variable1 = ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/;
5912 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwredef::==*/)))))));
5913 if (UNTAG_Bool(variable1)) { /*if*/
5914 variable1 = ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/;
5915 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5916 }
5917 variable1 = ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/;
5918 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PVisibility::==*/)))))));
5919 if (UNTAG_Bool(variable1)) { /*if*/
5920 variable1 = ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/;
5921 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5922 }
5923 variable1 = ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/;
5924 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwtype::==*/)))))));
5925 if (UNTAG_Bool(variable1)) { /*if*/
5926 variable1 = ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/;
5927 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5928 }
5929 variable1 = ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/;
5930 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TClassid::==*/)))))));
5931 if (UNTAG_Bool(variable1)) { /*if*/
5932 variable1 = ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/;
5933 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5934 }
5935 variable1 = ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/;
5936 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PType::==*/)))))));
5937 if (UNTAG_Bool(variable1)) { /*if*/
5938 variable1 = ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/;
5939 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5940 }
5941 tracehead = trace.prev;
5942 return;
5943 }
5944 void parser_prod___ATypePropdef___visit_all_reverse(val_t self, val_t param0) {
5945 struct trace_t trace = {NULL, "parser_prod::ATypePropdef::visit_all_reverse (src/parser//parser_prod.nit:3143,5--3161:27)"};
5946 val_t variable0;
5947 val_t variable1;
5948 trace.prev = tracehead; tracehead = &trace;
5949 variable0 = param0;
5950 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*ATypePropdef::_n_doc*/;
5951 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PDoc::==*/)))))));
5952 if (UNTAG_Bool(variable1)) { /*if*/
5953 variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*ATypePropdef::_n_doc*/;
5954 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5955 }
5956 variable1 = ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/;
5957 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwredef::==*/)))))));
5958 if (UNTAG_Bool(variable1)) { /*if*/
5959 variable1 = ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/;
5960 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5961 }
5962 variable1 = ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/;
5963 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PVisibility::==*/)))))));
5964 if (UNTAG_Bool(variable1)) { /*if*/
5965 variable1 = ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/;
5966 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5967 }
5968 variable1 = ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/;
5969 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwtype::==*/)))))));
5970 if (UNTAG_Bool(variable1)) { /*if*/
5971 variable1 = ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/;
5972 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5973 }
5974 variable1 = ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/;
5975 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TClassid::==*/)))))));
5976 if (UNTAG_Bool(variable1)) { /*if*/
5977 variable1 = ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/;
5978 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5979 }
5980 variable1 = ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/;
5981 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PType::==*/)))))));
5982 if (UNTAG_Bool(variable1)) { /*if*/
5983 variable1 = ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/;
5984 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
5985 }
5986 tracehead = trace.prev;
5987 return;
5988 }
5989 void parser_prod___AReadAble___n_kwredef__eq(val_t self, val_t param0) {
5990 struct trace_t trace = {NULL, "parser_prod::AReadAble::n_kwredef= (src/parser//parser_prod.nit:3166,5--3170:20)"};
5991 val_t variable0;
5992 val_t variable1;
5993 trace.prev = tracehead; tracehead = &trace;
5994 variable0 = param0;
5995 ATTR_parser_nodes___PAble____n_kwredef( self) /*AReadAble::_n_kwredef*/ = variable0 /*n*/;
5996 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*/) /*TKwredef::==*/)))))));
5997 if (UNTAG_Bool(variable1)) { /*if*/
5998 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwredef::parent=*/;
5999 }
6000 tracehead = trace.prev;
6001 return;
6002 }
6003 void parser_prod___AReadAble___n_kwreadable__eq(val_t self, val_t param0) {
6004 struct trace_t trace = {NULL, "parser_prod::AReadAble::n_kwreadable= (src/parser//parser_prod.nit:3173,5--3177:20)"};
6005 val_t variable0;
6006 val_t variable1;
6007 trace.prev = tracehead; tracehead = &trace;
6008 variable0 = param0;
6009 ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/ = variable0 /*n*/;
6010 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*/) /*TKwreadable::==*/)))))));
6011 if (UNTAG_Bool(variable1)) { /*if*/
6012 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwreadable::parent=*/;
6013 }
6014 tracehead = trace.prev;
6015 return;
6016 }
6017 void parser_prod___AReadAble___empty_init(val_t self, int* init_table) {
6018 struct trace_t trace = {NULL, "parser_prod::AReadAble::empty_init (src/parser//parser_prod.nit:3181,5--27)"};
6019 trace.prev = tracehead; tracehead = &trace;
6020 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReadAble].i]) return;
6021 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReadAble].i] = 1;
6022 tracehead = trace.prev;
6023 return;
6024 }
6025 void parser_prod___AReadAble___init_areadable(val_t self, val_t param0, val_t param1, int* init_table) {
6026 struct trace_t trace = {NULL, "parser_prod::AReadAble::init_areadable (src/parser//parser_prod.nit:3183,5--3194:28)"};
6027 val_t variable0;
6028 val_t variable1;
6029 val_t variable2;
6030 trace.prev = tracehead; tracehead = &trace;
6031 variable0 = param0;
6032 variable1 = param1;
6033 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReadAble].i]) return;
6034 ATTR_parser_nodes___PAble____n_kwredef( self) /*AReadAble::_n_kwredef*/ = variable0 /*n_kwredef*/;
6035 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*/) /*TKwredef::==*/)))))));
6036 if (UNTAG_Bool(variable2)) { /*if*/
6037 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwredef*/, self) /*TKwredef::parent=*/;
6038 }
6039 ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/ = variable1 /*n_kwreadable*/;
6040 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*/) /*TKwreadable::==*/)))))));
6041 if (UNTAG_Bool(variable2)) { /*if*/
6042 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwreadable*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwreadable*/, self) /*TKwreadable::parent=*/;
6043 }
6044 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReadAble].i] = 1;
6045 tracehead = trace.prev;
6046 return;
6047 }
6048 void parser_prod___AReadAble___replace_child(val_t self, val_t param0, val_t param1) {
6049 struct trace_t trace = {NULL, "parser_prod::AReadAble::replace_child (src/parser//parser_prod.nit:3198,5--3219:18)"};
6050 val_t variable0;
6051 val_t variable1;
6052 val_t variable2;
6053 trace.prev = tracehead; tracehead = &trace;
6054 variable0 = param0;
6055 variable1 = param1;
6056 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*/) /*PNode::==*/)))))));
6057 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3200,9--32\n"); nit_exit(1);}
6058 variable2 = ATTR_parser_nodes___PAble____n_kwredef( self) /*AReadAble::_n_kwredef*/;
6059 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*/) /*TKwredef::==*/)))));
6060 if (UNTAG_Bool(variable2)) { /*if*/
6061 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*/) /*PNode::==*/)))))));
6062 if (UNTAG_Bool(variable2)) { /*if*/
6063 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
6064 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
6065 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3204,3--31\n"); nit_exit(1);}
6066 ATTR_parser_nodes___PAble____n_kwredef( self) /*AReadAble::_n_kwredef*/ = variable1 /*new_child*/;
6067 } else { /*if*/
6068 ATTR_parser_nodes___PAble____n_kwredef( self) /*AReadAble::_n_kwredef*/ = NIT_NULL /*null*/;
6069 }
6070 goto return_label253;
6071 }
6072 variable2 = ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/;
6073 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*/) /*TKwreadable::==*/)))));
6074 if (UNTAG_Bool(variable2)) { /*if*/
6075 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*/) /*PNode::==*/)))))));
6076 if (UNTAG_Bool(variable2)) { /*if*/
6077 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
6078 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
6079 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3214,3--34\n"); nit_exit(1);}
6080 ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/ = variable1 /*new_child*/;
6081 } else { /*if*/
6082 ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/ = NIT_NULL /*null*/;
6083 }
6084 goto return_label253;
6085 }
6086 return_label253: while(false);
6087 tracehead = trace.prev;
6088 return;
6089 }
6090 void parser_prod___AReadAble___visit_all(val_t self, val_t param0) {
6091 struct trace_t trace = {NULL, "parser_prod::AReadAble::visit_all (src/parser//parser_prod.nit:3223,5--3229:33)"};
6092 val_t variable0;
6093 val_t variable1;
6094 trace.prev = tracehead; tracehead = &trace;
6095 variable0 = param0;
6096 variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*AReadAble::_n_kwredef*/;
6097 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwredef::==*/)))))));
6098 if (UNTAG_Bool(variable1)) { /*if*/
6099 variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*AReadAble::_n_kwredef*/;
6100 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6101 }
6102 variable1 = ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/;
6103 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwreadable::==*/)))))));
6104 if (UNTAG_Bool(variable1)) { /*if*/
6105 variable1 = ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/;
6106 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6107 }
6108 tracehead = trace.prev;
6109 return;
6110 }
6111 void parser_prod___AReadAble___visit_all_reverse(val_t self, val_t param0) {
6112 struct trace_t trace = {NULL, "parser_prod::AReadAble::visit_all_reverse (src/parser//parser_prod.nit:3233,5--3239:33)"};
6113 val_t variable0;
6114 val_t variable1;
6115 trace.prev = tracehead; tracehead = &trace;
6116 variable0 = param0;
6117 variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*AReadAble::_n_kwredef*/;
6118 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwredef::==*/)))))));
6119 if (UNTAG_Bool(variable1)) { /*if*/
6120 variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*AReadAble::_n_kwredef*/;
6121 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6122 }
6123 variable1 = ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/;
6124 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwreadable::==*/)))))));
6125 if (UNTAG_Bool(variable1)) { /*if*/
6126 variable1 = ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/;
6127 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6128 }
6129 tracehead = trace.prev;
6130 return;
6131 }
6132 void parser_prod___AWriteAble___n_kwredef__eq(val_t self, val_t param0) {
6133 struct trace_t trace = {NULL, "parser_prod::AWriteAble::n_kwredef= (src/parser//parser_prod.nit:3244,5--3248:20)"};
6134 val_t variable0;
6135 val_t variable1;
6136 trace.prev = tracehead; tracehead = &trace;
6137 variable0 = param0;
6138 ATTR_parser_nodes___PAble____n_kwredef( self) /*AWriteAble::_n_kwredef*/ = variable0 /*n*/;
6139 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*/) /*TKwredef::==*/)))))));
6140 if (UNTAG_Bool(variable1)) { /*if*/
6141 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwredef::parent=*/;
6142 }
6143 tracehead = trace.prev;
6144 return;
6145 }
6146 void parser_prod___AWriteAble___n_kwwritable__eq(val_t self, val_t param0) {
6147 struct trace_t trace = {NULL, "parser_prod::AWriteAble::n_kwwritable= (src/parser//parser_prod.nit:3251,5--3255:20)"};
6148 val_t variable0;
6149 val_t variable1;
6150 trace.prev = tracehead; tracehead = &trace;
6151 variable0 = param0;
6152 ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/ = variable0 /*n*/;
6153 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*/) /*TKwwritable::==*/)))))));
6154 if (UNTAG_Bool(variable1)) { /*if*/
6155 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwwritable::parent=*/;
6156 }
6157 tracehead = trace.prev;
6158 return;
6159 }
6160 void parser_prod___AWriteAble___empty_init(val_t self, int* init_table) {
6161 struct trace_t trace = {NULL, "parser_prod::AWriteAble::empty_init (src/parser//parser_prod.nit:3259,5--27)"};
6162 trace.prev = tracehead; tracehead = &trace;
6163 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWriteAble].i]) return;
6164 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWriteAble].i] = 1;
6165 tracehead = trace.prev;
6166 return;
6167 }
6168 void parser_prod___AWriteAble___init_awriteable(val_t self, val_t param0, val_t param1, int* init_table) {
6169 struct trace_t trace = {NULL, "parser_prod::AWriteAble::init_awriteable (src/parser//parser_prod.nit:3261,5--3272:28)"};
6170 val_t variable0;
6171 val_t variable1;
6172 val_t variable2;
6173 trace.prev = tracehead; tracehead = &trace;
6174 variable0 = param0;
6175 variable1 = param1;
6176 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWriteAble].i]) return;
6177 ATTR_parser_nodes___PAble____n_kwredef( self) /*AWriteAble::_n_kwredef*/ = variable0 /*n_kwredef*/;
6178 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*/) /*TKwredef::==*/)))))));
6179 if (UNTAG_Bool(variable2)) { /*if*/
6180 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwredef*/, self) /*TKwredef::parent=*/;
6181 }
6182 ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/ = variable1 /*n_kwwritable*/;
6183 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*/) /*TKwwritable::==*/)))))));
6184 if (UNTAG_Bool(variable2)) { /*if*/
6185 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwwritable*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwwritable*/, self) /*TKwwritable::parent=*/;
6186 }
6187 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWriteAble].i] = 1;
6188 tracehead = trace.prev;
6189 return;
6190 }
6191 void parser_prod___AWriteAble___replace_child(val_t self, val_t param0, val_t param1) {
6192 struct trace_t trace = {NULL, "parser_prod::AWriteAble::replace_child (src/parser//parser_prod.nit:3276,5--3297:18)"};
6193 val_t variable0;
6194 val_t variable1;
6195 val_t variable2;
6196 trace.prev = tracehead; tracehead = &trace;
6197 variable0 = param0;
6198 variable1 = param1;
6199 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*/) /*PNode::==*/)))))));
6200 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3278,9--32\n"); nit_exit(1);}
6201 variable2 = ATTR_parser_nodes___PAble____n_kwredef( self) /*AWriteAble::_n_kwredef*/;
6202 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*/) /*TKwredef::==*/)))));
6203 if (UNTAG_Bool(variable2)) { /*if*/
6204 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*/) /*PNode::==*/)))))));
6205 if (UNTAG_Bool(variable2)) { /*if*/
6206 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
6207 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
6208 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3282,3--31\n"); nit_exit(1);}
6209 ATTR_parser_nodes___PAble____n_kwredef( self) /*AWriteAble::_n_kwredef*/ = variable1 /*new_child*/;
6210 } else { /*if*/
6211 ATTR_parser_nodes___PAble____n_kwredef( self) /*AWriteAble::_n_kwredef*/ = NIT_NULL /*null*/;
6212 }
6213 goto return_label260;
6214 }
6215 variable2 = ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/;
6216 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*/) /*TKwwritable::==*/)))));
6217 if (UNTAG_Bool(variable2)) { /*if*/
6218 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*/) /*PNode::==*/)))))));
6219 if (UNTAG_Bool(variable2)) { /*if*/
6220 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
6221 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
6222 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3292,3--34\n"); nit_exit(1);}
6223 ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/ = variable1 /*new_child*/;
6224 } else { /*if*/
6225 ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/ = NIT_NULL /*null*/;
6226 }
6227 goto return_label260;
6228 }
6229 return_label260: while(false);
6230 tracehead = trace.prev;
6231 return;
6232 }
6233 void parser_prod___AWriteAble___visit_all(val_t self, val_t param0) {
6234 struct trace_t trace = {NULL, "parser_prod::AWriteAble::visit_all (src/parser//parser_prod.nit:3301,5--3307:33)"};
6235 val_t variable0;
6236 val_t variable1;
6237 trace.prev = tracehead; tracehead = &trace;
6238 variable0 = param0;
6239 variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*AWriteAble::_n_kwredef*/;
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*/) /*TKwredef::==*/)))))));
6241 if (UNTAG_Bool(variable1)) { /*if*/
6242 variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*AWriteAble::_n_kwredef*/;
6243 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6244 }
6245 variable1 = ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/;
6246 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwwritable::==*/)))))));
6247 if (UNTAG_Bool(variable1)) { /*if*/
6248 variable1 = ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/;
6249 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6250 }
6251 tracehead = trace.prev;
6252 return;
6253 }
6254 void parser_prod___AWriteAble___visit_all_reverse(val_t self, val_t param0) {
6255 struct trace_t trace = {NULL, "parser_prod::AWriteAble::visit_all_reverse (src/parser//parser_prod.nit:3311,5--3317:33)"};
6256 val_t variable0;
6257 val_t variable1;
6258 trace.prev = tracehead; tracehead = &trace;
6259 variable0 = param0;
6260 variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*AWriteAble::_n_kwredef*/;
6261 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwredef::==*/)))))));
6262 if (UNTAG_Bool(variable1)) { /*if*/
6263 variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*AWriteAble::_n_kwredef*/;
6264 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6265 }
6266 variable1 = ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/;
6267 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwwritable::==*/)))))));
6268 if (UNTAG_Bool(variable1)) { /*if*/
6269 variable1 = ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/;
6270 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6271 }
6272 tracehead = trace.prev;
6273 return;
6274 }
6275 void parser_prod___AIdMethid___n_id__eq(val_t self, val_t param0) {
6276 struct trace_t trace = {NULL, "parser_prod::AIdMethid::n_id= (src/parser//parser_prod.nit:3322,5--3326:20)"};
6277 val_t variable0;
6278 val_t variable1;
6279 trace.prev = tracehead; tracehead = &trace;
6280 variable0 = param0;
6281 ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/ = variable0 /*n*/;
6282 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*/) /*TId::==*/)))))));
6283 if (UNTAG_Bool(variable1)) { /*if*/
6284 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TId::parent=*/;
6285 }
6286 tracehead = trace.prev;
6287 return;
6288 }
6289 void parser_prod___AIdMethid___empty_init(val_t self, int* init_table) {
6290 struct trace_t trace = {NULL, "parser_prod::AIdMethid::empty_init (src/parser//parser_prod.nit:3330,5--27)"};
6291 trace.prev = tracehead; tracehead = &trace;
6292 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIdMethid].i]) return;
6293 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIdMethid].i] = 1;
6294 tracehead = trace.prev;
6295 return;
6296 }
6297 void parser_prod___AIdMethid___init_aidmethid(val_t self, val_t param0, int* init_table) {
6298 struct trace_t trace = {NULL, "parser_prod::AIdMethid::init_aidmethid (src/parser//parser_prod.nit:3332,5--3338:20)"};
6299 val_t variable0;
6300 val_t variable1;
6301 trace.prev = tracehead; tracehead = &trace;
6302 variable0 = param0;
6303 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIdMethid].i]) return;
6304 ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/ = variable0 /*n_id*/;
6305 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*/) /*TId::==*/)))))));
6306 if (UNTAG_Bool(variable1)) { /*if*/
6307 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/, self) /*TId::parent=*/;
6308 }
6309 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIdMethid].i] = 1;
6310 tracehead = trace.prev;
6311 return;
6312 }
6313 void parser_prod___AIdMethid___replace_child(val_t self, val_t param0, val_t param1) {
6314 struct trace_t trace = {NULL, "parser_prod::AIdMethid::replace_child (src/parser//parser_prod.nit:3342,5--3353:18)"};
6315 val_t variable0;
6316 val_t variable1;
6317 val_t variable2;
6318 trace.prev = tracehead; tracehead = &trace;
6319 variable0 = param0;
6320 variable1 = param1;
6321 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*/) /*PNode::==*/)))))));
6322 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3344,9--32\n"); nit_exit(1);}
6323 variable2 = ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/;
6324 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*/) /*TId::==*/)))));
6325 if (UNTAG_Bool(variable2)) { /*if*/
6326 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*/) /*PNode::==*/)))))));
6327 if (UNTAG_Bool(variable2)) { /*if*/
6328 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
6329 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
6330 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3348,3--26\n"); nit_exit(1);}
6331 ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/ = variable1 /*new_child*/;
6332 } else { /*if*/
6333 ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/ = NIT_NULL /*null*/;
6334 }
6335 goto return_label266;
6336 }
6337 return_label266: while(false);
6338 tracehead = trace.prev;
6339 return;
6340 }
6341 void parser_prod___AIdMethid___visit_all(val_t self, val_t param0) {
6342 struct trace_t trace = {NULL, "parser_prod::AIdMethid::visit_all (src/parser//parser_prod.nit:3357,5--3360:25)"};
6343 val_t variable0;
6344 val_t variable1;
6345 trace.prev = tracehead; tracehead = &trace;
6346 variable0 = param0;
6347 variable1 = ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/;
6348 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
6349 if (UNTAG_Bool(variable1)) { /*if*/
6350 variable1 = ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/;
6351 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6352 }
6353 tracehead = trace.prev;
6354 return;
6355 }
6356 void parser_prod___AIdMethid___visit_all_reverse(val_t self, val_t param0) {
6357 struct trace_t trace = {NULL, "parser_prod::AIdMethid::visit_all_reverse (src/parser//parser_prod.nit:3364,5--3367:25)"};
6358 val_t variable0;
6359 val_t variable1;
6360 trace.prev = tracehead; tracehead = &trace;
6361 variable0 = param0;
6362 variable1 = ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/;
6363 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
6364 if (UNTAG_Bool(variable1)) { /*if*/
6365 variable1 = ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/;
6366 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6367 }
6368 tracehead = trace.prev;
6369 return;
6370 }
6371 void parser_prod___APlusMethid___n_plus__eq(val_t self, val_t param0) {
6372 struct trace_t trace = {NULL, "parser_prod::APlusMethid::n_plus= (src/parser//parser_prod.nit:3372,5--3376:20)"};
6373 val_t variable0;
6374 val_t variable1;
6375 trace.prev = tracehead; tracehead = &trace;
6376 variable0 = param0;
6377 ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/ = variable0 /*n*/;
6378 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*/) /*TPlus::==*/)))))));
6379 if (UNTAG_Bool(variable1)) { /*if*/
6380 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TPlus::parent=*/;
6381 }
6382 tracehead = trace.prev;
6383 return;
6384 }
6385 void parser_prod___APlusMethid___empty_init(val_t self, int* init_table) {
6386 struct trace_t trace = {NULL, "parser_prod::APlusMethid::empty_init (src/parser//parser_prod.nit:3380,5--27)"};
6387 trace.prev = tracehead; tracehead = &trace;
6388 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusMethid].i]) return;
6389 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusMethid].i] = 1;
6390 tracehead = trace.prev;
6391 return;
6392 }
6393 void parser_prod___APlusMethid___init_aplusmethid(val_t self, val_t param0, int* init_table) {
6394 struct trace_t trace = {NULL, "parser_prod::APlusMethid::init_aplusmethid (src/parser//parser_prod.nit:3382,5--3388:22)"};
6395 val_t variable0;
6396 val_t variable1;
6397 trace.prev = tracehead; tracehead = &trace;
6398 variable0 = param0;
6399 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusMethid].i]) return;
6400 ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/ = variable0 /*n_plus*/;
6401 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*/) /*TPlus::==*/)))))));
6402 if (UNTAG_Bool(variable1)) { /*if*/
6403 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_plus*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_plus*/, self) /*TPlus::parent=*/;
6404 }
6405 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusMethid].i] = 1;
6406 tracehead = trace.prev;
6407 return;
6408 }
6409 void parser_prod___APlusMethid___replace_child(val_t self, val_t param0, val_t param1) {
6410 struct trace_t trace = {NULL, "parser_prod::APlusMethid::replace_child (src/parser//parser_prod.nit:3392,5--3403:18)"};
6411 val_t variable0;
6412 val_t variable1;
6413 val_t variable2;
6414 trace.prev = tracehead; tracehead = &trace;
6415 variable0 = param0;
6416 variable1 = param1;
6417 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*/) /*PNode::==*/)))))));
6418 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3394,9--32\n"); nit_exit(1);}
6419 variable2 = ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/;
6420 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*/) /*TPlus::==*/)))));
6421 if (UNTAG_Bool(variable2)) { /*if*/
6422 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*/) /*PNode::==*/)))))));
6423 if (UNTAG_Bool(variable2)) { /*if*/
6424 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
6425 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TPlus, ID_TPlus)) /*cast TPlus*/;
6426 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3398,3--28\n"); nit_exit(1);}
6427 ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/ = variable1 /*new_child*/;
6428 } else { /*if*/
6429 ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/ = NIT_NULL /*null*/;
6430 }
6431 goto return_label272;
6432 }
6433 return_label272: while(false);
6434 tracehead = trace.prev;
6435 return;
6436 }
6437 void parser_prod___APlusMethid___visit_all(val_t self, val_t param0) {
6438 struct trace_t trace = {NULL, "parser_prod::APlusMethid::visit_all (src/parser//parser_prod.nit:3407,5--3410:27)"};
6439 val_t variable0;
6440 val_t variable1;
6441 trace.prev = tracehead; tracehead = &trace;
6442 variable0 = param0;
6443 variable1 = ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/;
6444 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TPlus::==*/)))))));
6445 if (UNTAG_Bool(variable1)) { /*if*/
6446 variable1 = ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/;
6447 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6448 }
6449 tracehead = trace.prev;
6450 return;
6451 }
6452 void parser_prod___APlusMethid___visit_all_reverse(val_t self, val_t param0) {
6453 struct trace_t trace = {NULL, "parser_prod::APlusMethid::visit_all_reverse (src/parser//parser_prod.nit:3414,5--3417:27)"};
6454 val_t variable0;
6455 val_t variable1;
6456 trace.prev = tracehead; tracehead = &trace;
6457 variable0 = param0;
6458 variable1 = ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/;
6459 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TPlus::==*/)))))));
6460 if (UNTAG_Bool(variable1)) { /*if*/
6461 variable1 = ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/;
6462 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6463 }
6464 tracehead = trace.prev;
6465 return;
6466 }
6467 void parser_prod___AMinusMethid___n_minus__eq(val_t self, val_t param0) {
6468 struct trace_t trace = {NULL, "parser_prod::AMinusMethid::n_minus= (src/parser//parser_prod.nit:3422,5--3426:20)"};
6469 val_t variable0;
6470 val_t variable1;
6471 trace.prev = tracehead; tracehead = &trace;
6472 variable0 = param0;
6473 ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/ = variable0 /*n*/;
6474 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*/) /*TMinus::==*/)))))));
6475 if (UNTAG_Bool(variable1)) { /*if*/
6476 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TMinus::parent=*/;
6477 }
6478 tracehead = trace.prev;
6479 return;
6480 }
6481 void parser_prod___AMinusMethid___empty_init(val_t self, int* init_table) {
6482 struct trace_t trace = {NULL, "parser_prod::AMinusMethid::empty_init (src/parser//parser_prod.nit:3430,5--27)"};
6483 trace.prev = tracehead; tracehead = &trace;
6484 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusMethid].i]) return;
6485 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusMethid].i] = 1;
6486 tracehead = trace.prev;
6487 return;
6488 }
6489 void parser_prod___AMinusMethid___init_aminusmethid(val_t self, val_t param0, int* init_table) {
6490 struct trace_t trace = {NULL, "parser_prod::AMinusMethid::init_aminusmethid (src/parser//parser_prod.nit:3432,5--3438:23)"};
6491 val_t variable0;
6492 val_t variable1;
6493 trace.prev = tracehead; tracehead = &trace;
6494 variable0 = param0;
6495 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusMethid].i]) return;
6496 ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/ = variable0 /*n_minus*/;
6497 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*/) /*TMinus::==*/)))))));
6498 if (UNTAG_Bool(variable1)) { /*if*/
6499 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_minus*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_minus*/, self) /*TMinus::parent=*/;
6500 }
6501 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusMethid].i] = 1;
6502 tracehead = trace.prev;
6503 return;
6504 }
6505 void parser_prod___AMinusMethid___replace_child(val_t self, val_t param0, val_t param1) {
6506 struct trace_t trace = {NULL, "parser_prod::AMinusMethid::replace_child (src/parser//parser_prod.nit:3442,5--3453:18)"};
6507 val_t variable0;
6508 val_t variable1;
6509 val_t variable2;
6510 trace.prev = tracehead; tracehead = &trace;
6511 variable0 = param0;
6512 variable1 = param1;
6513 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*/) /*PNode::==*/)))))));
6514 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3444,9--32\n"); nit_exit(1);}
6515 variable2 = ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/;
6516 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*/) /*TMinus::==*/)))));
6517 if (UNTAG_Bool(variable2)) { /*if*/
6518 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*/) /*PNode::==*/)))))));
6519 if (UNTAG_Bool(variable2)) { /*if*/
6520 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
6521 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
6522 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3448,3--29\n"); nit_exit(1);}
6523 ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/ = variable1 /*new_child*/;
6524 } else { /*if*/
6525 ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/ = NIT_NULL /*null*/;
6526 }
6527 goto return_label278;
6528 }
6529 return_label278: while(false);
6530 tracehead = trace.prev;
6531 return;
6532 }
6533 void parser_prod___AMinusMethid___visit_all(val_t self, val_t param0) {
6534 struct trace_t trace = {NULL, "parser_prod::AMinusMethid::visit_all (src/parser//parser_prod.nit:3457,5--3460:28)"};
6535 val_t variable0;
6536 val_t variable1;
6537 trace.prev = tracehead; tracehead = &trace;
6538 variable0 = param0;
6539 variable1 = ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/;
6540 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TMinus::==*/)))))));
6541 if (UNTAG_Bool(variable1)) { /*if*/
6542 variable1 = ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/;
6543 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6544 }
6545 tracehead = trace.prev;
6546 return;
6547 }
6548 void parser_prod___AMinusMethid___visit_all_reverse(val_t self, val_t param0) {
6549 struct trace_t trace = {NULL, "parser_prod::AMinusMethid::visit_all_reverse (src/parser//parser_prod.nit:3464,5--3467:28)"};
6550 val_t variable0;
6551 val_t variable1;
6552 trace.prev = tracehead; tracehead = &trace;
6553 variable0 = param0;
6554 variable1 = ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/;
6555 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TMinus::==*/)))))));
6556 if (UNTAG_Bool(variable1)) { /*if*/
6557 variable1 = ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/;
6558 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6559 }
6560 tracehead = trace.prev;
6561 return;
6562 }
6563 void parser_prod___AStarMethid___n_star__eq(val_t self, val_t param0) {
6564 struct trace_t trace = {NULL, "parser_prod::AStarMethid::n_star= (src/parser//parser_prod.nit:3472,5--3476:20)"};
6565 val_t variable0;
6566 val_t variable1;
6567 trace.prev = tracehead; tracehead = &trace;
6568 variable0 = param0;
6569 ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/ = variable0 /*n*/;
6570 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*/) /*TStar::==*/)))))));
6571 if (UNTAG_Bool(variable1)) { /*if*/
6572 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TStar::parent=*/;
6573 }
6574 tracehead = trace.prev;
6575 return;
6576 }
6577 void parser_prod___AStarMethid___empty_init(val_t self, int* init_table) {
6578 struct trace_t trace = {NULL, "parser_prod::AStarMethid::empty_init (src/parser//parser_prod.nit:3480,5--27)"};
6579 trace.prev = tracehead; tracehead = &trace;
6580 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarMethid].i]) return;
6581 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarMethid].i] = 1;
6582 tracehead = trace.prev;
6583 return;
6584 }
6585 void parser_prod___AStarMethid___init_astarmethid(val_t self, val_t param0, int* init_table) {
6586 struct trace_t trace = {NULL, "parser_prod::AStarMethid::init_astarmethid (src/parser//parser_prod.nit:3482,5--3488:22)"};
6587 val_t variable0;
6588 val_t variable1;
6589 trace.prev = tracehead; tracehead = &trace;
6590 variable0 = param0;
6591 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarMethid].i]) return;
6592 ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/ = variable0 /*n_star*/;
6593 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*/) /*TStar::==*/)))))));
6594 if (UNTAG_Bool(variable1)) { /*if*/
6595 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_star*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_star*/, self) /*TStar::parent=*/;
6596 }
6597 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarMethid].i] = 1;
6598 tracehead = trace.prev;
6599 return;
6600 }
6601 void parser_prod___AStarMethid___replace_child(val_t self, val_t param0, val_t param1) {
6602 struct trace_t trace = {NULL, "parser_prod::AStarMethid::replace_child (src/parser//parser_prod.nit:3492,5--3503:18)"};
6603 val_t variable0;
6604 val_t variable1;
6605 val_t variable2;
6606 trace.prev = tracehead; tracehead = &trace;
6607 variable0 = param0;
6608 variable1 = param1;
6609 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*/) /*PNode::==*/)))))));
6610 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3494,9--32\n"); nit_exit(1);}
6611 variable2 = ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/;
6612 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*/) /*TStar::==*/)))));
6613 if (UNTAG_Bool(variable2)) { /*if*/
6614 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*/) /*PNode::==*/)))))));
6615 if (UNTAG_Bool(variable2)) { /*if*/
6616 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
6617 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TStar, ID_TStar)) /*cast TStar*/;
6618 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3498,3--28\n"); nit_exit(1);}
6619 ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/ = variable1 /*new_child*/;
6620 } else { /*if*/
6621 ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/ = NIT_NULL /*null*/;
6622 }
6623 goto return_label284;
6624 }
6625 return_label284: while(false);
6626 tracehead = trace.prev;
6627 return;
6628 }
6629 void parser_prod___AStarMethid___visit_all(val_t self, val_t param0) {
6630 struct trace_t trace = {NULL, "parser_prod::AStarMethid::visit_all (src/parser//parser_prod.nit:3507,5--3510:27)"};
6631 val_t variable0;
6632 val_t variable1;
6633 trace.prev = tracehead; tracehead = &trace;
6634 variable0 = param0;
6635 variable1 = ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/;
6636 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TStar::==*/)))))));
6637 if (UNTAG_Bool(variable1)) { /*if*/
6638 variable1 = ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/;
6639 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6640 }
6641 tracehead = trace.prev;
6642 return;
6643 }
6644 void parser_prod___AStarMethid___visit_all_reverse(val_t self, val_t param0) {
6645 struct trace_t trace = {NULL, "parser_prod::AStarMethid::visit_all_reverse (src/parser//parser_prod.nit:3514,5--3517:27)"};
6646 val_t variable0;
6647 val_t variable1;
6648 trace.prev = tracehead; tracehead = &trace;
6649 variable0 = param0;
6650 variable1 = ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/;
6651 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TStar::==*/)))))));
6652 if (UNTAG_Bool(variable1)) { /*if*/
6653 variable1 = ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/;
6654 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6655 }
6656 tracehead = trace.prev;
6657 return;
6658 }
6659 void parser_prod___ASlashMethid___n_slash__eq(val_t self, val_t param0) {
6660 struct trace_t trace = {NULL, "parser_prod::ASlashMethid::n_slash= (src/parser//parser_prod.nit:3522,5--3526:20)"};
6661 val_t variable0;
6662 val_t variable1;
6663 trace.prev = tracehead; tracehead = &trace;
6664 variable0 = param0;
6665 ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/ = variable0 /*n*/;
6666 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*/) /*TSlash::==*/)))))));
6667 if (UNTAG_Bool(variable1)) { /*if*/
6668 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TSlash::parent=*/;
6669 }
6670 tracehead = trace.prev;
6671 return;
6672 }
6673 void parser_prod___ASlashMethid___empty_init(val_t self, int* init_table) {
6674 struct trace_t trace = {NULL, "parser_prod::ASlashMethid::empty_init (src/parser//parser_prod.nit:3530,5--27)"};
6675 trace.prev = tracehead; tracehead = &trace;
6676 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashMethid].i]) return;
6677 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashMethid].i] = 1;
6678 tracehead = trace.prev;
6679 return;
6680 }
6681 void parser_prod___ASlashMethid___init_aslashmethid(val_t self, val_t param0, int* init_table) {
6682 struct trace_t trace = {NULL, "parser_prod::ASlashMethid::init_aslashmethid (src/parser//parser_prod.nit:3532,5--3538:23)"};
6683 val_t variable0;
6684 val_t variable1;
6685 trace.prev = tracehead; tracehead = &trace;
6686 variable0 = param0;
6687 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashMethid].i]) return;
6688 ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/ = variable0 /*n_slash*/;
6689 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*/) /*TSlash::==*/)))))));
6690 if (UNTAG_Bool(variable1)) { /*if*/
6691 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_slash*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_slash*/, self) /*TSlash::parent=*/;
6692 }
6693 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashMethid].i] = 1;
6694 tracehead = trace.prev;
6695 return;
6696 }
6697 void parser_prod___ASlashMethid___replace_child(val_t self, val_t param0, val_t param1) {
6698 struct trace_t trace = {NULL, "parser_prod::ASlashMethid::replace_child (src/parser//parser_prod.nit:3542,5--3553:18)"};
6699 val_t variable0;
6700 val_t variable1;
6701 val_t variable2;
6702 trace.prev = tracehead; tracehead = &trace;
6703 variable0 = param0;
6704 variable1 = param1;
6705 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*/) /*PNode::==*/)))))));
6706 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3544,9--32\n"); nit_exit(1);}
6707 variable2 = ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/;
6708 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*/) /*TSlash::==*/)))));
6709 if (UNTAG_Bool(variable2)) { /*if*/
6710 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*/) /*PNode::==*/)))))));
6711 if (UNTAG_Bool(variable2)) { /*if*/
6712 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
6713 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TSlash, ID_TSlash)) /*cast TSlash*/;
6714 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3548,3--29\n"); nit_exit(1);}
6715 ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/ = variable1 /*new_child*/;
6716 } else { /*if*/
6717 ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/ = NIT_NULL /*null*/;
6718 }
6719 goto return_label290;
6720 }
6721 return_label290: while(false);
6722 tracehead = trace.prev;
6723 return;
6724 }
6725 void parser_prod___ASlashMethid___visit_all(val_t self, val_t param0) {
6726 struct trace_t trace = {NULL, "parser_prod::ASlashMethid::visit_all (src/parser//parser_prod.nit:3557,5--3560:28)"};
6727 val_t variable0;
6728 val_t variable1;
6729 trace.prev = tracehead; tracehead = &trace;
6730 variable0 = param0;
6731 variable1 = ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/;
6732 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TSlash::==*/)))))));
6733 if (UNTAG_Bool(variable1)) { /*if*/
6734 variable1 = ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/;
6735 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6736 }
6737 tracehead = trace.prev;
6738 return;
6739 }
6740 void parser_prod___ASlashMethid___visit_all_reverse(val_t self, val_t param0) {
6741 struct trace_t trace = {NULL, "parser_prod::ASlashMethid::visit_all_reverse (src/parser//parser_prod.nit:3564,5--3567:28)"};
6742 val_t variable0;
6743 val_t variable1;
6744 trace.prev = tracehead; tracehead = &trace;
6745 variable0 = param0;
6746 variable1 = ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/;
6747 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TSlash::==*/)))))));
6748 if (UNTAG_Bool(variable1)) { /*if*/
6749 variable1 = ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/;
6750 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6751 }
6752 tracehead = trace.prev;
6753 return;
6754 }
6755 void parser_prod___APercentMethid___n_percent__eq(val_t self, val_t param0) {
6756 struct trace_t trace = {NULL, "parser_prod::APercentMethid::n_percent= (src/parser//parser_prod.nit:3572,5--3576:20)"};
6757 val_t variable0;
6758 val_t variable1;
6759 trace.prev = tracehead; tracehead = &trace;
6760 variable0 = param0;
6761 ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/ = variable0 /*n*/;
6762 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*/) /*TPercent::==*/)))))));
6763 if (UNTAG_Bool(variable1)) { /*if*/
6764 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TPercent::parent=*/;
6765 }
6766 tracehead = trace.prev;
6767 return;
6768 }
6769 void parser_prod___APercentMethid___empty_init(val_t self, int* init_table) {
6770 struct trace_t trace = {NULL, "parser_prod::APercentMethid::empty_init (src/parser//parser_prod.nit:3580,5--27)"};
6771 trace.prev = tracehead; tracehead = &trace;
6772 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentMethid].i]) return;
6773 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentMethid].i] = 1;
6774 tracehead = trace.prev;
6775 return;
6776 }
6777 void parser_prod___APercentMethid___init_apercentmethid(val_t self, val_t param0, int* init_table) {
6778 struct trace_t trace = {NULL, "parser_prod::APercentMethid::init_apercentmethid (src/parser//parser_prod.nit:3582,5--3588:25)"};
6779 val_t variable0;
6780 val_t variable1;
6781 trace.prev = tracehead; tracehead = &trace;
6782 variable0 = param0;
6783 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentMethid].i]) return;
6784 ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/ = variable0 /*n_percent*/;
6785 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*/) /*TPercent::==*/)))))));
6786 if (UNTAG_Bool(variable1)) { /*if*/
6787 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_percent*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_percent*/, self) /*TPercent::parent=*/;
6788 }
6789 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentMethid].i] = 1;
6790 tracehead = trace.prev;
6791 return;
6792 }
6793 void parser_prod___APercentMethid___replace_child(val_t self, val_t param0, val_t param1) {
6794 struct trace_t trace = {NULL, "parser_prod::APercentMethid::replace_child (src/parser//parser_prod.nit:3592,5--3603:18)"};
6795 val_t variable0;
6796 val_t variable1;
6797 val_t variable2;
6798 trace.prev = tracehead; tracehead = &trace;
6799 variable0 = param0;
6800 variable1 = param1;
6801 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*/) /*PNode::==*/)))))));
6802 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3594,9--32\n"); nit_exit(1);}
6803 variable2 = ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/;
6804 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*/) /*TPercent::==*/)))));
6805 if (UNTAG_Bool(variable2)) { /*if*/
6806 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*/) /*PNode::==*/)))))));
6807 if (UNTAG_Bool(variable2)) { /*if*/
6808 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
6809 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TPercent, ID_TPercent)) /*cast TPercent*/;
6810 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3598,3--31\n"); nit_exit(1);}
6811 ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/ = variable1 /*new_child*/;
6812 } else { /*if*/
6813 ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/ = NIT_NULL /*null*/;
6814 }
6815 goto return_label296;
6816 }
6817 return_label296: while(false);
6818 tracehead = trace.prev;
6819 return;
6820 }
6821 void parser_prod___APercentMethid___visit_all(val_t self, val_t param0) {
6822 struct trace_t trace = {NULL, "parser_prod::APercentMethid::visit_all (src/parser//parser_prod.nit:3607,5--3610:30)"};
6823 val_t variable0;
6824 val_t variable1;
6825 trace.prev = tracehead; tracehead = &trace;
6826 variable0 = param0;
6827 variable1 = ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/;
6828 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TPercent::==*/)))))));
6829 if (UNTAG_Bool(variable1)) { /*if*/
6830 variable1 = ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/;
6831 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6832 }
6833 tracehead = trace.prev;
6834 return;
6835 }
6836 void parser_prod___APercentMethid___visit_all_reverse(val_t self, val_t param0) {
6837 struct trace_t trace = {NULL, "parser_prod::APercentMethid::visit_all_reverse (src/parser//parser_prod.nit:3614,5--3617:30)"};
6838 val_t variable0;
6839 val_t variable1;
6840 trace.prev = tracehead; tracehead = &trace;
6841 variable0 = param0;
6842 variable1 = ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/;
6843 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TPercent::==*/)))))));
6844 if (UNTAG_Bool(variable1)) { /*if*/
6845 variable1 = ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/;
6846 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6847 }
6848 tracehead = trace.prev;
6849 return;
6850 }
6851 void parser_prod___AEqMethid___n_eq__eq(val_t self, val_t param0) {
6852 struct trace_t trace = {NULL, "parser_prod::AEqMethid::n_eq= (src/parser//parser_prod.nit:3622,5--3626:20)"};
6853 val_t variable0;
6854 val_t variable1;
6855 trace.prev = tracehead; tracehead = &trace;
6856 variable0 = param0;
6857 ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/ = variable0 /*n*/;
6858 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*/) /*TEq::==*/)))))));
6859 if (UNTAG_Bool(variable1)) { /*if*/
6860 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TEq::parent=*/;
6861 }
6862 tracehead = trace.prev;
6863 return;
6864 }
6865 void parser_prod___AEqMethid___empty_init(val_t self, int* init_table) {
6866 struct trace_t trace = {NULL, "parser_prod::AEqMethid::empty_init (src/parser//parser_prod.nit:3630,5--27)"};
6867 trace.prev = tracehead; tracehead = &trace;
6868 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqMethid].i]) return;
6869 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqMethid].i] = 1;
6870 tracehead = trace.prev;
6871 return;
6872 }
6873 void parser_prod___AEqMethid___init_aeqmethid(val_t self, val_t param0, int* init_table) {
6874 struct trace_t trace = {NULL, "parser_prod::AEqMethid::init_aeqmethid (src/parser//parser_prod.nit:3632,5--3638:20)"};
6875 val_t variable0;
6876 val_t variable1;
6877 trace.prev = tracehead; tracehead = &trace;
6878 variable0 = param0;
6879 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqMethid].i]) return;
6880 ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/ = variable0 /*n_eq*/;
6881 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*/) /*TEq::==*/)))))));
6882 if (UNTAG_Bool(variable1)) { /*if*/
6883 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_eq*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_eq*/, self) /*TEq::parent=*/;
6884 }
6885 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqMethid].i] = 1;
6886 tracehead = trace.prev;
6887 return;
6888 }
6889 void parser_prod___AEqMethid___replace_child(val_t self, val_t param0, val_t param1) {
6890 struct trace_t trace = {NULL, "parser_prod::AEqMethid::replace_child (src/parser//parser_prod.nit:3642,5--3653:18)"};
6891 val_t variable0;
6892 val_t variable1;
6893 val_t variable2;
6894 trace.prev = tracehead; tracehead = &trace;
6895 variable0 = param0;
6896 variable1 = param1;
6897 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*/) /*PNode::==*/)))))));
6898 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3644,9--32\n"); nit_exit(1);}
6899 variable2 = ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/;
6900 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*/) /*TEq::==*/)))));
6901 if (UNTAG_Bool(variable2)) { /*if*/
6902 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*/) /*PNode::==*/)))))));
6903 if (UNTAG_Bool(variable2)) { /*if*/
6904 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
6905 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TEq, ID_TEq)) /*cast TEq*/;
6906 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3648,3--26\n"); nit_exit(1);}
6907 ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/ = variable1 /*new_child*/;
6908 } else { /*if*/
6909 ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/ = NIT_NULL /*null*/;
6910 }
6911 goto return_label302;
6912 }
6913 return_label302: while(false);
6914 tracehead = trace.prev;
6915 return;
6916 }
6917 void parser_prod___AEqMethid___visit_all(val_t self, val_t param0) {
6918 struct trace_t trace = {NULL, "parser_prod::AEqMethid::visit_all (src/parser//parser_prod.nit:3657,5--3660:25)"};
6919 val_t variable0;
6920 val_t variable1;
6921 trace.prev = tracehead; tracehead = &trace;
6922 variable0 = param0;
6923 variable1 = ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/;
6924 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TEq::==*/)))))));
6925 if (UNTAG_Bool(variable1)) { /*if*/
6926 variable1 = ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/;
6927 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6928 }
6929 tracehead = trace.prev;
6930 return;
6931 }
6932 void parser_prod___AEqMethid___visit_all_reverse(val_t self, val_t param0) {
6933 struct trace_t trace = {NULL, "parser_prod::AEqMethid::visit_all_reverse (src/parser//parser_prod.nit:3664,5--3667:25)"};
6934 val_t variable0;
6935 val_t variable1;
6936 trace.prev = tracehead; tracehead = &trace;
6937 variable0 = param0;
6938 variable1 = ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/;
6939 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TEq::==*/)))))));
6940 if (UNTAG_Bool(variable1)) { /*if*/
6941 variable1 = ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/;
6942 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
6943 }
6944 tracehead = trace.prev;
6945 return;
6946 }
6947 void parser_prod___ANeMethid___n_ne__eq(val_t self, val_t param0) {
6948 struct trace_t trace = {NULL, "parser_prod::ANeMethid::n_ne= (src/parser//parser_prod.nit:3672,5--3676:20)"};
6949 val_t variable0;
6950 val_t variable1;
6951 trace.prev = tracehead; tracehead = &trace;
6952 variable0 = param0;
6953 ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/ = variable0 /*n*/;
6954 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*/) /*TNe::==*/)))))));
6955 if (UNTAG_Bool(variable1)) { /*if*/
6956 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TNe::parent=*/;
6957 }
6958 tracehead = trace.prev;
6959 return;
6960 }
6961 void parser_prod___ANeMethid___empty_init(val_t self, int* init_table) {
6962 struct trace_t trace = {NULL, "parser_prod::ANeMethid::empty_init (src/parser//parser_prod.nit:3680,5--27)"};
6963 trace.prev = tracehead; tracehead = &trace;
6964 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeMethid].i]) return;
6965 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeMethid].i] = 1;
6966 tracehead = trace.prev;
6967 return;
6968 }
6969 void parser_prod___ANeMethid___init_anemethid(val_t self, val_t param0, int* init_table) {
6970 struct trace_t trace = {NULL, "parser_prod::ANeMethid::init_anemethid (src/parser//parser_prod.nit:3682,5--3688:20)"};
6971 val_t variable0;
6972 val_t variable1;
6973 trace.prev = tracehead; tracehead = &trace;
6974 variable0 = param0;
6975 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeMethid].i]) return;
6976 ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/ = variable0 /*n_ne*/;
6977 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*/) /*TNe::==*/)))))));
6978 if (UNTAG_Bool(variable1)) { /*if*/
6979 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_ne*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_ne*/, self) /*TNe::parent=*/;
6980 }
6981 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeMethid].i] = 1;
6982 tracehead = trace.prev;
6983 return;
6984 }
6985 void parser_prod___ANeMethid___replace_child(val_t self, val_t param0, val_t param1) {
6986 struct trace_t trace = {NULL, "parser_prod::ANeMethid::replace_child (src/parser//parser_prod.nit:3692,5--3703:18)"};
6987 val_t variable0;
6988 val_t variable1;
6989 val_t variable2;
6990 trace.prev = tracehead; tracehead = &trace;
6991 variable0 = param0;
6992 variable1 = param1;
6993 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*/) /*PNode::==*/)))))));
6994 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3694,9--32\n"); nit_exit(1);}
6995 variable2 = ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/;
6996 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*/) /*TNe::==*/)))));
6997 if (UNTAG_Bool(variable2)) { /*if*/
6998 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*/) /*PNode::==*/)))))));
6999 if (UNTAG_Bool(variable2)) { /*if*/
7000 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
7001 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TNe, ID_TNe)) /*cast TNe*/;
7002 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3698,3--26\n"); nit_exit(1);}
7003 ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/ = variable1 /*new_child*/;
7004 } else { /*if*/
7005 ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/ = NIT_NULL /*null*/;
7006 }
7007 goto return_label308;
7008 }
7009 return_label308: while(false);
7010 tracehead = trace.prev;
7011 return;
7012 }
7013 void parser_prod___ANeMethid___visit_all(val_t self, val_t param0) {
7014 struct trace_t trace = {NULL, "parser_prod::ANeMethid::visit_all (src/parser//parser_prod.nit:3707,5--3710:25)"};
7015 val_t variable0;
7016 val_t variable1;
7017 trace.prev = tracehead; tracehead = &trace;
7018 variable0 = param0;
7019 variable1 = ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/;
7020 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TNe::==*/)))))));
7021 if (UNTAG_Bool(variable1)) { /*if*/
7022 variable1 = ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/;
7023 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7024 }
7025 tracehead = trace.prev;
7026 return;
7027 }
7028 void parser_prod___ANeMethid___visit_all_reverse(val_t self, val_t param0) {
7029 struct trace_t trace = {NULL, "parser_prod::ANeMethid::visit_all_reverse (src/parser//parser_prod.nit:3714,5--3717:25)"};
7030 val_t variable0;
7031 val_t variable1;
7032 trace.prev = tracehead; tracehead = &trace;
7033 variable0 = param0;
7034 variable1 = ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/;
7035 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TNe::==*/)))))));
7036 if (UNTAG_Bool(variable1)) { /*if*/
7037 variable1 = ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/;
7038 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7039 }
7040 tracehead = trace.prev;
7041 return;
7042 }
7043 void parser_prod___ALeMethid___n_le__eq(val_t self, val_t param0) {
7044 struct trace_t trace = {NULL, "parser_prod::ALeMethid::n_le= (src/parser//parser_prod.nit:3722,5--3726:20)"};
7045 val_t variable0;
7046 val_t variable1;
7047 trace.prev = tracehead; tracehead = &trace;
7048 variable0 = param0;
7049 ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/ = variable0 /*n*/;
7050 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*/) /*TLe::==*/)))))));
7051 if (UNTAG_Bool(variable1)) { /*if*/
7052 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TLe::parent=*/;
7053 }
7054 tracehead = trace.prev;
7055 return;
7056 }
7057 void parser_prod___ALeMethid___empty_init(val_t self, int* init_table) {
7058 struct trace_t trace = {NULL, "parser_prod::ALeMethid::empty_init (src/parser//parser_prod.nit:3730,5--27)"};
7059 trace.prev = tracehead; tracehead = &trace;
7060 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeMethid].i]) return;
7061 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeMethid].i] = 1;
7062 tracehead = trace.prev;
7063 return;
7064 }
7065 void parser_prod___ALeMethid___init_alemethid(val_t self, val_t param0, int* init_table) {
7066 struct trace_t trace = {NULL, "parser_prod::ALeMethid::init_alemethid (src/parser//parser_prod.nit:3732,5--3738:20)"};
7067 val_t variable0;
7068 val_t variable1;
7069 trace.prev = tracehead; tracehead = &trace;
7070 variable0 = param0;
7071 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeMethid].i]) return;
7072 ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/ = variable0 /*n_le*/;
7073 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*/) /*TLe::==*/)))))));
7074 if (UNTAG_Bool(variable1)) { /*if*/
7075 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_le*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_le*/, self) /*TLe::parent=*/;
7076 }
7077 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeMethid].i] = 1;
7078 tracehead = trace.prev;
7079 return;
7080 }
7081 void parser_prod___ALeMethid___replace_child(val_t self, val_t param0, val_t param1) {
7082 struct trace_t trace = {NULL, "parser_prod::ALeMethid::replace_child (src/parser//parser_prod.nit:3742,5--3753:18)"};
7083 val_t variable0;
7084 val_t variable1;
7085 val_t variable2;
7086 trace.prev = tracehead; tracehead = &trace;
7087 variable0 = param0;
7088 variable1 = param1;
7089 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*/) /*PNode::==*/)))))));
7090 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3744,9--32\n"); nit_exit(1);}
7091 variable2 = ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/;
7092 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*/) /*TLe::==*/)))));
7093 if (UNTAG_Bool(variable2)) { /*if*/
7094 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*/) /*PNode::==*/)))))));
7095 if (UNTAG_Bool(variable2)) { /*if*/
7096 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
7097 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TLe, ID_TLe)) /*cast TLe*/;
7098 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3748,3--26\n"); nit_exit(1);}
7099 ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/ = variable1 /*new_child*/;
7100 } else { /*if*/
7101 ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/ = NIT_NULL /*null*/;
7102 }
7103 goto return_label314;
7104 }
7105 return_label314: while(false);
7106 tracehead = trace.prev;
7107 return;
7108 }
7109 void parser_prod___ALeMethid___visit_all(val_t self, val_t param0) {
7110 struct trace_t trace = {NULL, "parser_prod::ALeMethid::visit_all (src/parser//parser_prod.nit:3757,5--3760:25)"};
7111 val_t variable0;
7112 val_t variable1;
7113 trace.prev = tracehead; tracehead = &trace;
7114 variable0 = param0;
7115 variable1 = ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/;
7116 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TLe::==*/)))))));
7117 if (UNTAG_Bool(variable1)) { /*if*/
7118 variable1 = ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/;
7119 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7120 }
7121 tracehead = trace.prev;
7122 return;
7123 }
7124 void parser_prod___ALeMethid___visit_all_reverse(val_t self, val_t param0) {
7125 struct trace_t trace = {NULL, "parser_prod::ALeMethid::visit_all_reverse (src/parser//parser_prod.nit:3764,5--3767:25)"};
7126 val_t variable0;
7127 val_t variable1;
7128 trace.prev = tracehead; tracehead = &trace;
7129 variable0 = param0;
7130 variable1 = ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/;
7131 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TLe::==*/)))))));
7132 if (UNTAG_Bool(variable1)) { /*if*/
7133 variable1 = ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/;
7134 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7135 }
7136 tracehead = trace.prev;
7137 return;
7138 }
7139 void parser_prod___AGeMethid___n_ge__eq(val_t self, val_t param0) {
7140 struct trace_t trace = {NULL, "parser_prod::AGeMethid::n_ge= (src/parser//parser_prod.nit:3772,5--3776:20)"};
7141 val_t variable0;
7142 val_t variable1;
7143 trace.prev = tracehead; tracehead = &trace;
7144 variable0 = param0;
7145 ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/ = variable0 /*n*/;
7146 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*/) /*TGe::==*/)))))));
7147 if (UNTAG_Bool(variable1)) { /*if*/
7148 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TGe::parent=*/;
7149 }
7150 tracehead = trace.prev;
7151 return;
7152 }
7153 void parser_prod___AGeMethid___empty_init(val_t self, int* init_table) {
7154 struct trace_t trace = {NULL, "parser_prod::AGeMethid::empty_init (src/parser//parser_prod.nit:3780,5--27)"};
7155 trace.prev = tracehead; tracehead = &trace;
7156 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeMethid].i]) return;
7157 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeMethid].i] = 1;
7158 tracehead = trace.prev;
7159 return;
7160 }
7161 void parser_prod___AGeMethid___init_agemethid(val_t self, val_t param0, int* init_table) {
7162 struct trace_t trace = {NULL, "parser_prod::AGeMethid::init_agemethid (src/parser//parser_prod.nit:3782,5--3788:20)"};
7163 val_t variable0;
7164 val_t variable1;
7165 trace.prev = tracehead; tracehead = &trace;
7166 variable0 = param0;
7167 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeMethid].i]) return;
7168 ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/ = variable0 /*n_ge*/;
7169 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*/) /*TGe::==*/)))))));
7170 if (UNTAG_Bool(variable1)) { /*if*/
7171 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_ge*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_ge*/, self) /*TGe::parent=*/;
7172 }
7173 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeMethid].i] = 1;
7174 tracehead = trace.prev;
7175 return;
7176 }
7177 void parser_prod___AGeMethid___replace_child(val_t self, val_t param0, val_t param1) {
7178 struct trace_t trace = {NULL, "parser_prod::AGeMethid::replace_child (src/parser//parser_prod.nit:3792,5--3803:18)"};
7179 val_t variable0;
7180 val_t variable1;
7181 val_t variable2;
7182 trace.prev = tracehead; tracehead = &trace;
7183 variable0 = param0;
7184 variable1 = param1;
7185 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*/) /*PNode::==*/)))))));
7186 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3794,9--32\n"); nit_exit(1);}
7187 variable2 = ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/;
7188 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*/) /*TGe::==*/)))));
7189 if (UNTAG_Bool(variable2)) { /*if*/
7190 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*/) /*PNode::==*/)))))));
7191 if (UNTAG_Bool(variable2)) { /*if*/
7192 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
7193 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TGe, ID_TGe)) /*cast TGe*/;
7194 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3798,3--26\n"); nit_exit(1);}
7195 ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/ = variable1 /*new_child*/;
7196 } else { /*if*/
7197 ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/ = NIT_NULL /*null*/;
7198 }
7199 goto return_label320;
7200 }
7201 return_label320: while(false);
7202 tracehead = trace.prev;
7203 return;
7204 }
7205 void parser_prod___AGeMethid___visit_all(val_t self, val_t param0) {
7206 struct trace_t trace = {NULL, "parser_prod::AGeMethid::visit_all (src/parser//parser_prod.nit:3807,5--3810:25)"};
7207 val_t variable0;
7208 val_t variable1;
7209 trace.prev = tracehead; tracehead = &trace;
7210 variable0 = param0;
7211 variable1 = ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/;
7212 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TGe::==*/)))))));
7213 if (UNTAG_Bool(variable1)) { /*if*/
7214 variable1 = ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/;
7215 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7216 }
7217 tracehead = trace.prev;
7218 return;
7219 }
7220 void parser_prod___AGeMethid___visit_all_reverse(val_t self, val_t param0) {
7221 struct trace_t trace = {NULL, "parser_prod::AGeMethid::visit_all_reverse (src/parser//parser_prod.nit:3814,5--3817:25)"};
7222 val_t variable0;
7223 val_t variable1;
7224 trace.prev = tracehead; tracehead = &trace;
7225 variable0 = param0;
7226 variable1 = ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/;
7227 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TGe::==*/)))))));
7228 if (UNTAG_Bool(variable1)) { /*if*/
7229 variable1 = ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/;
7230 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7231 }
7232 tracehead = trace.prev;
7233 return;
7234 }
7235 void parser_prod___ALtMethid___n_lt__eq(val_t self, val_t param0) {
7236 struct trace_t trace = {NULL, "parser_prod::ALtMethid::n_lt= (src/parser//parser_prod.nit:3822,5--3826:20)"};
7237 val_t variable0;
7238 val_t variable1;
7239 trace.prev = tracehead; tracehead = &trace;
7240 variable0 = param0;
7241 ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/ = variable0 /*n*/;
7242 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*/) /*TLt::==*/)))))));
7243 if (UNTAG_Bool(variable1)) { /*if*/
7244 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TLt::parent=*/;
7245 }
7246 tracehead = trace.prev;
7247 return;
7248 }
7249 void parser_prod___ALtMethid___empty_init(val_t self, int* init_table) {
7250 struct trace_t trace = {NULL, "parser_prod::ALtMethid::empty_init (src/parser//parser_prod.nit:3830,5--27)"};
7251 trace.prev = tracehead; tracehead = &trace;
7252 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtMethid].i]) return;
7253 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtMethid].i] = 1;
7254 tracehead = trace.prev;
7255 return;
7256 }
7257 void parser_prod___ALtMethid___init_altmethid(val_t self, val_t param0, int* init_table) {
7258 struct trace_t trace = {NULL, "parser_prod::ALtMethid::init_altmethid (src/parser//parser_prod.nit:3832,5--3838:20)"};
7259 val_t variable0;
7260 val_t variable1;
7261 trace.prev = tracehead; tracehead = &trace;
7262 variable0 = param0;
7263 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtMethid].i]) return;
7264 ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/ = variable0 /*n_lt*/;
7265 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*/) /*TLt::==*/)))))));
7266 if (UNTAG_Bool(variable1)) { /*if*/
7267 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_lt*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_lt*/, self) /*TLt::parent=*/;
7268 }
7269 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtMethid].i] = 1;
7270 tracehead = trace.prev;
7271 return;
7272 }
7273 void parser_prod___ALtMethid___replace_child(val_t self, val_t param0, val_t param1) {
7274 struct trace_t trace = {NULL, "parser_prod::ALtMethid::replace_child (src/parser//parser_prod.nit:3842,5--3853:18)"};
7275 val_t variable0;
7276 val_t variable1;
7277 val_t variable2;
7278 trace.prev = tracehead; tracehead = &trace;
7279 variable0 = param0;
7280 variable1 = param1;
7281 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*/) /*PNode::==*/)))))));
7282 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3844,9--32\n"); nit_exit(1);}
7283 variable2 = ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/;
7284 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*/) /*TLt::==*/)))));
7285 if (UNTAG_Bool(variable2)) { /*if*/
7286 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*/) /*PNode::==*/)))))));
7287 if (UNTAG_Bool(variable2)) { /*if*/
7288 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
7289 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TLt, ID_TLt)) /*cast TLt*/;
7290 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3848,3--26\n"); nit_exit(1);}
7291 ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/ = variable1 /*new_child*/;
7292 } else { /*if*/
7293 ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/ = NIT_NULL /*null*/;
7294 }
7295 goto return_label326;
7296 }
7297 return_label326: while(false);
7298 tracehead = trace.prev;
7299 return;
7300 }
7301 void parser_prod___ALtMethid___visit_all(val_t self, val_t param0) {
7302 struct trace_t trace = {NULL, "parser_prod::ALtMethid::visit_all (src/parser//parser_prod.nit:3857,5--3860:25)"};
7303 val_t variable0;
7304 val_t variable1;
7305 trace.prev = tracehead; tracehead = &trace;
7306 variable0 = param0;
7307 variable1 = ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/;
7308 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TLt::==*/)))))));
7309 if (UNTAG_Bool(variable1)) { /*if*/
7310 variable1 = ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/;
7311 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7312 }
7313 tracehead = trace.prev;
7314 return;
7315 }
7316 void parser_prod___ALtMethid___visit_all_reverse(val_t self, val_t param0) {
7317 struct trace_t trace = {NULL, "parser_prod::ALtMethid::visit_all_reverse (src/parser//parser_prod.nit:3864,5--3867:25)"};
7318 val_t variable0;
7319 val_t variable1;
7320 trace.prev = tracehead; tracehead = &trace;
7321 variable0 = param0;
7322 variable1 = ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/;
7323 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TLt::==*/)))))));
7324 if (UNTAG_Bool(variable1)) { /*if*/
7325 variable1 = ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/;
7326 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7327 }
7328 tracehead = trace.prev;
7329 return;
7330 }
7331 void parser_prod___AGtMethid___n_gt__eq(val_t self, val_t param0) {
7332 struct trace_t trace = {NULL, "parser_prod::AGtMethid::n_gt= (src/parser//parser_prod.nit:3872,5--3876:20)"};
7333 val_t variable0;
7334 val_t variable1;
7335 trace.prev = tracehead; tracehead = &trace;
7336 variable0 = param0;
7337 ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/ = variable0 /*n*/;
7338 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*/) /*TGt::==*/)))))));
7339 if (UNTAG_Bool(variable1)) { /*if*/
7340 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TGt::parent=*/;
7341 }
7342 tracehead = trace.prev;
7343 return;
7344 }
7345 void parser_prod___AGtMethid___empty_init(val_t self, int* init_table) {
7346 struct trace_t trace = {NULL, "parser_prod::AGtMethid::empty_init (src/parser//parser_prod.nit:3880,5--27)"};
7347 trace.prev = tracehead; tracehead = &trace;
7348 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtMethid].i]) return;
7349 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtMethid].i] = 1;
7350 tracehead = trace.prev;
7351 return;
7352 }
7353 void parser_prod___AGtMethid___init_agtmethid(val_t self, val_t param0, int* init_table) {
7354 struct trace_t trace = {NULL, "parser_prod::AGtMethid::init_agtmethid (src/parser//parser_prod.nit:3882,5--3888:20)"};
7355 val_t variable0;
7356 val_t variable1;
7357 trace.prev = tracehead; tracehead = &trace;
7358 variable0 = param0;
7359 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtMethid].i]) return;
7360 ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/ = variable0 /*n_gt*/;
7361 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*/) /*TGt::==*/)))))));
7362 if (UNTAG_Bool(variable1)) { /*if*/
7363 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_gt*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_gt*/, self) /*TGt::parent=*/;
7364 }
7365 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtMethid].i] = 1;
7366 tracehead = trace.prev;
7367 return;
7368 }
7369 void parser_prod___AGtMethid___replace_child(val_t self, val_t param0, val_t param1) {
7370 struct trace_t trace = {NULL, "parser_prod::AGtMethid::replace_child (src/parser//parser_prod.nit:3892,5--3903:18)"};
7371 val_t variable0;
7372 val_t variable1;
7373 val_t variable2;
7374 trace.prev = tracehead; tracehead = &trace;
7375 variable0 = param0;
7376 variable1 = param1;
7377 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*/) /*PNode::==*/)))))));
7378 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3894,9--32\n"); nit_exit(1);}
7379 variable2 = ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/;
7380 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*/) /*TGt::==*/)))));
7381 if (UNTAG_Bool(variable2)) { /*if*/
7382 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*/) /*PNode::==*/)))))));
7383 if (UNTAG_Bool(variable2)) { /*if*/
7384 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
7385 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TGt, ID_TGt)) /*cast TGt*/;
7386 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3898,3--26\n"); nit_exit(1);}
7387 ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/ = variable1 /*new_child*/;
7388 } else { /*if*/
7389 ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/ = NIT_NULL /*null*/;
7390 }
7391 goto return_label332;
7392 }
7393 return_label332: while(false);
7394 tracehead = trace.prev;
7395 return;
7396 }
7397 void parser_prod___AGtMethid___visit_all(val_t self, val_t param0) {
7398 struct trace_t trace = {NULL, "parser_prod::AGtMethid::visit_all (src/parser//parser_prod.nit:3907,5--3910:25)"};
7399 val_t variable0;
7400 val_t variable1;
7401 trace.prev = tracehead; tracehead = &trace;
7402 variable0 = param0;
7403 variable1 = ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/;
7404 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TGt::==*/)))))));
7405 if (UNTAG_Bool(variable1)) { /*if*/
7406 variable1 = ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/;
7407 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7408 }
7409 tracehead = trace.prev;
7410 return;
7411 }
7412 void parser_prod___AGtMethid___visit_all_reverse(val_t self, val_t param0) {
7413 struct trace_t trace = {NULL, "parser_prod::AGtMethid::visit_all_reverse (src/parser//parser_prod.nit:3914,5--3917:25)"};
7414 val_t variable0;
7415 val_t variable1;
7416 trace.prev = tracehead; tracehead = &trace;
7417 variable0 = param0;
7418 variable1 = ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/;
7419 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TGt::==*/)))))));
7420 if (UNTAG_Bool(variable1)) { /*if*/
7421 variable1 = ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/;
7422 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7423 }
7424 tracehead = trace.prev;
7425 return;
7426 }
7427 void parser_prod___ABraMethid___n_obra__eq(val_t self, val_t param0) {
7428 struct trace_t trace = {NULL, "parser_prod::ABraMethid::n_obra= (src/parser//parser_prod.nit:3922,5--3926:20)"};
7429 val_t variable0;
7430 val_t variable1;
7431 trace.prev = tracehead; tracehead = &trace;
7432 variable0 = param0;
7433 ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/ = variable0 /*n*/;
7434 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*/) /*TObra::==*/)))))));
7435 if (UNTAG_Bool(variable1)) { /*if*/
7436 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TObra::parent=*/;
7437 }
7438 tracehead = trace.prev;
7439 return;
7440 }
7441 void parser_prod___ABraMethid___n_cbra__eq(val_t self, val_t param0) {
7442 struct trace_t trace = {NULL, "parser_prod::ABraMethid::n_cbra= (src/parser//parser_prod.nit:3929,5--3933:20)"};
7443 val_t variable0;
7444 val_t variable1;
7445 trace.prev = tracehead; tracehead = &trace;
7446 variable0 = param0;
7447 ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/ = variable0 /*n*/;
7448 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*/) /*TCbra::==*/)))))));
7449 if (UNTAG_Bool(variable1)) { /*if*/
7450 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TCbra::parent=*/;
7451 }
7452 tracehead = trace.prev;
7453 return;
7454 }
7455 void parser_prod___ABraMethid___empty_init(val_t self, int* init_table) {
7456 struct trace_t trace = {NULL, "parser_prod::ABraMethid::empty_init (src/parser//parser_prod.nit:3937,5--27)"};
7457 trace.prev = tracehead; tracehead = &trace;
7458 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraMethid].i]) return;
7459 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraMethid].i] = 1;
7460 tracehead = trace.prev;
7461 return;
7462 }
7463 void parser_prod___ABraMethid___init_abramethid(val_t self, val_t param0, val_t param1, int* init_table) {
7464 struct trace_t trace = {NULL, "parser_prod::ABraMethid::init_abramethid (src/parser//parser_prod.nit:3939,5--3950:22)"};
7465 val_t variable0;
7466 val_t variable1;
7467 val_t variable2;
7468 trace.prev = tracehead; tracehead = &trace;
7469 variable0 = param0;
7470 variable1 = param1;
7471 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraMethid].i]) return;
7472 ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/ = variable0 /*n_obra*/;
7473 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*/) /*TObra::==*/)))))));
7474 if (UNTAG_Bool(variable2)) { /*if*/
7475 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_obra*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_obra*/, self) /*TObra::parent=*/;
7476 }
7477 ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/ = variable1 /*n_cbra*/;
7478 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*/) /*TCbra::==*/)))))));
7479 if (UNTAG_Bool(variable2)) { /*if*/
7480 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_cbra*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_cbra*/, self) /*TCbra::parent=*/;
7481 }
7482 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraMethid].i] = 1;
7483 tracehead = trace.prev;
7484 return;
7485 }
7486 void parser_prod___ABraMethid___replace_child(val_t self, val_t param0, val_t param1) {
7487 struct trace_t trace = {NULL, "parser_prod::ABraMethid::replace_child (src/parser//parser_prod.nit:3954,5--3975:18)"};
7488 val_t variable0;
7489 val_t variable1;
7490 val_t variable2;
7491 trace.prev = tracehead; tracehead = &trace;
7492 variable0 = param0;
7493 variable1 = param1;
7494 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*/) /*PNode::==*/)))))));
7495 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3956,9--32\n"); nit_exit(1);}
7496 variable2 = ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/;
7497 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*/) /*TObra::==*/)))));
7498 if (UNTAG_Bool(variable2)) { /*if*/
7499 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*/) /*PNode::==*/)))))));
7500 if (UNTAG_Bool(variable2)) { /*if*/
7501 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
7502 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TObra, ID_TObra)) /*cast TObra*/;
7503 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3960,3--28\n"); nit_exit(1);}
7504 ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/ = variable1 /*new_child*/;
7505 } else { /*if*/
7506 ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/ = NIT_NULL /*null*/;
7507 }
7508 goto return_label339;
7509 }
7510 variable2 = ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/;
7511 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*/) /*TCbra::==*/)))));
7512 if (UNTAG_Bool(variable2)) { /*if*/
7513 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*/) /*PNode::==*/)))))));
7514 if (UNTAG_Bool(variable2)) { /*if*/
7515 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
7516 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TCbra, ID_TCbra)) /*cast TCbra*/;
7517 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:3970,3--28\n"); nit_exit(1);}
7518 ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/ = variable1 /*new_child*/;
7519 } else { /*if*/
7520 ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/ = NIT_NULL /*null*/;
7521 }
7522 goto return_label339;
7523 }
7524 return_label339: while(false);
7525 tracehead = trace.prev;
7526 return;
7527 }
7528 void parser_prod___ABraMethid___visit_all(val_t self, val_t param0) {
7529 struct trace_t trace = {NULL, "parser_prod::ABraMethid::visit_all (src/parser//parser_prod.nit:3979,5--3985:27)"};
7530 val_t variable0;
7531 val_t variable1;
7532 trace.prev = tracehead; tracehead = &trace;
7533 variable0 = param0;
7534 variable1 = ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/;
7535 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TObra::==*/)))))));
7536 if (UNTAG_Bool(variable1)) { /*if*/
7537 variable1 = ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/;
7538 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7539 }
7540 variable1 = ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/;
7541 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TCbra::==*/)))))));
7542 if (UNTAG_Bool(variable1)) { /*if*/
7543 variable1 = ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/;
7544 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7545 }
7546 tracehead = trace.prev;
7547 return;
7548 }
7549 void parser_prod___ABraMethid___visit_all_reverse(val_t self, val_t param0) {
7550 struct trace_t trace = {NULL, "parser_prod::ABraMethid::visit_all_reverse (src/parser//parser_prod.nit:3989,5--3995:27)"};
7551 val_t variable0;
7552 val_t variable1;
7553 trace.prev = tracehead; tracehead = &trace;
7554 variable0 = param0;
7555 variable1 = ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/;
7556 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TObra::==*/)))))));
7557 if (UNTAG_Bool(variable1)) { /*if*/
7558 variable1 = ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/;
7559 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7560 }
7561 variable1 = ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/;
7562 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TCbra::==*/)))))));
7563 if (UNTAG_Bool(variable1)) { /*if*/
7564 variable1 = ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/;
7565 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7566 }
7567 tracehead = trace.prev;
7568 return;
7569 }
7570 void parser_prod___AStarshipMethid___n_starship__eq(val_t self, val_t param0) {
7571 struct trace_t trace = {NULL, "parser_prod::AStarshipMethid::n_starship= (src/parser//parser_prod.nit:4000,5--4004:20)"};
7572 val_t variable0;
7573 val_t variable1;
7574 trace.prev = tracehead; tracehead = &trace;
7575 variable0 = param0;
7576 ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/ = variable0 /*n*/;
7577 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*/) /*TStarship::==*/)))))));
7578 if (UNTAG_Bool(variable1)) { /*if*/
7579 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TStarship::parent=*/;
7580 }
7581 tracehead = trace.prev;
7582 return;
7583 }
7584 void parser_prod___AStarshipMethid___empty_init(val_t self, int* init_table) {
7585 struct trace_t trace = {NULL, "parser_prod::AStarshipMethid::empty_init (src/parser//parser_prod.nit:4008,5--27)"};
7586 trace.prev = tracehead; tracehead = &trace;
7587 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipMethid].i]) return;
7588 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipMethid].i] = 1;
7589 tracehead = trace.prev;
7590 return;
7591 }
7592 void parser_prod___AStarshipMethid___init_astarshipmethid(val_t self, val_t param0, int* init_table) {
7593 struct trace_t trace = {NULL, "parser_prod::AStarshipMethid::init_astarshipmethid (src/parser//parser_prod.nit:4010,5--4016:26)"};
7594 val_t variable0;
7595 val_t variable1;
7596 trace.prev = tracehead; tracehead = &trace;
7597 variable0 = param0;
7598 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipMethid].i]) return;
7599 ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/ = variable0 /*n_starship*/;
7600 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*/) /*TStarship::==*/)))))));
7601 if (UNTAG_Bool(variable1)) { /*if*/
7602 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_starship*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_starship*/, self) /*TStarship::parent=*/;
7603 }
7604 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipMethid].i] = 1;
7605 tracehead = trace.prev;
7606 return;
7607 }
7608 void parser_prod___AStarshipMethid___replace_child(val_t self, val_t param0, val_t param1) {
7609 struct trace_t trace = {NULL, "parser_prod::AStarshipMethid::replace_child (src/parser//parser_prod.nit:4020,5--4031:18)"};
7610 val_t variable0;
7611 val_t variable1;
7612 val_t variable2;
7613 trace.prev = tracehead; tracehead = &trace;
7614 variable0 = param0;
7615 variable1 = param1;
7616 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*/) /*PNode::==*/)))))));
7617 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4022,9--32\n"); nit_exit(1);}
7618 variable2 = ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/;
7619 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*/) /*TStarship::==*/)))));
7620 if (UNTAG_Bool(variable2)) { /*if*/
7621 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*/) /*PNode::==*/)))))));
7622 if (UNTAG_Bool(variable2)) { /*if*/
7623 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
7624 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TStarship, ID_TStarship)) /*cast TStarship*/;
7625 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4026,3--32\n"); nit_exit(1);}
7626 ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/ = variable1 /*new_child*/;
7627 } else { /*if*/
7628 ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/ = NIT_NULL /*null*/;
7629 }
7630 goto return_label345;
7631 }
7632 return_label345: while(false);
7633 tracehead = trace.prev;
7634 return;
7635 }
7636 void parser_prod___AStarshipMethid___visit_all(val_t self, val_t param0) {
7637 struct trace_t trace = {NULL, "parser_prod::AStarshipMethid::visit_all (src/parser//parser_prod.nit:4035,5--4038:31)"};
7638 val_t variable0;
7639 val_t variable1;
7640 trace.prev = tracehead; tracehead = &trace;
7641 variable0 = param0;
7642 variable1 = ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/;
7643 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TStarship::==*/)))))));
7644 if (UNTAG_Bool(variable1)) { /*if*/
7645 variable1 = ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/;
7646 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7647 }
7648 tracehead = trace.prev;
7649 return;
7650 }
7651 void parser_prod___AStarshipMethid___visit_all_reverse(val_t self, val_t param0) {
7652 struct trace_t trace = {NULL, "parser_prod::AStarshipMethid::visit_all_reverse (src/parser//parser_prod.nit:4042,5--4045:31)"};
7653 val_t variable0;
7654 val_t variable1;
7655 trace.prev = tracehead; tracehead = &trace;
7656 variable0 = param0;
7657 variable1 = ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/;
7658 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TStarship::==*/)))))));
7659 if (UNTAG_Bool(variable1)) { /*if*/
7660 variable1 = ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/;
7661 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7662 }
7663 tracehead = trace.prev;
7664 return;
7665 }
7666 void parser_prod___AAssignMethid___n_id__eq(val_t self, val_t param0) {
7667 struct trace_t trace = {NULL, "parser_prod::AAssignMethid::n_id= (src/parser//parser_prod.nit:4050,5--4054:20)"};
7668 val_t variable0;
7669 val_t variable1;
7670 trace.prev = tracehead; tracehead = &trace;
7671 variable0 = param0;
7672 ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/ = variable0 /*n*/;
7673 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*/) /*TId::==*/)))))));
7674 if (UNTAG_Bool(variable1)) { /*if*/
7675 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TId::parent=*/;
7676 }
7677 tracehead = trace.prev;
7678 return;
7679 }
7680 void parser_prod___AAssignMethid___n_assign__eq(val_t self, val_t param0) {
7681 struct trace_t trace = {NULL, "parser_prod::AAssignMethid::n_assign= (src/parser//parser_prod.nit:4057,5--4061:20)"};
7682 val_t variable0;
7683 val_t variable1;
7684 trace.prev = tracehead; tracehead = &trace;
7685 variable0 = param0;
7686 ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/ = variable0 /*n*/;
7687 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*/) /*TAssign::==*/)))))));
7688 if (UNTAG_Bool(variable1)) { /*if*/
7689 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TAssign::parent=*/;
7690 }
7691 tracehead = trace.prev;
7692 return;
7693 }
7694 void parser_prod___AAssignMethid___empty_init(val_t self, int* init_table) {
7695 struct trace_t trace = {NULL, "parser_prod::AAssignMethid::empty_init (src/parser//parser_prod.nit:4065,5--27)"};
7696 trace.prev = tracehead; tracehead = &trace;
7697 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssignMethid].i]) return;
7698 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssignMethid].i] = 1;
7699 tracehead = trace.prev;
7700 return;
7701 }
7702 void parser_prod___AAssignMethid___init_aassignmethid(val_t self, val_t param0, val_t param1, int* init_table) {
7703 struct trace_t trace = {NULL, "parser_prod::AAssignMethid::init_aassignmethid (src/parser//parser_prod.nit:4067,5--4078:24)"};
7704 val_t variable0;
7705 val_t variable1;
7706 val_t variable2;
7707 trace.prev = tracehead; tracehead = &trace;
7708 variable0 = param0;
7709 variable1 = param1;
7710 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssignMethid].i]) return;
7711 ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/ = variable0 /*n_id*/;
7712 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*/) /*TId::==*/)))))));
7713 if (UNTAG_Bool(variable2)) { /*if*/
7714 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/, self) /*TId::parent=*/;
7715 }
7716 ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/ = variable1 /*n_assign*/;
7717 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*/) /*TAssign::==*/)))))));
7718 if (UNTAG_Bool(variable2)) { /*if*/
7719 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_assign*/, self) /*TAssign::parent=*/;
7720 }
7721 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssignMethid].i] = 1;
7722 tracehead = trace.prev;
7723 return;
7724 }
7725 void parser_prod___AAssignMethid___replace_child(val_t self, val_t param0, val_t param1) {
7726 struct trace_t trace = {NULL, "parser_prod::AAssignMethid::replace_child (src/parser//parser_prod.nit:4082,5--4103:18)"};
7727 val_t variable0;
7728 val_t variable1;
7729 val_t variable2;
7730 trace.prev = tracehead; tracehead = &trace;
7731 variable0 = param0;
7732 variable1 = param1;
7733 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*/) /*PNode::==*/)))))));
7734 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4084,9--32\n"); nit_exit(1);}
7735 variable2 = ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/;
7736 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*/) /*TId::==*/)))));
7737 if (UNTAG_Bool(variable2)) { /*if*/
7738 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*/) /*PNode::==*/)))))));
7739 if (UNTAG_Bool(variable2)) { /*if*/
7740 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
7741 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
7742 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4088,3--26\n"); nit_exit(1);}
7743 ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/ = variable1 /*new_child*/;
7744 } else { /*if*/
7745 ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/ = NIT_NULL /*null*/;
7746 }
7747 goto return_label352;
7748 }
7749 variable2 = ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/;
7750 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*/) /*TAssign::==*/)))));
7751 if (UNTAG_Bool(variable2)) { /*if*/
7752 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*/) /*PNode::==*/)))))));
7753 if (UNTAG_Bool(variable2)) { /*if*/
7754 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
7755 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
7756 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4098,3--30\n"); nit_exit(1);}
7757 ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/ = variable1 /*new_child*/;
7758 } else { /*if*/
7759 ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/ = NIT_NULL /*null*/;
7760 }
7761 goto return_label352;
7762 }
7763 return_label352: while(false);
7764 tracehead = trace.prev;
7765 return;
7766 }
7767 void parser_prod___AAssignMethid___visit_all(val_t self, val_t param0) {
7768 struct trace_t trace = {NULL, "parser_prod::AAssignMethid::visit_all (src/parser//parser_prod.nit:4107,5--4113:29)"};
7769 val_t variable0;
7770 val_t variable1;
7771 trace.prev = tracehead; tracehead = &trace;
7772 variable0 = param0;
7773 variable1 = ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/;
7774 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
7775 if (UNTAG_Bool(variable1)) { /*if*/
7776 variable1 = ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/;
7777 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7778 }
7779 variable1 = ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/;
7780 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TAssign::==*/)))))));
7781 if (UNTAG_Bool(variable1)) { /*if*/
7782 variable1 = ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/;
7783 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7784 }
7785 tracehead = trace.prev;
7786 return;
7787 }
7788 void parser_prod___AAssignMethid___visit_all_reverse(val_t self, val_t param0) {
7789 struct trace_t trace = {NULL, "parser_prod::AAssignMethid::visit_all_reverse (src/parser//parser_prod.nit:4117,5--4123:29)"};
7790 val_t variable0;
7791 val_t variable1;
7792 trace.prev = tracehead; tracehead = &trace;
7793 variable0 = param0;
7794 variable1 = ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/;
7795 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
7796 if (UNTAG_Bool(variable1)) { /*if*/
7797 variable1 = ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/;
7798 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7799 }
7800 variable1 = ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/;
7801 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TAssign::==*/)))))));
7802 if (UNTAG_Bool(variable1)) { /*if*/
7803 variable1 = ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/;
7804 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7805 }
7806 tracehead = trace.prev;
7807 return;
7808 }
7809 void parser_prod___ABraassignMethid___n_obra__eq(val_t self, val_t param0) {
7810 struct trace_t trace = {NULL, "parser_prod::ABraassignMethid::n_obra= (src/parser//parser_prod.nit:4128,5--4132:20)"};
7811 val_t variable0;
7812 val_t variable1;
7813 trace.prev = tracehead; tracehead = &trace;
7814 variable0 = param0;
7815 ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/ = variable0 /*n*/;
7816 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*/) /*TObra::==*/)))))));
7817 if (UNTAG_Bool(variable1)) { /*if*/
7818 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TObra::parent=*/;
7819 }
7820 tracehead = trace.prev;
7821 return;
7822 }
7823 void parser_prod___ABraassignMethid___n_cbra__eq(val_t self, val_t param0) {
7824 struct trace_t trace = {NULL, "parser_prod::ABraassignMethid::n_cbra= (src/parser//parser_prod.nit:4135,5--4139:20)"};
7825 val_t variable0;
7826 val_t variable1;
7827 trace.prev = tracehead; tracehead = &trace;
7828 variable0 = param0;
7829 ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/ = variable0 /*n*/;
7830 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*/) /*TCbra::==*/)))))));
7831 if (UNTAG_Bool(variable1)) { /*if*/
7832 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TCbra::parent=*/;
7833 }
7834 tracehead = trace.prev;
7835 return;
7836 }
7837 void parser_prod___ABraassignMethid___n_assign__eq(val_t self, val_t param0) {
7838 struct trace_t trace = {NULL, "parser_prod::ABraassignMethid::n_assign= (src/parser//parser_prod.nit:4142,5--4146:20)"};
7839 val_t variable0;
7840 val_t variable1;
7841 trace.prev = tracehead; tracehead = &trace;
7842 variable0 = param0;
7843 ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/ = variable0 /*n*/;
7844 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*/) /*TAssign::==*/)))))));
7845 if (UNTAG_Bool(variable1)) { /*if*/
7846 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TAssign::parent=*/;
7847 }
7848 tracehead = trace.prev;
7849 return;
7850 }
7851 void parser_prod___ABraassignMethid___empty_init(val_t self, int* init_table) {
7852 struct trace_t trace = {NULL, "parser_prod::ABraassignMethid::empty_init (src/parser//parser_prod.nit:4150,5--27)"};
7853 trace.prev = tracehead; tracehead = &trace;
7854 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraassignMethid].i]) return;
7855 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraassignMethid].i] = 1;
7856 tracehead = trace.prev;
7857 return;
7858 }
7859 void parser_prod___ABraassignMethid___init_abraassignmethid(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
7860 struct trace_t trace = {NULL, "parser_prod::ABraassignMethid::init_abraassignmethid (src/parser//parser_prod.nit:4152,5--4168:24)"};
7861 val_t variable0;
7862 val_t variable1;
7863 val_t variable2;
7864 val_t variable3;
7865 trace.prev = tracehead; tracehead = &trace;
7866 variable0 = param0;
7867 variable1 = param1;
7868 variable2 = param2;
7869 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraassignMethid].i]) return;
7870 ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/ = variable0 /*n_obra*/;
7871 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*/) /*TObra::==*/)))))));
7872 if (UNTAG_Bool(variable3)) { /*if*/
7873 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_obra*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_obra*/, self) /*TObra::parent=*/;
7874 }
7875 ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/ = variable1 /*n_cbra*/;
7876 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*/) /*TCbra::==*/)))))));
7877 if (UNTAG_Bool(variable3)) { /*if*/
7878 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_cbra*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_cbra*/, self) /*TCbra::parent=*/;
7879 }
7880 ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/ = variable2 /*n_assign*/;
7881 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*/) /*TAssign::==*/)))))));
7882 if (UNTAG_Bool(variable3)) { /*if*/
7883 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_assign*/, self) /*TAssign::parent=*/;
7884 }
7885 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraassignMethid].i] = 1;
7886 tracehead = trace.prev;
7887 return;
7888 }
7889 void parser_prod___ABraassignMethid___replace_child(val_t self, val_t param0, val_t param1) {
7890 struct trace_t trace = {NULL, "parser_prod::ABraassignMethid::replace_child (src/parser//parser_prod.nit:4172,5--4203:18)"};
7891 val_t variable0;
7892 val_t variable1;
7893 val_t variable2;
7894 trace.prev = tracehead; tracehead = &trace;
7895 variable0 = param0;
7896 variable1 = param1;
7897 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*/) /*PNode::==*/)))))));
7898 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4174,9--32\n"); nit_exit(1);}
7899 variable2 = ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/;
7900 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*/) /*TObra::==*/)))));
7901 if (UNTAG_Bool(variable2)) { /*if*/
7902 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*/) /*PNode::==*/)))))));
7903 if (UNTAG_Bool(variable2)) { /*if*/
7904 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
7905 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TObra, ID_TObra)) /*cast TObra*/;
7906 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4178,3--28\n"); nit_exit(1);}
7907 ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/ = variable1 /*new_child*/;
7908 } else { /*if*/
7909 ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/ = NIT_NULL /*null*/;
7910 }
7911 goto return_label360;
7912 }
7913 variable2 = ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/;
7914 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*/) /*TCbra::==*/)))));
7915 if (UNTAG_Bool(variable2)) { /*if*/
7916 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*/) /*PNode::==*/)))))));
7917 if (UNTAG_Bool(variable2)) { /*if*/
7918 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
7919 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TCbra, ID_TCbra)) /*cast TCbra*/;
7920 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4188,3--28\n"); nit_exit(1);}
7921 ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/ = variable1 /*new_child*/;
7922 } else { /*if*/
7923 ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/ = NIT_NULL /*null*/;
7924 }
7925 goto return_label360;
7926 }
7927 variable2 = ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/;
7928 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*/) /*TAssign::==*/)))));
7929 if (UNTAG_Bool(variable2)) { /*if*/
7930 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*/) /*PNode::==*/)))))));
7931 if (UNTAG_Bool(variable2)) { /*if*/
7932 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
7933 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
7934 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4198,3--30\n"); nit_exit(1);}
7935 ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/ = variable1 /*new_child*/;
7936 } else { /*if*/
7937 ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/ = NIT_NULL /*null*/;
7938 }
7939 goto return_label360;
7940 }
7941 return_label360: while(false);
7942 tracehead = trace.prev;
7943 return;
7944 }
7945 void parser_prod___ABraassignMethid___visit_all(val_t self, val_t param0) {
7946 struct trace_t trace = {NULL, "parser_prod::ABraassignMethid::visit_all (src/parser//parser_prod.nit:4207,5--4216:29)"};
7947 val_t variable0;
7948 val_t variable1;
7949 trace.prev = tracehead; tracehead = &trace;
7950 variable0 = param0;
7951 variable1 = ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/;
7952 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TObra::==*/)))))));
7953 if (UNTAG_Bool(variable1)) { /*if*/
7954 variable1 = ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/;
7955 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7956 }
7957 variable1 = ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/;
7958 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TCbra::==*/)))))));
7959 if (UNTAG_Bool(variable1)) { /*if*/
7960 variable1 = ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/;
7961 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7962 }
7963 variable1 = ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/;
7964 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TAssign::==*/)))))));
7965 if (UNTAG_Bool(variable1)) { /*if*/
7966 variable1 = ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/;
7967 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7968 }
7969 tracehead = trace.prev;
7970 return;
7971 }
7972 void parser_prod___ABraassignMethid___visit_all_reverse(val_t self, val_t param0) {
7973 struct trace_t trace = {NULL, "parser_prod::ABraassignMethid::visit_all_reverse (src/parser//parser_prod.nit:4220,5--4229:29)"};
7974 val_t variable0;
7975 val_t variable1;
7976 trace.prev = tracehead; tracehead = &trace;
7977 variable0 = param0;
7978 variable1 = ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/;
7979 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TObra::==*/)))))));
7980 if (UNTAG_Bool(variable1)) { /*if*/
7981 variable1 = ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/;
7982 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7983 }
7984 variable1 = ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/;
7985 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TCbra::==*/)))))));
7986 if (UNTAG_Bool(variable1)) { /*if*/
7987 variable1 = ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/;
7988 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7989 }
7990 variable1 = ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/;
7991 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TAssign::==*/)))))));
7992 if (UNTAG_Bool(variable1)) { /*if*/
7993 variable1 = ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/;
7994 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
7995 }
7996 tracehead = trace.prev;
7997 return;
7998 }
7999 void parser_prod___ASignature___n_type__eq(val_t self, val_t param0) {
8000 struct trace_t trace = {NULL, "parser_prod::ASignature::n_type= (src/parser//parser_prod.nit:4234,5--4238:20)"};
8001 val_t variable0;
8002 val_t variable1;
8003 trace.prev = tracehead; tracehead = &trace;
8004 variable0 = param0;
8005 ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/ = variable0 /*n*/;
8006 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*/) /*PType::==*/)))))));
8007 if (UNTAG_Bool(variable1)) { /*if*/
8008 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PType::parent=*/;
8009 }
8010 tracehead = trace.prev;
8011 return;
8012 }
8013 void parser_prod___ASignature___empty_init(val_t self, int* init_table) {
8014 struct trace_t trace = {NULL, "parser_prod::ASignature::empty_init (src/parser//parser_prod.nit:4242,5--27)"};
8015 trace.prev = tracehead; tracehead = &trace;
8016 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASignature].i]) return;
8017 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASignature].i] = 1;
8018 tracehead = trace.prev;
8019 return;
8020 }
8021 void parser_prod___ASignature___init_asignature(val_t self, val_t param0, val_t param1, int* init_table) {
8022 struct trace_t trace = {NULL, "parser_prod::ASignature::init_asignature (src/parser//parser_prod.nit:4244,5--4257:22)"};
8023 val_t variable0;
8024 val_t variable1;
8025 val_t variable2;
8026 val_t variable3;
8027 val_t variable4;
8028 trace.prev = tracehead; tracehead = &trace;
8029 variable0 = param0;
8030 variable1 = param1;
8031 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASignature].i]) return;
8032 variable2 = NEW_list___List___init(); /*new List[PParam]*/
8033 ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/ = variable2;
8034 variable2 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_params*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_params*/) /*Array::iterator*/;
8035 while (true) { /*for*/
8036 variable3 = ((array___ArrayIterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*ArrayIterator::is_ok*/;
8037 if (!UNTAG_Bool(variable3)) break; /*for*/
8038 variable3 = ((array___ArrayIterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*ArrayIterator::item*/;
8039 variable4 = TAG_Bool(( variable3 /*n*/==NIT_NULL) || VAL_ISA( variable3 /*n*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
8040 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4251,3--21\n"); nit_exit(1);}
8041 variable4 = ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/;
8042 ((abstract_collection___IndexedCollection___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable3 /*n*/) /*List::add*/;
8043 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n*/, self) /*PParam::parent=*/;
8044 continue_366: while(0);
8045 ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
8046 }
8047 break_366: while(0);
8048 ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/ = variable1 /*n_type*/;
8049 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*/) /*PType::==*/)))))));
8050 if (UNTAG_Bool(variable2)) { /*if*/
8051 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_type*/, self) /*PType::parent=*/;
8052 }
8053 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASignature].i] = 1;
8054 tracehead = trace.prev;
8055 return;
8056 }
8057 void parser_prod___ASignature___replace_child(val_t self, val_t param0, val_t param1) {
8058 struct trace_t trace = {NULL, "parser_prod::ASignature::replace_child (src/parser//parser_prod.nit:4261,5--4284:18)"};
8059 val_t variable0;
8060 val_t variable1;
8061 val_t variable2;
8062 val_t variable3;
8063 val_t variable4;
8064 trace.prev = tracehead; tracehead = &trace;
8065 variable0 = param0;
8066 variable1 = param1;
8067 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*/) /*PNode::==*/)))))));
8068 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4263,9--32\n"); nit_exit(1);}
8069 variable2 = ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/;
8070 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
8071 variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
8072 variable2 = variable3;
8073 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
8074 while (true) { /*for*/
8075 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
8076 if (!UNTAG_Bool(variable3)) break; /*for*/
8077 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
8078 variable4 = ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/;
8079 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
8080 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*/) /*PParam::==*/)))));
8081 if (UNTAG_Bool(variable4)) { /*if*/
8082 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*/) /*PNode::==*/)))))));
8083 if (UNTAG_Bool(variable4)) { /*if*/
8084 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
8085 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4267,7--33\n"); nit_exit(1);}
8086 variable4 = ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/;
8087 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
8088 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PParam::parent=*/;
8089 } else { /*if*/
8090 variable4 = ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/;
8091 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
8092 }
8093 goto return_label367;
8094 }
8095 continue_368: while(0);
8096 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
8097 }
8098 break_368: while(0);
8099 variable2 = ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/;
8100 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*/) /*PType::==*/)))));
8101 if (UNTAG_Bool(variable2)) { /*if*/
8102 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*/) /*PNode::==*/)))))));
8103 if (UNTAG_Bool(variable2)) { /*if*/
8104 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
8105 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
8106 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4279,3--28\n"); nit_exit(1);}
8107 ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/ = variable1 /*new_child*/;
8108 } else { /*if*/
8109 ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/ = NIT_NULL /*null*/;
8110 }
8111 goto return_label367;
8112 }
8113 return_label367: while(false);
8114 tracehead = trace.prev;
8115 return;
8116 }
8117 void parser_prod___ASignature___visit_all(val_t self, val_t param0) {
8118 struct trace_t trace = {NULL, "parser_prod::ASignature::visit_all (src/parser//parser_prod.nit:4288,5--4294:27)"};
8119 val_t variable0;
8120 val_t variable1;
8121 val_t variable2;
8122 trace.prev = tracehead; tracehead = &trace;
8123 variable0 = param0;
8124 variable1 = ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/;
8125 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
8126 while (true) { /*for*/
8127 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
8128 if (!UNTAG_Bool(variable2)) break; /*for*/
8129 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
8130 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
8131 continue_370: while(0);
8132 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
8133 }
8134 break_370: while(0);
8135 variable1 = ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/;
8136 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PType::==*/)))))));
8137 if (UNTAG_Bool(variable1)) { /*if*/
8138 variable1 = ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/;
8139 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8140 }
8141 tracehead = trace.prev;
8142 return;
8143 }
8144 void parser_prod___ASignature___visit_all_reverse(val_t self, val_t param0) {
8145 struct trace_t trace = {NULL, "parser_prod::ASignature::visit_all_reverse (src/parser//parser_prod.nit:4298,5--4308:27)"};
8146 val_t variable0;
8147 val_t variable1;
8148 val_t variable2;
8149 trace.prev = tracehead; tracehead = &trace;
8150 variable0 = param0;
8151 variable2 = ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/;
8152 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
8153 variable1 = variable2;
8154 while (true) { /*while*/
8155 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
8156 if (!UNTAG_Bool(variable2)) break; /* while*/
8157 variable2 = ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/;
8158 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
8159 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
8160 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
8161 variable1 = variable2 /*i=*/;
8162 continue_372: while(0);
8163 }
8164 break_372: while(0);
8165 variable1 = ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/;
8166 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PType::==*/)))))));
8167 if (UNTAG_Bool(variable1)) { /*if*/
8168 variable1 = ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/;
8169 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8170 }
8171 tracehead = trace.prev;
8172 return;
8173 }
8174 void parser_prod___AParam___n_id__eq(val_t self, val_t param0) {
8175 struct trace_t trace = {NULL, "parser_prod::AParam::n_id= (src/parser//parser_prod.nit:4313,5--4317:20)"};
8176 val_t variable0;
8177 val_t variable1;
8178 trace.prev = tracehead; tracehead = &trace;
8179 variable0 = param0;
8180 ATTR_parser_nodes___PParam____n_id( self) /*AParam::_n_id*/ = variable0 /*n*/;
8181 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*/) /*TId::==*/)))))));
8182 if (UNTAG_Bool(variable1)) { /*if*/
8183 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TId::parent=*/;
8184 }
8185 tracehead = trace.prev;
8186 return;
8187 }
8188 void parser_prod___AParam___n_type__eq(val_t self, val_t param0) {
8189 struct trace_t trace = {NULL, "parser_prod::AParam::n_type= (src/parser//parser_prod.nit:4320,5--4324:20)"};
8190 val_t variable0;
8191 val_t variable1;
8192 trace.prev = tracehead; tracehead = &trace;
8193 variable0 = param0;
8194 ATTR_parser_nodes___PParam____n_type( self) /*AParam::_n_type*/ = variable0 /*n*/;
8195 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*/) /*PType::==*/)))))));
8196 if (UNTAG_Bool(variable1)) { /*if*/
8197 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PType::parent=*/;
8198 }
8199 tracehead = trace.prev;
8200 return;
8201 }
8202 void parser_prod___AParam___n_dotdotdot__eq(val_t self, val_t param0) {
8203 struct trace_t trace = {NULL, "parser_prod::AParam::n_dotdotdot= (src/parser//parser_prod.nit:4327,5--4331:20)"};
8204 val_t variable0;
8205 val_t variable1;
8206 trace.prev = tracehead; tracehead = &trace;
8207 variable0 = param0;
8208 ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/ = variable0 /*n*/;
8209 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*/) /*TDotdotdot::==*/)))))));
8210 if (UNTAG_Bool(variable1)) { /*if*/
8211 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TDotdotdot::parent=*/;
8212 }
8213 tracehead = trace.prev;
8214 return;
8215 }
8216 void parser_prod___AParam___empty_init(val_t self, int* init_table) {
8217 struct trace_t trace = {NULL, "parser_prod::AParam::empty_init (src/parser//parser_prod.nit:4335,5--27)"};
8218 trace.prev = tracehead; tracehead = &trace;
8219 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParam].i]) return;
8220 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParam].i] = 1;
8221 tracehead = trace.prev;
8222 return;
8223 }
8224 void parser_prod___AParam___init_aparam(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
8225 struct trace_t trace = {NULL, "parser_prod::AParam::init_aparam (src/parser//parser_prod.nit:4337,5--4353:27)"};
8226 val_t variable0;
8227 val_t variable1;
8228 val_t variable2;
8229 val_t variable3;
8230 trace.prev = tracehead; tracehead = &trace;
8231 variable0 = param0;
8232 variable1 = param1;
8233 variable2 = param2;
8234 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParam].i]) return;
8235 ATTR_parser_nodes___PParam____n_id( self) /*AParam::_n_id*/ = variable0 /*n_id*/;
8236 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*/) /*TId::==*/)))))));
8237 if (UNTAG_Bool(variable3)) { /*if*/
8238 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/, self) /*TId::parent=*/;
8239 }
8240 ATTR_parser_nodes___PParam____n_type( self) /*AParam::_n_type*/ = variable1 /*n_type*/;
8241 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*/) /*PType::==*/)))))));
8242 if (UNTAG_Bool(variable3)) { /*if*/
8243 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_type*/, self) /*PType::parent=*/;
8244 }
8245 ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/ = variable2 /*n_dotdotdot*/;
8246 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*/) /*TDotdotdot::==*/)))))));
8247 if (UNTAG_Bool(variable3)) { /*if*/
8248 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_dotdotdot*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_dotdotdot*/, self) /*TDotdotdot::parent=*/;
8249 }
8250 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParam].i] = 1;
8251 tracehead = trace.prev;
8252 return;
8253 }
8254 void parser_prod___AParam___replace_child(val_t self, val_t param0, val_t param1) {
8255 struct trace_t trace = {NULL, "parser_prod::AParam::replace_child (src/parser//parser_prod.nit:4357,5--4388:18)"};
8256 val_t variable0;
8257 val_t variable1;
8258 val_t variable2;
8259 trace.prev = tracehead; tracehead = &trace;
8260 variable0 = param0;
8261 variable1 = param1;
8262 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*/) /*PNode::==*/)))))));
8263 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4359,9--32\n"); nit_exit(1);}
8264 variable2 = ATTR_parser_nodes___PParam____n_id( self) /*AParam::_n_id*/;
8265 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*/) /*TId::==*/)))));
8266 if (UNTAG_Bool(variable2)) { /*if*/
8267 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*/) /*PNode::==*/)))))));
8268 if (UNTAG_Bool(variable2)) { /*if*/
8269 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
8270 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
8271 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4363,3--26\n"); nit_exit(1);}
8272 ATTR_parser_nodes___PParam____n_id( self) /*AParam::_n_id*/ = variable1 /*new_child*/;
8273 } else { /*if*/
8274 ATTR_parser_nodes___PParam____n_id( self) /*AParam::_n_id*/ = NIT_NULL /*null*/;
8275 }
8276 goto return_label378;
8277 }
8278 variable2 = ATTR_parser_nodes___PParam____n_type( self) /*AParam::_n_type*/;
8279 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*/) /*PType::==*/)))));
8280 if (UNTAG_Bool(variable2)) { /*if*/
8281 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*/) /*PNode::==*/)))))));
8282 if (UNTAG_Bool(variable2)) { /*if*/
8283 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
8284 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
8285 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4373,3--28\n"); nit_exit(1);}
8286 ATTR_parser_nodes___PParam____n_type( self) /*AParam::_n_type*/ = variable1 /*new_child*/;
8287 } else { /*if*/
8288 ATTR_parser_nodes___PParam____n_type( self) /*AParam::_n_type*/ = NIT_NULL /*null*/;
8289 }
8290 goto return_label378;
8291 }
8292 variable2 = ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/;
8293 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*/) /*TDotdotdot::==*/)))));
8294 if (UNTAG_Bool(variable2)) { /*if*/
8295 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*/) /*PNode::==*/)))))));
8296 if (UNTAG_Bool(variable2)) { /*if*/
8297 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
8298 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TDotdotdot, ID_TDotdotdot)) /*cast TDotdotdot*/;
8299 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4383,3--33\n"); nit_exit(1);}
8300 ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/ = variable1 /*new_child*/;
8301 } else { /*if*/
8302 ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/ = NIT_NULL /*null*/;
8303 }
8304 goto return_label378;
8305 }
8306 return_label378: while(false);
8307 tracehead = trace.prev;
8308 return;
8309 }
8310 void parser_prod___AParam___visit_all(val_t self, val_t param0) {
8311 struct trace_t trace = {NULL, "parser_prod::AParam::visit_all (src/parser//parser_prod.nit:4392,5--4401:32)"};
8312 val_t variable0;
8313 val_t variable1;
8314 trace.prev = tracehead; tracehead = &trace;
8315 variable0 = param0;
8316 variable1 = ATTR_parser_nodes___PParam____n_id( self) /*AParam::_n_id*/;
8317 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
8318 if (UNTAG_Bool(variable1)) { /*if*/
8319 variable1 = ATTR_parser_nodes___PParam____n_id( self) /*AParam::_n_id*/;
8320 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8321 }
8322 variable1 = ATTR_parser_nodes___PParam____n_type( self) /*AParam::_n_type*/;
8323 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PType::==*/)))))));
8324 if (UNTAG_Bool(variable1)) { /*if*/
8325 variable1 = ATTR_parser_nodes___PParam____n_type( self) /*AParam::_n_type*/;
8326 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8327 }
8328 variable1 = ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/;
8329 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TDotdotdot::==*/)))))));
8330 if (UNTAG_Bool(variable1)) { /*if*/
8331 variable1 = ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/;
8332 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8333 }
8334 tracehead = trace.prev;
8335 return;
8336 }
8337 void parser_prod___AParam___visit_all_reverse(val_t self, val_t param0) {
8338 struct trace_t trace = {NULL, "parser_prod::AParam::visit_all_reverse (src/parser//parser_prod.nit:4405,5--4414:32)"};
8339 val_t variable0;
8340 val_t variable1;
8341 trace.prev = tracehead; tracehead = &trace;
8342 variable0 = param0;
8343 variable1 = ATTR_parser_nodes___PParam____n_id( self) /*AParam::_n_id*/;
8344 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
8345 if (UNTAG_Bool(variable1)) { /*if*/
8346 variable1 = ATTR_parser_nodes___PParam____n_id( self) /*AParam::_n_id*/;
8347 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8348 }
8349 variable1 = ATTR_parser_nodes___PParam____n_type( self) /*AParam::_n_type*/;
8350 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PType::==*/)))))));
8351 if (UNTAG_Bool(variable1)) { /*if*/
8352 variable1 = ATTR_parser_nodes___PParam____n_type( self) /*AParam::_n_type*/;
8353 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8354 }
8355 variable1 = ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/;
8356 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TDotdotdot::==*/)))))));
8357 if (UNTAG_Bool(variable1)) { /*if*/
8358 variable1 = ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/;
8359 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8360 }
8361 tracehead = trace.prev;
8362 return;
8363 }
8364 void parser_prod___AType___n_id__eq(val_t self, val_t param0) {
8365 struct trace_t trace = {NULL, "parser_prod::AType::n_id= (src/parser//parser_prod.nit:4419,5--4423:20)"};
8366 val_t variable0;
8367 val_t variable1;
8368 trace.prev = tracehead; tracehead = &trace;
8369 variable0 = param0;
8370 ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/ = variable0 /*n*/;
8371 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*/) /*TClassid::==*/)))))));
8372 if (UNTAG_Bool(variable1)) { /*if*/
8373 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TClassid::parent=*/;
8374 }
8375 tracehead = trace.prev;
8376 return;
8377 }
8378 void parser_prod___AType___empty_init(val_t self, int* init_table) {
8379 struct trace_t trace = {NULL, "parser_prod::AType::empty_init (src/parser//parser_prod.nit:4427,5--27)"};
8380 trace.prev = tracehead; tracehead = &trace;
8381 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AType].i]) return;
8382 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AType].i] = 1;
8383 tracehead = trace.prev;
8384 return;
8385 }
8386 void parser_prod___AType___init_atype(val_t self, val_t param0, val_t param1, int* init_table) {
8387 struct trace_t trace = {NULL, "parser_prod::AType::init_atype (src/parser//parser_prod.nit:4429,5--4442:17)"};
8388 val_t variable0;
8389 val_t variable1;
8390 val_t variable2;
8391 val_t variable3;
8392 val_t variable4;
8393 trace.prev = tracehead; tracehead = &trace;
8394 variable0 = param0;
8395 variable1 = param1;
8396 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AType].i]) return;
8397 ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/ = variable0 /*n_id*/;
8398 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*/) /*TClassid::==*/)))))));
8399 if (UNTAG_Bool(variable2)) { /*if*/
8400 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/, self) /*TClassid::parent=*/;
8401 }
8402 variable2 = NEW_list___List___init(); /*new List[PType]*/
8403 ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/ = variable2;
8404 variable2 = ((array___AbstractArray___iterator_t)CALL( variable1 /*n_types*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*n_types*/) /*Array::iterator*/;
8405 while (true) { /*for*/
8406 variable3 = ((array___ArrayIterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*ArrayIterator::is_ok*/;
8407 if (!UNTAG_Bool(variable3)) break; /*for*/
8408 variable3 = ((array___ArrayIterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*ArrayIterator::item*/;
8409 variable4 = TAG_Bool(( variable3 /*n*/==NIT_NULL) || VAL_ISA( variable3 /*n*/, COLOR_PType, ID_PType)) /*cast PType*/;
8410 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4440,3--20\n"); nit_exit(1);}
8411 variable4 = ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/;
8412 ((abstract_collection___IndexedCollection___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable3 /*n*/) /*List::add*/;
8413 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n*/, self) /*PType::parent=*/;
8414 continue_384: while(0);
8415 ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
8416 }
8417 break_384: while(0);
8418 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AType].i] = 1;
8419 tracehead = trace.prev;
8420 return;
8421 }
8422 void parser_prod___AType___replace_child(val_t self, val_t param0, val_t param1) {
8423 struct trace_t trace = {NULL, "parser_prod::AType::replace_child (src/parser//parser_prod.nit:4446,5--4468:22)"};
8424 val_t variable0;
8425 val_t variable1;
8426 val_t variable2;
8427 val_t variable3;
8428 val_t variable4;
8429 trace.prev = tracehead; tracehead = &trace;
8430 variable0 = param0;
8431 variable1 = param1;
8432 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*/) /*PNode::==*/)))))));
8433 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4448,9--32\n"); nit_exit(1);}
8434 variable2 = ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/;
8435 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*/) /*TClassid::==*/)))));
8436 if (UNTAG_Bool(variable2)) { /*if*/
8437 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*/) /*PNode::==*/)))))));
8438 if (UNTAG_Bool(variable2)) { /*if*/
8439 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
8440 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
8441 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4452,3--31\n"); nit_exit(1);}
8442 ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/ = variable1 /*new_child*/;
8443 } else { /*if*/
8444 ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/ = NIT_NULL /*null*/;
8445 }
8446 goto return_label385;
8447 }
8448 variable2 = ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/;
8449 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
8450 variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
8451 variable2 = variable3;
8452 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
8453 while (true) { /*for*/
8454 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
8455 if (!UNTAG_Bool(variable3)) break; /*for*/
8456 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
8457 variable4 = ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/;
8458 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
8459 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*/) /*PType::==*/)))));
8460 if (UNTAG_Bool(variable4)) { /*if*/
8461 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*/) /*PNode::==*/)))))));
8462 if (UNTAG_Bool(variable4)) { /*if*/
8463 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
8464 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4462,7--32\n"); nit_exit(1);}
8465 variable4 = ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/;
8466 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
8467 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PType::parent=*/;
8468 } else { /*if*/
8469 variable4 = ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/;
8470 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
8471 }
8472 goto return_label385;
8473 }
8474 continue_386: while(0);
8475 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
8476 }
8477 break_386: while(0);
8478 return_label385: while(false);
8479 tracehead = trace.prev;
8480 return;
8481 }
8482 void parser_prod___AType___visit_all(val_t self, val_t param0) {
8483 struct trace_t trace = {NULL, "parser_prod::AType::visit_all (src/parser//parser_prod.nit:4473,5--4479:25)"};
8484 val_t variable0;
8485 val_t variable1;
8486 val_t variable2;
8487 trace.prev = tracehead; tracehead = &trace;
8488 variable0 = param0;
8489 variable1 = ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/;
8490 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TClassid::==*/)))))));
8491 if (UNTAG_Bool(variable1)) { /*if*/
8492 variable1 = ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/;
8493 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8494 }
8495 variable1 = ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/;
8496 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
8497 while (true) { /*for*/
8498 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
8499 if (!UNTAG_Bool(variable2)) break; /*for*/
8500 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
8501 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
8502 continue_388: while(0);
8503 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
8504 }
8505 break_388: while(0);
8506 tracehead = trace.prev;
8507 return;
8508 }
8509 void parser_prod___AType___visit_all_reverse(val_t self, val_t param0) {
8510 struct trace_t trace = {NULL, "parser_prod::AType::visit_all_reverse (src/parser//parser_prod.nit:4483,5--4492:11)"};
8511 val_t variable0;
8512 val_t variable1;
8513 val_t variable2;
8514 trace.prev = tracehead; tracehead = &trace;
8515 variable0 = param0;
8516 variable1 = ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/;
8517 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TClassid::==*/)))))));
8518 if (UNTAG_Bool(variable1)) { /*if*/
8519 variable1 = ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/;
8520 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8521 }
8522 variable2 = ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/;
8523 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
8524 variable1 = variable2;
8525 while (true) { /*while*/
8526 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
8527 if (!UNTAG_Bool(variable2)) break; /* while*/
8528 variable2 = ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/;
8529 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
8530 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
8531 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
8532 variable1 = variable2 /*i=*/;
8533 continue_390: while(0);
8534 }
8535 break_390: while(0);
8536 tracehead = trace.prev;
8537 return;
8538 }
8539 void parser_prod___ABlockExpr___empty_init(val_t self, int* init_table) {
8540 struct trace_t trace = {NULL, "parser_prod::ABlockExpr::empty_init (src/parser//parser_prod.nit:4499,5--27)"};
8541 trace.prev = tracehead; tracehead = &trace;
8542 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABlockExpr].i]) return;
8543 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABlockExpr].i] = 1;
8544 tracehead = trace.prev;
8545 return;
8546 }
8547 void parser_prod___ABlockExpr___init_ablockexpr(val_t self, val_t param0, int* init_table) {
8548 struct trace_t trace = {NULL, "parser_prod::ABlockExpr::init_ablockexpr (src/parser//parser_prod.nit:4501,5--4509:17)"};
8549 val_t variable0;
8550 val_t variable1;
8551 val_t variable2;
8552 val_t variable3;
8553 trace.prev = tracehead; tracehead = &trace;
8554 variable0 = param0;
8555 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABlockExpr].i]) return;
8556 variable1 = NEW_list___List___init(); /*new List[PExpr]*/
8557 ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/ = variable1;
8558 variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_expr*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_expr*/) /*Array::iterator*/;
8559 while (true) { /*for*/
8560 variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
8561 if (!UNTAG_Bool(variable2)) break; /*for*/
8562 variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
8563 variable3 = TAG_Bool(( variable2 /*n*/==NIT_NULL) || VAL_ISA( variable2 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
8564 if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4507,3--20\n"); nit_exit(1);}
8565 variable3 = ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/;
8566 ((abstract_collection___IndexedCollection___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable2 /*n*/) /*List::add*/;
8567 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n*/, self) /*PExpr::parent=*/;
8568 continue_393: while(0);
8569 ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
8570 }
8571 break_393: while(0);
8572 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABlockExpr].i] = 1;
8573 tracehead = trace.prev;
8574 return;
8575 }
8576 void parser_prod___ABlockExpr___replace_child(val_t self, val_t param0, val_t param1) {
8577 struct trace_t trace = {NULL, "parser_prod::ABlockExpr::replace_child (src/parser//parser_prod.nit:4513,5--4525:22)"};
8578 val_t variable0;
8579 val_t variable1;
8580 val_t variable2;
8581 val_t variable3;
8582 val_t variable4;
8583 trace.prev = tracehead; tracehead = &trace;
8584 variable0 = param0;
8585 variable1 = param1;
8586 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*/) /*PNode::==*/)))))));
8587 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4515,9--32\n"); nit_exit(1);}
8588 variable2 = ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/;
8589 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
8590 variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
8591 variable2 = variable3;
8592 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
8593 while (true) { /*for*/
8594 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
8595 if (!UNTAG_Bool(variable3)) break; /*for*/
8596 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
8597 variable4 = ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/;
8598 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
8599 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*/) /*PExpr::==*/)))));
8600 if (UNTAG_Bool(variable4)) { /*if*/
8601 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*/) /*PNode::==*/)))))));
8602 if (UNTAG_Bool(variable4)) { /*if*/
8603 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
8604 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4519,7--32\n"); nit_exit(1);}
8605 variable4 = ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/;
8606 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
8607 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PExpr::parent=*/;
8608 } else { /*if*/
8609 variable4 = ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/;
8610 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
8611 }
8612 goto return_label394;
8613 }
8614 continue_395: while(0);
8615 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
8616 }
8617 break_395: while(0);
8618 return_label394: while(false);
8619 tracehead = trace.prev;
8620 return;
8621 }
8622 void parser_prod___ABlockExpr___visit_all(val_t self, val_t param0) {
8623 struct trace_t trace = {NULL, "parser_prod::ABlockExpr::visit_all (src/parser//parser_prod.nit:4530,5--4533:25)"};
8624 val_t variable0;
8625 val_t variable1;
8626 val_t variable2;
8627 trace.prev = tracehead; tracehead = &trace;
8628 variable0 = param0;
8629 variable1 = ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/;
8630 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
8631 while (true) { /*for*/
8632 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
8633 if (!UNTAG_Bool(variable2)) break; /*for*/
8634 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
8635 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
8636 continue_397: while(0);
8637 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
8638 }
8639 break_397: while(0);
8640 tracehead = trace.prev;
8641 return;
8642 }
8643 void parser_prod___ABlockExpr___visit_all_reverse(val_t self, val_t param0) {
8644 struct trace_t trace = {NULL, "parser_prod::ABlockExpr::visit_all_reverse (src/parser//parser_prod.nit:4537,5--4543:11)"};
8645 val_t variable0;
8646 val_t variable1;
8647 val_t variable2;
8648 trace.prev = tracehead; tracehead = &trace;
8649 variable0 = param0;
8650 variable2 = ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/;
8651 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
8652 variable1 = variable2;
8653 while (true) { /*while*/
8654 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
8655 if (!UNTAG_Bool(variable2)) break; /* while*/
8656 variable2 = ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/;
8657 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
8658 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
8659 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
8660 variable1 = variable2 /*i=*/;
8661 continue_399: while(0);
8662 }
8663 break_399: while(0);
8664 tracehead = trace.prev;
8665 return;
8666 }
8667 void parser_prod___AVardeclExpr___n_kwvar__eq(val_t self, val_t param0) {
8668 struct trace_t trace = {NULL, "parser_prod::AVardeclExpr::n_kwvar= (src/parser//parser_prod.nit:4549,5--4553:20)"};
8669 val_t variable0;
8670 val_t variable1;
8671 trace.prev = tracehead; tracehead = &trace;
8672 variable0 = param0;
8673 ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/ = variable0 /*n*/;
8674 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*/) /*TKwvar::==*/)))))));
8675 if (UNTAG_Bool(variable1)) { /*if*/
8676 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwvar::parent=*/;
8677 }
8678 tracehead = trace.prev;
8679 return;
8680 }
8681 void parser_prod___AVardeclExpr___n_id__eq(val_t self, val_t param0) {
8682 struct trace_t trace = {NULL, "parser_prod::AVardeclExpr::n_id= (src/parser//parser_prod.nit:4556,5--4560:20)"};
8683 val_t variable0;
8684 val_t variable1;
8685 trace.prev = tracehead; tracehead = &trace;
8686 variable0 = param0;
8687 ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/ = variable0 /*n*/;
8688 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*/) /*TId::==*/)))))));
8689 if (UNTAG_Bool(variable1)) { /*if*/
8690 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TId::parent=*/;
8691 }
8692 tracehead = trace.prev;
8693 return;
8694 }
8695 void parser_prod___AVardeclExpr___n_type__eq(val_t self, val_t param0) {
8696 struct trace_t trace = {NULL, "parser_prod::AVardeclExpr::n_type= (src/parser//parser_prod.nit:4563,5--4567:20)"};
8697 val_t variable0;
8698 val_t variable1;
8699 trace.prev = tracehead; tracehead = &trace;
8700 variable0 = param0;
8701 ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/ = variable0 /*n*/;
8702 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*/) /*PType::==*/)))))));
8703 if (UNTAG_Bool(variable1)) { /*if*/
8704 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PType::parent=*/;
8705 }
8706 tracehead = trace.prev;
8707 return;
8708 }
8709 void parser_prod___AVardeclExpr___n_assign__eq(val_t self, val_t param0) {
8710 struct trace_t trace = {NULL, "parser_prod::AVardeclExpr::n_assign= (src/parser//parser_prod.nit:4570,5--4574:20)"};
8711 val_t variable0;
8712 val_t variable1;
8713 trace.prev = tracehead; tracehead = &trace;
8714 variable0 = param0;
8715 ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/ = variable0 /*n*/;
8716 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*/) /*TAssign::==*/)))))));
8717 if (UNTAG_Bool(variable1)) { /*if*/
8718 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TAssign::parent=*/;
8719 }
8720 tracehead = trace.prev;
8721 return;
8722 }
8723 void parser_prod___AVardeclExpr___n_expr__eq(val_t self, val_t param0) {
8724 struct trace_t trace = {NULL, "parser_prod::AVardeclExpr::n_expr= (src/parser//parser_prod.nit:4577,5--4581:20)"};
8725 val_t variable0;
8726 val_t variable1;
8727 trace.prev = tracehead; tracehead = &trace;
8728 variable0 = param0;
8729 ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/ = variable0 /*n*/;
8730 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*/) /*PExpr::==*/)))))));
8731 if (UNTAG_Bool(variable1)) { /*if*/
8732 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
8733 }
8734 tracehead = trace.prev;
8735 return;
8736 }
8737 void parser_prod___AVardeclExpr___empty_init(val_t self, int* init_table) {
8738 struct trace_t trace = {NULL, "parser_prod::AVardeclExpr::empty_init (src/parser//parser_prod.nit:4585,5--27)"};
8739 trace.prev = tracehead; tracehead = &trace;
8740 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVardeclExpr].i]) return;
8741 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVardeclExpr].i] = 1;
8742 tracehead = trace.prev;
8743 return;
8744 }
8745 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) {
8746 struct trace_t trace = {NULL, "parser_prod::AVardeclExpr::init_avardeclexpr (src/parser//parser_prod.nit:4587,5--4613:22)"};
8747 val_t variable0;
8748 val_t variable1;
8749 val_t variable2;
8750 val_t variable3;
8751 val_t variable4;
8752 val_t variable5;
8753 trace.prev = tracehead; tracehead = &trace;
8754 variable0 = param0;
8755 variable1 = param1;
8756 variable2 = param2;
8757 variable3 = param3;
8758 variable4 = param4;
8759 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVardeclExpr].i]) return;
8760 ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/ = variable0 /*n_kwvar*/;
8761 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*/) /*TKwvar::==*/)))))));
8762 if (UNTAG_Bool(variable5)) { /*if*/
8763 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwvar*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwvar*/, self) /*TKwvar::parent=*/;
8764 }
8765 ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/ = variable1 /*n_id*/;
8766 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*/) /*TId::==*/)))))));
8767 if (UNTAG_Bool(variable5)) { /*if*/
8768 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/, self) /*TId::parent=*/;
8769 }
8770 ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/ = variable2 /*n_type*/;
8771 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*/) /*PType::==*/)))))));
8772 if (UNTAG_Bool(variable5)) { /*if*/
8773 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_type*/, self) /*PType::parent=*/;
8774 }
8775 ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/ = variable3 /*n_assign*/;
8776 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*/) /*TAssign::==*/)))))));
8777 if (UNTAG_Bool(variable5)) { /*if*/
8778 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_assign*/, self) /*TAssign::parent=*/;
8779 }
8780 ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/ = variable4 /*n_expr*/;
8781 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*/) /*PExpr::==*/)))))));
8782 if (UNTAG_Bool(variable5)) { /*if*/
8783 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_expr*/, self) /*PExpr::parent=*/;
8784 }
8785 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVardeclExpr].i] = 1;
8786 tracehead = trace.prev;
8787 return;
8788 }
8789 void parser_prod___AVardeclExpr___replace_child(val_t self, val_t param0, val_t param1) {
8790 struct trace_t trace = {NULL, "parser_prod::AVardeclExpr::replace_child (src/parser//parser_prod.nit:4617,5--4668:18)"};
8791 val_t variable0;
8792 val_t variable1;
8793 val_t variable2;
8794 trace.prev = tracehead; tracehead = &trace;
8795 variable0 = param0;
8796 variable1 = param1;
8797 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*/) /*PNode::==*/)))))));
8798 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4619,9--32\n"); nit_exit(1);}
8799 variable2 = ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/;
8800 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*/) /*TKwvar::==*/)))));
8801 if (UNTAG_Bool(variable2)) { /*if*/
8802 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*/) /*PNode::==*/)))))));
8803 if (UNTAG_Bool(variable2)) { /*if*/
8804 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
8805 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
8806 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4623,3--29\n"); nit_exit(1);}
8807 ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/ = variable1 /*new_child*/;
8808 } else { /*if*/
8809 ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/ = NIT_NULL /*null*/;
8810 }
8811 goto return_label407;
8812 }
8813 variable2 = ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/;
8814 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*/) /*TId::==*/)))));
8815 if (UNTAG_Bool(variable2)) { /*if*/
8816 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*/) /*PNode::==*/)))))));
8817 if (UNTAG_Bool(variable2)) { /*if*/
8818 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
8819 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
8820 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4633,3--26\n"); nit_exit(1);}
8821 ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/ = variable1 /*new_child*/;
8822 } else { /*if*/
8823 ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/ = NIT_NULL /*null*/;
8824 }
8825 goto return_label407;
8826 }
8827 variable2 = ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/;
8828 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*/) /*PType::==*/)))));
8829 if (UNTAG_Bool(variable2)) { /*if*/
8830 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*/) /*PNode::==*/)))))));
8831 if (UNTAG_Bool(variable2)) { /*if*/
8832 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
8833 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
8834 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4643,3--28\n"); nit_exit(1);}
8835 ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/ = variable1 /*new_child*/;
8836 } else { /*if*/
8837 ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/ = NIT_NULL /*null*/;
8838 }
8839 goto return_label407;
8840 }
8841 variable2 = ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/;
8842 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*/) /*TAssign::==*/)))));
8843 if (UNTAG_Bool(variable2)) { /*if*/
8844 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*/) /*PNode::==*/)))))));
8845 if (UNTAG_Bool(variable2)) { /*if*/
8846 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
8847 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
8848 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4653,3--30\n"); nit_exit(1);}
8849 ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/ = variable1 /*new_child*/;
8850 } else { /*if*/
8851 ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/ = NIT_NULL /*null*/;
8852 }
8853 goto return_label407;
8854 }
8855 variable2 = ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/;
8856 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*/) /*PExpr::==*/)))));
8857 if (UNTAG_Bool(variable2)) { /*if*/
8858 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*/) /*PNode::==*/)))))));
8859 if (UNTAG_Bool(variable2)) { /*if*/
8860 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
8861 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
8862 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4663,3--28\n"); nit_exit(1);}
8863 ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/ = variable1 /*new_child*/;
8864 } else { /*if*/
8865 ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/ = NIT_NULL /*null*/;
8866 }
8867 goto return_label407;
8868 }
8869 return_label407: while(false);
8870 tracehead = trace.prev;
8871 return;
8872 }
8873 void parser_prod___AVardeclExpr___visit_all(val_t self, val_t param0) {
8874 struct trace_t trace = {NULL, "parser_prod::AVardeclExpr::visit_all (src/parser//parser_prod.nit:4672,5--4687:27)"};
8875 val_t variable0;
8876 val_t variable1;
8877 trace.prev = tracehead; tracehead = &trace;
8878 variable0 = param0;
8879 variable1 = ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/;
8880 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwvar::==*/)))))));
8881 if (UNTAG_Bool(variable1)) { /*if*/
8882 variable1 = ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/;
8883 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8884 }
8885 variable1 = ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/;
8886 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
8887 if (UNTAG_Bool(variable1)) { /*if*/
8888 variable1 = ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/;
8889 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8890 }
8891 variable1 = ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/;
8892 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PType::==*/)))))));
8893 if (UNTAG_Bool(variable1)) { /*if*/
8894 variable1 = ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/;
8895 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8896 }
8897 variable1 = ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/;
8898 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TAssign::==*/)))))));
8899 if (UNTAG_Bool(variable1)) { /*if*/
8900 variable1 = ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/;
8901 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8902 }
8903 variable1 = ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/;
8904 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
8905 if (UNTAG_Bool(variable1)) { /*if*/
8906 variable1 = ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/;
8907 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8908 }
8909 tracehead = trace.prev;
8910 return;
8911 }
8912 void parser_prod___AVardeclExpr___visit_all_reverse(val_t self, val_t param0) {
8913 struct trace_t trace = {NULL, "parser_prod::AVardeclExpr::visit_all_reverse (src/parser//parser_prod.nit:4691,5--4706:27)"};
8914 val_t variable0;
8915 val_t variable1;
8916 trace.prev = tracehead; tracehead = &trace;
8917 variable0 = param0;
8918 variable1 = ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/;
8919 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwvar::==*/)))))));
8920 if (UNTAG_Bool(variable1)) { /*if*/
8921 variable1 = ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/;
8922 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8923 }
8924 variable1 = ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/;
8925 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
8926 if (UNTAG_Bool(variable1)) { /*if*/
8927 variable1 = ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/;
8928 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8929 }
8930 variable1 = ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/;
8931 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PType::==*/)))))));
8932 if (UNTAG_Bool(variable1)) { /*if*/
8933 variable1 = ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/;
8934 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8935 }
8936 variable1 = ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/;
8937 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TAssign::==*/)))))));
8938 if (UNTAG_Bool(variable1)) { /*if*/
8939 variable1 = ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/;
8940 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8941 }
8942 variable1 = ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/;
8943 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
8944 if (UNTAG_Bool(variable1)) { /*if*/
8945 variable1 = ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/;
8946 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
8947 }
8948 tracehead = trace.prev;
8949 return;
8950 }
8951 void parser_prod___AReturnExpr___n_kwreturn__eq(val_t self, val_t param0) {
8952 struct trace_t trace = {NULL, "parser_prod::AReturnExpr::n_kwreturn= (src/parser//parser_prod.nit:4711,5--4715:20)"};
8953 val_t variable0;
8954 val_t variable1;
8955 trace.prev = tracehead; tracehead = &trace;
8956 variable0 = param0;
8957 ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/ = variable0 /*n*/;
8958 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*/) /*TKwreturn::==*/)))))));
8959 if (UNTAG_Bool(variable1)) { /*if*/
8960 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwreturn::parent=*/;
8961 }
8962 tracehead = trace.prev;
8963 return;
8964 }
8965 void parser_prod___AReturnExpr___n_expr__eq(val_t self, val_t param0) {
8966 struct trace_t trace = {NULL, "parser_prod::AReturnExpr::n_expr= (src/parser//parser_prod.nit:4718,5--4722:20)"};
8967 val_t variable0;
8968 val_t variable1;
8969 trace.prev = tracehead; tracehead = &trace;
8970 variable0 = param0;
8971 ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/ = variable0 /*n*/;
8972 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*/) /*PExpr::==*/)))))));
8973 if (UNTAG_Bool(variable1)) { /*if*/
8974 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
8975 }
8976 tracehead = trace.prev;
8977 return;
8978 }
8979 void parser_prod___AReturnExpr___empty_init(val_t self, int* init_table) {
8980 struct trace_t trace = {NULL, "parser_prod::AReturnExpr::empty_init (src/parser//parser_prod.nit:4726,5--27)"};
8981 trace.prev = tracehead; tracehead = &trace;
8982 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReturnExpr].i]) return;
8983 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReturnExpr].i] = 1;
8984 tracehead = trace.prev;
8985 return;
8986 }
8987 void parser_prod___AReturnExpr___init_areturnexpr(val_t self, val_t param0, val_t param1, int* init_table) {
8988 struct trace_t trace = {NULL, "parser_prod::AReturnExpr::init_areturnexpr (src/parser//parser_prod.nit:4728,5--4739:22)"};
8989 val_t variable0;
8990 val_t variable1;
8991 val_t variable2;
8992 trace.prev = tracehead; tracehead = &trace;
8993 variable0 = param0;
8994 variable1 = param1;
8995 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReturnExpr].i]) return;
8996 ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/ = variable0 /*n_kwreturn*/;
8997 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*/) /*TKwreturn::==*/)))))));
8998 if (UNTAG_Bool(variable2)) { /*if*/
8999 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwreturn*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwreturn*/, self) /*TKwreturn::parent=*/;
9000 }
9001 ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/ = variable1 /*n_expr*/;
9002 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*/) /*PExpr::==*/)))))));
9003 if (UNTAG_Bool(variable2)) { /*if*/
9004 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/, self) /*PExpr::parent=*/;
9005 }
9006 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReturnExpr].i] = 1;
9007 tracehead = trace.prev;
9008 return;
9009 }
9010 void parser_prod___AReturnExpr___replace_child(val_t self, val_t param0, val_t param1) {
9011 struct trace_t trace = {NULL, "parser_prod::AReturnExpr::replace_child (src/parser//parser_prod.nit:4743,5--4764:18)"};
9012 val_t variable0;
9013 val_t variable1;
9014 val_t variable2;
9015 trace.prev = tracehead; tracehead = &trace;
9016 variable0 = param0;
9017 variable1 = param1;
9018 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*/) /*PNode::==*/)))))));
9019 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4745,9--32\n"); nit_exit(1);}
9020 variable2 = ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/;
9021 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*/) /*TKwreturn::==*/)))));
9022 if (UNTAG_Bool(variable2)) { /*if*/
9023 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*/) /*PNode::==*/)))))));
9024 if (UNTAG_Bool(variable2)) { /*if*/
9025 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9026 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
9027 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4749,3--32\n"); nit_exit(1);}
9028 ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/ = variable1 /*new_child*/;
9029 } else { /*if*/
9030 ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/ = NIT_NULL /*null*/;
9031 }
9032 goto return_label414;
9033 }
9034 variable2 = ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/;
9035 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*/) /*PExpr::==*/)))));
9036 if (UNTAG_Bool(variable2)) { /*if*/
9037 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*/) /*PNode::==*/)))))));
9038 if (UNTAG_Bool(variable2)) { /*if*/
9039 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9040 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
9041 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4759,3--28\n"); nit_exit(1);}
9042 ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/ = variable1 /*new_child*/;
9043 } else { /*if*/
9044 ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/ = NIT_NULL /*null*/;
9045 }
9046 goto return_label414;
9047 }
9048 return_label414: while(false);
9049 tracehead = trace.prev;
9050 return;
9051 }
9052 void parser_prod___AReturnExpr___visit_all(val_t self, val_t param0) {
9053 struct trace_t trace = {NULL, "parser_prod::AReturnExpr::visit_all (src/parser//parser_prod.nit:4768,5--4774:27)"};
9054 val_t variable0;
9055 val_t variable1;
9056 trace.prev = tracehead; tracehead = &trace;
9057 variable0 = param0;
9058 variable1 = ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/;
9059 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwreturn::==*/)))))));
9060 if (UNTAG_Bool(variable1)) { /*if*/
9061 variable1 = ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/;
9062 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9063 }
9064 variable1 = ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/;
9065 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
9066 if (UNTAG_Bool(variable1)) { /*if*/
9067 variable1 = ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/;
9068 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9069 }
9070 tracehead = trace.prev;
9071 return;
9072 }
9073 void parser_prod___AReturnExpr___visit_all_reverse(val_t self, val_t param0) {
9074 struct trace_t trace = {NULL, "parser_prod::AReturnExpr::visit_all_reverse (src/parser//parser_prod.nit:4778,5--4784:27)"};
9075 val_t variable0;
9076 val_t variable1;
9077 trace.prev = tracehead; tracehead = &trace;
9078 variable0 = param0;
9079 variable1 = ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/;
9080 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwreturn::==*/)))))));
9081 if (UNTAG_Bool(variable1)) { /*if*/
9082 variable1 = ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/;
9083 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9084 }
9085 variable1 = ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/;
9086 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
9087 if (UNTAG_Bool(variable1)) { /*if*/
9088 variable1 = ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/;
9089 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9090 }
9091 tracehead = trace.prev;
9092 return;
9093 }
9094 void parser_prod___ABreakExpr___n_kwbreak__eq(val_t self, val_t param0) {
9095 struct trace_t trace = {NULL, "parser_prod::ABreakExpr::n_kwbreak= (src/parser//parser_prod.nit:4789,5--4793:20)"};
9096 val_t variable0;
9097 val_t variable1;
9098 trace.prev = tracehead; tracehead = &trace;
9099 variable0 = param0;
9100 ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/ = variable0 /*n*/;
9101 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*/) /*TKwbreak::==*/)))))));
9102 if (UNTAG_Bool(variable1)) { /*if*/
9103 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwbreak::parent=*/;
9104 }
9105 tracehead = trace.prev;
9106 return;
9107 }
9108 void parser_prod___ABreakExpr___empty_init(val_t self, int* init_table) {
9109 struct trace_t trace = {NULL, "parser_prod::ABreakExpr::empty_init (src/parser//parser_prod.nit:4797,5--27)"};
9110 trace.prev = tracehead; tracehead = &trace;
9111 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABreakExpr].i]) return;
9112 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABreakExpr].i] = 1;
9113 tracehead = trace.prev;
9114 return;
9115 }
9116 void parser_prod___ABreakExpr___init_abreakexpr(val_t self, val_t param0, int* init_table) {
9117 struct trace_t trace = {NULL, "parser_prod::ABreakExpr::init_abreakexpr (src/parser//parser_prod.nit:4799,5--4805:25)"};
9118 val_t variable0;
9119 val_t variable1;
9120 trace.prev = tracehead; tracehead = &trace;
9121 variable0 = param0;
9122 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABreakExpr].i]) return;
9123 ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/ = variable0 /*n_kwbreak*/;
9124 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*/) /*TKwbreak::==*/)))))));
9125 if (UNTAG_Bool(variable1)) { /*if*/
9126 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwbreak*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwbreak*/, self) /*TKwbreak::parent=*/;
9127 }
9128 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABreakExpr].i] = 1;
9129 tracehead = trace.prev;
9130 return;
9131 }
9132 void parser_prod___ABreakExpr___replace_child(val_t self, val_t param0, val_t param1) {
9133 struct trace_t trace = {NULL, "parser_prod::ABreakExpr::replace_child (src/parser//parser_prod.nit:4809,5--4820:18)"};
9134 val_t variable0;
9135 val_t variable1;
9136 val_t variable2;
9137 trace.prev = tracehead; tracehead = &trace;
9138 variable0 = param0;
9139 variable1 = param1;
9140 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*/) /*PNode::==*/)))))));
9141 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4811,9--32\n"); nit_exit(1);}
9142 variable2 = ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/;
9143 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*/) /*TKwbreak::==*/)))));
9144 if (UNTAG_Bool(variable2)) { /*if*/
9145 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*/) /*PNode::==*/)))))));
9146 if (UNTAG_Bool(variable2)) { /*if*/
9147 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9148 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
9149 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4815,3--31\n"); nit_exit(1);}
9150 ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/ = variable1 /*new_child*/;
9151 } else { /*if*/
9152 ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/ = NIT_NULL /*null*/;
9153 }
9154 goto return_label420;
9155 }
9156 return_label420: while(false);
9157 tracehead = trace.prev;
9158 return;
9159 }
9160 void parser_prod___ABreakExpr___visit_all(val_t self, val_t param0) {
9161 struct trace_t trace = {NULL, "parser_prod::ABreakExpr::visit_all (src/parser//parser_prod.nit:4824,5--4827:30)"};
9162 val_t variable0;
9163 val_t variable1;
9164 trace.prev = tracehead; tracehead = &trace;
9165 variable0 = param0;
9166 variable1 = ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/;
9167 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwbreak::==*/)))))));
9168 if (UNTAG_Bool(variable1)) { /*if*/
9169 variable1 = ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/;
9170 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9171 }
9172 tracehead = trace.prev;
9173 return;
9174 }
9175 void parser_prod___ABreakExpr___visit_all_reverse(val_t self, val_t param0) {
9176 struct trace_t trace = {NULL, "parser_prod::ABreakExpr::visit_all_reverse (src/parser//parser_prod.nit:4831,5--4834:30)"};
9177 val_t variable0;
9178 val_t variable1;
9179 trace.prev = tracehead; tracehead = &trace;
9180 variable0 = param0;
9181 variable1 = ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/;
9182 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwbreak::==*/)))))));
9183 if (UNTAG_Bool(variable1)) { /*if*/
9184 variable1 = ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/;
9185 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9186 }
9187 tracehead = trace.prev;
9188 return;
9189 }
9190 void parser_prod___AAbortExpr___n_kwabort__eq(val_t self, val_t param0) {
9191 struct trace_t trace = {NULL, "parser_prod::AAbortExpr::n_kwabort= (src/parser//parser_prod.nit:4839,5--4843:20)"};
9192 val_t variable0;
9193 val_t variable1;
9194 trace.prev = tracehead; tracehead = &trace;
9195 variable0 = param0;
9196 ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/ = variable0 /*n*/;
9197 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*/) /*TKwabort::==*/)))))));
9198 if (UNTAG_Bool(variable1)) { /*if*/
9199 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwabort::parent=*/;
9200 }
9201 tracehead = trace.prev;
9202 return;
9203 }
9204 void parser_prod___AAbortExpr___empty_init(val_t self, int* init_table) {
9205 struct trace_t trace = {NULL, "parser_prod::AAbortExpr::empty_init (src/parser//parser_prod.nit:4847,5--27)"};
9206 trace.prev = tracehead; tracehead = &trace;
9207 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbortExpr].i]) return;
9208 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbortExpr].i] = 1;
9209 tracehead = trace.prev;
9210 return;
9211 }
9212 void parser_prod___AAbortExpr___init_aabortexpr(val_t self, val_t param0, int* init_table) {
9213 struct trace_t trace = {NULL, "parser_prod::AAbortExpr::init_aabortexpr (src/parser//parser_prod.nit:4849,5--4855:25)"};
9214 val_t variable0;
9215 val_t variable1;
9216 trace.prev = tracehead; tracehead = &trace;
9217 variable0 = param0;
9218 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbortExpr].i]) return;
9219 ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/ = variable0 /*n_kwabort*/;
9220 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*/) /*TKwabort::==*/)))))));
9221 if (UNTAG_Bool(variable1)) { /*if*/
9222 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwabort*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwabort*/, self) /*TKwabort::parent=*/;
9223 }
9224 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbortExpr].i] = 1;
9225 tracehead = trace.prev;
9226 return;
9227 }
9228 void parser_prod___AAbortExpr___replace_child(val_t self, val_t param0, val_t param1) {
9229 struct trace_t trace = {NULL, "parser_prod::AAbortExpr::replace_child (src/parser//parser_prod.nit:4859,5--4870:18)"};
9230 val_t variable0;
9231 val_t variable1;
9232 val_t variable2;
9233 trace.prev = tracehead; tracehead = &trace;
9234 variable0 = param0;
9235 variable1 = param1;
9236 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*/) /*PNode::==*/)))))));
9237 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4861,9--32\n"); nit_exit(1);}
9238 variable2 = ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/;
9239 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*/) /*TKwabort::==*/)))));
9240 if (UNTAG_Bool(variable2)) { /*if*/
9241 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*/) /*PNode::==*/)))))));
9242 if (UNTAG_Bool(variable2)) { /*if*/
9243 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9244 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwabort, ID_TKwabort)) /*cast TKwabort*/;
9245 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4865,3--31\n"); nit_exit(1);}
9246 ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/ = variable1 /*new_child*/;
9247 } else { /*if*/
9248 ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/ = NIT_NULL /*null*/;
9249 }
9250 goto return_label426;
9251 }
9252 return_label426: while(false);
9253 tracehead = trace.prev;
9254 return;
9255 }
9256 void parser_prod___AAbortExpr___visit_all(val_t self, val_t param0) {
9257 struct trace_t trace = {NULL, "parser_prod::AAbortExpr::visit_all (src/parser//parser_prod.nit:4874,5--4877:30)"};
9258 val_t variable0;
9259 val_t variable1;
9260 trace.prev = tracehead; tracehead = &trace;
9261 variable0 = param0;
9262 variable1 = ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/;
9263 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwabort::==*/)))))));
9264 if (UNTAG_Bool(variable1)) { /*if*/
9265 variable1 = ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/;
9266 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9267 }
9268 tracehead = trace.prev;
9269 return;
9270 }
9271 void parser_prod___AAbortExpr___visit_all_reverse(val_t self, val_t param0) {
9272 struct trace_t trace = {NULL, "parser_prod::AAbortExpr::visit_all_reverse (src/parser//parser_prod.nit:4881,5--4884:30)"};
9273 val_t variable0;
9274 val_t variable1;
9275 trace.prev = tracehead; tracehead = &trace;
9276 variable0 = param0;
9277 variable1 = ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/;
9278 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwabort::==*/)))))));
9279 if (UNTAG_Bool(variable1)) { /*if*/
9280 variable1 = ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/;
9281 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9282 }
9283 tracehead = trace.prev;
9284 return;
9285 }
9286 void parser_prod___AContinueExpr___n_kwcontinue__eq(val_t self, val_t param0) {
9287 struct trace_t trace = {NULL, "parser_prod::AContinueExpr::n_kwcontinue= (src/parser//parser_prod.nit:4889,5--4893:20)"};
9288 val_t variable0;
9289 val_t variable1;
9290 trace.prev = tracehead; tracehead = &trace;
9291 variable0 = param0;
9292 ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/ = variable0 /*n*/;
9293 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*/) /*TKwcontinue::==*/)))))));
9294 if (UNTAG_Bool(variable1)) { /*if*/
9295 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwcontinue::parent=*/;
9296 }
9297 tracehead = trace.prev;
9298 return;
9299 }
9300 void parser_prod___AContinueExpr___empty_init(val_t self, int* init_table) {
9301 struct trace_t trace = {NULL, "parser_prod::AContinueExpr::empty_init (src/parser//parser_prod.nit:4897,5--27)"};
9302 trace.prev = tracehead; tracehead = &trace;
9303 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AContinueExpr].i]) return;
9304 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AContinueExpr].i] = 1;
9305 tracehead = trace.prev;
9306 return;
9307 }
9308 void parser_prod___AContinueExpr___init_acontinueexpr(val_t self, val_t param0, int* init_table) {
9309 struct trace_t trace = {NULL, "parser_prod::AContinueExpr::init_acontinueexpr (src/parser//parser_prod.nit:4899,5--4905:28)"};
9310 val_t variable0;
9311 val_t variable1;
9312 trace.prev = tracehead; tracehead = &trace;
9313 variable0 = param0;
9314 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AContinueExpr].i]) return;
9315 ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/ = variable0 /*n_kwcontinue*/;
9316 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*/) /*TKwcontinue::==*/)))))));
9317 if (UNTAG_Bool(variable1)) { /*if*/
9318 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwcontinue*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwcontinue*/, self) /*TKwcontinue::parent=*/;
9319 }
9320 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AContinueExpr].i] = 1;
9321 tracehead = trace.prev;
9322 return;
9323 }
9324 void parser_prod___AContinueExpr___replace_child(val_t self, val_t param0, val_t param1) {
9325 struct trace_t trace = {NULL, "parser_prod::AContinueExpr::replace_child (src/parser//parser_prod.nit:4909,5--4920:18)"};
9326 val_t variable0;
9327 val_t variable1;
9328 val_t variable2;
9329 trace.prev = tracehead; tracehead = &trace;
9330 variable0 = param0;
9331 variable1 = param1;
9332 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*/) /*PNode::==*/)))))));
9333 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4911,9--32\n"); nit_exit(1);}
9334 variable2 = ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/;
9335 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*/) /*TKwcontinue::==*/)))));
9336 if (UNTAG_Bool(variable2)) { /*if*/
9337 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*/) /*PNode::==*/)))))));
9338 if (UNTAG_Bool(variable2)) { /*if*/
9339 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9340 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwcontinue, ID_TKwcontinue)) /*cast TKwcontinue*/;
9341 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4915,3--34\n"); nit_exit(1);}
9342 ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/ = variable1 /*new_child*/;
9343 } else { /*if*/
9344 ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/ = NIT_NULL /*null*/;
9345 }
9346 goto return_label432;
9347 }
9348 return_label432: while(false);
9349 tracehead = trace.prev;
9350 return;
9351 }
9352 void parser_prod___AContinueExpr___visit_all(val_t self, val_t param0) {
9353 struct trace_t trace = {NULL, "parser_prod::AContinueExpr::visit_all (src/parser//parser_prod.nit:4924,5--4927:33)"};
9354 val_t variable0;
9355 val_t variable1;
9356 trace.prev = tracehead; tracehead = &trace;
9357 variable0 = param0;
9358 variable1 = ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/;
9359 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwcontinue::==*/)))))));
9360 if (UNTAG_Bool(variable1)) { /*if*/
9361 variable1 = ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/;
9362 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9363 }
9364 tracehead = trace.prev;
9365 return;
9366 }
9367 void parser_prod___AContinueExpr___visit_all_reverse(val_t self, val_t param0) {
9368 struct trace_t trace = {NULL, "parser_prod::AContinueExpr::visit_all_reverse (src/parser//parser_prod.nit:4931,5--4934:33)"};
9369 val_t variable0;
9370 val_t variable1;
9371 trace.prev = tracehead; tracehead = &trace;
9372 variable0 = param0;
9373 variable1 = ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/;
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*/) /*TKwcontinue::==*/)))))));
9375 if (UNTAG_Bool(variable1)) { /*if*/
9376 variable1 = ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/;
9377 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9378 }
9379 tracehead = trace.prev;
9380 return;
9381 }
9382 void parser_prod___ADoExpr___n_kwdo__eq(val_t self, val_t param0) {
9383 struct trace_t trace = {NULL, "parser_prod::ADoExpr::n_kwdo= (src/parser//parser_prod.nit:4939,5--4943:20)"};
9384 val_t variable0;
9385 val_t variable1;
9386 trace.prev = tracehead; tracehead = &trace;
9387 variable0 = param0;
9388 ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/ = variable0 /*n*/;
9389 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*/) /*TKwdo::==*/)))))));
9390 if (UNTAG_Bool(variable1)) { /*if*/
9391 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwdo::parent=*/;
9392 }
9393 tracehead = trace.prev;
9394 return;
9395 }
9396 void parser_prod___ADoExpr___n_block__eq(val_t self, val_t param0) {
9397 struct trace_t trace = {NULL, "parser_prod::ADoExpr::n_block= (src/parser//parser_prod.nit:4946,5--4950:20)"};
9398 val_t variable0;
9399 val_t variable1;
9400 trace.prev = tracehead; tracehead = &trace;
9401 variable0 = param0;
9402 ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/ = variable0 /*n*/;
9403 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*/) /*PExpr::==*/)))))));
9404 if (UNTAG_Bool(variable1)) { /*if*/
9405 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
9406 }
9407 tracehead = trace.prev;
9408 return;
9409 }
9410 void parser_prod___ADoExpr___empty_init(val_t self, int* init_table) {
9411 struct trace_t trace = {NULL, "parser_prod::ADoExpr::empty_init (src/parser//parser_prod.nit:4954,5--27)"};
9412 trace.prev = tracehead; tracehead = &trace;
9413 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoExpr].i]) return;
9414 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoExpr].i] = 1;
9415 tracehead = trace.prev;
9416 return;
9417 }
9418 void parser_prod___ADoExpr___init_adoexpr(val_t self, val_t param0, val_t param1, int* init_table) {
9419 struct trace_t trace = {NULL, "parser_prod::ADoExpr::init_adoexpr (src/parser//parser_prod.nit:4956,5--4967:23)"};
9420 val_t variable0;
9421 val_t variable1;
9422 val_t variable2;
9423 trace.prev = tracehead; tracehead = &trace;
9424 variable0 = param0;
9425 variable1 = param1;
9426 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoExpr].i]) return;
9427 ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/ = variable0 /*n_kwdo*/;
9428 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*/) /*TKwdo::==*/)))))));
9429 if (UNTAG_Bool(variable2)) { /*if*/
9430 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwdo*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwdo*/, self) /*TKwdo::parent=*/;
9431 }
9432 ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/ = variable1 /*n_block*/;
9433 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*/) /*PExpr::==*/)))))));
9434 if (UNTAG_Bool(variable2)) { /*if*/
9435 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_block*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_block*/, self) /*PExpr::parent=*/;
9436 }
9437 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoExpr].i] = 1;
9438 tracehead = trace.prev;
9439 return;
9440 }
9441 void parser_prod___ADoExpr___replace_child(val_t self, val_t param0, val_t param1) {
9442 struct trace_t trace = {NULL, "parser_prod::ADoExpr::replace_child (src/parser//parser_prod.nit:4971,5--4992:18)"};
9443 val_t variable0;
9444 val_t variable1;
9445 val_t variable2;
9446 trace.prev = tracehead; tracehead = &trace;
9447 variable0 = param0;
9448 variable1 = param1;
9449 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*/) /*PNode::==*/)))))));
9450 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4973,9--32\n"); nit_exit(1);}
9451 variable2 = ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/;
9452 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*/) /*TKwdo::==*/)))));
9453 if (UNTAG_Bool(variable2)) { /*if*/
9454 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*/) /*PNode::==*/)))))));
9455 if (UNTAG_Bool(variable2)) { /*if*/
9456 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9457 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
9458 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4977,3--28\n"); nit_exit(1);}
9459 ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/ = variable1 /*new_child*/;
9460 } else { /*if*/
9461 ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/ = NIT_NULL /*null*/;
9462 }
9463 goto return_label439;
9464 }
9465 variable2 = ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/;
9466 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*/) /*PExpr::==*/)))));
9467 if (UNTAG_Bool(variable2)) { /*if*/
9468 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*/) /*PNode::==*/)))))));
9469 if (UNTAG_Bool(variable2)) { /*if*/
9470 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9471 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
9472 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:4987,3--28\n"); nit_exit(1);}
9473 ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/ = variable1 /*new_child*/;
9474 } else { /*if*/
9475 ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/ = NIT_NULL /*null*/;
9476 }
9477 goto return_label439;
9478 }
9479 return_label439: while(false);
9480 tracehead = trace.prev;
9481 return;
9482 }
9483 void parser_prod___ADoExpr___visit_all(val_t self, val_t param0) {
9484 struct trace_t trace = {NULL, "parser_prod::ADoExpr::visit_all (src/parser//parser_prod.nit:4996,5--5002:28)"};
9485 val_t variable0;
9486 val_t variable1;
9487 trace.prev = tracehead; tracehead = &trace;
9488 variable0 = param0;
9489 variable1 = ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/;
9490 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwdo::==*/)))))));
9491 if (UNTAG_Bool(variable1)) { /*if*/
9492 variable1 = ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/;
9493 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9494 }
9495 variable1 = ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/;
9496 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
9497 if (UNTAG_Bool(variable1)) { /*if*/
9498 variable1 = ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/;
9499 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9500 }
9501 tracehead = trace.prev;
9502 return;
9503 }
9504 void parser_prod___ADoExpr___visit_all_reverse(val_t self, val_t param0) {
9505 struct trace_t trace = {NULL, "parser_prod::ADoExpr::visit_all_reverse (src/parser//parser_prod.nit:5006,5--5012:28)"};
9506 val_t variable0;
9507 val_t variable1;
9508 trace.prev = tracehead; tracehead = &trace;
9509 variable0 = param0;
9510 variable1 = ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/;
9511 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwdo::==*/)))))));
9512 if (UNTAG_Bool(variable1)) { /*if*/
9513 variable1 = ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/;
9514 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9515 }
9516 variable1 = ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/;
9517 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
9518 if (UNTAG_Bool(variable1)) { /*if*/
9519 variable1 = ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/;
9520 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9521 }
9522 tracehead = trace.prev;
9523 return;
9524 }
9525 void parser_prod___AIfExpr___n_kwif__eq(val_t self, val_t param0) {
9526 struct trace_t trace = {NULL, "parser_prod::AIfExpr::n_kwif= (src/parser//parser_prod.nit:5017,5--5021:20)"};
9527 val_t variable0;
9528 val_t variable1;
9529 trace.prev = tracehead; tracehead = &trace;
9530 variable0 = param0;
9531 ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/ = variable0 /*n*/;
9532 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*/) /*TKwif::==*/)))))));
9533 if (UNTAG_Bool(variable1)) { /*if*/
9534 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwif::parent=*/;
9535 }
9536 tracehead = trace.prev;
9537 return;
9538 }
9539 void parser_prod___AIfExpr___n_expr__eq(val_t self, val_t param0) {
9540 struct trace_t trace = {NULL, "parser_prod::AIfExpr::n_expr= (src/parser//parser_prod.nit:5024,5--5028:20)"};
9541 val_t variable0;
9542 val_t variable1;
9543 trace.prev = tracehead; tracehead = &trace;
9544 variable0 = param0;
9545 ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/ = variable0 /*n*/;
9546 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*/) /*PExpr::==*/)))))));
9547 if (UNTAG_Bool(variable1)) { /*if*/
9548 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
9549 }
9550 tracehead = trace.prev;
9551 return;
9552 }
9553 void parser_prod___AIfExpr___n_then__eq(val_t self, val_t param0) {
9554 struct trace_t trace = {NULL, "parser_prod::AIfExpr::n_then= (src/parser//parser_prod.nit:5031,5--5035:20)"};
9555 val_t variable0;
9556 val_t variable1;
9557 trace.prev = tracehead; tracehead = &trace;
9558 variable0 = param0;
9559 ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/ = variable0 /*n*/;
9560 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*/) /*PExpr::==*/)))))));
9561 if (UNTAG_Bool(variable1)) { /*if*/
9562 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
9563 }
9564 tracehead = trace.prev;
9565 return;
9566 }
9567 void parser_prod___AIfExpr___n_else__eq(val_t self, val_t param0) {
9568 struct trace_t trace = {NULL, "parser_prod::AIfExpr::n_else= (src/parser//parser_prod.nit:5038,5--5042:20)"};
9569 val_t variable0;
9570 val_t variable1;
9571 trace.prev = tracehead; tracehead = &trace;
9572 variable0 = param0;
9573 ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/ = variable0 /*n*/;
9574 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*/) /*PExpr::==*/)))))));
9575 if (UNTAG_Bool(variable1)) { /*if*/
9576 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
9577 }
9578 tracehead = trace.prev;
9579 return;
9580 }
9581 void parser_prod___AIfExpr___empty_init(val_t self, int* init_table) {
9582 struct trace_t trace = {NULL, "parser_prod::AIfExpr::empty_init (src/parser//parser_prod.nit:5046,5--27)"};
9583 trace.prev = tracehead; tracehead = &trace;
9584 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfExpr].i]) return;
9585 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfExpr].i] = 1;
9586 tracehead = trace.prev;
9587 return;
9588 }
9589 void parser_prod___AIfExpr___init_aifexpr(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, int* init_table) {
9590 struct trace_t trace = {NULL, "parser_prod::AIfExpr::init_aifexpr (src/parser//parser_prod.nit:5048,5--5069:22)"};
9591 val_t variable0;
9592 val_t variable1;
9593 val_t variable2;
9594 val_t variable3;
9595 val_t variable4;
9596 trace.prev = tracehead; tracehead = &trace;
9597 variable0 = param0;
9598 variable1 = param1;
9599 variable2 = param2;
9600 variable3 = param3;
9601 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfExpr].i]) return;
9602 ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/ = variable0 /*n_kwif*/;
9603 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*/) /*TKwif::==*/)))))));
9604 if (UNTAG_Bool(variable4)) { /*if*/
9605 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwif*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwif*/, self) /*TKwif::parent=*/;
9606 }
9607 ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/ = variable1 /*n_expr*/;
9608 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*/) /*PExpr::==*/)))))));
9609 if (UNTAG_Bool(variable4)) { /*if*/
9610 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/, self) /*PExpr::parent=*/;
9611 }
9612 ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/ = variable2 /*n_then*/;
9613 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*/) /*PExpr::==*/)))))));
9614 if (UNTAG_Bool(variable4)) { /*if*/
9615 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_then*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_then*/, self) /*PExpr::parent=*/;
9616 }
9617 ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/ = variable3 /*n_else*/;
9618 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*/) /*PExpr::==*/)))))));
9619 if (UNTAG_Bool(variable4)) { /*if*/
9620 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_else*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_else*/, self) /*PExpr::parent=*/;
9621 }
9622 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfExpr].i] = 1;
9623 tracehead = trace.prev;
9624 return;
9625 }
9626 void parser_prod___AIfExpr___replace_child(val_t self, val_t param0, val_t param1) {
9627 struct trace_t trace = {NULL, "parser_prod::AIfExpr::replace_child (src/parser//parser_prod.nit:5073,5--5114:18)"};
9628 val_t variable0;
9629 val_t variable1;
9630 val_t variable2;
9631 trace.prev = tracehead; tracehead = &trace;
9632 variable0 = param0;
9633 variable1 = param1;
9634 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*/) /*PNode::==*/)))))));
9635 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5075,9--32\n"); nit_exit(1);}
9636 variable2 = ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/;
9637 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*/) /*TKwif::==*/)))));
9638 if (UNTAG_Bool(variable2)) { /*if*/
9639 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*/) /*PNode::==*/)))))));
9640 if (UNTAG_Bool(variable2)) { /*if*/
9641 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9642 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
9643 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5079,3--28\n"); nit_exit(1);}
9644 ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/ = variable1 /*new_child*/;
9645 } else { /*if*/
9646 ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/ = NIT_NULL /*null*/;
9647 }
9648 goto return_label448;
9649 }
9650 variable2 = ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/;
9651 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*/) /*PExpr::==*/)))));
9652 if (UNTAG_Bool(variable2)) { /*if*/
9653 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*/) /*PNode::==*/)))))));
9654 if (UNTAG_Bool(variable2)) { /*if*/
9655 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9656 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
9657 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5089,3--28\n"); nit_exit(1);}
9658 ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/ = variable1 /*new_child*/;
9659 } else { /*if*/
9660 ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/ = NIT_NULL /*null*/;
9661 }
9662 goto return_label448;
9663 }
9664 variable2 = ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/;
9665 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*/) /*PExpr::==*/)))));
9666 if (UNTAG_Bool(variable2)) { /*if*/
9667 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*/) /*PNode::==*/)))))));
9668 if (UNTAG_Bool(variable2)) { /*if*/
9669 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9670 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
9671 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5099,3--28\n"); nit_exit(1);}
9672 ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/ = variable1 /*new_child*/;
9673 } else { /*if*/
9674 ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/ = NIT_NULL /*null*/;
9675 }
9676 goto return_label448;
9677 }
9678 variable2 = ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/;
9679 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*/) /*PExpr::==*/)))));
9680 if (UNTAG_Bool(variable2)) { /*if*/
9681 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*/) /*PNode::==*/)))))));
9682 if (UNTAG_Bool(variable2)) { /*if*/
9683 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9684 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
9685 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5109,3--28\n"); nit_exit(1);}
9686 ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/ = variable1 /*new_child*/;
9687 } else { /*if*/
9688 ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/ = NIT_NULL /*null*/;
9689 }
9690 goto return_label448;
9691 }
9692 return_label448: while(false);
9693 tracehead = trace.prev;
9694 return;
9695 }
9696 void parser_prod___AIfExpr___visit_all(val_t self, val_t param0) {
9697 struct trace_t trace = {NULL, "parser_prod::AIfExpr::visit_all (src/parser//parser_prod.nit:5118,5--5130:27)"};
9698 val_t variable0;
9699 val_t variable1;
9700 trace.prev = tracehead; tracehead = &trace;
9701 variable0 = param0;
9702 variable1 = ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/;
9703 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwif::==*/)))))));
9704 if (UNTAG_Bool(variable1)) { /*if*/
9705 variable1 = ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/;
9706 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9707 }
9708 variable1 = ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/;
9709 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
9710 if (UNTAG_Bool(variable1)) { /*if*/
9711 variable1 = ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/;
9712 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9713 }
9714 variable1 = ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/;
9715 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
9716 if (UNTAG_Bool(variable1)) { /*if*/
9717 variable1 = ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/;
9718 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9719 }
9720 variable1 = ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/;
9721 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
9722 if (UNTAG_Bool(variable1)) { /*if*/
9723 variable1 = ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/;
9724 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9725 }
9726 tracehead = trace.prev;
9727 return;
9728 }
9729 void parser_prod___AIfExpr___visit_all_reverse(val_t self, val_t param0) {
9730 struct trace_t trace = {NULL, "parser_prod::AIfExpr::visit_all_reverse (src/parser//parser_prod.nit:5134,5--5146:27)"};
9731 val_t variable0;
9732 val_t variable1;
9733 trace.prev = tracehead; tracehead = &trace;
9734 variable0 = param0;
9735 variable1 = ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/;
9736 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwif::==*/)))))));
9737 if (UNTAG_Bool(variable1)) { /*if*/
9738 variable1 = ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/;
9739 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9740 }
9741 variable1 = ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/;
9742 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
9743 if (UNTAG_Bool(variable1)) { /*if*/
9744 variable1 = ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/;
9745 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9746 }
9747 variable1 = ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/;
9748 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
9749 if (UNTAG_Bool(variable1)) { /*if*/
9750 variable1 = ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/;
9751 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9752 }
9753 variable1 = ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/;
9754 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
9755 if (UNTAG_Bool(variable1)) { /*if*/
9756 variable1 = ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/;
9757 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
9758 }
9759 tracehead = trace.prev;
9760 return;
9761 }
9762 void parser_prod___AIfexprExpr___n_kwif__eq(val_t self, val_t param0) {
9763 struct trace_t trace = {NULL, "parser_prod::AIfexprExpr::n_kwif= (src/parser//parser_prod.nit:5151,5--5155:20)"};
9764 val_t variable0;
9765 val_t variable1;
9766 trace.prev = tracehead; tracehead = &trace;
9767 variable0 = param0;
9768 ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/ = variable0 /*n*/;
9769 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*/) /*TKwif::==*/)))))));
9770 if (UNTAG_Bool(variable1)) { /*if*/
9771 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwif::parent=*/;
9772 }
9773 tracehead = trace.prev;
9774 return;
9775 }
9776 void parser_prod___AIfexprExpr___n_expr__eq(val_t self, val_t param0) {
9777 struct trace_t trace = {NULL, "parser_prod::AIfexprExpr::n_expr= (src/parser//parser_prod.nit:5158,5--5162:20)"};
9778 val_t variable0;
9779 val_t variable1;
9780 trace.prev = tracehead; tracehead = &trace;
9781 variable0 = param0;
9782 ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/ = variable0 /*n*/;
9783 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*/) /*PExpr::==*/)))))));
9784 if (UNTAG_Bool(variable1)) { /*if*/
9785 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
9786 }
9787 tracehead = trace.prev;
9788 return;
9789 }
9790 void parser_prod___AIfexprExpr___n_kwthen__eq(val_t self, val_t param0) {
9791 struct trace_t trace = {NULL, "parser_prod::AIfexprExpr::n_kwthen= (src/parser//parser_prod.nit:5165,5--5169:20)"};
9792 val_t variable0;
9793 val_t variable1;
9794 trace.prev = tracehead; tracehead = &trace;
9795 variable0 = param0;
9796 ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/ = variable0 /*n*/;
9797 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*/) /*TKwthen::==*/)))))));
9798 if (UNTAG_Bool(variable1)) { /*if*/
9799 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwthen::parent=*/;
9800 }
9801 tracehead = trace.prev;
9802 return;
9803 }
9804 void parser_prod___AIfexprExpr___n_then__eq(val_t self, val_t param0) {
9805 struct trace_t trace = {NULL, "parser_prod::AIfexprExpr::n_then= (src/parser//parser_prod.nit:5172,5--5176:20)"};
9806 val_t variable0;
9807 val_t variable1;
9808 trace.prev = tracehead; tracehead = &trace;
9809 variable0 = param0;
9810 ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/ = variable0 /*n*/;
9811 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*/) /*PExpr::==*/)))))));
9812 if (UNTAG_Bool(variable1)) { /*if*/
9813 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
9814 }
9815 tracehead = trace.prev;
9816 return;
9817 }
9818 void parser_prod___AIfexprExpr___n_kwelse__eq(val_t self, val_t param0) {
9819 struct trace_t trace = {NULL, "parser_prod::AIfexprExpr::n_kwelse= (src/parser//parser_prod.nit:5179,5--5183:20)"};
9820 val_t variable0;
9821 val_t variable1;
9822 trace.prev = tracehead; tracehead = &trace;
9823 variable0 = param0;
9824 ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/ = variable0 /*n*/;
9825 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*/) /*TKwelse::==*/)))))));
9826 if (UNTAG_Bool(variable1)) { /*if*/
9827 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwelse::parent=*/;
9828 }
9829 tracehead = trace.prev;
9830 return;
9831 }
9832 void parser_prod___AIfexprExpr___n_else__eq(val_t self, val_t param0) {
9833 struct trace_t trace = {NULL, "parser_prod::AIfexprExpr::n_else= (src/parser//parser_prod.nit:5186,5--5190:20)"};
9834 val_t variable0;
9835 val_t variable1;
9836 trace.prev = tracehead; tracehead = &trace;
9837 variable0 = param0;
9838 ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/ = variable0 /*n*/;
9839 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*/) /*PExpr::==*/)))))));
9840 if (UNTAG_Bool(variable1)) { /*if*/
9841 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
9842 }
9843 tracehead = trace.prev;
9844 return;
9845 }
9846 void parser_prod___AIfexprExpr___empty_init(val_t self, int* init_table) {
9847 struct trace_t trace = {NULL, "parser_prod::AIfexprExpr::empty_init (src/parser//parser_prod.nit:5194,5--27)"};
9848 trace.prev = tracehead; tracehead = &trace;
9849 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfexprExpr].i]) return;
9850 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfexprExpr].i] = 1;
9851 tracehead = trace.prev;
9852 return;
9853 }
9854 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) {
9855 struct trace_t trace = {NULL, "parser_prod::AIfexprExpr::init_aifexprexpr (src/parser//parser_prod.nit:5196,5--5227:22)"};
9856 val_t variable0;
9857 val_t variable1;
9858 val_t variable2;
9859 val_t variable3;
9860 val_t variable4;
9861 val_t variable5;
9862 val_t variable6;
9863 trace.prev = tracehead; tracehead = &trace;
9864 variable0 = param0;
9865 variable1 = param1;
9866 variable2 = param2;
9867 variable3 = param3;
9868 variable4 = param4;
9869 variable5 = param5;
9870 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfexprExpr].i]) return;
9871 ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/ = variable0 /*n_kwif*/;
9872 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*/) /*TKwif::==*/)))))));
9873 if (UNTAG_Bool(variable6)) { /*if*/
9874 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwif*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwif*/, self) /*TKwif::parent=*/;
9875 }
9876 ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/ = variable1 /*n_expr*/;
9877 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*/) /*PExpr::==*/)))))));
9878 if (UNTAG_Bool(variable6)) { /*if*/
9879 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/, self) /*PExpr::parent=*/;
9880 }
9881 ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/ = variable2 /*n_kwthen*/;
9882 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*/) /*TKwthen::==*/)))))));
9883 if (UNTAG_Bool(variable6)) { /*if*/
9884 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_kwthen*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_kwthen*/, self) /*TKwthen::parent=*/;
9885 }
9886 ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/ = variable3 /*n_then*/;
9887 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*/) /*PExpr::==*/)))))));
9888 if (UNTAG_Bool(variable6)) { /*if*/
9889 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_then*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_then*/, self) /*PExpr::parent=*/;
9890 }
9891 ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/ = variable4 /*n_kwelse*/;
9892 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*/) /*TKwelse::==*/)))))));
9893 if (UNTAG_Bool(variable6)) { /*if*/
9894 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_kwelse*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_kwelse*/, self) /*TKwelse::parent=*/;
9895 }
9896 ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/ = variable5 /*n_else*/;
9897 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*/) /*PExpr::==*/)))))));
9898 if (UNTAG_Bool(variable6)) { /*if*/
9899 ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_else*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_else*/, self) /*PExpr::parent=*/;
9900 }
9901 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfexprExpr].i] = 1;
9902 tracehead = trace.prev;
9903 return;
9904 }
9905 void parser_prod___AIfexprExpr___replace_child(val_t self, val_t param0, val_t param1) {
9906 struct trace_t trace = {NULL, "parser_prod::AIfexprExpr::replace_child (src/parser//parser_prod.nit:5231,5--5292:18)"};
9907 val_t variable0;
9908 val_t variable1;
9909 val_t variable2;
9910 trace.prev = tracehead; tracehead = &trace;
9911 variable0 = param0;
9912 variable1 = param1;
9913 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*/) /*PNode::==*/)))))));
9914 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5233,9--32\n"); nit_exit(1);}
9915 variable2 = ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/;
9916 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*/) /*TKwif::==*/)))));
9917 if (UNTAG_Bool(variable2)) { /*if*/
9918 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*/) /*PNode::==*/)))))));
9919 if (UNTAG_Bool(variable2)) { /*if*/
9920 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9921 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
9922 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5237,3--28\n"); nit_exit(1);}
9923 ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/ = variable1 /*new_child*/;
9924 } else { /*if*/
9925 ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/ = NIT_NULL /*null*/;
9926 }
9927 goto return_label459;
9928 }
9929 variable2 = ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/;
9930 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*/) /*PExpr::==*/)))));
9931 if (UNTAG_Bool(variable2)) { /*if*/
9932 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*/) /*PNode::==*/)))))));
9933 if (UNTAG_Bool(variable2)) { /*if*/
9934 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9935 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
9936 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5247,3--28\n"); nit_exit(1);}
9937 ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/ = variable1 /*new_child*/;
9938 } else { /*if*/
9939 ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/ = NIT_NULL /*null*/;
9940 }
9941 goto return_label459;
9942 }
9943 variable2 = ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/;
9944 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*/) /*TKwthen::==*/)))));
9945 if (UNTAG_Bool(variable2)) { /*if*/
9946 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*/) /*PNode::==*/)))))));
9947 if (UNTAG_Bool(variable2)) { /*if*/
9948 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9949 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/;
9950 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5257,3--30\n"); nit_exit(1);}
9951 ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/ = variable1 /*new_child*/;
9952 } else { /*if*/
9953 ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/ = NIT_NULL /*null*/;
9954 }
9955 goto return_label459;
9956 }
9957 variable2 = ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/;
9958 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*/) /*PExpr::==*/)))));
9959 if (UNTAG_Bool(variable2)) { /*if*/
9960 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*/) /*PNode::==*/)))))));
9961 if (UNTAG_Bool(variable2)) { /*if*/
9962 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9963 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
9964 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5267,3--28\n"); nit_exit(1);}
9965 ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/ = variable1 /*new_child*/;
9966 } else { /*if*/
9967 ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/ = NIT_NULL /*null*/;
9968 }
9969 goto return_label459;
9970 }
9971 variable2 = ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/;
9972 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*/) /*TKwelse::==*/)))));
9973 if (UNTAG_Bool(variable2)) { /*if*/
9974 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*/) /*PNode::==*/)))))));
9975 if (UNTAG_Bool(variable2)) { /*if*/
9976 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9977 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/;
9978 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5277,3--30\n"); nit_exit(1);}
9979 ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/ = variable1 /*new_child*/;
9980 } else { /*if*/
9981 ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/ = NIT_NULL /*null*/;
9982 }
9983 goto return_label459;
9984 }
9985 variable2 = ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/;
9986 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*/) /*PExpr::==*/)))));
9987 if (UNTAG_Bool(variable2)) { /*if*/
9988 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*/) /*PNode::==*/)))))));
9989 if (UNTAG_Bool(variable2)) { /*if*/
9990 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
9991 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
9992 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5287,3--28\n"); nit_exit(1);}
9993 ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/ = variable1 /*new_child*/;
9994 } else { /*if*/
9995 ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/ = NIT_NULL /*null*/;
9996 }
9997 goto return_label459;
9998 }
9999 return_label459: while(false);
10000 tracehead = trace.prev;
10001 return;
10002 }
10003 void parser_prod___AIfexprExpr___visit_all(val_t self, val_t param0) {
10004 struct trace_t trace = {NULL, "parser_prod::AIfexprExpr::visit_all (src/parser//parser_prod.nit:5296,5--5314:27)"};
10005 val_t variable0;
10006 val_t variable1;
10007 trace.prev = tracehead; tracehead = &trace;
10008 variable0 = param0;
10009 variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/;
10010 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwif::==*/)))))));
10011 if (UNTAG_Bool(variable1)) { /*if*/
10012 variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/;
10013 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10014 }
10015 variable1 = ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/;
10016 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
10017 if (UNTAG_Bool(variable1)) { /*if*/
10018 variable1 = ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/;
10019 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10020 }
10021 variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/;
10022 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwthen::==*/)))))));
10023 if (UNTAG_Bool(variable1)) { /*if*/
10024 variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/;
10025 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10026 }
10027 variable1 = ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/;
10028 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
10029 if (UNTAG_Bool(variable1)) { /*if*/
10030 variable1 = ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/;
10031 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10032 }
10033 variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/;
10034 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwelse::==*/)))))));
10035 if (UNTAG_Bool(variable1)) { /*if*/
10036 variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/;
10037 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10038 }
10039 variable1 = ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/;
10040 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
10041 if (UNTAG_Bool(variable1)) { /*if*/
10042 variable1 = ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/;
10043 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10044 }
10045 tracehead = trace.prev;
10046 return;
10047 }
10048 void parser_prod___AIfexprExpr___visit_all_reverse(val_t self, val_t param0) {
10049 struct trace_t trace = {NULL, "parser_prod::AIfexprExpr::visit_all_reverse (src/parser//parser_prod.nit:5318,5--5336:27)"};
10050 val_t variable0;
10051 val_t variable1;
10052 trace.prev = tracehead; tracehead = &trace;
10053 variable0 = param0;
10054 variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/;
10055 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwif::==*/)))))));
10056 if (UNTAG_Bool(variable1)) { /*if*/
10057 variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/;
10058 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10059 }
10060 variable1 = ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/;
10061 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
10062 if (UNTAG_Bool(variable1)) { /*if*/
10063 variable1 = ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/;
10064 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10065 }
10066 variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/;
10067 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwthen::==*/)))))));
10068 if (UNTAG_Bool(variable1)) { /*if*/
10069 variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/;
10070 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10071 }
10072 variable1 = ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/;
10073 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
10074 if (UNTAG_Bool(variable1)) { /*if*/
10075 variable1 = ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/;
10076 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10077 }
10078 variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/;
10079 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwelse::==*/)))))));
10080 if (UNTAG_Bool(variable1)) { /*if*/
10081 variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/;
10082 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10083 }
10084 variable1 = ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/;
10085 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
10086 if (UNTAG_Bool(variable1)) { /*if*/
10087 variable1 = ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/;
10088 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10089 }
10090 tracehead = trace.prev;
10091 return;
10092 }
10093 void parser_prod___AWhileExpr___n_kwwhile__eq(val_t self, val_t param0) {
10094 struct trace_t trace = {NULL, "parser_prod::AWhileExpr::n_kwwhile= (src/parser//parser_prod.nit:5341,5--5345:20)"};
10095 val_t variable0;
10096 val_t variable1;
10097 trace.prev = tracehead; tracehead = &trace;
10098 variable0 = param0;
10099 ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/ = variable0 /*n*/;
10100 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*/) /*TKwwhile::==*/)))))));
10101 if (UNTAG_Bool(variable1)) { /*if*/
10102 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwwhile::parent=*/;
10103 }
10104 tracehead = trace.prev;
10105 return;
10106 }
10107 void parser_prod___AWhileExpr___n_expr__eq(val_t self, val_t param0) {
10108 struct trace_t trace = {NULL, "parser_prod::AWhileExpr::n_expr= (src/parser//parser_prod.nit:5348,5--5352:20)"};
10109 val_t variable0;
10110 val_t variable1;
10111 trace.prev = tracehead; tracehead = &trace;
10112 variable0 = param0;
10113 ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/ = variable0 /*n*/;
10114 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*/) /*PExpr::==*/)))))));
10115 if (UNTAG_Bool(variable1)) { /*if*/
10116 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
10117 }
10118 tracehead = trace.prev;
10119 return;
10120 }
10121 void parser_prod___AWhileExpr___n_kwdo__eq(val_t self, val_t param0) {
10122 struct trace_t trace = {NULL, "parser_prod::AWhileExpr::n_kwdo= (src/parser//parser_prod.nit:5355,5--5359:20)"};
10123 val_t variable0;
10124 val_t variable1;
10125 trace.prev = tracehead; tracehead = &trace;
10126 variable0 = param0;
10127 ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/ = variable0 /*n*/;
10128 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*/) /*TKwdo::==*/)))))));
10129 if (UNTAG_Bool(variable1)) { /*if*/
10130 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwdo::parent=*/;
10131 }
10132 tracehead = trace.prev;
10133 return;
10134 }
10135 void parser_prod___AWhileExpr___n_block__eq(val_t self, val_t param0) {
10136 struct trace_t trace = {NULL, "parser_prod::AWhileExpr::n_block= (src/parser//parser_prod.nit:5362,5--5366:20)"};
10137 val_t variable0;
10138 val_t variable1;
10139 trace.prev = tracehead; tracehead = &trace;
10140 variable0 = param0;
10141 ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/ = variable0 /*n*/;
10142 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*/) /*PExpr::==*/)))))));
10143 if (UNTAG_Bool(variable1)) { /*if*/
10144 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
10145 }
10146 tracehead = trace.prev;
10147 return;
10148 }
10149 void parser_prod___AWhileExpr___empty_init(val_t self, int* init_table) {
10150 struct trace_t trace = {NULL, "parser_prod::AWhileExpr::empty_init (src/parser//parser_prod.nit:5370,5--27)"};
10151 trace.prev = tracehead; tracehead = &trace;
10152 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWhileExpr].i]) return;
10153 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWhileExpr].i] = 1;
10154 tracehead = trace.prev;
10155 return;
10156 }
10157 void parser_prod___AWhileExpr___init_awhileexpr(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, int* init_table) {
10158 struct trace_t trace = {NULL, "parser_prod::AWhileExpr::init_awhileexpr (src/parser//parser_prod.nit:5372,5--5393:23)"};
10159 val_t variable0;
10160 val_t variable1;
10161 val_t variable2;
10162 val_t variable3;
10163 val_t variable4;
10164 trace.prev = tracehead; tracehead = &trace;
10165 variable0 = param0;
10166 variable1 = param1;
10167 variable2 = param2;
10168 variable3 = param3;
10169 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWhileExpr].i]) return;
10170 ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/ = variable0 /*n_kwwhile*/;
10171 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*/) /*TKwwhile::==*/)))))));
10172 if (UNTAG_Bool(variable4)) { /*if*/
10173 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwwhile*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwwhile*/, self) /*TKwwhile::parent=*/;
10174 }
10175 ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/ = variable1 /*n_expr*/;
10176 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*/) /*PExpr::==*/)))))));
10177 if (UNTAG_Bool(variable4)) { /*if*/
10178 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/, self) /*PExpr::parent=*/;
10179 }
10180 ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/ = variable2 /*n_kwdo*/;
10181 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*/) /*TKwdo::==*/)))))));
10182 if (UNTAG_Bool(variable4)) { /*if*/
10183 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_kwdo*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_kwdo*/, self) /*TKwdo::parent=*/;
10184 }
10185 ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/ = variable3 /*n_block*/;
10186 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*/) /*PExpr::==*/)))))));
10187 if (UNTAG_Bool(variable4)) { /*if*/
10188 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_block*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_block*/, self) /*PExpr::parent=*/;
10189 }
10190 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWhileExpr].i] = 1;
10191 tracehead = trace.prev;
10192 return;
10193 }
10194 void parser_prod___AWhileExpr___replace_child(val_t self, val_t param0, val_t param1) {
10195 struct trace_t trace = {NULL, "parser_prod::AWhileExpr::replace_child (src/parser//parser_prod.nit:5397,5--5438:18)"};
10196 val_t variable0;
10197 val_t variable1;
10198 val_t variable2;
10199 trace.prev = tracehead; tracehead = &trace;
10200 variable0 = param0;
10201 variable1 = param1;
10202 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*/) /*PNode::==*/)))))));
10203 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5399,9--32\n"); nit_exit(1);}
10204 variable2 = ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/;
10205 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*/) /*TKwwhile::==*/)))));
10206 if (UNTAG_Bool(variable2)) { /*if*/
10207 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*/) /*PNode::==*/)))))));
10208 if (UNTAG_Bool(variable2)) { /*if*/
10209 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10210 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwwhile, ID_TKwwhile)) /*cast TKwwhile*/;
10211 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5403,3--31\n"); nit_exit(1);}
10212 ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/ = variable1 /*new_child*/;
10213 } else { /*if*/
10214 ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/ = NIT_NULL /*null*/;
10215 }
10216 goto return_label468;
10217 }
10218 variable2 = ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/;
10219 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*/) /*PExpr::==*/)))));
10220 if (UNTAG_Bool(variable2)) { /*if*/
10221 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*/) /*PNode::==*/)))))));
10222 if (UNTAG_Bool(variable2)) { /*if*/
10223 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10224 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
10225 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5413,3--28\n"); nit_exit(1);}
10226 ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/ = variable1 /*new_child*/;
10227 } else { /*if*/
10228 ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/ = NIT_NULL /*null*/;
10229 }
10230 goto return_label468;
10231 }
10232 variable2 = ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/;
10233 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*/) /*TKwdo::==*/)))));
10234 if (UNTAG_Bool(variable2)) { /*if*/
10235 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*/) /*PNode::==*/)))))));
10236 if (UNTAG_Bool(variable2)) { /*if*/
10237 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10238 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
10239 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5423,3--28\n"); nit_exit(1);}
10240 ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/ = variable1 /*new_child*/;
10241 } else { /*if*/
10242 ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/ = NIT_NULL /*null*/;
10243 }
10244 goto return_label468;
10245 }
10246 variable2 = ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/;
10247 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*/) /*PExpr::==*/)))));
10248 if (UNTAG_Bool(variable2)) { /*if*/
10249 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*/) /*PNode::==*/)))))));
10250 if (UNTAG_Bool(variable2)) { /*if*/
10251 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10252 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
10253 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5433,3--28\n"); nit_exit(1);}
10254 ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/ = variable1 /*new_child*/;
10255 } else { /*if*/
10256 ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/ = NIT_NULL /*null*/;
10257 }
10258 goto return_label468;
10259 }
10260 return_label468: while(false);
10261 tracehead = trace.prev;
10262 return;
10263 }
10264 void parser_prod___AWhileExpr___visit_all(val_t self, val_t param0) {
10265 struct trace_t trace = {NULL, "parser_prod::AWhileExpr::visit_all (src/parser//parser_prod.nit:5442,5--5454:28)"};
10266 val_t variable0;
10267 val_t variable1;
10268 trace.prev = tracehead; tracehead = &trace;
10269 variable0 = param0;
10270 variable1 = ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/;
10271 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwwhile::==*/)))))));
10272 if (UNTAG_Bool(variable1)) { /*if*/
10273 variable1 = ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/;
10274 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10275 }
10276 variable1 = ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/;
10277 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
10278 if (UNTAG_Bool(variable1)) { /*if*/
10279 variable1 = ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/;
10280 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10281 }
10282 variable1 = ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/;
10283 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwdo::==*/)))))));
10284 if (UNTAG_Bool(variable1)) { /*if*/
10285 variable1 = ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/;
10286 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10287 }
10288 variable1 = ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/;
10289 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
10290 if (UNTAG_Bool(variable1)) { /*if*/
10291 variable1 = ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/;
10292 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10293 }
10294 tracehead = trace.prev;
10295 return;
10296 }
10297 void parser_prod___AWhileExpr___visit_all_reverse(val_t self, val_t param0) {
10298 struct trace_t trace = {NULL, "parser_prod::AWhileExpr::visit_all_reverse (src/parser//parser_prod.nit:5458,5--5470:28)"};
10299 val_t variable0;
10300 val_t variable1;
10301 trace.prev = tracehead; tracehead = &trace;
10302 variable0 = param0;
10303 variable1 = ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/;
10304 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwwhile::==*/)))))));
10305 if (UNTAG_Bool(variable1)) { /*if*/
10306 variable1 = ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/;
10307 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10308 }
10309 variable1 = ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/;
10310 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
10311 if (UNTAG_Bool(variable1)) { /*if*/
10312 variable1 = ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/;
10313 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10314 }
10315 variable1 = ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/;
10316 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwdo::==*/)))))));
10317 if (UNTAG_Bool(variable1)) { /*if*/
10318 variable1 = ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/;
10319 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10320 }
10321 variable1 = ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/;
10322 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
10323 if (UNTAG_Bool(variable1)) { /*if*/
10324 variable1 = ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/;
10325 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10326 }
10327 tracehead = trace.prev;
10328 return;
10329 }
10330 void parser_prod___AForExpr___n_vardecl__eq(val_t self, val_t param0) {
10331 struct trace_t trace = {NULL, "parser_prod::AForExpr::n_vardecl= (src/parser//parser_prod.nit:5475,5--5479:20)"};
10332 val_t variable0;
10333 val_t variable1;
10334 trace.prev = tracehead; tracehead = &trace;
10335 variable0 = param0;
10336 ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/ = variable0 /*n*/;
10337 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*/) /*PExpr::==*/)))))));
10338 if (UNTAG_Bool(variable1)) { /*if*/
10339 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
10340 }
10341 tracehead = trace.prev;
10342 return;
10343 }
10344 void parser_prod___AForExpr___n_kwdo__eq(val_t self, val_t param0) {
10345 struct trace_t trace = {NULL, "parser_prod::AForExpr::n_kwdo= (src/parser//parser_prod.nit:5482,5--5486:20)"};
10346 val_t variable0;
10347 val_t variable1;
10348 trace.prev = tracehead; tracehead = &trace;
10349 variable0 = param0;
10350 ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/ = variable0 /*n*/;
10351 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*/) /*TKwdo::==*/)))))));
10352 if (UNTAG_Bool(variable1)) { /*if*/
10353 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwdo::parent=*/;
10354 }
10355 tracehead = trace.prev;
10356 return;
10357 }
10358 void parser_prod___AForExpr___n_block__eq(val_t self, val_t param0) {
10359 struct trace_t trace = {NULL, "parser_prod::AForExpr::n_block= (src/parser//parser_prod.nit:5489,5--5493:20)"};
10360 val_t variable0;
10361 val_t variable1;
10362 trace.prev = tracehead; tracehead = &trace;
10363 variable0 = param0;
10364 ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/ = variable0 /*n*/;
10365 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*/) /*PExpr::==*/)))))));
10366 if (UNTAG_Bool(variable1)) { /*if*/
10367 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
10368 }
10369 tracehead = trace.prev;
10370 return;
10371 }
10372 void parser_prod___AForExpr___empty_init(val_t self, int* init_table) {
10373 struct trace_t trace = {NULL, "parser_prod::AForExpr::empty_init (src/parser//parser_prod.nit:5497,5--27)"};
10374 trace.prev = tracehead; tracehead = &trace;
10375 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForExpr].i]) return;
10376 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForExpr].i] = 1;
10377 tracehead = trace.prev;
10378 return;
10379 }
10380 void parser_prod___AForExpr___init_aforexpr(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
10381 struct trace_t trace = {NULL, "parser_prod::AForExpr::init_aforexpr (src/parser//parser_prod.nit:5499,5--5515:23)"};
10382 val_t variable0;
10383 val_t variable1;
10384 val_t variable2;
10385 val_t variable3;
10386 trace.prev = tracehead; tracehead = &trace;
10387 variable0 = param0;
10388 variable1 = param1;
10389 variable2 = param2;
10390 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForExpr].i]) return;
10391 ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/ = variable0 /*n_vardecl*/;
10392 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*/) /*PExpr::==*/)))))));
10393 if (UNTAG_Bool(variable3)) { /*if*/
10394 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_vardecl*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_vardecl*/, self) /*PExpr::parent=*/;
10395 }
10396 ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/ = variable1 /*n_kwdo*/;
10397 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*/) /*TKwdo::==*/)))))));
10398 if (UNTAG_Bool(variable3)) { /*if*/
10399 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwdo*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwdo*/, self) /*TKwdo::parent=*/;
10400 }
10401 ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/ = variable2 /*n_block*/;
10402 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*/) /*PExpr::==*/)))))));
10403 if (UNTAG_Bool(variable3)) { /*if*/
10404 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_block*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_block*/, self) /*PExpr::parent=*/;
10405 }
10406 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForExpr].i] = 1;
10407 tracehead = trace.prev;
10408 return;
10409 }
10410 void parser_prod___AForExpr___replace_child(val_t self, val_t param0, val_t param1) {
10411 struct trace_t trace = {NULL, "parser_prod::AForExpr::replace_child (src/parser//parser_prod.nit:5519,5--5550:18)"};
10412 val_t variable0;
10413 val_t variable1;
10414 val_t variable2;
10415 trace.prev = tracehead; tracehead = &trace;
10416 variable0 = param0;
10417 variable1 = param1;
10418 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*/) /*PNode::==*/)))))));
10419 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5521,9--32\n"); nit_exit(1);}
10420 variable2 = ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/;
10421 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*/) /*PExpr::==*/)))));
10422 if (UNTAG_Bool(variable2)) { /*if*/
10423 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*/) /*PNode::==*/)))))));
10424 if (UNTAG_Bool(variable2)) { /*if*/
10425 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10426 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
10427 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5525,3--28\n"); nit_exit(1);}
10428 ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/ = variable1 /*new_child*/;
10429 } else { /*if*/
10430 ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/ = NIT_NULL /*null*/;
10431 }
10432 goto return_label476;
10433 }
10434 variable2 = ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/;
10435 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*/) /*TKwdo::==*/)))));
10436 if (UNTAG_Bool(variable2)) { /*if*/
10437 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*/) /*PNode::==*/)))))));
10438 if (UNTAG_Bool(variable2)) { /*if*/
10439 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10440 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
10441 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5535,3--28\n"); nit_exit(1);}
10442 ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/ = variable1 /*new_child*/;
10443 } else { /*if*/
10444 ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/ = NIT_NULL /*null*/;
10445 }
10446 goto return_label476;
10447 }
10448 variable2 = ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/;
10449 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*/) /*PExpr::==*/)))));
10450 if (UNTAG_Bool(variable2)) { /*if*/
10451 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*/) /*PNode::==*/)))))));
10452 if (UNTAG_Bool(variable2)) { /*if*/
10453 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10454 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
10455 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5545,3--28\n"); nit_exit(1);}
10456 ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/ = variable1 /*new_child*/;
10457 } else { /*if*/
10458 ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/ = NIT_NULL /*null*/;
10459 }
10460 goto return_label476;
10461 }
10462 return_label476: while(false);
10463 tracehead = trace.prev;
10464 return;
10465 }
10466 void parser_prod___AForExpr___visit_all(val_t self, val_t param0) {
10467 struct trace_t trace = {NULL, "parser_prod::AForExpr::visit_all (src/parser//parser_prod.nit:5554,5--5563:28)"};
10468 val_t variable0;
10469 val_t variable1;
10470 trace.prev = tracehead; tracehead = &trace;
10471 variable0 = param0;
10472 variable1 = ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/;
10473 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
10474 if (UNTAG_Bool(variable1)) { /*if*/
10475 variable1 = ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/;
10476 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10477 }
10478 variable1 = ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/;
10479 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwdo::==*/)))))));
10480 if (UNTAG_Bool(variable1)) { /*if*/
10481 variable1 = ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/;
10482 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10483 }
10484 variable1 = ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/;
10485 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
10486 if (UNTAG_Bool(variable1)) { /*if*/
10487 variable1 = ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/;
10488 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10489 }
10490 tracehead = trace.prev;
10491 return;
10492 }
10493 void parser_prod___AForExpr___visit_all_reverse(val_t self, val_t param0) {
10494 struct trace_t trace = {NULL, "parser_prod::AForExpr::visit_all_reverse (src/parser//parser_prod.nit:5567,5--5576:28)"};
10495 val_t variable0;
10496 val_t variable1;
10497 trace.prev = tracehead; tracehead = &trace;
10498 variable0 = param0;
10499 variable1 = ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/;
10500 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
10501 if (UNTAG_Bool(variable1)) { /*if*/
10502 variable1 = ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/;
10503 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10504 }
10505 variable1 = ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/;
10506 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwdo::==*/)))))));
10507 if (UNTAG_Bool(variable1)) { /*if*/
10508 variable1 = ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/;
10509 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10510 }
10511 variable1 = ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/;
10512 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
10513 if (UNTAG_Bool(variable1)) { /*if*/
10514 variable1 = ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/;
10515 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10516 }
10517 tracehead = trace.prev;
10518 return;
10519 }
10520 void parser_prod___AForVardeclExpr___n_kwfor__eq(val_t self, val_t param0) {
10521 struct trace_t trace = {NULL, "parser_prod::AForVardeclExpr::n_kwfor= (src/parser//parser_prod.nit:5581,5--5585:20)"};
10522 val_t variable0;
10523 val_t variable1;
10524 trace.prev = tracehead; tracehead = &trace;
10525 variable0 = param0;
10526 ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/ = variable0 /*n*/;
10527 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*/) /*TKwfor::==*/)))))));
10528 if (UNTAG_Bool(variable1)) { /*if*/
10529 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwfor::parent=*/;
10530 }
10531 tracehead = trace.prev;
10532 return;
10533 }
10534 void parser_prod___AForVardeclExpr___n_id__eq(val_t self, val_t param0) {
10535 struct trace_t trace = {NULL, "parser_prod::AForVardeclExpr::n_id= (src/parser//parser_prod.nit:5588,5--5592:20)"};
10536 val_t variable0;
10537 val_t variable1;
10538 trace.prev = tracehead; tracehead = &trace;
10539 variable0 = param0;
10540 ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/ = variable0 /*n*/;
10541 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*/) /*TId::==*/)))))));
10542 if (UNTAG_Bool(variable1)) { /*if*/
10543 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TId::parent=*/;
10544 }
10545 tracehead = trace.prev;
10546 return;
10547 }
10548 void parser_prod___AForVardeclExpr___n_expr__eq(val_t self, val_t param0) {
10549 struct trace_t trace = {NULL, "parser_prod::AForVardeclExpr::n_expr= (src/parser//parser_prod.nit:5595,5--5599:20)"};
10550 val_t variable0;
10551 val_t variable1;
10552 trace.prev = tracehead; tracehead = &trace;
10553 variable0 = param0;
10554 ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/ = variable0 /*n*/;
10555 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*/) /*PExpr::==*/)))))));
10556 if (UNTAG_Bool(variable1)) { /*if*/
10557 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
10558 }
10559 tracehead = trace.prev;
10560 return;
10561 }
10562 void parser_prod___AForVardeclExpr___empty_init(val_t self, int* init_table) {
10563 struct trace_t trace = {NULL, "parser_prod::AForVardeclExpr::empty_init (src/parser//parser_prod.nit:5603,5--27)"};
10564 trace.prev = tracehead; tracehead = &trace;
10565 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForVardeclExpr].i]) return;
10566 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForVardeclExpr].i] = 1;
10567 tracehead = trace.prev;
10568 return;
10569 }
10570 void parser_prod___AForVardeclExpr___init_aforvardeclexpr(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
10571 struct trace_t trace = {NULL, "parser_prod::AForVardeclExpr::init_aforvardeclexpr (src/parser//parser_prod.nit:5605,5--5621:22)"};
10572 val_t variable0;
10573 val_t variable1;
10574 val_t variable2;
10575 val_t variable3;
10576 trace.prev = tracehead; tracehead = &trace;
10577 variable0 = param0;
10578 variable1 = param1;
10579 variable2 = param2;
10580 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForVardeclExpr].i]) return;
10581 ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/ = variable0 /*n_kwfor*/;
10582 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*/) /*TKwfor::==*/)))))));
10583 if (UNTAG_Bool(variable3)) { /*if*/
10584 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwfor*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwfor*/, self) /*TKwfor::parent=*/;
10585 }
10586 ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/ = variable1 /*n_id*/;
10587 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*/) /*TId::==*/)))))));
10588 if (UNTAG_Bool(variable3)) { /*if*/
10589 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/, self) /*TId::parent=*/;
10590 }
10591 ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/ = variable2 /*n_expr*/;
10592 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*/) /*PExpr::==*/)))))));
10593 if (UNTAG_Bool(variable3)) { /*if*/
10594 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_expr*/, self) /*PExpr::parent=*/;
10595 }
10596 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForVardeclExpr].i] = 1;
10597 tracehead = trace.prev;
10598 return;
10599 }
10600 void parser_prod___AForVardeclExpr___replace_child(val_t self, val_t param0, val_t param1) {
10601 struct trace_t trace = {NULL, "parser_prod::AForVardeclExpr::replace_child (src/parser//parser_prod.nit:5625,5--5656:18)"};
10602 val_t variable0;
10603 val_t variable1;
10604 val_t variable2;
10605 trace.prev = tracehead; tracehead = &trace;
10606 variable0 = param0;
10607 variable1 = param1;
10608 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*/) /*PNode::==*/)))))));
10609 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5627,9--32\n"); nit_exit(1);}
10610 variable2 = ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/;
10611 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*/) /*TKwfor::==*/)))));
10612 if (UNTAG_Bool(variable2)) { /*if*/
10613 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*/) /*PNode::==*/)))))));
10614 if (UNTAG_Bool(variable2)) { /*if*/
10615 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10616 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwfor, ID_TKwfor)) /*cast TKwfor*/;
10617 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5631,3--29\n"); nit_exit(1);}
10618 ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/ = variable1 /*new_child*/;
10619 } else { /*if*/
10620 ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/ = NIT_NULL /*null*/;
10621 }
10622 goto return_label484;
10623 }
10624 variable2 = ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/;
10625 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*/) /*TId::==*/)))));
10626 if (UNTAG_Bool(variable2)) { /*if*/
10627 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*/) /*PNode::==*/)))))));
10628 if (UNTAG_Bool(variable2)) { /*if*/
10629 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10630 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
10631 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5641,3--26\n"); nit_exit(1);}
10632 ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/ = variable1 /*new_child*/;
10633 } else { /*if*/
10634 ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/ = NIT_NULL /*null*/;
10635 }
10636 goto return_label484;
10637 }
10638 variable2 = ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/;
10639 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*/) /*PExpr::==*/)))));
10640 if (UNTAG_Bool(variable2)) { /*if*/
10641 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*/) /*PNode::==*/)))))));
10642 if (UNTAG_Bool(variable2)) { /*if*/
10643 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10644 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
10645 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5651,3--28\n"); nit_exit(1);}
10646 ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/ = variable1 /*new_child*/;
10647 } else { /*if*/
10648 ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/ = NIT_NULL /*null*/;
10649 }
10650 goto return_label484;
10651 }
10652 return_label484: while(false);
10653 tracehead = trace.prev;
10654 return;
10655 }
10656 void parser_prod___AForVardeclExpr___visit_all(val_t self, val_t param0) {
10657 struct trace_t trace = {NULL, "parser_prod::AForVardeclExpr::visit_all (src/parser//parser_prod.nit:5660,5--5669:27)"};
10658 val_t variable0;
10659 val_t variable1;
10660 trace.prev = tracehead; tracehead = &trace;
10661 variable0 = param0;
10662 variable1 = ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/;
10663 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwfor::==*/)))))));
10664 if (UNTAG_Bool(variable1)) { /*if*/
10665 variable1 = ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/;
10666 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10667 }
10668 variable1 = ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/;
10669 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
10670 if (UNTAG_Bool(variable1)) { /*if*/
10671 variable1 = ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/;
10672 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10673 }
10674 variable1 = ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/;
10675 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
10676 if (UNTAG_Bool(variable1)) { /*if*/
10677 variable1 = ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/;
10678 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10679 }
10680 tracehead = trace.prev;
10681 return;
10682 }
10683 void parser_prod___AForVardeclExpr___visit_all_reverse(val_t self, val_t param0) {
10684 struct trace_t trace = {NULL, "parser_prod::AForVardeclExpr::visit_all_reverse (src/parser//parser_prod.nit:5673,5--5682:27)"};
10685 val_t variable0;
10686 val_t variable1;
10687 trace.prev = tracehead; tracehead = &trace;
10688 variable0 = param0;
10689 variable1 = ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/;
10690 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwfor::==*/)))))));
10691 if (UNTAG_Bool(variable1)) { /*if*/
10692 variable1 = ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/;
10693 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10694 }
10695 variable1 = ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/;
10696 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
10697 if (UNTAG_Bool(variable1)) { /*if*/
10698 variable1 = ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/;
10699 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10700 }
10701 variable1 = ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/;
10702 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
10703 if (UNTAG_Bool(variable1)) { /*if*/
10704 variable1 = ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/;
10705 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10706 }
10707 tracehead = trace.prev;
10708 return;
10709 }
10710 void parser_prod___AAssertExpr___n_kwassert__eq(val_t self, val_t param0) {
10711 struct trace_t trace = {NULL, "parser_prod::AAssertExpr::n_kwassert= (src/parser//parser_prod.nit:5687,5--5691:20)"};
10712 val_t variable0;
10713 val_t variable1;
10714 trace.prev = tracehead; tracehead = &trace;
10715 variable0 = param0;
10716 ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/ = variable0 /*n*/;
10717 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*/) /*TKwassert::==*/)))))));
10718 if (UNTAG_Bool(variable1)) { /*if*/
10719 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwassert::parent=*/;
10720 }
10721 tracehead = trace.prev;
10722 return;
10723 }
10724 void parser_prod___AAssertExpr___n_id__eq(val_t self, val_t param0) {
10725 struct trace_t trace = {NULL, "parser_prod::AAssertExpr::n_id= (src/parser//parser_prod.nit:5694,5--5698:20)"};
10726 val_t variable0;
10727 val_t variable1;
10728 trace.prev = tracehead; tracehead = &trace;
10729 variable0 = param0;
10730 ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/ = variable0 /*n*/;
10731 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*/) /*TId::==*/)))))));
10732 if (UNTAG_Bool(variable1)) { /*if*/
10733 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TId::parent=*/;
10734 }
10735 tracehead = trace.prev;
10736 return;
10737 }
10738 void parser_prod___AAssertExpr___n_expr__eq(val_t self, val_t param0) {
10739 struct trace_t trace = {NULL, "parser_prod::AAssertExpr::n_expr= (src/parser//parser_prod.nit:5701,5--5705:20)"};
10740 val_t variable0;
10741 val_t variable1;
10742 trace.prev = tracehead; tracehead = &trace;
10743 variable0 = param0;
10744 ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/ = variable0 /*n*/;
10745 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*/) /*PExpr::==*/)))))));
10746 if (UNTAG_Bool(variable1)) { /*if*/
10747 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
10748 }
10749 tracehead = trace.prev;
10750 return;
10751 }
10752 void parser_prod___AAssertExpr___empty_init(val_t self, int* init_table) {
10753 struct trace_t trace = {NULL, "parser_prod::AAssertExpr::empty_init (src/parser//parser_prod.nit:5709,5--27)"};
10754 trace.prev = tracehead; tracehead = &trace;
10755 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssertExpr].i]) return;
10756 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssertExpr].i] = 1;
10757 tracehead = trace.prev;
10758 return;
10759 }
10760 void parser_prod___AAssertExpr___init_aassertexpr(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
10761 struct trace_t trace = {NULL, "parser_prod::AAssertExpr::init_aassertexpr (src/parser//parser_prod.nit:5711,5--5727:22)"};
10762 val_t variable0;
10763 val_t variable1;
10764 val_t variable2;
10765 val_t variable3;
10766 trace.prev = tracehead; tracehead = &trace;
10767 variable0 = param0;
10768 variable1 = param1;
10769 variable2 = param2;
10770 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssertExpr].i]) return;
10771 ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/ = variable0 /*n_kwassert*/;
10772 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*/) /*TKwassert::==*/)))))));
10773 if (UNTAG_Bool(variable3)) { /*if*/
10774 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwassert*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwassert*/, self) /*TKwassert::parent=*/;
10775 }
10776 ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/ = variable1 /*n_id*/;
10777 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*/) /*TId::==*/)))))));
10778 if (UNTAG_Bool(variable3)) { /*if*/
10779 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/, self) /*TId::parent=*/;
10780 }
10781 ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/ = variable2 /*n_expr*/;
10782 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*/) /*PExpr::==*/)))))));
10783 if (UNTAG_Bool(variable3)) { /*if*/
10784 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_expr*/, self) /*PExpr::parent=*/;
10785 }
10786 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssertExpr].i] = 1;
10787 tracehead = trace.prev;
10788 return;
10789 }
10790 void parser_prod___AAssertExpr___replace_child(val_t self, val_t param0, val_t param1) {
10791 struct trace_t trace = {NULL, "parser_prod::AAssertExpr::replace_child (src/parser//parser_prod.nit:5731,5--5762:18)"};
10792 val_t variable0;
10793 val_t variable1;
10794 val_t variable2;
10795 trace.prev = tracehead; tracehead = &trace;
10796 variable0 = param0;
10797 variable1 = param1;
10798 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*/) /*PNode::==*/)))))));
10799 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5733,9--32\n"); nit_exit(1);}
10800 variable2 = ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/;
10801 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*/) /*TKwassert::==*/)))));
10802 if (UNTAG_Bool(variable2)) { /*if*/
10803 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*/) /*PNode::==*/)))))));
10804 if (UNTAG_Bool(variable2)) { /*if*/
10805 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10806 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwassert, ID_TKwassert)) /*cast TKwassert*/;
10807 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5737,3--32\n"); nit_exit(1);}
10808 ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/ = variable1 /*new_child*/;
10809 } else { /*if*/
10810 ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/ = NIT_NULL /*null*/;
10811 }
10812 goto return_label492;
10813 }
10814 variable2 = ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/;
10815 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*/) /*TId::==*/)))));
10816 if (UNTAG_Bool(variable2)) { /*if*/
10817 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*/) /*PNode::==*/)))))));
10818 if (UNTAG_Bool(variable2)) { /*if*/
10819 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10820 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
10821 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5747,3--26\n"); nit_exit(1);}
10822 ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/ = variable1 /*new_child*/;
10823 } else { /*if*/
10824 ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/ = NIT_NULL /*null*/;
10825 }
10826 goto return_label492;
10827 }
10828 variable2 = ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/;
10829 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*/) /*PExpr::==*/)))));
10830 if (UNTAG_Bool(variable2)) { /*if*/
10831 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*/) /*PNode::==*/)))))));
10832 if (UNTAG_Bool(variable2)) { /*if*/
10833 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10834 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
10835 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5757,3--28\n"); nit_exit(1);}
10836 ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/ = variable1 /*new_child*/;
10837 } else { /*if*/
10838 ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/ = NIT_NULL /*null*/;
10839 }
10840 goto return_label492;
10841 }
10842 return_label492: while(false);
10843 tracehead = trace.prev;
10844 return;
10845 }
10846 void parser_prod___AAssertExpr___visit_all(val_t self, val_t param0) {
10847 struct trace_t trace = {NULL, "parser_prod::AAssertExpr::visit_all (src/parser//parser_prod.nit:5766,5--5775:27)"};
10848 val_t variable0;
10849 val_t variable1;
10850 trace.prev = tracehead; tracehead = &trace;
10851 variable0 = param0;
10852 variable1 = ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/;
10853 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwassert::==*/)))))));
10854 if (UNTAG_Bool(variable1)) { /*if*/
10855 variable1 = ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/;
10856 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10857 }
10858 variable1 = ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/;
10859 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
10860 if (UNTAG_Bool(variable1)) { /*if*/
10861 variable1 = ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/;
10862 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10863 }
10864 variable1 = ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/;
10865 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
10866 if (UNTAG_Bool(variable1)) { /*if*/
10867 variable1 = ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/;
10868 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10869 }
10870 tracehead = trace.prev;
10871 return;
10872 }
10873 void parser_prod___AAssertExpr___visit_all_reverse(val_t self, val_t param0) {
10874 struct trace_t trace = {NULL, "parser_prod::AAssertExpr::visit_all_reverse (src/parser//parser_prod.nit:5779,5--5788:27)"};
10875 val_t variable0;
10876 val_t variable1;
10877 trace.prev = tracehead; tracehead = &trace;
10878 variable0 = param0;
10879 variable1 = ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/;
10880 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwassert::==*/)))))));
10881 if (UNTAG_Bool(variable1)) { /*if*/
10882 variable1 = ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/;
10883 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10884 }
10885 variable1 = ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/;
10886 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
10887 if (UNTAG_Bool(variable1)) { /*if*/
10888 variable1 = ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/;
10889 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10890 }
10891 variable1 = ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/;
10892 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
10893 if (UNTAG_Bool(variable1)) { /*if*/
10894 variable1 = ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/;
10895 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
10896 }
10897 tracehead = trace.prev;
10898 return;
10899 }
10900 void parser_prod___AOnceExpr___n_kwonce__eq(val_t self, val_t param0) {
10901 struct trace_t trace = {NULL, "parser_prod::AOnceExpr::n_kwonce= (src/parser//parser_prod.nit:5793,5--5797:20)"};
10902 val_t variable0;
10903 val_t variable1;
10904 trace.prev = tracehead; tracehead = &trace;
10905 variable0 = param0;
10906 ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/ = variable0 /*n*/;
10907 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*/) /*TKwonce::==*/)))))));
10908 if (UNTAG_Bool(variable1)) { /*if*/
10909 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwonce::parent=*/;
10910 }
10911 tracehead = trace.prev;
10912 return;
10913 }
10914 void parser_prod___AOnceExpr___n_expr__eq(val_t self, val_t param0) {
10915 struct trace_t trace = {NULL, "parser_prod::AOnceExpr::n_expr= (src/parser//parser_prod.nit:5800,5--5804:20)"};
10916 val_t variable0;
10917 val_t variable1;
10918 trace.prev = tracehead; tracehead = &trace;
10919 variable0 = param0;
10920 ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AOnceExpr::_n_expr*/ = variable0 /*n*/;
10921 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*/) /*PExpr::==*/)))))));
10922 if (UNTAG_Bool(variable1)) { /*if*/
10923 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
10924 }
10925 tracehead = trace.prev;
10926 return;
10927 }
10928 void parser_prod___AOnceExpr___empty_init(val_t self, int* init_table) {
10929 struct trace_t trace = {NULL, "parser_prod::AOnceExpr::empty_init (src/parser//parser_prod.nit:5808,5--27)"};
10930 trace.prev = tracehead; tracehead = &trace;
10931 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOnceExpr].i]) return;
10932 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOnceExpr].i] = 1;
10933 tracehead = trace.prev;
10934 return;
10935 }
10936 void parser_prod___AOnceExpr___init_aonceexpr(val_t self, val_t param0, val_t param1, int* init_table) {
10937 struct trace_t trace = {NULL, "parser_prod::AOnceExpr::init_aonceexpr (src/parser//parser_prod.nit:5810,5--5821:22)"};
10938 val_t variable0;
10939 val_t variable1;
10940 val_t variable2;
10941 trace.prev = tracehead; tracehead = &trace;
10942 variable0 = param0;
10943 variable1 = param1;
10944 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOnceExpr].i]) return;
10945 ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/ = variable0 /*n_kwonce*/;
10946 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*/) /*TKwonce::==*/)))))));
10947 if (UNTAG_Bool(variable2)) { /*if*/
10948 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwonce*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwonce*/, self) /*TKwonce::parent=*/;
10949 }
10950 ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AOnceExpr::_n_expr*/ = variable1 /*n_expr*/;
10951 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*/) /*PExpr::==*/)))))));
10952 if (UNTAG_Bool(variable2)) { /*if*/
10953 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/, self) /*PExpr::parent=*/;
10954 }
10955 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOnceExpr].i] = 1;
10956 tracehead = trace.prev;
10957 return;
10958 }
10959 void parser_prod___AOnceExpr___replace_child(val_t self, val_t param0, val_t param1) {
10960 struct trace_t trace = {NULL, "parser_prod::AOnceExpr::replace_child (src/parser//parser_prod.nit:5825,5--5846:18)"};
10961 val_t variable0;
10962 val_t variable1;
10963 val_t variable2;
10964 trace.prev = tracehead; tracehead = &trace;
10965 variable0 = param0;
10966 variable1 = param1;
10967 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*/) /*PNode::==*/)))))));
10968 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5827,9--32\n"); nit_exit(1);}
10969 variable2 = ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/;
10970 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*/) /*TKwonce::==*/)))));
10971 if (UNTAG_Bool(variable2)) { /*if*/
10972 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*/) /*PNode::==*/)))))));
10973 if (UNTAG_Bool(variable2)) { /*if*/
10974 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10975 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/;
10976 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5831,3--30\n"); nit_exit(1);}
10977 ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/ = variable1 /*new_child*/;
10978 } else { /*if*/
10979 ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/ = NIT_NULL /*null*/;
10980 }
10981 goto return_label499;
10982 }
10983 variable2 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AOnceExpr::_n_expr*/;
10984 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*/) /*PExpr::==*/)))));
10985 if (UNTAG_Bool(variable2)) { /*if*/
10986 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*/) /*PNode::==*/)))))));
10987 if (UNTAG_Bool(variable2)) { /*if*/
10988 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
10989 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
10990 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5841,3--28\n"); nit_exit(1);}
10991 ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AOnceExpr::_n_expr*/ = variable1 /*new_child*/;
10992 } else { /*if*/
10993 ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AOnceExpr::_n_expr*/ = NIT_NULL /*null*/;
10994 }
10995 goto return_label499;
10996 }
10997 return_label499: while(false);
10998 tracehead = trace.prev;
10999 return;
11000 }
11001 void parser_prod___AOnceExpr___visit_all(val_t self, val_t param0) {
11002 struct trace_t trace = {NULL, "parser_prod::AOnceExpr::visit_all (src/parser//parser_prod.nit:5850,5--5856:27)"};
11003 val_t variable0;
11004 val_t variable1;
11005 trace.prev = tracehead; tracehead = &trace;
11006 variable0 = param0;
11007 variable1 = ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/;
11008 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwonce::==*/)))))));
11009 if (UNTAG_Bool(variable1)) { /*if*/
11010 variable1 = ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/;
11011 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11012 }
11013 variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AOnceExpr::_n_expr*/;
11014 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11015 if (UNTAG_Bool(variable1)) { /*if*/
11016 variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AOnceExpr::_n_expr*/;
11017 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11018 }
11019 tracehead = trace.prev;
11020 return;
11021 }
11022 void parser_prod___AOnceExpr___visit_all_reverse(val_t self, val_t param0) {
11023 struct trace_t trace = {NULL, "parser_prod::AOnceExpr::visit_all_reverse (src/parser//parser_prod.nit:5860,5--5866:27)"};
11024 val_t variable0;
11025 val_t variable1;
11026 trace.prev = tracehead; tracehead = &trace;
11027 variable0 = param0;
11028 variable1 = ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/;
11029 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwonce::==*/)))))));
11030 if (UNTAG_Bool(variable1)) { /*if*/
11031 variable1 = ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/;
11032 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11033 }
11034 variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AOnceExpr::_n_expr*/;
11035 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11036 if (UNTAG_Bool(variable1)) { /*if*/
11037 variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AOnceExpr::_n_expr*/;
11038 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11039 }
11040 tracehead = trace.prev;
11041 return;
11042 }
11043 void parser_prod___ASendExpr___n_expr__eq(val_t self, val_t param0) {
11044 struct trace_t trace = {NULL, "parser_prod::ASendExpr::n_expr= (src/parser//parser_prod.nit:5871,5--5875:20)"};
11045 val_t variable0;
11046 val_t variable1;
11047 trace.prev = tracehead; tracehead = &trace;
11048 variable0 = param0;
11049 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n*/;
11050 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*/) /*PExpr::==*/)))))));
11051 if (UNTAG_Bool(variable1)) { /*if*/
11052 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
11053 }
11054 tracehead = trace.prev;
11055 return;
11056 }
11057 void parser_prod___ASendExpr___empty_init(val_t self, int* init_table) {
11058 struct trace_t trace = {NULL, "parser_prod::ASendExpr::empty_init (src/parser//parser_prod.nit:5879,5--27)"};
11059 trace.prev = tracehead; tracehead = &trace;
11060 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASendExpr].i]) return;
11061 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASendExpr].i] = 1;
11062 tracehead = trace.prev;
11063 return;
11064 }
11065 void parser_prod___ASendExpr___init_asendexpr(val_t self, val_t param0, int* init_table) {
11066 struct trace_t trace = {NULL, "parser_prod::ASendExpr::init_asendexpr (src/parser//parser_prod.nit:5881,5--5887:22)"};
11067 val_t variable0;
11068 val_t variable1;
11069 trace.prev = tracehead; tracehead = &trace;
11070 variable0 = param0;
11071 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASendExpr].i]) return;
11072 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable0 /*n_expr*/;
11073 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*/) /*PExpr::==*/)))))));
11074 if (UNTAG_Bool(variable1)) { /*if*/
11075 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
11076 }
11077 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASendExpr].i] = 1;
11078 tracehead = trace.prev;
11079 return;
11080 }
11081 void parser_prod___ASendExpr___replace_child(val_t self, val_t param0, val_t param1) {
11082 struct trace_t trace = {NULL, "parser_prod::ASendExpr::replace_child (src/parser//parser_prod.nit:5891,5--5902:18)"};
11083 val_t variable0;
11084 val_t variable1;
11085 val_t variable2;
11086 trace.prev = tracehead; tracehead = &trace;
11087 variable0 = param0;
11088 variable1 = param1;
11089 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*/) /*PNode::==*/)))))));
11090 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5893,9--32\n"); nit_exit(1);}
11091 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
11092 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*/) /*PExpr::==*/)))));
11093 if (UNTAG_Bool(variable2)) { /*if*/
11094 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*/) /*PNode::==*/)))))));
11095 if (UNTAG_Bool(variable2)) { /*if*/
11096 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11097 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11098 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5897,3--28\n"); nit_exit(1);}
11099 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = variable1 /*new_child*/;
11100 } else { /*if*/
11101 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ = NIT_NULL /*null*/;
11102 }
11103 goto return_label505;
11104 }
11105 return_label505: while(false);
11106 tracehead = trace.prev;
11107 return;
11108 }
11109 void parser_prod___ASendExpr___visit_all(val_t self, val_t param0) {
11110 struct trace_t trace = {NULL, "parser_prod::ASendExpr::visit_all (src/parser//parser_prod.nit:5906,5--5909:27)"};
11111 val_t variable0;
11112 val_t variable1;
11113 trace.prev = tracehead; tracehead = &trace;
11114 variable0 = param0;
11115 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
11116 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11117 if (UNTAG_Bool(variable1)) { /*if*/
11118 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
11119 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11120 }
11121 tracehead = trace.prev;
11122 return;
11123 }
11124 void parser_prod___ASendExpr___visit_all_reverse(val_t self, val_t param0) {
11125 struct trace_t trace = {NULL, "parser_prod::ASendExpr::visit_all_reverse (src/parser//parser_prod.nit:5913,5--5916:27)"};
11126 val_t variable0;
11127 val_t variable1;
11128 trace.prev = tracehead; tracehead = &trace;
11129 variable0 = param0;
11130 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
11131 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11132 if (UNTAG_Bool(variable1)) { /*if*/
11133 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
11134 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11135 }
11136 tracehead = trace.prev;
11137 return;
11138 }
11139 void parser_prod___ABinopExpr___n_expr__eq(val_t self, val_t param0) {
11140 struct trace_t trace = {NULL, "parser_prod::ABinopExpr::n_expr= (src/parser//parser_prod.nit:5921,5--5925:20)"};
11141 val_t variable0;
11142 val_t variable1;
11143 trace.prev = tracehead; tracehead = &trace;
11144 variable0 = param0;
11145 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABinopExpr::_n_expr*/ = variable0 /*n*/;
11146 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*/) /*PExpr::==*/)))))));
11147 if (UNTAG_Bool(variable1)) { /*if*/
11148 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
11149 }
11150 tracehead = trace.prev;
11151 return;
11152 }
11153 void parser_prod___ABinopExpr___n_expr2__eq(val_t self, val_t param0) {
11154 struct trace_t trace = {NULL, "parser_prod::ABinopExpr::n_expr2= (src/parser//parser_prod.nit:5928,5--5932:20)"};
11155 val_t variable0;
11156 val_t variable1;
11157 trace.prev = tracehead; tracehead = &trace;
11158 variable0 = param0;
11159 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable0 /*n*/;
11160 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*/) /*PExpr::==*/)))))));
11161 if (UNTAG_Bool(variable1)) { /*if*/
11162 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
11163 }
11164 tracehead = trace.prev;
11165 return;
11166 }
11167 void parser_prod___ABinopExpr___empty_init(val_t self, int* init_table) {
11168 struct trace_t trace = {NULL, "parser_prod::ABinopExpr::empty_init (src/parser//parser_prod.nit:5936,5--27)"};
11169 trace.prev = tracehead; tracehead = &trace;
11170 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABinopExpr].i]) return;
11171 ((parser_prod___ASendExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASendExpr___empty_init))( self, init_table /*YYY*/) /*ASendExpr::empty_init*/;
11172 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABinopExpr].i] = 1;
11173 tracehead = trace.prev;
11174 return;
11175 }
11176 void parser_prod___ABinopExpr___init_abinopexpr(val_t self, val_t param0, val_t param1, int* init_table) {
11177 struct trace_t trace = {NULL, "parser_prod::ABinopExpr::init_abinopexpr (src/parser//parser_prod.nit:5938,5--5949:23)"};
11178 val_t variable0;
11179 val_t variable1;
11180 val_t variable2;
11181 trace.prev = tracehead; tracehead = &trace;
11182 variable0 = param0;
11183 variable1 = param1;
11184 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABinopExpr].i]) return;
11185 ((parser_prod___ASendExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASendExpr___empty_init))( self, init_table /*YYY*/) /*ASendExpr::empty_init*/;
11186 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABinopExpr::_n_expr*/ = variable0 /*n_expr*/;
11187 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*/) /*PExpr::==*/)))))));
11188 if (UNTAG_Bool(variable2)) { /*if*/
11189 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
11190 }
11191 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*n_expr2*/;
11192 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*/) /*PExpr::==*/)))))));
11193 if (UNTAG_Bool(variable2)) { /*if*/
11194 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PExpr::parent=*/;
11195 }
11196 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABinopExpr].i] = 1;
11197 tracehead = trace.prev;
11198 return;
11199 }
11200 void parser_prod___ABinopExpr___replace_child(val_t self, val_t param0, val_t param1) {
11201 struct trace_t trace = {NULL, "parser_prod::ABinopExpr::replace_child (src/parser//parser_prod.nit:5953,5--5974:18)"};
11202 val_t variable0;
11203 val_t variable1;
11204 val_t variable2;
11205 trace.prev = tracehead; tracehead = &trace;
11206 variable0 = param0;
11207 variable1 = param1;
11208 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*/) /*PNode::==*/)))))));
11209 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5955,9--32\n"); nit_exit(1);}
11210 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABinopExpr::_n_expr*/;
11211 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*/) /*PExpr::==*/)))));
11212 if (UNTAG_Bool(variable2)) { /*if*/
11213 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*/) /*PNode::==*/)))))));
11214 if (UNTAG_Bool(variable2)) { /*if*/
11215 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11216 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11217 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5959,3--28\n"); nit_exit(1);}
11218 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABinopExpr::_n_expr*/ = variable1 /*new_child*/;
11219 } else { /*if*/
11220 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABinopExpr::_n_expr*/ = NIT_NULL /*null*/;
11221 }
11222 goto return_label512;
11223 }
11224 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
11225 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*/) /*PExpr::==*/)))));
11226 if (UNTAG_Bool(variable2)) { /*if*/
11227 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*/) /*PNode::==*/)))))));
11228 if (UNTAG_Bool(variable2)) { /*if*/
11229 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11230 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11231 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:5969,3--28\n"); nit_exit(1);}
11232 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = variable1 /*new_child*/;
11233 } else { /*if*/
11234 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ = NIT_NULL /*null*/;
11235 }
11236 goto return_label512;
11237 }
11238 return_label512: while(false);
11239 tracehead = trace.prev;
11240 return;
11241 }
11242 void parser_prod___ABinopExpr___visit_all(val_t self, val_t param0) {
11243 struct trace_t trace = {NULL, "parser_prod::ABinopExpr::visit_all (src/parser//parser_prod.nit:5978,5--5984:28)"};
11244 val_t variable0;
11245 val_t variable1;
11246 trace.prev = tracehead; tracehead = &trace;
11247 variable0 = param0;
11248 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABinopExpr::_n_expr*/;
11249 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11250 if (UNTAG_Bool(variable1)) { /*if*/
11251 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABinopExpr::_n_expr*/;
11252 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11253 }
11254 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
11255 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11256 if (UNTAG_Bool(variable1)) { /*if*/
11257 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
11258 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11259 }
11260 tracehead = trace.prev;
11261 return;
11262 }
11263 void parser_prod___ABinopExpr___visit_all_reverse(val_t self, val_t param0) {
11264 struct trace_t trace = {NULL, "parser_prod::ABinopExpr::visit_all_reverse (src/parser//parser_prod.nit:5988,5--5994:28)"};
11265 val_t variable0;
11266 val_t variable1;
11267 trace.prev = tracehead; tracehead = &trace;
11268 variable0 = param0;
11269 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABinopExpr::_n_expr*/;
11270 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11271 if (UNTAG_Bool(variable1)) { /*if*/
11272 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABinopExpr::_n_expr*/;
11273 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11274 }
11275 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
11276 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11277 if (UNTAG_Bool(variable1)) { /*if*/
11278 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
11279 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11280 }
11281 tracehead = trace.prev;
11282 return;
11283 }
11284 void parser_prod___AOrExpr___n_expr__eq(val_t self, val_t param0) {
11285 struct trace_t trace = {NULL, "parser_prod::AOrExpr::n_expr= (src/parser//parser_prod.nit:5999,5--6003:20)"};
11286 val_t variable0;
11287 val_t variable1;
11288 trace.prev = tracehead; tracehead = &trace;
11289 variable0 = param0;
11290 ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/ = variable0 /*n*/;
11291 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*/) /*PExpr::==*/)))))));
11292 if (UNTAG_Bool(variable1)) { /*if*/
11293 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
11294 }
11295 tracehead = trace.prev;
11296 return;
11297 }
11298 void parser_prod___AOrExpr___n_expr2__eq(val_t self, val_t param0) {
11299 struct trace_t trace = {NULL, "parser_prod::AOrExpr::n_expr2= (src/parser//parser_prod.nit:6006,5--6010:20)"};
11300 val_t variable0;
11301 val_t variable1;
11302 trace.prev = tracehead; tracehead = &trace;
11303 variable0 = param0;
11304 ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/ = variable0 /*n*/;
11305 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*/) /*PExpr::==*/)))))));
11306 if (UNTAG_Bool(variable1)) { /*if*/
11307 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
11308 }
11309 tracehead = trace.prev;
11310 return;
11311 }
11312 void parser_prod___AOrExpr___empty_init(val_t self, int* init_table) {
11313 struct trace_t trace = {NULL, "parser_prod::AOrExpr::empty_init (src/parser//parser_prod.nit:6014,5--27)"};
11314 trace.prev = tracehead; tracehead = &trace;
11315 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrExpr].i]) return;
11316 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrExpr].i] = 1;
11317 tracehead = trace.prev;
11318 return;
11319 }
11320 void parser_prod___AOrExpr___init_aorexpr(val_t self, val_t param0, val_t param1, int* init_table) {
11321 struct trace_t trace = {NULL, "parser_prod::AOrExpr::init_aorexpr (src/parser//parser_prod.nit:6016,5--6027:23)"};
11322 val_t variable0;
11323 val_t variable1;
11324 val_t variable2;
11325 trace.prev = tracehead; tracehead = &trace;
11326 variable0 = param0;
11327 variable1 = param1;
11328 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrExpr].i]) return;
11329 ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/ = variable0 /*n_expr*/;
11330 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*/) /*PExpr::==*/)))))));
11331 if (UNTAG_Bool(variable2)) { /*if*/
11332 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
11333 }
11334 ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/ = variable1 /*n_expr2*/;
11335 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*/) /*PExpr::==*/)))))));
11336 if (UNTAG_Bool(variable2)) { /*if*/
11337 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PExpr::parent=*/;
11338 }
11339 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrExpr].i] = 1;
11340 tracehead = trace.prev;
11341 return;
11342 }
11343 void parser_prod___AOrExpr___replace_child(val_t self, val_t param0, val_t param1) {
11344 struct trace_t trace = {NULL, "parser_prod::AOrExpr::replace_child (src/parser//parser_prod.nit:6031,5--6052:18)"};
11345 val_t variable0;
11346 val_t variable1;
11347 val_t variable2;
11348 trace.prev = tracehead; tracehead = &trace;
11349 variable0 = param0;
11350 variable1 = param1;
11351 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*/) /*PNode::==*/)))))));
11352 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6033,9--32\n"); nit_exit(1);}
11353 variable2 = ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/;
11354 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*/) /*PExpr::==*/)))));
11355 if (UNTAG_Bool(variable2)) { /*if*/
11356 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*/) /*PNode::==*/)))))));
11357 if (UNTAG_Bool(variable2)) { /*if*/
11358 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11359 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11360 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6037,3--28\n"); nit_exit(1);}
11361 ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/ = variable1 /*new_child*/;
11362 } else { /*if*/
11363 ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/ = NIT_NULL /*null*/;
11364 }
11365 goto return_label519;
11366 }
11367 variable2 = ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/;
11368 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*/) /*PExpr::==*/)))));
11369 if (UNTAG_Bool(variable2)) { /*if*/
11370 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*/) /*PNode::==*/)))))));
11371 if (UNTAG_Bool(variable2)) { /*if*/
11372 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11373 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11374 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6047,3--28\n"); nit_exit(1);}
11375 ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/ = variable1 /*new_child*/;
11376 } else { /*if*/
11377 ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/ = NIT_NULL /*null*/;
11378 }
11379 goto return_label519;
11380 }
11381 return_label519: while(false);
11382 tracehead = trace.prev;
11383 return;
11384 }
11385 void parser_prod___AOrExpr___visit_all(val_t self, val_t param0) {
11386 struct trace_t trace = {NULL, "parser_prod::AOrExpr::visit_all (src/parser//parser_prod.nit:6056,5--6062:28)"};
11387 val_t variable0;
11388 val_t variable1;
11389 trace.prev = tracehead; tracehead = &trace;
11390 variable0 = param0;
11391 variable1 = ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/;
11392 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11393 if (UNTAG_Bool(variable1)) { /*if*/
11394 variable1 = ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/;
11395 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11396 }
11397 variable1 = ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/;
11398 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11399 if (UNTAG_Bool(variable1)) { /*if*/
11400 variable1 = ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/;
11401 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11402 }
11403 tracehead = trace.prev;
11404 return;
11405 }
11406 void parser_prod___AOrExpr___visit_all_reverse(val_t self, val_t param0) {
11407 struct trace_t trace = {NULL, "parser_prod::AOrExpr::visit_all_reverse (src/parser//parser_prod.nit:6066,5--6072:28)"};
11408 val_t variable0;
11409 val_t variable1;
11410 trace.prev = tracehead; tracehead = &trace;
11411 variable0 = param0;
11412 variable1 = ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/;
11413 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11414 if (UNTAG_Bool(variable1)) { /*if*/
11415 variable1 = ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/;
11416 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11417 }
11418 variable1 = ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/;
11419 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11420 if (UNTAG_Bool(variable1)) { /*if*/
11421 variable1 = ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/;
11422 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11423 }
11424 tracehead = trace.prev;
11425 return;
11426 }
11427 void parser_prod___AAndExpr___n_expr__eq(val_t self, val_t param0) {
11428 struct trace_t trace = {NULL, "parser_prod::AAndExpr::n_expr= (src/parser//parser_prod.nit:6077,5--6081:20)"};
11429 val_t variable0;
11430 val_t variable1;
11431 trace.prev = tracehead; tracehead = &trace;
11432 variable0 = param0;
11433 ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/ = variable0 /*n*/;
11434 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*/) /*PExpr::==*/)))))));
11435 if (UNTAG_Bool(variable1)) { /*if*/
11436 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
11437 }
11438 tracehead = trace.prev;
11439 return;
11440 }
11441 void parser_prod___AAndExpr___n_expr2__eq(val_t self, val_t param0) {
11442 struct trace_t trace = {NULL, "parser_prod::AAndExpr::n_expr2= (src/parser//parser_prod.nit:6084,5--6088:20)"};
11443 val_t variable0;
11444 val_t variable1;
11445 trace.prev = tracehead; tracehead = &trace;
11446 variable0 = param0;
11447 ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/ = variable0 /*n*/;
11448 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*/) /*PExpr::==*/)))))));
11449 if (UNTAG_Bool(variable1)) { /*if*/
11450 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
11451 }
11452 tracehead = trace.prev;
11453 return;
11454 }
11455 void parser_prod___AAndExpr___empty_init(val_t self, int* init_table) {
11456 struct trace_t trace = {NULL, "parser_prod::AAndExpr::empty_init (src/parser//parser_prod.nit:6092,5--27)"};
11457 trace.prev = tracehead; tracehead = &trace;
11458 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAndExpr].i]) return;
11459 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAndExpr].i] = 1;
11460 tracehead = trace.prev;
11461 return;
11462 }
11463 void parser_prod___AAndExpr___init_aandexpr(val_t self, val_t param0, val_t param1, int* init_table) {
11464 struct trace_t trace = {NULL, "parser_prod::AAndExpr::init_aandexpr (src/parser//parser_prod.nit:6094,5--6105:23)"};
11465 val_t variable0;
11466 val_t variable1;
11467 val_t variable2;
11468 trace.prev = tracehead; tracehead = &trace;
11469 variable0 = param0;
11470 variable1 = param1;
11471 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAndExpr].i]) return;
11472 ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/ = variable0 /*n_expr*/;
11473 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*/) /*PExpr::==*/)))))));
11474 if (UNTAG_Bool(variable2)) { /*if*/
11475 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
11476 }
11477 ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/ = variable1 /*n_expr2*/;
11478 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*/) /*PExpr::==*/)))))));
11479 if (UNTAG_Bool(variable2)) { /*if*/
11480 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PExpr::parent=*/;
11481 }
11482 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAndExpr].i] = 1;
11483 tracehead = trace.prev;
11484 return;
11485 }
11486 void parser_prod___AAndExpr___replace_child(val_t self, val_t param0, val_t param1) {
11487 struct trace_t trace = {NULL, "parser_prod::AAndExpr::replace_child (src/parser//parser_prod.nit:6109,5--6130:18)"};
11488 val_t variable0;
11489 val_t variable1;
11490 val_t variable2;
11491 trace.prev = tracehead; tracehead = &trace;
11492 variable0 = param0;
11493 variable1 = param1;
11494 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*/) /*PNode::==*/)))))));
11495 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6111,9--32\n"); nit_exit(1);}
11496 variable2 = ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/;
11497 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*/) /*PExpr::==*/)))));
11498 if (UNTAG_Bool(variable2)) { /*if*/
11499 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*/) /*PNode::==*/)))))));
11500 if (UNTAG_Bool(variable2)) { /*if*/
11501 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11502 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11503 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6115,3--28\n"); nit_exit(1);}
11504 ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/ = variable1 /*new_child*/;
11505 } else { /*if*/
11506 ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/ = NIT_NULL /*null*/;
11507 }
11508 goto return_label526;
11509 }
11510 variable2 = ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/;
11511 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*/) /*PExpr::==*/)))));
11512 if (UNTAG_Bool(variable2)) { /*if*/
11513 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*/) /*PNode::==*/)))))));
11514 if (UNTAG_Bool(variable2)) { /*if*/
11515 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11516 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11517 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6125,3--28\n"); nit_exit(1);}
11518 ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/ = variable1 /*new_child*/;
11519 } else { /*if*/
11520 ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/ = NIT_NULL /*null*/;
11521 }
11522 goto return_label526;
11523 }
11524 return_label526: while(false);
11525 tracehead = trace.prev;
11526 return;
11527 }
11528 void parser_prod___AAndExpr___visit_all(val_t self, val_t param0) {
11529 struct trace_t trace = {NULL, "parser_prod::AAndExpr::visit_all (src/parser//parser_prod.nit:6134,5--6140:28)"};
11530 val_t variable0;
11531 val_t variable1;
11532 trace.prev = tracehead; tracehead = &trace;
11533 variable0 = param0;
11534 variable1 = ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/;
11535 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11536 if (UNTAG_Bool(variable1)) { /*if*/
11537 variable1 = ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/;
11538 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11539 }
11540 variable1 = ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/;
11541 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11542 if (UNTAG_Bool(variable1)) { /*if*/
11543 variable1 = ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/;
11544 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11545 }
11546 tracehead = trace.prev;
11547 return;
11548 }
11549 void parser_prod___AAndExpr___visit_all_reverse(val_t self, val_t param0) {
11550 struct trace_t trace = {NULL, "parser_prod::AAndExpr::visit_all_reverse (src/parser//parser_prod.nit:6144,5--6150:28)"};
11551 val_t variable0;
11552 val_t variable1;
11553 trace.prev = tracehead; tracehead = &trace;
11554 variable0 = param0;
11555 variable1 = ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/;
11556 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11557 if (UNTAG_Bool(variable1)) { /*if*/
11558 variable1 = ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/;
11559 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11560 }
11561 variable1 = ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/;
11562 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11563 if (UNTAG_Bool(variable1)) { /*if*/
11564 variable1 = ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/;
11565 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11566 }
11567 tracehead = trace.prev;
11568 return;
11569 }
11570 void parser_prod___ANotExpr___n_kwnot__eq(val_t self, val_t param0) {
11571 struct trace_t trace = {NULL, "parser_prod::ANotExpr::n_kwnot= (src/parser//parser_prod.nit:6155,5--6159:20)"};
11572 val_t variable0;
11573 val_t variable1;
11574 trace.prev = tracehead; tracehead = &trace;
11575 variable0 = param0;
11576 ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/ = variable0 /*n*/;
11577 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*/) /*TKwnot::==*/)))))));
11578 if (UNTAG_Bool(variable1)) { /*if*/
11579 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwnot::parent=*/;
11580 }
11581 tracehead = trace.prev;
11582 return;
11583 }
11584 void parser_prod___ANotExpr___n_expr__eq(val_t self, val_t param0) {
11585 struct trace_t trace = {NULL, "parser_prod::ANotExpr::n_expr= (src/parser//parser_prod.nit:6162,5--6166:20)"};
11586 val_t variable0;
11587 val_t variable1;
11588 trace.prev = tracehead; tracehead = &trace;
11589 variable0 = param0;
11590 ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/ = variable0 /*n*/;
11591 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*/) /*PExpr::==*/)))))));
11592 if (UNTAG_Bool(variable1)) { /*if*/
11593 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
11594 }
11595 tracehead = trace.prev;
11596 return;
11597 }
11598 void parser_prod___ANotExpr___empty_init(val_t self, int* init_table) {
11599 struct trace_t trace = {NULL, "parser_prod::ANotExpr::empty_init (src/parser//parser_prod.nit:6170,5--27)"};
11600 trace.prev = tracehead; tracehead = &trace;
11601 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANotExpr].i]) return;
11602 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANotExpr].i] = 1;
11603 tracehead = trace.prev;
11604 return;
11605 }
11606 void parser_prod___ANotExpr___init_anotexpr(val_t self, val_t param0, val_t param1, int* init_table) {
11607 struct trace_t trace = {NULL, "parser_prod::ANotExpr::init_anotexpr (src/parser//parser_prod.nit:6172,5--6183:22)"};
11608 val_t variable0;
11609 val_t variable1;
11610 val_t variable2;
11611 trace.prev = tracehead; tracehead = &trace;
11612 variable0 = param0;
11613 variable1 = param1;
11614 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANotExpr].i]) return;
11615 ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/ = variable0 /*n_kwnot*/;
11616 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*/) /*TKwnot::==*/)))))));
11617 if (UNTAG_Bool(variable2)) { /*if*/
11618 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwnot*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwnot*/, self) /*TKwnot::parent=*/;
11619 }
11620 ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/ = variable1 /*n_expr*/;
11621 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*/) /*PExpr::==*/)))))));
11622 if (UNTAG_Bool(variable2)) { /*if*/
11623 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/, self) /*PExpr::parent=*/;
11624 }
11625 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANotExpr].i] = 1;
11626 tracehead = trace.prev;
11627 return;
11628 }
11629 void parser_prod___ANotExpr___replace_child(val_t self, val_t param0, val_t param1) {
11630 struct trace_t trace = {NULL, "parser_prod::ANotExpr::replace_child (src/parser//parser_prod.nit:6187,5--6208:18)"};
11631 val_t variable0;
11632 val_t variable1;
11633 val_t variable2;
11634 trace.prev = tracehead; tracehead = &trace;
11635 variable0 = param0;
11636 variable1 = param1;
11637 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*/) /*PNode::==*/)))))));
11638 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6189,9--32\n"); nit_exit(1);}
11639 variable2 = ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/;
11640 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*/) /*TKwnot::==*/)))));
11641 if (UNTAG_Bool(variable2)) { /*if*/
11642 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*/) /*PNode::==*/)))))));
11643 if (UNTAG_Bool(variable2)) { /*if*/
11644 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11645 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
11646 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6193,3--29\n"); nit_exit(1);}
11647 ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/ = variable1 /*new_child*/;
11648 } else { /*if*/
11649 ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/ = NIT_NULL /*null*/;
11650 }
11651 goto return_label533;
11652 }
11653 variable2 = ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/;
11654 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*/) /*PExpr::==*/)))));
11655 if (UNTAG_Bool(variable2)) { /*if*/
11656 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*/) /*PNode::==*/)))))));
11657 if (UNTAG_Bool(variable2)) { /*if*/
11658 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11659 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11660 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6203,3--28\n"); nit_exit(1);}
11661 ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/ = variable1 /*new_child*/;
11662 } else { /*if*/
11663 ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/ = NIT_NULL /*null*/;
11664 }
11665 goto return_label533;
11666 }
11667 return_label533: while(false);
11668 tracehead = trace.prev;
11669 return;
11670 }
11671 void parser_prod___ANotExpr___visit_all(val_t self, val_t param0) {
11672 struct trace_t trace = {NULL, "parser_prod::ANotExpr::visit_all (src/parser//parser_prod.nit:6212,5--6218:27)"};
11673 val_t variable0;
11674 val_t variable1;
11675 trace.prev = tracehead; tracehead = &trace;
11676 variable0 = param0;
11677 variable1 = ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/;
11678 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwnot::==*/)))))));
11679 if (UNTAG_Bool(variable1)) { /*if*/
11680 variable1 = ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/;
11681 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11682 }
11683 variable1 = ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/;
11684 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11685 if (UNTAG_Bool(variable1)) { /*if*/
11686 variable1 = ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/;
11687 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11688 }
11689 tracehead = trace.prev;
11690 return;
11691 }
11692 void parser_prod___ANotExpr___visit_all_reverse(val_t self, val_t param0) {
11693 struct trace_t trace = {NULL, "parser_prod::ANotExpr::visit_all_reverse (src/parser//parser_prod.nit:6222,5--6228:27)"};
11694 val_t variable0;
11695 val_t variable1;
11696 trace.prev = tracehead; tracehead = &trace;
11697 variable0 = param0;
11698 variable1 = ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/;
11699 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwnot::==*/)))))));
11700 if (UNTAG_Bool(variable1)) { /*if*/
11701 variable1 = ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/;
11702 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11703 }
11704 variable1 = ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/;
11705 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11706 if (UNTAG_Bool(variable1)) { /*if*/
11707 variable1 = ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/;
11708 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11709 }
11710 tracehead = trace.prev;
11711 return;
11712 }
11713 void parser_prod___AEqExpr___n_expr__eq(val_t self, val_t param0) {
11714 struct trace_t trace = {NULL, "parser_prod::AEqExpr::n_expr= (src/parser//parser_prod.nit:6233,5--6237:20)"};
11715 val_t variable0;
11716 val_t variable1;
11717 trace.prev = tracehead; tracehead = &trace;
11718 variable0 = param0;
11719 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AEqExpr::_n_expr*/ = variable0 /*n*/;
11720 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*/) /*PExpr::==*/)))))));
11721 if (UNTAG_Bool(variable1)) { /*if*/
11722 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
11723 }
11724 tracehead = trace.prev;
11725 return;
11726 }
11727 void parser_prod___AEqExpr___n_expr2__eq(val_t self, val_t param0) {
11728 struct trace_t trace = {NULL, "parser_prod::AEqExpr::n_expr2= (src/parser//parser_prod.nit:6240,5--6244:20)"};
11729 val_t variable0;
11730 val_t variable1;
11731 trace.prev = tracehead; tracehead = &trace;
11732 variable0 = param0;
11733 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AEqExpr::_n_expr2*/ = variable0 /*n*/;
11734 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*/) /*PExpr::==*/)))))));
11735 if (UNTAG_Bool(variable1)) { /*if*/
11736 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
11737 }
11738 tracehead = trace.prev;
11739 return;
11740 }
11741 void parser_prod___AEqExpr___empty_init(val_t self, int* init_table) {
11742 struct trace_t trace = {NULL, "parser_prod::AEqExpr::empty_init (src/parser//parser_prod.nit:6248,5--27)"};
11743 trace.prev = tracehead; tracehead = &trace;
11744 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqExpr].i]) return;
11745 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
11746 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqExpr].i] = 1;
11747 tracehead = trace.prev;
11748 return;
11749 }
11750 void parser_prod___AEqExpr___init_aeqexpr(val_t self, val_t param0, val_t param1, int* init_table) {
11751 struct trace_t trace = {NULL, "parser_prod::AEqExpr::init_aeqexpr (src/parser//parser_prod.nit:6250,5--6261:23)"};
11752 val_t variable0;
11753 val_t variable1;
11754 val_t variable2;
11755 trace.prev = tracehead; tracehead = &trace;
11756 variable0 = param0;
11757 variable1 = param1;
11758 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqExpr].i]) return;
11759 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
11760 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AEqExpr::_n_expr*/ = variable0 /*n_expr*/;
11761 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*/) /*PExpr::==*/)))))));
11762 if (UNTAG_Bool(variable2)) { /*if*/
11763 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
11764 }
11765 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AEqExpr::_n_expr2*/ = variable1 /*n_expr2*/;
11766 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*/) /*PExpr::==*/)))))));
11767 if (UNTAG_Bool(variable2)) { /*if*/
11768 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PExpr::parent=*/;
11769 }
11770 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqExpr].i] = 1;
11771 tracehead = trace.prev;
11772 return;
11773 }
11774 void parser_prod___AEqExpr___replace_child(val_t self, val_t param0, val_t param1) {
11775 struct trace_t trace = {NULL, "parser_prod::AEqExpr::replace_child (src/parser//parser_prod.nit:6265,5--6286:18)"};
11776 val_t variable0;
11777 val_t variable1;
11778 val_t variable2;
11779 trace.prev = tracehead; tracehead = &trace;
11780 variable0 = param0;
11781 variable1 = param1;
11782 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*/) /*PNode::==*/)))))));
11783 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6267,9--32\n"); nit_exit(1);}
11784 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AEqExpr::_n_expr*/;
11785 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*/) /*PExpr::==*/)))));
11786 if (UNTAG_Bool(variable2)) { /*if*/
11787 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*/) /*PNode::==*/)))))));
11788 if (UNTAG_Bool(variable2)) { /*if*/
11789 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11790 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11791 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6271,3--28\n"); nit_exit(1);}
11792 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AEqExpr::_n_expr*/ = variable1 /*new_child*/;
11793 } else { /*if*/
11794 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AEqExpr::_n_expr*/ = NIT_NULL /*null*/;
11795 }
11796 goto return_label540;
11797 }
11798 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AEqExpr::_n_expr2*/;
11799 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*/) /*PExpr::==*/)))));
11800 if (UNTAG_Bool(variable2)) { /*if*/
11801 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*/) /*PNode::==*/)))))));
11802 if (UNTAG_Bool(variable2)) { /*if*/
11803 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11804 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11805 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6281,3--28\n"); nit_exit(1);}
11806 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AEqExpr::_n_expr2*/ = variable1 /*new_child*/;
11807 } else { /*if*/
11808 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AEqExpr::_n_expr2*/ = NIT_NULL /*null*/;
11809 }
11810 goto return_label540;
11811 }
11812 return_label540: while(false);
11813 tracehead = trace.prev;
11814 return;
11815 }
11816 void parser_prod___AEqExpr___visit_all(val_t self, val_t param0) {
11817 struct trace_t trace = {NULL, "parser_prod::AEqExpr::visit_all (src/parser//parser_prod.nit:6290,5--6296:28)"};
11818 val_t variable0;
11819 val_t variable1;
11820 trace.prev = tracehead; tracehead = &trace;
11821 variable0 = param0;
11822 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AEqExpr::_n_expr*/;
11823 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11824 if (UNTAG_Bool(variable1)) { /*if*/
11825 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AEqExpr::_n_expr*/;
11826 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11827 }
11828 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AEqExpr::_n_expr2*/;
11829 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11830 if (UNTAG_Bool(variable1)) { /*if*/
11831 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AEqExpr::_n_expr2*/;
11832 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11833 }
11834 tracehead = trace.prev;
11835 return;
11836 }
11837 void parser_prod___AEqExpr___visit_all_reverse(val_t self, val_t param0) {
11838 struct trace_t trace = {NULL, "parser_prod::AEqExpr::visit_all_reverse (src/parser//parser_prod.nit:6300,5--6306:28)"};
11839 val_t variable0;
11840 val_t variable1;
11841 trace.prev = tracehead; tracehead = &trace;
11842 variable0 = param0;
11843 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AEqExpr::_n_expr*/;
11844 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11845 if (UNTAG_Bool(variable1)) { /*if*/
11846 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AEqExpr::_n_expr*/;
11847 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11848 }
11849 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AEqExpr::_n_expr2*/;
11850 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11851 if (UNTAG_Bool(variable1)) { /*if*/
11852 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AEqExpr::_n_expr2*/;
11853 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11854 }
11855 tracehead = trace.prev;
11856 return;
11857 }
11858 void parser_prod___AEeExpr___n_expr__eq(val_t self, val_t param0) {
11859 struct trace_t trace = {NULL, "parser_prod::AEeExpr::n_expr= (src/parser//parser_prod.nit:6311,5--6315:20)"};
11860 val_t variable0;
11861 val_t variable1;
11862 trace.prev = tracehead; tracehead = &trace;
11863 variable0 = param0;
11864 ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/ = variable0 /*n*/;
11865 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*/) /*PExpr::==*/)))))));
11866 if (UNTAG_Bool(variable1)) { /*if*/
11867 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
11868 }
11869 tracehead = trace.prev;
11870 return;
11871 }
11872 void parser_prod___AEeExpr___n_expr2__eq(val_t self, val_t param0) {
11873 struct trace_t trace = {NULL, "parser_prod::AEeExpr::n_expr2= (src/parser//parser_prod.nit:6318,5--6322:20)"};
11874 val_t variable0;
11875 val_t variable1;
11876 trace.prev = tracehead; tracehead = &trace;
11877 variable0 = param0;
11878 ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/ = variable0 /*n*/;
11879 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*/) /*PExpr::==*/)))))));
11880 if (UNTAG_Bool(variable1)) { /*if*/
11881 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
11882 }
11883 tracehead = trace.prev;
11884 return;
11885 }
11886 void parser_prod___AEeExpr___empty_init(val_t self, int* init_table) {
11887 struct trace_t trace = {NULL, "parser_prod::AEeExpr::empty_init (src/parser//parser_prod.nit:6326,5--27)"};
11888 trace.prev = tracehead; tracehead = &trace;
11889 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEeExpr].i]) return;
11890 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEeExpr].i] = 1;
11891 tracehead = trace.prev;
11892 return;
11893 }
11894 void parser_prod___AEeExpr___init_aeeexpr(val_t self, val_t param0, val_t param1, int* init_table) {
11895 struct trace_t trace = {NULL, "parser_prod::AEeExpr::init_aeeexpr (src/parser//parser_prod.nit:6328,5--6339:23)"};
11896 val_t variable0;
11897 val_t variable1;
11898 val_t variable2;
11899 trace.prev = tracehead; tracehead = &trace;
11900 variable0 = param0;
11901 variable1 = param1;
11902 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEeExpr].i]) return;
11903 ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/ = variable0 /*n_expr*/;
11904 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*/) /*PExpr::==*/)))))));
11905 if (UNTAG_Bool(variable2)) { /*if*/
11906 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
11907 }
11908 ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/ = variable1 /*n_expr2*/;
11909 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*/) /*PExpr::==*/)))))));
11910 if (UNTAG_Bool(variable2)) { /*if*/
11911 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PExpr::parent=*/;
11912 }
11913 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEeExpr].i] = 1;
11914 tracehead = trace.prev;
11915 return;
11916 }
11917 void parser_prod___AEeExpr___replace_child(val_t self, val_t param0, val_t param1) {
11918 struct trace_t trace = {NULL, "parser_prod::AEeExpr::replace_child (src/parser//parser_prod.nit:6343,5--6364:18)"};
11919 val_t variable0;
11920 val_t variable1;
11921 val_t variable2;
11922 trace.prev = tracehead; tracehead = &trace;
11923 variable0 = param0;
11924 variable1 = param1;
11925 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*/) /*PNode::==*/)))))));
11926 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6345,9--32\n"); nit_exit(1);}
11927 variable2 = ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/;
11928 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*/) /*PExpr::==*/)))));
11929 if (UNTAG_Bool(variable2)) { /*if*/
11930 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*/) /*PNode::==*/)))))));
11931 if (UNTAG_Bool(variable2)) { /*if*/
11932 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11933 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11934 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6349,3--28\n"); nit_exit(1);}
11935 ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/ = variable1 /*new_child*/;
11936 } else { /*if*/
11937 ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/ = NIT_NULL /*null*/;
11938 }
11939 goto return_label547;
11940 }
11941 variable2 = ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/;
11942 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*/) /*PExpr::==*/)))));
11943 if (UNTAG_Bool(variable2)) { /*if*/
11944 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*/) /*PNode::==*/)))))));
11945 if (UNTAG_Bool(variable2)) { /*if*/
11946 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
11947 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11948 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6359,3--28\n"); nit_exit(1);}
11949 ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/ = variable1 /*new_child*/;
11950 } else { /*if*/
11951 ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/ = NIT_NULL /*null*/;
11952 }
11953 goto return_label547;
11954 }
11955 return_label547: while(false);
11956 tracehead = trace.prev;
11957 return;
11958 }
11959 void parser_prod___AEeExpr___visit_all(val_t self, val_t param0) {
11960 struct trace_t trace = {NULL, "parser_prod::AEeExpr::visit_all (src/parser//parser_prod.nit:6368,5--6374:28)"};
11961 val_t variable0;
11962 val_t variable1;
11963 trace.prev = tracehead; tracehead = &trace;
11964 variable0 = param0;
11965 variable1 = ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/;
11966 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11967 if (UNTAG_Bool(variable1)) { /*if*/
11968 variable1 = ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/;
11969 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11970 }
11971 variable1 = ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/;
11972 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11973 if (UNTAG_Bool(variable1)) { /*if*/
11974 variable1 = ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/;
11975 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11976 }
11977 tracehead = trace.prev;
11978 return;
11979 }
11980 void parser_prod___AEeExpr___visit_all_reverse(val_t self, val_t param0) {
11981 struct trace_t trace = {NULL, "parser_prod::AEeExpr::visit_all_reverse (src/parser//parser_prod.nit:6378,5--6384:28)"};
11982 val_t variable0;
11983 val_t variable1;
11984 trace.prev = tracehead; tracehead = &trace;
11985 variable0 = param0;
11986 variable1 = ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/;
11987 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11988 if (UNTAG_Bool(variable1)) { /*if*/
11989 variable1 = ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/;
11990 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11991 }
11992 variable1 = ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/;
11993 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
11994 if (UNTAG_Bool(variable1)) { /*if*/
11995 variable1 = ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/;
11996 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
11997 }
11998 tracehead = trace.prev;
11999 return;
12000 }
12001 void parser_prod___ANeExpr___n_expr__eq(val_t self, val_t param0) {
12002 struct trace_t trace = {NULL, "parser_prod::ANeExpr::n_expr= (src/parser//parser_prod.nit:6389,5--6393:20)"};
12003 val_t variable0;
12004 val_t variable1;
12005 trace.prev = tracehead; tracehead = &trace;
12006 variable0 = param0;
12007 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ANeExpr::_n_expr*/ = variable0 /*n*/;
12008 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*/) /*PExpr::==*/)))))));
12009 if (UNTAG_Bool(variable1)) { /*if*/
12010 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
12011 }
12012 tracehead = trace.prev;
12013 return;
12014 }
12015 void parser_prod___ANeExpr___n_expr2__eq(val_t self, val_t param0) {
12016 struct trace_t trace = {NULL, "parser_prod::ANeExpr::n_expr2= (src/parser//parser_prod.nit:6396,5--6400:20)"};
12017 val_t variable0;
12018 val_t variable1;
12019 trace.prev = tracehead; tracehead = &trace;
12020 variable0 = param0;
12021 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ANeExpr::_n_expr2*/ = variable0 /*n*/;
12022 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*/) /*PExpr::==*/)))))));
12023 if (UNTAG_Bool(variable1)) { /*if*/
12024 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
12025 }
12026 tracehead = trace.prev;
12027 return;
12028 }
12029 void parser_prod___ANeExpr___empty_init(val_t self, int* init_table) {
12030 struct trace_t trace = {NULL, "parser_prod::ANeExpr::empty_init (src/parser//parser_prod.nit:6404,5--27)"};
12031 trace.prev = tracehead; tracehead = &trace;
12032 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeExpr].i]) return;
12033 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
12034 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeExpr].i] = 1;
12035 tracehead = trace.prev;
12036 return;
12037 }
12038 void parser_prod___ANeExpr___init_aneexpr(val_t self, val_t param0, val_t param1, int* init_table) {
12039 struct trace_t trace = {NULL, "parser_prod::ANeExpr::init_aneexpr (src/parser//parser_prod.nit:6406,5--6417:23)"};
12040 val_t variable0;
12041 val_t variable1;
12042 val_t variable2;
12043 trace.prev = tracehead; tracehead = &trace;
12044 variable0 = param0;
12045 variable1 = param1;
12046 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeExpr].i]) return;
12047 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
12048 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ANeExpr::_n_expr*/ = variable0 /*n_expr*/;
12049 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*/) /*PExpr::==*/)))))));
12050 if (UNTAG_Bool(variable2)) { /*if*/
12051 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
12052 }
12053 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ANeExpr::_n_expr2*/ = variable1 /*n_expr2*/;
12054 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*/) /*PExpr::==*/)))))));
12055 if (UNTAG_Bool(variable2)) { /*if*/
12056 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PExpr::parent=*/;
12057 }
12058 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeExpr].i] = 1;
12059 tracehead = trace.prev;
12060 return;
12061 }
12062 void parser_prod___ANeExpr___replace_child(val_t self, val_t param0, val_t param1) {
12063 struct trace_t trace = {NULL, "parser_prod::ANeExpr::replace_child (src/parser//parser_prod.nit:6421,5--6442:18)"};
12064 val_t variable0;
12065 val_t variable1;
12066 val_t variable2;
12067 trace.prev = tracehead; tracehead = &trace;
12068 variable0 = param0;
12069 variable1 = param1;
12070 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*/) /*PNode::==*/)))))));
12071 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6423,9--32\n"); nit_exit(1);}
12072 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ANeExpr::_n_expr*/;
12073 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*/) /*PExpr::==*/)))));
12074 if (UNTAG_Bool(variable2)) { /*if*/
12075 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*/) /*PNode::==*/)))))));
12076 if (UNTAG_Bool(variable2)) { /*if*/
12077 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12078 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12079 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6427,3--28\n"); nit_exit(1);}
12080 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ANeExpr::_n_expr*/ = variable1 /*new_child*/;
12081 } else { /*if*/
12082 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ANeExpr::_n_expr*/ = NIT_NULL /*null*/;
12083 }
12084 goto return_label554;
12085 }
12086 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ANeExpr::_n_expr2*/;
12087 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*/) /*PExpr::==*/)))));
12088 if (UNTAG_Bool(variable2)) { /*if*/
12089 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*/) /*PNode::==*/)))))));
12090 if (UNTAG_Bool(variable2)) { /*if*/
12091 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12092 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12093 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6437,3--28\n"); nit_exit(1);}
12094 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ANeExpr::_n_expr2*/ = variable1 /*new_child*/;
12095 } else { /*if*/
12096 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ANeExpr::_n_expr2*/ = NIT_NULL /*null*/;
12097 }
12098 goto return_label554;
12099 }
12100 return_label554: while(false);
12101 tracehead = trace.prev;
12102 return;
12103 }
12104 void parser_prod___ANeExpr___visit_all(val_t self, val_t param0) {
12105 struct trace_t trace = {NULL, "parser_prod::ANeExpr::visit_all (src/parser//parser_prod.nit:6446,5--6452:28)"};
12106 val_t variable0;
12107 val_t variable1;
12108 trace.prev = tracehead; tracehead = &trace;
12109 variable0 = param0;
12110 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ANeExpr::_n_expr*/;
12111 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
12112 if (UNTAG_Bool(variable1)) { /*if*/
12113 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ANeExpr::_n_expr*/;
12114 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12115 }
12116 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ANeExpr::_n_expr2*/;
12117 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
12118 if (UNTAG_Bool(variable1)) { /*if*/
12119 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ANeExpr::_n_expr2*/;
12120 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12121 }
12122 tracehead = trace.prev;
12123 return;
12124 }
12125 void parser_prod___ANeExpr___visit_all_reverse(val_t self, val_t param0) {
12126 struct trace_t trace = {NULL, "parser_prod::ANeExpr::visit_all_reverse (src/parser//parser_prod.nit:6456,5--6462:28)"};
12127 val_t variable0;
12128 val_t variable1;
12129 trace.prev = tracehead; tracehead = &trace;
12130 variable0 = param0;
12131 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ANeExpr::_n_expr*/;
12132 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
12133 if (UNTAG_Bool(variable1)) { /*if*/
12134 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ANeExpr::_n_expr*/;
12135 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12136 }
12137 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ANeExpr::_n_expr2*/;
12138 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
12139 if (UNTAG_Bool(variable1)) { /*if*/
12140 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ANeExpr::_n_expr2*/;
12141 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12142 }
12143 tracehead = trace.prev;
12144 return;
12145 }
12146 void parser_prod___ALtExpr___n_expr__eq(val_t self, val_t param0) {
12147 struct trace_t trace = {NULL, "parser_prod::ALtExpr::n_expr= (src/parser//parser_prod.nit:6467,5--6471:20)"};
12148 val_t variable0;
12149 val_t variable1;
12150 trace.prev = tracehead; tracehead = &trace;
12151 variable0 = param0;
12152 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALtExpr::_n_expr*/ = variable0 /*n*/;
12153 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*/) /*PExpr::==*/)))))));
12154 if (UNTAG_Bool(variable1)) { /*if*/
12155 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
12156 }
12157 tracehead = trace.prev;
12158 return;
12159 }
12160 void parser_prod___ALtExpr___n_expr2__eq(val_t self, val_t param0) {
12161 struct trace_t trace = {NULL, "parser_prod::ALtExpr::n_expr2= (src/parser//parser_prod.nit:6474,5--6478:20)"};
12162 val_t variable0;
12163 val_t variable1;
12164 trace.prev = tracehead; tracehead = &trace;
12165 variable0 = param0;
12166 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALtExpr::_n_expr2*/ = variable0 /*n*/;
12167 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*/) /*PExpr::==*/)))))));
12168 if (UNTAG_Bool(variable1)) { /*if*/
12169 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
12170 }
12171 tracehead = trace.prev;
12172 return;
12173 }
12174 void parser_prod___ALtExpr___empty_init(val_t self, int* init_table) {
12175 struct trace_t trace = {NULL, "parser_prod::ALtExpr::empty_init (src/parser//parser_prod.nit:6482,5--27)"};
12176 trace.prev = tracehead; tracehead = &trace;
12177 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtExpr].i]) return;
12178 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
12179 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtExpr].i] = 1;
12180 tracehead = trace.prev;
12181 return;
12182 }
12183 void parser_prod___ALtExpr___init_altexpr(val_t self, val_t param0, val_t param1, int* init_table) {
12184 struct trace_t trace = {NULL, "parser_prod::ALtExpr::init_altexpr (src/parser//parser_prod.nit:6484,5--6495:23)"};
12185 val_t variable0;
12186 val_t variable1;
12187 val_t variable2;
12188 trace.prev = tracehead; tracehead = &trace;
12189 variable0 = param0;
12190 variable1 = param1;
12191 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtExpr].i]) return;
12192 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
12193 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALtExpr::_n_expr*/ = variable0 /*n_expr*/;
12194 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*/) /*PExpr::==*/)))))));
12195 if (UNTAG_Bool(variable2)) { /*if*/
12196 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
12197 }
12198 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALtExpr::_n_expr2*/ = variable1 /*n_expr2*/;
12199 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*/) /*PExpr::==*/)))))));
12200 if (UNTAG_Bool(variable2)) { /*if*/
12201 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PExpr::parent=*/;
12202 }
12203 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtExpr].i] = 1;
12204 tracehead = trace.prev;
12205 return;
12206 }
12207 void parser_prod___ALtExpr___replace_child(val_t self, val_t param0, val_t param1) {
12208 struct trace_t trace = {NULL, "parser_prod::ALtExpr::replace_child (src/parser//parser_prod.nit:6499,5--6520:18)"};
12209 val_t variable0;
12210 val_t variable1;
12211 val_t variable2;
12212 trace.prev = tracehead; tracehead = &trace;
12213 variable0 = param0;
12214 variable1 = param1;
12215 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*/) /*PNode::==*/)))))));
12216 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6501,9--32\n"); nit_exit(1);}
12217 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALtExpr::_n_expr*/;
12218 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*/) /*PExpr::==*/)))));
12219 if (UNTAG_Bool(variable2)) { /*if*/
12220 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*/) /*PNode::==*/)))))));
12221 if (UNTAG_Bool(variable2)) { /*if*/
12222 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12223 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12224 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6505,3--28\n"); nit_exit(1);}
12225 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALtExpr::_n_expr*/ = variable1 /*new_child*/;
12226 } else { /*if*/
12227 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALtExpr::_n_expr*/ = NIT_NULL /*null*/;
12228 }
12229 goto return_label561;
12230 }
12231 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALtExpr::_n_expr2*/;
12232 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*/) /*PExpr::==*/)))));
12233 if (UNTAG_Bool(variable2)) { /*if*/
12234 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*/) /*PNode::==*/)))))));
12235 if (UNTAG_Bool(variable2)) { /*if*/
12236 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12237 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12238 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6515,3--28\n"); nit_exit(1);}
12239 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALtExpr::_n_expr2*/ = variable1 /*new_child*/;
12240 } else { /*if*/
12241 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALtExpr::_n_expr2*/ = NIT_NULL /*null*/;
12242 }
12243 goto return_label561;
12244 }
12245 return_label561: while(false);
12246 tracehead = trace.prev;
12247 return;
12248 }
12249 void parser_prod___ALtExpr___visit_all(val_t self, val_t param0) {
12250 struct trace_t trace = {NULL, "parser_prod::ALtExpr::visit_all (src/parser//parser_prod.nit:6524,5--6530:28)"};
12251 val_t variable0;
12252 val_t variable1;
12253 trace.prev = tracehead; tracehead = &trace;
12254 variable0 = param0;
12255 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALtExpr::_n_expr*/;
12256 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
12257 if (UNTAG_Bool(variable1)) { /*if*/
12258 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALtExpr::_n_expr*/;
12259 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12260 }
12261 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALtExpr::_n_expr2*/;
12262 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
12263 if (UNTAG_Bool(variable1)) { /*if*/
12264 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALtExpr::_n_expr2*/;
12265 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12266 }
12267 tracehead = trace.prev;
12268 return;
12269 }
12270 void parser_prod___ALtExpr___visit_all_reverse(val_t self, val_t param0) {
12271 struct trace_t trace = {NULL, "parser_prod::ALtExpr::visit_all_reverse (src/parser//parser_prod.nit:6534,5--6540:28)"};
12272 val_t variable0;
12273 val_t variable1;
12274 trace.prev = tracehead; tracehead = &trace;
12275 variable0 = param0;
12276 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALtExpr::_n_expr*/;
12277 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
12278 if (UNTAG_Bool(variable1)) { /*if*/
12279 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALtExpr::_n_expr*/;
12280 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12281 }
12282 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALtExpr::_n_expr2*/;
12283 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
12284 if (UNTAG_Bool(variable1)) { /*if*/
12285 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALtExpr::_n_expr2*/;
12286 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12287 }
12288 tracehead = trace.prev;
12289 return;
12290 }
12291 void parser_prod___ALeExpr___n_expr__eq(val_t self, val_t param0) {
12292 struct trace_t trace = {NULL, "parser_prod::ALeExpr::n_expr= (src/parser//parser_prod.nit:6545,5--6549:20)"};
12293 val_t variable0;
12294 val_t variable1;
12295 trace.prev = tracehead; tracehead = &trace;
12296 variable0 = param0;
12297 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALeExpr::_n_expr*/ = variable0 /*n*/;
12298 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*/) /*PExpr::==*/)))))));
12299 if (UNTAG_Bool(variable1)) { /*if*/
12300 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
12301 }
12302 tracehead = trace.prev;
12303 return;
12304 }
12305 void parser_prod___ALeExpr___n_expr2__eq(val_t self, val_t param0) {
12306 struct trace_t trace = {NULL, "parser_prod::ALeExpr::n_expr2= (src/parser//parser_prod.nit:6552,5--6556:20)"};
12307 val_t variable0;
12308 val_t variable1;
12309 trace.prev = tracehead; tracehead = &trace;
12310 variable0 = param0;
12311 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALeExpr::_n_expr2*/ = variable0 /*n*/;
12312 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*/) /*PExpr::==*/)))))));
12313 if (UNTAG_Bool(variable1)) { /*if*/
12314 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
12315 }
12316 tracehead = trace.prev;
12317 return;
12318 }
12319 void parser_prod___ALeExpr___empty_init(val_t self, int* init_table) {
12320 struct trace_t trace = {NULL, "parser_prod::ALeExpr::empty_init (src/parser//parser_prod.nit:6560,5--27)"};
12321 trace.prev = tracehead; tracehead = &trace;
12322 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeExpr].i]) return;
12323 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
12324 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeExpr].i] = 1;
12325 tracehead = trace.prev;
12326 return;
12327 }
12328 void parser_prod___ALeExpr___init_aleexpr(val_t self, val_t param0, val_t param1, int* init_table) {
12329 struct trace_t trace = {NULL, "parser_prod::ALeExpr::init_aleexpr (src/parser//parser_prod.nit:6562,5--6573:23)"};
12330 val_t variable0;
12331 val_t variable1;
12332 val_t variable2;
12333 trace.prev = tracehead; tracehead = &trace;
12334 variable0 = param0;
12335 variable1 = param1;
12336 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeExpr].i]) return;
12337 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
12338 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALeExpr::_n_expr*/ = variable0 /*n_expr*/;
12339 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*/) /*PExpr::==*/)))))));
12340 if (UNTAG_Bool(variable2)) { /*if*/
12341 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
12342 }
12343 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALeExpr::_n_expr2*/ = variable1 /*n_expr2*/;
12344 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*/) /*PExpr::==*/)))))));
12345 if (UNTAG_Bool(variable2)) { /*if*/
12346 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PExpr::parent=*/;
12347 }
12348 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeExpr].i] = 1;
12349 tracehead = trace.prev;
12350 return;
12351 }
12352 void parser_prod___ALeExpr___replace_child(val_t self, val_t param0, val_t param1) {
12353 struct trace_t trace = {NULL, "parser_prod::ALeExpr::replace_child (src/parser//parser_prod.nit:6577,5--6598:18)"};
12354 val_t variable0;
12355 val_t variable1;
12356 val_t variable2;
12357 trace.prev = tracehead; tracehead = &trace;
12358 variable0 = param0;
12359 variable1 = param1;
12360 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*/) /*PNode::==*/)))))));
12361 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6579,9--32\n"); nit_exit(1);}
12362 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALeExpr::_n_expr*/;
12363 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*/) /*PExpr::==*/)))));
12364 if (UNTAG_Bool(variable2)) { /*if*/
12365 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*/) /*PNode::==*/)))))));
12366 if (UNTAG_Bool(variable2)) { /*if*/
12367 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12368 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12369 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6583,3--28\n"); nit_exit(1);}
12370 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALeExpr::_n_expr*/ = variable1 /*new_child*/;
12371 } else { /*if*/
12372 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALeExpr::_n_expr*/ = NIT_NULL /*null*/;
12373 }
12374 goto return_label568;
12375 }
12376 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALeExpr::_n_expr2*/;
12377 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*/) /*PExpr::==*/)))));
12378 if (UNTAG_Bool(variable2)) { /*if*/
12379 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*/) /*PNode::==*/)))))));
12380 if (UNTAG_Bool(variable2)) { /*if*/
12381 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12382 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12383 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6593,3--28\n"); nit_exit(1);}
12384 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALeExpr::_n_expr2*/ = variable1 /*new_child*/;
12385 } else { /*if*/
12386 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALeExpr::_n_expr2*/ = NIT_NULL /*null*/;
12387 }
12388 goto return_label568;
12389 }
12390 return_label568: while(false);
12391 tracehead = trace.prev;
12392 return;
12393 }
12394 void parser_prod___ALeExpr___visit_all(val_t self, val_t param0) {
12395 struct trace_t trace = {NULL, "parser_prod::ALeExpr::visit_all (src/parser//parser_prod.nit:6602,5--6608:28)"};
12396 val_t variable0;
12397 val_t variable1;
12398 trace.prev = tracehead; tracehead = &trace;
12399 variable0 = param0;
12400 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALeExpr::_n_expr*/;
12401 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
12402 if (UNTAG_Bool(variable1)) { /*if*/
12403 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALeExpr::_n_expr*/;
12404 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12405 }
12406 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALeExpr::_n_expr2*/;
12407 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
12408 if (UNTAG_Bool(variable1)) { /*if*/
12409 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALeExpr::_n_expr2*/;
12410 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12411 }
12412 tracehead = trace.prev;
12413 return;
12414 }
12415 void parser_prod___ALeExpr___visit_all_reverse(val_t self, val_t param0) {
12416 struct trace_t trace = {NULL, "parser_prod::ALeExpr::visit_all_reverse (src/parser//parser_prod.nit:6612,5--6618:28)"};
12417 val_t variable0;
12418 val_t variable1;
12419 trace.prev = tracehead; tracehead = &trace;
12420 variable0 = param0;
12421 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALeExpr::_n_expr*/;
12422 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
12423 if (UNTAG_Bool(variable1)) { /*if*/
12424 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALeExpr::_n_expr*/;
12425 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12426 }
12427 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALeExpr::_n_expr2*/;
12428 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
12429 if (UNTAG_Bool(variable1)) { /*if*/
12430 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALeExpr::_n_expr2*/;
12431 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12432 }
12433 tracehead = trace.prev;
12434 return;
12435 }
12436 void parser_prod___AGtExpr___n_expr__eq(val_t self, val_t param0) {
12437 struct trace_t trace = {NULL, "parser_prod::AGtExpr::n_expr= (src/parser//parser_prod.nit:6623,5--6627:20)"};
12438 val_t variable0;
12439 val_t variable1;
12440 trace.prev = tracehead; tracehead = &trace;
12441 variable0 = param0;
12442 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGtExpr::_n_expr*/ = variable0 /*n*/;
12443 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*/) /*PExpr::==*/)))))));
12444 if (UNTAG_Bool(variable1)) { /*if*/
12445 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
12446 }
12447 tracehead = trace.prev;
12448 return;
12449 }
12450 void parser_prod___AGtExpr___n_expr2__eq(val_t self, val_t param0) {
12451 struct trace_t trace = {NULL, "parser_prod::AGtExpr::n_expr2= (src/parser//parser_prod.nit:6630,5--6634:20)"};
12452 val_t variable0;
12453 val_t variable1;
12454 trace.prev = tracehead; tracehead = &trace;
12455 variable0 = param0;
12456 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGtExpr::_n_expr2*/ = variable0 /*n*/;
12457 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*/) /*PExpr::==*/)))))));
12458 if (UNTAG_Bool(variable1)) { /*if*/
12459 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
12460 }
12461 tracehead = trace.prev;
12462 return;
12463 }
12464 void parser_prod___AGtExpr___empty_init(val_t self, int* init_table) {
12465 struct trace_t trace = {NULL, "parser_prod::AGtExpr::empty_init (src/parser//parser_prod.nit:6638,5--27)"};
12466 trace.prev = tracehead; tracehead = &trace;
12467 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtExpr].i]) return;
12468 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
12469 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtExpr].i] = 1;
12470 tracehead = trace.prev;
12471 return;
12472 }
12473 void parser_prod___AGtExpr___init_agtexpr(val_t self, val_t param0, val_t param1, int* init_table) {
12474 struct trace_t trace = {NULL, "parser_prod::AGtExpr::init_agtexpr (src/parser//parser_prod.nit:6640,5--6651:23)"};
12475 val_t variable0;
12476 val_t variable1;
12477 val_t variable2;
12478 trace.prev = tracehead; tracehead = &trace;
12479 variable0 = param0;
12480 variable1 = param1;
12481 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtExpr].i]) return;
12482 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
12483 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGtExpr::_n_expr*/ = variable0 /*n_expr*/;
12484 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*/) /*PExpr::==*/)))))));
12485 if (UNTAG_Bool(variable2)) { /*if*/
12486 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
12487 }
12488 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGtExpr::_n_expr2*/ = variable1 /*n_expr2*/;
12489 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*/) /*PExpr::==*/)))))));
12490 if (UNTAG_Bool(variable2)) { /*if*/
12491 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PExpr::parent=*/;
12492 }
12493 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtExpr].i] = 1;
12494 tracehead = trace.prev;
12495 return;
12496 }
12497 void parser_prod___AGtExpr___replace_child(val_t self, val_t param0, val_t param1) {
12498 struct trace_t trace = {NULL, "parser_prod::AGtExpr::replace_child (src/parser//parser_prod.nit:6655,5--6676:18)"};
12499 val_t variable0;
12500 val_t variable1;
12501 val_t variable2;
12502 trace.prev = tracehead; tracehead = &trace;
12503 variable0 = param0;
12504 variable1 = param1;
12505 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*/) /*PNode::==*/)))))));
12506 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6657,9--32\n"); nit_exit(1);}
12507 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGtExpr::_n_expr*/;
12508 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*/) /*PExpr::==*/)))));
12509 if (UNTAG_Bool(variable2)) { /*if*/
12510 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*/) /*PNode::==*/)))))));
12511 if (UNTAG_Bool(variable2)) { /*if*/
12512 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12513 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12514 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6661,3--28\n"); nit_exit(1);}
12515 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGtExpr::_n_expr*/ = variable1 /*new_child*/;
12516 } else { /*if*/
12517 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGtExpr::_n_expr*/ = NIT_NULL /*null*/;
12518 }
12519 goto return_label575;
12520 }
12521 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGtExpr::_n_expr2*/;
12522 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*/) /*PExpr::==*/)))));
12523 if (UNTAG_Bool(variable2)) { /*if*/
12524 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*/) /*PNode::==*/)))))));
12525 if (UNTAG_Bool(variable2)) { /*if*/
12526 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12527 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12528 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6671,3--28\n"); nit_exit(1);}
12529 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGtExpr::_n_expr2*/ = variable1 /*new_child*/;
12530 } else { /*if*/
12531 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGtExpr::_n_expr2*/ = NIT_NULL /*null*/;
12532 }
12533 goto return_label575;
12534 }
12535 return_label575: while(false);
12536 tracehead = trace.prev;
12537 return;
12538 }
12539 void parser_prod___AGtExpr___visit_all(val_t self, val_t param0) {
12540 struct trace_t trace = {NULL, "parser_prod::AGtExpr::visit_all (src/parser//parser_prod.nit:6680,5--6686:28)"};
12541 val_t variable0;
12542 val_t variable1;
12543 trace.prev = tracehead; tracehead = &trace;
12544 variable0 = param0;
12545 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGtExpr::_n_expr*/;
12546 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
12547 if (UNTAG_Bool(variable1)) { /*if*/
12548 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGtExpr::_n_expr*/;
12549 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12550 }
12551 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGtExpr::_n_expr2*/;
12552 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
12553 if (UNTAG_Bool(variable1)) { /*if*/
12554 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGtExpr::_n_expr2*/;
12555 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12556 }
12557 tracehead = trace.prev;
12558 return;
12559 }
12560 void parser_prod___AGtExpr___visit_all_reverse(val_t self, val_t param0) {
12561 struct trace_t trace = {NULL, "parser_prod::AGtExpr::visit_all_reverse (src/parser//parser_prod.nit:6690,5--6696:28)"};
12562 val_t variable0;
12563 val_t variable1;
12564 trace.prev = tracehead; tracehead = &trace;
12565 variable0 = param0;
12566 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGtExpr::_n_expr*/;
12567 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
12568 if (UNTAG_Bool(variable1)) { /*if*/
12569 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGtExpr::_n_expr*/;
12570 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12571 }
12572 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGtExpr::_n_expr2*/;
12573 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
12574 if (UNTAG_Bool(variable1)) { /*if*/
12575 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGtExpr::_n_expr2*/;
12576 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12577 }
12578 tracehead = trace.prev;
12579 return;
12580 }
12581 void parser_prod___AGeExpr___n_expr__eq(val_t self, val_t param0) {
12582 struct trace_t trace = {NULL, "parser_prod::AGeExpr::n_expr= (src/parser//parser_prod.nit:6701,5--6705:20)"};
12583 val_t variable0;
12584 val_t variable1;
12585 trace.prev = tracehead; tracehead = &trace;
12586 variable0 = param0;
12587 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGeExpr::_n_expr*/ = variable0 /*n*/;
12588 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*/) /*PExpr::==*/)))))));
12589 if (UNTAG_Bool(variable1)) { /*if*/
12590 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
12591 }
12592 tracehead = trace.prev;
12593 return;
12594 }
12595 void parser_prod___AGeExpr___n_expr2__eq(val_t self, val_t param0) {
12596 struct trace_t trace = {NULL, "parser_prod::AGeExpr::n_expr2= (src/parser//parser_prod.nit:6708,5--6712:20)"};
12597 val_t variable0;
12598 val_t variable1;
12599 trace.prev = tracehead; tracehead = &trace;
12600 variable0 = param0;
12601 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGeExpr::_n_expr2*/ = variable0 /*n*/;
12602 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*/) /*PExpr::==*/)))))));
12603 if (UNTAG_Bool(variable1)) { /*if*/
12604 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
12605 }
12606 tracehead = trace.prev;
12607 return;
12608 }
12609 void parser_prod___AGeExpr___empty_init(val_t self, int* init_table) {
12610 struct trace_t trace = {NULL, "parser_prod::AGeExpr::empty_init (src/parser//parser_prod.nit:6716,5--27)"};
12611 trace.prev = tracehead; tracehead = &trace;
12612 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeExpr].i]) return;
12613 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
12614 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeExpr].i] = 1;
12615 tracehead = trace.prev;
12616 return;
12617 }
12618 void parser_prod___AGeExpr___init_ageexpr(val_t self, val_t param0, val_t param1, int* init_table) {
12619 struct trace_t trace = {NULL, "parser_prod::AGeExpr::init_ageexpr (src/parser//parser_prod.nit:6718,5--6729:23)"};
12620 val_t variable0;
12621 val_t variable1;
12622 val_t variable2;
12623 trace.prev = tracehead; tracehead = &trace;
12624 variable0 = param0;
12625 variable1 = param1;
12626 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeExpr].i]) return;
12627 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
12628 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGeExpr::_n_expr*/ = variable0 /*n_expr*/;
12629 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*/) /*PExpr::==*/)))))));
12630 if (UNTAG_Bool(variable2)) { /*if*/
12631 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
12632 }
12633 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGeExpr::_n_expr2*/ = variable1 /*n_expr2*/;
12634 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*/) /*PExpr::==*/)))))));
12635 if (UNTAG_Bool(variable2)) { /*if*/
12636 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PExpr::parent=*/;
12637 }
12638 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeExpr].i] = 1;
12639 tracehead = trace.prev;
12640 return;
12641 }
12642 void parser_prod___AGeExpr___replace_child(val_t self, val_t param0, val_t param1) {
12643 struct trace_t trace = {NULL, "parser_prod::AGeExpr::replace_child (src/parser//parser_prod.nit:6733,5--6754:18)"};
12644 val_t variable0;
12645 val_t variable1;
12646 val_t variable2;
12647 trace.prev = tracehead; tracehead = &trace;
12648 variable0 = param0;
12649 variable1 = param1;
12650 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*/) /*PNode::==*/)))))));
12651 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6735,9--32\n"); nit_exit(1);}
12652 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGeExpr::_n_expr*/;
12653 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*/) /*PExpr::==*/)))));
12654 if (UNTAG_Bool(variable2)) { /*if*/
12655 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*/) /*PNode::==*/)))))));
12656 if (UNTAG_Bool(variable2)) { /*if*/
12657 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12658 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12659 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6739,3--28\n"); nit_exit(1);}
12660 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGeExpr::_n_expr*/ = variable1 /*new_child*/;
12661 } else { /*if*/
12662 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGeExpr::_n_expr*/ = NIT_NULL /*null*/;
12663 }
12664 goto return_label582;
12665 }
12666 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGeExpr::_n_expr2*/;
12667 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*/) /*PExpr::==*/)))));
12668 if (UNTAG_Bool(variable2)) { /*if*/
12669 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*/) /*PNode::==*/)))))));
12670 if (UNTAG_Bool(variable2)) { /*if*/
12671 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12672 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12673 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6749,3--28\n"); nit_exit(1);}
12674 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGeExpr::_n_expr2*/ = variable1 /*new_child*/;
12675 } else { /*if*/
12676 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGeExpr::_n_expr2*/ = NIT_NULL /*null*/;
12677 }
12678 goto return_label582;
12679 }
12680 return_label582: while(false);
12681 tracehead = trace.prev;
12682 return;
12683 }
12684 void parser_prod___AGeExpr___visit_all(val_t self, val_t param0) {
12685 struct trace_t trace = {NULL, "parser_prod::AGeExpr::visit_all (src/parser//parser_prod.nit:6758,5--6764:28)"};
12686 val_t variable0;
12687 val_t variable1;
12688 trace.prev = tracehead; tracehead = &trace;
12689 variable0 = param0;
12690 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGeExpr::_n_expr*/;
12691 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
12692 if (UNTAG_Bool(variable1)) { /*if*/
12693 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGeExpr::_n_expr*/;
12694 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12695 }
12696 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGeExpr::_n_expr2*/;
12697 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
12698 if (UNTAG_Bool(variable1)) { /*if*/
12699 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGeExpr::_n_expr2*/;
12700 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12701 }
12702 tracehead = trace.prev;
12703 return;
12704 }
12705 void parser_prod___AGeExpr___visit_all_reverse(val_t self, val_t param0) {
12706 struct trace_t trace = {NULL, "parser_prod::AGeExpr::visit_all_reverse (src/parser//parser_prod.nit:6768,5--6774:28)"};
12707 val_t variable0;
12708 val_t variable1;
12709 trace.prev = tracehead; tracehead = &trace;
12710 variable0 = param0;
12711 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGeExpr::_n_expr*/;
12712 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
12713 if (UNTAG_Bool(variable1)) { /*if*/
12714 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGeExpr::_n_expr*/;
12715 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12716 }
12717 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGeExpr::_n_expr2*/;
12718 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
12719 if (UNTAG_Bool(variable1)) { /*if*/
12720 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGeExpr::_n_expr2*/;
12721 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12722 }
12723 tracehead = trace.prev;
12724 return;
12725 }
12726 void parser_prod___AIsaExpr___n_expr__eq(val_t self, val_t param0) {
12727 struct trace_t trace = {NULL, "parser_prod::AIsaExpr::n_expr= (src/parser//parser_prod.nit:6779,5--6783:20)"};
12728 val_t variable0;
12729 val_t variable1;
12730 trace.prev = tracehead; tracehead = &trace;
12731 variable0 = param0;
12732 ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/ = variable0 /*n*/;
12733 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*/) /*PExpr::==*/)))))));
12734 if (UNTAG_Bool(variable1)) { /*if*/
12735 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
12736 }
12737 tracehead = trace.prev;
12738 return;
12739 }
12740 void parser_prod___AIsaExpr___n_type__eq(val_t self, val_t param0) {
12741 struct trace_t trace = {NULL, "parser_prod::AIsaExpr::n_type= (src/parser//parser_prod.nit:6786,5--6790:20)"};
12742 val_t variable0;
12743 val_t variable1;
12744 trace.prev = tracehead; tracehead = &trace;
12745 variable0 = param0;
12746 ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/ = variable0 /*n*/;
12747 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*/) /*PType::==*/)))))));
12748 if (UNTAG_Bool(variable1)) { /*if*/
12749 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PType::parent=*/;
12750 }
12751 tracehead = trace.prev;
12752 return;
12753 }
12754 void parser_prod___AIsaExpr___empty_init(val_t self, int* init_table) {
12755 struct trace_t trace = {NULL, "parser_prod::AIsaExpr::empty_init (src/parser//parser_prod.nit:6794,5--27)"};
12756 trace.prev = tracehead; tracehead = &trace;
12757 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIsaExpr].i]) return;
12758 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIsaExpr].i] = 1;
12759 tracehead = trace.prev;
12760 return;
12761 }
12762 void parser_prod___AIsaExpr___init_aisaexpr(val_t self, val_t param0, val_t param1, int* init_table) {
12763 struct trace_t trace = {NULL, "parser_prod::AIsaExpr::init_aisaexpr (src/parser//parser_prod.nit:6796,5--6807:22)"};
12764 val_t variable0;
12765 val_t variable1;
12766 val_t variable2;
12767 trace.prev = tracehead; tracehead = &trace;
12768 variable0 = param0;
12769 variable1 = param1;
12770 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIsaExpr].i]) return;
12771 ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/ = variable0 /*n_expr*/;
12772 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*/) /*PExpr::==*/)))))));
12773 if (UNTAG_Bool(variable2)) { /*if*/
12774 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
12775 }
12776 ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/ = variable1 /*n_type*/;
12777 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*/) /*PType::==*/)))))));
12778 if (UNTAG_Bool(variable2)) { /*if*/
12779 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_type*/, self) /*PType::parent=*/;
12780 }
12781 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIsaExpr].i] = 1;
12782 tracehead = trace.prev;
12783 return;
12784 }
12785 void parser_prod___AIsaExpr___replace_child(val_t self, val_t param0, val_t param1) {
12786 struct trace_t trace = {NULL, "parser_prod::AIsaExpr::replace_child (src/parser//parser_prod.nit:6811,5--6832:18)"};
12787 val_t variable0;
12788 val_t variable1;
12789 val_t variable2;
12790 trace.prev = tracehead; tracehead = &trace;
12791 variable0 = param0;
12792 variable1 = param1;
12793 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*/) /*PNode::==*/)))))));
12794 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6813,9--32\n"); nit_exit(1);}
12795 variable2 = ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/;
12796 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*/) /*PExpr::==*/)))));
12797 if (UNTAG_Bool(variable2)) { /*if*/
12798 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*/) /*PNode::==*/)))))));
12799 if (UNTAG_Bool(variable2)) { /*if*/
12800 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12801 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12802 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6817,3--28\n"); nit_exit(1);}
12803 ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/ = variable1 /*new_child*/;
12804 } else { /*if*/
12805 ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/ = NIT_NULL /*null*/;
12806 }
12807 goto return_label589;
12808 }
12809 variable2 = ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/;
12810 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*/) /*PType::==*/)))));
12811 if (UNTAG_Bool(variable2)) { /*if*/
12812 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*/) /*PNode::==*/)))))));
12813 if (UNTAG_Bool(variable2)) { /*if*/
12814 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12815 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
12816 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6827,3--28\n"); nit_exit(1);}
12817 ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/ = variable1 /*new_child*/;
12818 } else { /*if*/
12819 ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/ = NIT_NULL /*null*/;
12820 }
12821 goto return_label589;
12822 }
12823 return_label589: while(false);
12824 tracehead = trace.prev;
12825 return;
12826 }
12827 void parser_prod___AIsaExpr___visit_all(val_t self, val_t param0) {
12828 struct trace_t trace = {NULL, "parser_prod::AIsaExpr::visit_all (src/parser//parser_prod.nit:6836,5--6842:27)"};
12829 val_t variable0;
12830 val_t variable1;
12831 trace.prev = tracehead; tracehead = &trace;
12832 variable0 = param0;
12833 variable1 = ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/;
12834 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
12835 if (UNTAG_Bool(variable1)) { /*if*/
12836 variable1 = ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/;
12837 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12838 }
12839 variable1 = ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/;
12840 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PType::==*/)))))));
12841 if (UNTAG_Bool(variable1)) { /*if*/
12842 variable1 = ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/;
12843 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12844 }
12845 tracehead = trace.prev;
12846 return;
12847 }
12848 void parser_prod___AIsaExpr___visit_all_reverse(val_t self, val_t param0) {
12849 struct trace_t trace = {NULL, "parser_prod::AIsaExpr::visit_all_reverse (src/parser//parser_prod.nit:6846,5--6852:27)"};
12850 val_t variable0;
12851 val_t variable1;
12852 trace.prev = tracehead; tracehead = &trace;
12853 variable0 = param0;
12854 variable1 = ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/;
12855 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
12856 if (UNTAG_Bool(variable1)) { /*if*/
12857 variable1 = ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/;
12858 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12859 }
12860 variable1 = ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/;
12861 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PType::==*/)))))));
12862 if (UNTAG_Bool(variable1)) { /*if*/
12863 variable1 = ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/;
12864 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12865 }
12866 tracehead = trace.prev;
12867 return;
12868 }
12869 void parser_prod___APlusExpr___n_expr__eq(val_t self, val_t param0) {
12870 struct trace_t trace = {NULL, "parser_prod::APlusExpr::n_expr= (src/parser//parser_prod.nit:6857,5--6861:20)"};
12871 val_t variable0;
12872 val_t variable1;
12873 trace.prev = tracehead; tracehead = &trace;
12874 variable0 = param0;
12875 ATTR_parser_nodes___ASendExpr____n_expr( self) /*APlusExpr::_n_expr*/ = variable0 /*n*/;
12876 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*/) /*PExpr::==*/)))))));
12877 if (UNTAG_Bool(variable1)) { /*if*/
12878 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
12879 }
12880 tracehead = trace.prev;
12881 return;
12882 }
12883 void parser_prod___APlusExpr___n_expr2__eq(val_t self, val_t param0) {
12884 struct trace_t trace = {NULL, "parser_prod::APlusExpr::n_expr2= (src/parser//parser_prod.nit:6864,5--6868:20)"};
12885 val_t variable0;
12886 val_t variable1;
12887 trace.prev = tracehead; tracehead = &trace;
12888 variable0 = param0;
12889 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APlusExpr::_n_expr2*/ = variable0 /*n*/;
12890 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*/) /*PExpr::==*/)))))));
12891 if (UNTAG_Bool(variable1)) { /*if*/
12892 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
12893 }
12894 tracehead = trace.prev;
12895 return;
12896 }
12897 void parser_prod___APlusExpr___empty_init(val_t self, int* init_table) {
12898 struct trace_t trace = {NULL, "parser_prod::APlusExpr::empty_init (src/parser//parser_prod.nit:6872,5--27)"};
12899 trace.prev = tracehead; tracehead = &trace;
12900 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusExpr].i]) return;
12901 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
12902 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusExpr].i] = 1;
12903 tracehead = trace.prev;
12904 return;
12905 }
12906 void parser_prod___APlusExpr___init_aplusexpr(val_t self, val_t param0, val_t param1, int* init_table) {
12907 struct trace_t trace = {NULL, "parser_prod::APlusExpr::init_aplusexpr (src/parser//parser_prod.nit:6874,5--6885:23)"};
12908 val_t variable0;
12909 val_t variable1;
12910 val_t variable2;
12911 trace.prev = tracehead; tracehead = &trace;
12912 variable0 = param0;
12913 variable1 = param1;
12914 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusExpr].i]) return;
12915 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
12916 ATTR_parser_nodes___ASendExpr____n_expr( self) /*APlusExpr::_n_expr*/ = variable0 /*n_expr*/;
12917 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*/) /*PExpr::==*/)))))));
12918 if (UNTAG_Bool(variable2)) { /*if*/
12919 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
12920 }
12921 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APlusExpr::_n_expr2*/ = variable1 /*n_expr2*/;
12922 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*/) /*PExpr::==*/)))))));
12923 if (UNTAG_Bool(variable2)) { /*if*/
12924 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PExpr::parent=*/;
12925 }
12926 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusExpr].i] = 1;
12927 tracehead = trace.prev;
12928 return;
12929 }
12930 void parser_prod___APlusExpr___replace_child(val_t self, val_t param0, val_t param1) {
12931 struct trace_t trace = {NULL, "parser_prod::APlusExpr::replace_child (src/parser//parser_prod.nit:6889,5--6910:18)"};
12932 val_t variable0;
12933 val_t variable1;
12934 val_t variable2;
12935 trace.prev = tracehead; tracehead = &trace;
12936 variable0 = param0;
12937 variable1 = param1;
12938 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*/) /*PNode::==*/)))))));
12939 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6891,9--32\n"); nit_exit(1);}
12940 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*APlusExpr::_n_expr*/;
12941 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*/) /*PExpr::==*/)))));
12942 if (UNTAG_Bool(variable2)) { /*if*/
12943 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*/) /*PNode::==*/)))))));
12944 if (UNTAG_Bool(variable2)) { /*if*/
12945 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12946 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12947 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6895,3--28\n"); nit_exit(1);}
12948 ATTR_parser_nodes___ASendExpr____n_expr( self) /*APlusExpr::_n_expr*/ = variable1 /*new_child*/;
12949 } else { /*if*/
12950 ATTR_parser_nodes___ASendExpr____n_expr( self) /*APlusExpr::_n_expr*/ = NIT_NULL /*null*/;
12951 }
12952 goto return_label596;
12953 }
12954 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APlusExpr::_n_expr2*/;
12955 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*/) /*PExpr::==*/)))));
12956 if (UNTAG_Bool(variable2)) { /*if*/
12957 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*/) /*PNode::==*/)))))));
12958 if (UNTAG_Bool(variable2)) { /*if*/
12959 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
12960 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12961 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6905,3--28\n"); nit_exit(1);}
12962 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APlusExpr::_n_expr2*/ = variable1 /*new_child*/;
12963 } else { /*if*/
12964 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APlusExpr::_n_expr2*/ = NIT_NULL /*null*/;
12965 }
12966 goto return_label596;
12967 }
12968 return_label596: while(false);
12969 tracehead = trace.prev;
12970 return;
12971 }
12972 void parser_prod___APlusExpr___visit_all(val_t self, val_t param0) {
12973 struct trace_t trace = {NULL, "parser_prod::APlusExpr::visit_all (src/parser//parser_prod.nit:6914,5--6920:28)"};
12974 val_t variable0;
12975 val_t variable1;
12976 trace.prev = tracehead; tracehead = &trace;
12977 variable0 = param0;
12978 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*APlusExpr::_n_expr*/;
12979 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
12980 if (UNTAG_Bool(variable1)) { /*if*/
12981 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*APlusExpr::_n_expr*/;
12982 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12983 }
12984 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APlusExpr::_n_expr2*/;
12985 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
12986 if (UNTAG_Bool(variable1)) { /*if*/
12987 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APlusExpr::_n_expr2*/;
12988 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
12989 }
12990 tracehead = trace.prev;
12991 return;
12992 }
12993 void parser_prod___APlusExpr___visit_all_reverse(val_t self, val_t param0) {
12994 struct trace_t trace = {NULL, "parser_prod::APlusExpr::visit_all_reverse (src/parser//parser_prod.nit:6924,5--6930:28)"};
12995 val_t variable0;
12996 val_t variable1;
12997 trace.prev = tracehead; tracehead = &trace;
12998 variable0 = param0;
12999 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*APlusExpr::_n_expr*/;
13000 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
13001 if (UNTAG_Bool(variable1)) { /*if*/
13002 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*APlusExpr::_n_expr*/;
13003 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13004 }
13005 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APlusExpr::_n_expr2*/;
13006 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
13007 if (UNTAG_Bool(variable1)) { /*if*/
13008 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APlusExpr::_n_expr2*/;
13009 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13010 }
13011 tracehead = trace.prev;
13012 return;
13013 }
13014 void parser_prod___AMinusExpr___n_expr__eq(val_t self, val_t param0) {
13015 struct trace_t trace = {NULL, "parser_prod::AMinusExpr::n_expr= (src/parser//parser_prod.nit:6935,5--6939:20)"};
13016 val_t variable0;
13017 val_t variable1;
13018 trace.prev = tracehead; tracehead = &trace;
13019 variable0 = param0;
13020 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AMinusExpr::_n_expr*/ = variable0 /*n*/;
13021 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*/) /*PExpr::==*/)))))));
13022 if (UNTAG_Bool(variable1)) { /*if*/
13023 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
13024 }
13025 tracehead = trace.prev;
13026 return;
13027 }
13028 void parser_prod___AMinusExpr___n_expr2__eq(val_t self, val_t param0) {
13029 struct trace_t trace = {NULL, "parser_prod::AMinusExpr::n_expr2= (src/parser//parser_prod.nit:6942,5--6946:20)"};
13030 val_t variable0;
13031 val_t variable1;
13032 trace.prev = tracehead; tracehead = &trace;
13033 variable0 = param0;
13034 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AMinusExpr::_n_expr2*/ = variable0 /*n*/;
13035 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*/) /*PExpr::==*/)))))));
13036 if (UNTAG_Bool(variable1)) { /*if*/
13037 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
13038 }
13039 tracehead = trace.prev;
13040 return;
13041 }
13042 void parser_prod___AMinusExpr___empty_init(val_t self, int* init_table) {
13043 struct trace_t trace = {NULL, "parser_prod::AMinusExpr::empty_init (src/parser//parser_prod.nit:6950,5--27)"};
13044 trace.prev = tracehead; tracehead = &trace;
13045 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusExpr].i]) return;
13046 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
13047 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusExpr].i] = 1;
13048 tracehead = trace.prev;
13049 return;
13050 }
13051 void parser_prod___AMinusExpr___init_aminusexpr(val_t self, val_t param0, val_t param1, int* init_table) {
13052 struct trace_t trace = {NULL, "parser_prod::AMinusExpr::init_aminusexpr (src/parser//parser_prod.nit:6952,5--6963:23)"};
13053 val_t variable0;
13054 val_t variable1;
13055 val_t variable2;
13056 trace.prev = tracehead; tracehead = &trace;
13057 variable0 = param0;
13058 variable1 = param1;
13059 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusExpr].i]) return;
13060 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
13061 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AMinusExpr::_n_expr*/ = variable0 /*n_expr*/;
13062 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*/) /*PExpr::==*/)))))));
13063 if (UNTAG_Bool(variable2)) { /*if*/
13064 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
13065 }
13066 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AMinusExpr::_n_expr2*/ = variable1 /*n_expr2*/;
13067 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*/) /*PExpr::==*/)))))));
13068 if (UNTAG_Bool(variable2)) { /*if*/
13069 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PExpr::parent=*/;
13070 }
13071 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusExpr].i] = 1;
13072 tracehead = trace.prev;
13073 return;
13074 }
13075 void parser_prod___AMinusExpr___replace_child(val_t self, val_t param0, val_t param1) {
13076 struct trace_t trace = {NULL, "parser_prod::AMinusExpr::replace_child (src/parser//parser_prod.nit:6967,5--6988:18)"};
13077 val_t variable0;
13078 val_t variable1;
13079 val_t variable2;
13080 trace.prev = tracehead; tracehead = &trace;
13081 variable0 = param0;
13082 variable1 = param1;
13083 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*/) /*PNode::==*/)))))));
13084 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6969,9--32\n"); nit_exit(1);}
13085 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AMinusExpr::_n_expr*/;
13086 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*/) /*PExpr::==*/)))));
13087 if (UNTAG_Bool(variable2)) { /*if*/
13088 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*/) /*PNode::==*/)))))));
13089 if (UNTAG_Bool(variable2)) { /*if*/
13090 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13091 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13092 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6973,3--28\n"); nit_exit(1);}
13093 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AMinusExpr::_n_expr*/ = variable1 /*new_child*/;
13094 } else { /*if*/
13095 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AMinusExpr::_n_expr*/ = NIT_NULL /*null*/;
13096 }
13097 goto return_label603;
13098 }
13099 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AMinusExpr::_n_expr2*/;
13100 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*/) /*PExpr::==*/)))));
13101 if (UNTAG_Bool(variable2)) { /*if*/
13102 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*/) /*PNode::==*/)))))));
13103 if (UNTAG_Bool(variable2)) { /*if*/
13104 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13105 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13106 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:6983,3--28\n"); nit_exit(1);}
13107 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AMinusExpr::_n_expr2*/ = variable1 /*new_child*/;
13108 } else { /*if*/
13109 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AMinusExpr::_n_expr2*/ = NIT_NULL /*null*/;
13110 }
13111 goto return_label603;
13112 }
13113 return_label603: while(false);
13114 tracehead = trace.prev;
13115 return;
13116 }
13117 void parser_prod___AMinusExpr___visit_all(val_t self, val_t param0) {
13118 struct trace_t trace = {NULL, "parser_prod::AMinusExpr::visit_all (src/parser//parser_prod.nit:6992,5--6998:28)"};
13119 val_t variable0;
13120 val_t variable1;
13121 trace.prev = tracehead; tracehead = &trace;
13122 variable0 = param0;
13123 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AMinusExpr::_n_expr*/;
13124 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
13125 if (UNTAG_Bool(variable1)) { /*if*/
13126 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AMinusExpr::_n_expr*/;
13127 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13128 }
13129 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AMinusExpr::_n_expr2*/;
13130 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
13131 if (UNTAG_Bool(variable1)) { /*if*/
13132 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AMinusExpr::_n_expr2*/;
13133 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13134 }
13135 tracehead = trace.prev;
13136 return;
13137 }
13138 void parser_prod___AMinusExpr___visit_all_reverse(val_t self, val_t param0) {
13139 struct trace_t trace = {NULL, "parser_prod::AMinusExpr::visit_all_reverse (src/parser//parser_prod.nit:7002,5--7008:28)"};
13140 val_t variable0;
13141 val_t variable1;
13142 trace.prev = tracehead; tracehead = &trace;
13143 variable0 = param0;
13144 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AMinusExpr::_n_expr*/;
13145 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
13146 if (UNTAG_Bool(variable1)) { /*if*/
13147 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AMinusExpr::_n_expr*/;
13148 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13149 }
13150 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AMinusExpr::_n_expr2*/;
13151 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
13152 if (UNTAG_Bool(variable1)) { /*if*/
13153 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AMinusExpr::_n_expr2*/;
13154 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13155 }
13156 tracehead = trace.prev;
13157 return;
13158 }
13159 void parser_prod___AStarshipExpr___n_expr__eq(val_t self, val_t param0) {
13160 struct trace_t trace = {NULL, "parser_prod::AStarshipExpr::n_expr= (src/parser//parser_prod.nit:7013,5--7017:20)"};
13161 val_t variable0;
13162 val_t variable1;
13163 trace.prev = tracehead; tracehead = &trace;
13164 variable0 = param0;
13165 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarshipExpr::_n_expr*/ = variable0 /*n*/;
13166 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*/) /*PExpr::==*/)))))));
13167 if (UNTAG_Bool(variable1)) { /*if*/
13168 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
13169 }
13170 tracehead = trace.prev;
13171 return;
13172 }
13173 void parser_prod___AStarshipExpr___n_expr2__eq(val_t self, val_t param0) {
13174 struct trace_t trace = {NULL, "parser_prod::AStarshipExpr::n_expr2= (src/parser//parser_prod.nit:7020,5--7024:20)"};
13175 val_t variable0;
13176 val_t variable1;
13177 trace.prev = tracehead; tracehead = &trace;
13178 variable0 = param0;
13179 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarshipExpr::_n_expr2*/ = variable0 /*n*/;
13180 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*/) /*PExpr::==*/)))))));
13181 if (UNTAG_Bool(variable1)) { /*if*/
13182 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
13183 }
13184 tracehead = trace.prev;
13185 return;
13186 }
13187 void parser_prod___AStarshipExpr___empty_init(val_t self, int* init_table) {
13188 struct trace_t trace = {NULL, "parser_prod::AStarshipExpr::empty_init (src/parser//parser_prod.nit:7028,5--27)"};
13189 trace.prev = tracehead; tracehead = &trace;
13190 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipExpr].i]) return;
13191 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
13192 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipExpr].i] = 1;
13193 tracehead = trace.prev;
13194 return;
13195 }
13196 void parser_prod___AStarshipExpr___init_astarshipexpr(val_t self, val_t param0, val_t param1, int* init_table) {
13197 struct trace_t trace = {NULL, "parser_prod::AStarshipExpr::init_astarshipexpr (src/parser//parser_prod.nit:7030,5--7041:23)"};
13198 val_t variable0;
13199 val_t variable1;
13200 val_t variable2;
13201 trace.prev = tracehead; tracehead = &trace;
13202 variable0 = param0;
13203 variable1 = param1;
13204 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipExpr].i]) return;
13205 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
13206 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarshipExpr::_n_expr*/ = variable0 /*n_expr*/;
13207 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*/) /*PExpr::==*/)))))));
13208 if (UNTAG_Bool(variable2)) { /*if*/
13209 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
13210 }
13211 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarshipExpr::_n_expr2*/ = variable1 /*n_expr2*/;
13212 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*/) /*PExpr::==*/)))))));
13213 if (UNTAG_Bool(variable2)) { /*if*/
13214 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PExpr::parent=*/;
13215 }
13216 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipExpr].i] = 1;
13217 tracehead = trace.prev;
13218 return;
13219 }
13220 void parser_prod___AStarshipExpr___replace_child(val_t self, val_t param0, val_t param1) {
13221 struct trace_t trace = {NULL, "parser_prod::AStarshipExpr::replace_child (src/parser//parser_prod.nit:7045,5--7066:18)"};
13222 val_t variable0;
13223 val_t variable1;
13224 val_t variable2;
13225 trace.prev = tracehead; tracehead = &trace;
13226 variable0 = param0;
13227 variable1 = param1;
13228 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*/) /*PNode::==*/)))))));
13229 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7047,9--32\n"); nit_exit(1);}
13230 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarshipExpr::_n_expr*/;
13231 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*/) /*PExpr::==*/)))));
13232 if (UNTAG_Bool(variable2)) { /*if*/
13233 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*/) /*PNode::==*/)))))));
13234 if (UNTAG_Bool(variable2)) { /*if*/
13235 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13236 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13237 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7051,3--28\n"); nit_exit(1);}
13238 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarshipExpr::_n_expr*/ = variable1 /*new_child*/;
13239 } else { /*if*/
13240 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarshipExpr::_n_expr*/ = NIT_NULL /*null*/;
13241 }
13242 goto return_label610;
13243 }
13244 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarshipExpr::_n_expr2*/;
13245 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*/) /*PExpr::==*/)))));
13246 if (UNTAG_Bool(variable2)) { /*if*/
13247 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*/) /*PNode::==*/)))))));
13248 if (UNTAG_Bool(variable2)) { /*if*/
13249 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13250 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13251 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7061,3--28\n"); nit_exit(1);}
13252 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarshipExpr::_n_expr2*/ = variable1 /*new_child*/;
13253 } else { /*if*/
13254 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarshipExpr::_n_expr2*/ = NIT_NULL /*null*/;
13255 }
13256 goto return_label610;
13257 }
13258 return_label610: while(false);
13259 tracehead = trace.prev;
13260 return;
13261 }
13262 void parser_prod___AStarshipExpr___visit_all(val_t self, val_t param0) {
13263 struct trace_t trace = {NULL, "parser_prod::AStarshipExpr::visit_all (src/parser//parser_prod.nit:7070,5--7076:28)"};
13264 val_t variable0;
13265 val_t variable1;
13266 trace.prev = tracehead; tracehead = &trace;
13267 variable0 = param0;
13268 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarshipExpr::_n_expr*/;
13269 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
13270 if (UNTAG_Bool(variable1)) { /*if*/
13271 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarshipExpr::_n_expr*/;
13272 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13273 }
13274 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarshipExpr::_n_expr2*/;
13275 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
13276 if (UNTAG_Bool(variable1)) { /*if*/
13277 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarshipExpr::_n_expr2*/;
13278 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13279 }
13280 tracehead = trace.prev;
13281 return;
13282 }
13283 void parser_prod___AStarshipExpr___visit_all_reverse(val_t self, val_t param0) {
13284 struct trace_t trace = {NULL, "parser_prod::AStarshipExpr::visit_all_reverse (src/parser//parser_prod.nit:7080,5--7086:28)"};
13285 val_t variable0;
13286 val_t variable1;
13287 trace.prev = tracehead; tracehead = &trace;
13288 variable0 = param0;
13289 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarshipExpr::_n_expr*/;
13290 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
13291 if (UNTAG_Bool(variable1)) { /*if*/
13292 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarshipExpr::_n_expr*/;
13293 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13294 }
13295 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarshipExpr::_n_expr2*/;
13296 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
13297 if (UNTAG_Bool(variable1)) { /*if*/
13298 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarshipExpr::_n_expr2*/;
13299 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13300 }
13301 tracehead = trace.prev;
13302 return;
13303 }
13304 void parser_prod___AStarExpr___n_expr__eq(val_t self, val_t param0) {
13305 struct trace_t trace = {NULL, "parser_prod::AStarExpr::n_expr= (src/parser//parser_prod.nit:7091,5--7095:20)"};
13306 val_t variable0;
13307 val_t variable1;
13308 trace.prev = tracehead; tracehead = &trace;
13309 variable0 = param0;
13310 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarExpr::_n_expr*/ = variable0 /*n*/;
13311 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*/) /*PExpr::==*/)))))));
13312 if (UNTAG_Bool(variable1)) { /*if*/
13313 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
13314 }
13315 tracehead = trace.prev;
13316 return;
13317 }
13318 void parser_prod___AStarExpr___n_expr2__eq(val_t self, val_t param0) {
13319 struct trace_t trace = {NULL, "parser_prod::AStarExpr::n_expr2= (src/parser//parser_prod.nit:7098,5--7102:20)"};
13320 val_t variable0;
13321 val_t variable1;
13322 trace.prev = tracehead; tracehead = &trace;
13323 variable0 = param0;
13324 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarExpr::_n_expr2*/ = variable0 /*n*/;
13325 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*/) /*PExpr::==*/)))))));
13326 if (UNTAG_Bool(variable1)) { /*if*/
13327 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
13328 }
13329 tracehead = trace.prev;
13330 return;
13331 }
13332 void parser_prod___AStarExpr___empty_init(val_t self, int* init_table) {
13333 struct trace_t trace = {NULL, "parser_prod::AStarExpr::empty_init (src/parser//parser_prod.nit:7106,5--27)"};
13334 trace.prev = tracehead; tracehead = &trace;
13335 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarExpr].i]) return;
13336 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
13337 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarExpr].i] = 1;
13338 tracehead = trace.prev;
13339 return;
13340 }
13341 void parser_prod___AStarExpr___init_astarexpr(val_t self, val_t param0, val_t param1, int* init_table) {
13342 struct trace_t trace = {NULL, "parser_prod::AStarExpr::init_astarexpr (src/parser//parser_prod.nit:7108,5--7119:23)"};
13343 val_t variable0;
13344 val_t variable1;
13345 val_t variable2;
13346 trace.prev = tracehead; tracehead = &trace;
13347 variable0 = param0;
13348 variable1 = param1;
13349 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarExpr].i]) return;
13350 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
13351 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarExpr::_n_expr*/ = variable0 /*n_expr*/;
13352 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*/) /*PExpr::==*/)))))));
13353 if (UNTAG_Bool(variable2)) { /*if*/
13354 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
13355 }
13356 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarExpr::_n_expr2*/ = variable1 /*n_expr2*/;
13357 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*/) /*PExpr::==*/)))))));
13358 if (UNTAG_Bool(variable2)) { /*if*/
13359 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PExpr::parent=*/;
13360 }
13361 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarExpr].i] = 1;
13362 tracehead = trace.prev;
13363 return;
13364 }
13365 void parser_prod___AStarExpr___replace_child(val_t self, val_t param0, val_t param1) {
13366 struct trace_t trace = {NULL, "parser_prod::AStarExpr::replace_child (src/parser//parser_prod.nit:7123,5--7144:18)"};
13367 val_t variable0;
13368 val_t variable1;
13369 val_t variable2;
13370 trace.prev = tracehead; tracehead = &trace;
13371 variable0 = param0;
13372 variable1 = param1;
13373 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*/) /*PNode::==*/)))))));
13374 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7125,9--32\n"); nit_exit(1);}
13375 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarExpr::_n_expr*/;
13376 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*/) /*PExpr::==*/)))));
13377 if (UNTAG_Bool(variable2)) { /*if*/
13378 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*/) /*PNode::==*/)))))));
13379 if (UNTAG_Bool(variable2)) { /*if*/
13380 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13381 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13382 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7129,3--28\n"); nit_exit(1);}
13383 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarExpr::_n_expr*/ = variable1 /*new_child*/;
13384 } else { /*if*/
13385 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarExpr::_n_expr*/ = NIT_NULL /*null*/;
13386 }
13387 goto return_label617;
13388 }
13389 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarExpr::_n_expr2*/;
13390 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*/) /*PExpr::==*/)))));
13391 if (UNTAG_Bool(variable2)) { /*if*/
13392 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*/) /*PNode::==*/)))))));
13393 if (UNTAG_Bool(variable2)) { /*if*/
13394 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13395 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13396 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7139,3--28\n"); nit_exit(1);}
13397 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarExpr::_n_expr2*/ = variable1 /*new_child*/;
13398 } else { /*if*/
13399 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarExpr::_n_expr2*/ = NIT_NULL /*null*/;
13400 }
13401 goto return_label617;
13402 }
13403 return_label617: while(false);
13404 tracehead = trace.prev;
13405 return;
13406 }
13407 void parser_prod___AStarExpr___visit_all(val_t self, val_t param0) {
13408 struct trace_t trace = {NULL, "parser_prod::AStarExpr::visit_all (src/parser//parser_prod.nit:7148,5--7154:28)"};
13409 val_t variable0;
13410 val_t variable1;
13411 trace.prev = tracehead; tracehead = &trace;
13412 variable0 = param0;
13413 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarExpr::_n_expr*/;
13414 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
13415 if (UNTAG_Bool(variable1)) { /*if*/
13416 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarExpr::_n_expr*/;
13417 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13418 }
13419 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarExpr::_n_expr2*/;
13420 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
13421 if (UNTAG_Bool(variable1)) { /*if*/
13422 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarExpr::_n_expr2*/;
13423 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13424 }
13425 tracehead = trace.prev;
13426 return;
13427 }
13428 void parser_prod___AStarExpr___visit_all_reverse(val_t self, val_t param0) {
13429 struct trace_t trace = {NULL, "parser_prod::AStarExpr::visit_all_reverse (src/parser//parser_prod.nit:7158,5--7164:28)"};
13430 val_t variable0;
13431 val_t variable1;
13432 trace.prev = tracehead; tracehead = &trace;
13433 variable0 = param0;
13434 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarExpr::_n_expr*/;
13435 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
13436 if (UNTAG_Bool(variable1)) { /*if*/
13437 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarExpr::_n_expr*/;
13438 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13439 }
13440 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarExpr::_n_expr2*/;
13441 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
13442 if (UNTAG_Bool(variable1)) { /*if*/
13443 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarExpr::_n_expr2*/;
13444 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13445 }
13446 tracehead = trace.prev;
13447 return;
13448 }
13449 void parser_prod___ASlashExpr___n_expr__eq(val_t self, val_t param0) {
13450 struct trace_t trace = {NULL, "parser_prod::ASlashExpr::n_expr= (src/parser//parser_prod.nit:7169,5--7173:20)"};
13451 val_t variable0;
13452 val_t variable1;
13453 trace.prev = tracehead; tracehead = &trace;
13454 variable0 = param0;
13455 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASlashExpr::_n_expr*/ = variable0 /*n*/;
13456 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*/) /*PExpr::==*/)))))));
13457 if (UNTAG_Bool(variable1)) { /*if*/
13458 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
13459 }
13460 tracehead = trace.prev;
13461 return;
13462 }
13463 void parser_prod___ASlashExpr___n_expr2__eq(val_t self, val_t param0) {
13464 struct trace_t trace = {NULL, "parser_prod::ASlashExpr::n_expr2= (src/parser//parser_prod.nit:7176,5--7180:20)"};
13465 val_t variable0;
13466 val_t variable1;
13467 trace.prev = tracehead; tracehead = &trace;
13468 variable0 = param0;
13469 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ASlashExpr::_n_expr2*/ = variable0 /*n*/;
13470 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*/) /*PExpr::==*/)))))));
13471 if (UNTAG_Bool(variable1)) { /*if*/
13472 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
13473 }
13474 tracehead = trace.prev;
13475 return;
13476 }
13477 void parser_prod___ASlashExpr___empty_init(val_t self, int* init_table) {
13478 struct trace_t trace = {NULL, "parser_prod::ASlashExpr::empty_init (src/parser//parser_prod.nit:7184,5--27)"};
13479 trace.prev = tracehead; tracehead = &trace;
13480 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashExpr].i]) return;
13481 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
13482 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashExpr].i] = 1;
13483 tracehead = trace.prev;
13484 return;
13485 }
13486 void parser_prod___ASlashExpr___init_aslashexpr(val_t self, val_t param0, val_t param1, int* init_table) {
13487 struct trace_t trace = {NULL, "parser_prod::ASlashExpr::init_aslashexpr (src/parser//parser_prod.nit:7186,5--7197:23)"};
13488 val_t variable0;
13489 val_t variable1;
13490 val_t variable2;
13491 trace.prev = tracehead; tracehead = &trace;
13492 variable0 = param0;
13493 variable1 = param1;
13494 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashExpr].i]) return;
13495 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
13496 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASlashExpr::_n_expr*/ = variable0 /*n_expr*/;
13497 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*/) /*PExpr::==*/)))))));
13498 if (UNTAG_Bool(variable2)) { /*if*/
13499 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
13500 }
13501 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ASlashExpr::_n_expr2*/ = variable1 /*n_expr2*/;
13502 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*/) /*PExpr::==*/)))))));
13503 if (UNTAG_Bool(variable2)) { /*if*/
13504 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PExpr::parent=*/;
13505 }
13506 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashExpr].i] = 1;
13507 tracehead = trace.prev;
13508 return;
13509 }
13510 void parser_prod___ASlashExpr___replace_child(val_t self, val_t param0, val_t param1) {
13511 struct trace_t trace = {NULL, "parser_prod::ASlashExpr::replace_child (src/parser//parser_prod.nit:7201,5--7222:18)"};
13512 val_t variable0;
13513 val_t variable1;
13514 val_t variable2;
13515 trace.prev = tracehead; tracehead = &trace;
13516 variable0 = param0;
13517 variable1 = param1;
13518 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*/) /*PNode::==*/)))))));
13519 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7203,9--32\n"); nit_exit(1);}
13520 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASlashExpr::_n_expr*/;
13521 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*/) /*PExpr::==*/)))));
13522 if (UNTAG_Bool(variable2)) { /*if*/
13523 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*/) /*PNode::==*/)))))));
13524 if (UNTAG_Bool(variable2)) { /*if*/
13525 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13526 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13527 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7207,3--28\n"); nit_exit(1);}
13528 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASlashExpr::_n_expr*/ = variable1 /*new_child*/;
13529 } else { /*if*/
13530 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASlashExpr::_n_expr*/ = NIT_NULL /*null*/;
13531 }
13532 goto return_label624;
13533 }
13534 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ASlashExpr::_n_expr2*/;
13535 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*/) /*PExpr::==*/)))));
13536 if (UNTAG_Bool(variable2)) { /*if*/
13537 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*/) /*PNode::==*/)))))));
13538 if (UNTAG_Bool(variable2)) { /*if*/
13539 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13540 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13541 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7217,3--28\n"); nit_exit(1);}
13542 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ASlashExpr::_n_expr2*/ = variable1 /*new_child*/;
13543 } else { /*if*/
13544 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ASlashExpr::_n_expr2*/ = NIT_NULL /*null*/;
13545 }
13546 goto return_label624;
13547 }
13548 return_label624: while(false);
13549 tracehead = trace.prev;
13550 return;
13551 }
13552 void parser_prod___ASlashExpr___visit_all(val_t self, val_t param0) {
13553 struct trace_t trace = {NULL, "parser_prod::ASlashExpr::visit_all (src/parser//parser_prod.nit:7226,5--7232:28)"};
13554 val_t variable0;
13555 val_t variable1;
13556 trace.prev = tracehead; tracehead = &trace;
13557 variable0 = param0;
13558 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASlashExpr::_n_expr*/;
13559 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
13560 if (UNTAG_Bool(variable1)) { /*if*/
13561 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASlashExpr::_n_expr*/;
13562 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13563 }
13564 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ASlashExpr::_n_expr2*/;
13565 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
13566 if (UNTAG_Bool(variable1)) { /*if*/
13567 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ASlashExpr::_n_expr2*/;
13568 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13569 }
13570 tracehead = trace.prev;
13571 return;
13572 }
13573 void parser_prod___ASlashExpr___visit_all_reverse(val_t self, val_t param0) {
13574 struct trace_t trace = {NULL, "parser_prod::ASlashExpr::visit_all_reverse (src/parser//parser_prod.nit:7236,5--7242:28)"};
13575 val_t variable0;
13576 val_t variable1;
13577 trace.prev = tracehead; tracehead = &trace;
13578 variable0 = param0;
13579 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASlashExpr::_n_expr*/;
13580 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
13581 if (UNTAG_Bool(variable1)) { /*if*/
13582 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASlashExpr::_n_expr*/;
13583 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13584 }
13585 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ASlashExpr::_n_expr2*/;
13586 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
13587 if (UNTAG_Bool(variable1)) { /*if*/
13588 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ASlashExpr::_n_expr2*/;
13589 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13590 }
13591 tracehead = trace.prev;
13592 return;
13593 }
13594 void parser_prod___APercentExpr___n_expr__eq(val_t self, val_t param0) {
13595 struct trace_t trace = {NULL, "parser_prod::APercentExpr::n_expr= (src/parser//parser_prod.nit:7247,5--7251:20)"};
13596 val_t variable0;
13597 val_t variable1;
13598 trace.prev = tracehead; tracehead = &trace;
13599 variable0 = param0;
13600 ATTR_parser_nodes___ASendExpr____n_expr( self) /*APercentExpr::_n_expr*/ = variable0 /*n*/;
13601 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*/) /*PExpr::==*/)))))));
13602 if (UNTAG_Bool(variable1)) { /*if*/
13603 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
13604 }
13605 tracehead = trace.prev;
13606 return;
13607 }
13608 void parser_prod___APercentExpr___n_expr2__eq(val_t self, val_t param0) {
13609 struct trace_t trace = {NULL, "parser_prod::APercentExpr::n_expr2= (src/parser//parser_prod.nit:7254,5--7258:20)"};
13610 val_t variable0;
13611 val_t variable1;
13612 trace.prev = tracehead; tracehead = &trace;
13613 variable0 = param0;
13614 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APercentExpr::_n_expr2*/ = variable0 /*n*/;
13615 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*/) /*PExpr::==*/)))))));
13616 if (UNTAG_Bool(variable1)) { /*if*/
13617 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
13618 }
13619 tracehead = trace.prev;
13620 return;
13621 }
13622 void parser_prod___APercentExpr___empty_init(val_t self, int* init_table) {
13623 struct trace_t trace = {NULL, "parser_prod::APercentExpr::empty_init (src/parser//parser_prod.nit:7262,5--27)"};
13624 trace.prev = tracehead; tracehead = &trace;
13625 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentExpr].i]) return;
13626 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
13627 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentExpr].i] = 1;
13628 tracehead = trace.prev;
13629 return;
13630 }
13631 void parser_prod___APercentExpr___init_apercentexpr(val_t self, val_t param0, val_t param1, int* init_table) {
13632 struct trace_t trace = {NULL, "parser_prod::APercentExpr::init_apercentexpr (src/parser//parser_prod.nit:7264,5--7275:23)"};
13633 val_t variable0;
13634 val_t variable1;
13635 val_t variable2;
13636 trace.prev = tracehead; tracehead = &trace;
13637 variable0 = param0;
13638 variable1 = param1;
13639 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentExpr].i]) return;
13640 ((parser_prod___ABinopExpr___empty_init_t)CALL( self,COLOR_parser_prod___ABinopExpr___empty_init))( self, init_table /*YYY*/) /*ABinopExpr::empty_init*/;
13641 ATTR_parser_nodes___ASendExpr____n_expr( self) /*APercentExpr::_n_expr*/ = variable0 /*n_expr*/;
13642 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*/) /*PExpr::==*/)))))));
13643 if (UNTAG_Bool(variable2)) { /*if*/
13644 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
13645 }
13646 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APercentExpr::_n_expr2*/ = variable1 /*n_expr2*/;
13647 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*/) /*PExpr::==*/)))))));
13648 if (UNTAG_Bool(variable2)) { /*if*/
13649 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PExpr::parent=*/;
13650 }
13651 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentExpr].i] = 1;
13652 tracehead = trace.prev;
13653 return;
13654 }
13655 void parser_prod___APercentExpr___replace_child(val_t self, val_t param0, val_t param1) {
13656 struct trace_t trace = {NULL, "parser_prod::APercentExpr::replace_child (src/parser//parser_prod.nit:7279,5--7300:18)"};
13657 val_t variable0;
13658 val_t variable1;
13659 val_t variable2;
13660 trace.prev = tracehead; tracehead = &trace;
13661 variable0 = param0;
13662 variable1 = param1;
13663 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*/) /*PNode::==*/)))))));
13664 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7281,9--32\n"); nit_exit(1);}
13665 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*APercentExpr::_n_expr*/;
13666 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*/) /*PExpr::==*/)))));
13667 if (UNTAG_Bool(variable2)) { /*if*/
13668 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*/) /*PNode::==*/)))))));
13669 if (UNTAG_Bool(variable2)) { /*if*/
13670 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13671 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13672 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7285,3--28\n"); nit_exit(1);}
13673 ATTR_parser_nodes___ASendExpr____n_expr( self) /*APercentExpr::_n_expr*/ = variable1 /*new_child*/;
13674 } else { /*if*/
13675 ATTR_parser_nodes___ASendExpr____n_expr( self) /*APercentExpr::_n_expr*/ = NIT_NULL /*null*/;
13676 }
13677 goto return_label631;
13678 }
13679 variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APercentExpr::_n_expr2*/;
13680 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*/) /*PExpr::==*/)))));
13681 if (UNTAG_Bool(variable2)) { /*if*/
13682 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*/) /*PNode::==*/)))))));
13683 if (UNTAG_Bool(variable2)) { /*if*/
13684 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13685 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13686 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7295,3--28\n"); nit_exit(1);}
13687 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APercentExpr::_n_expr2*/ = variable1 /*new_child*/;
13688 } else { /*if*/
13689 ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APercentExpr::_n_expr2*/ = NIT_NULL /*null*/;
13690 }
13691 goto return_label631;
13692 }
13693 return_label631: while(false);
13694 tracehead = trace.prev;
13695 return;
13696 }
13697 void parser_prod___APercentExpr___visit_all(val_t self, val_t param0) {
13698 struct trace_t trace = {NULL, "parser_prod::APercentExpr::visit_all (src/parser//parser_prod.nit:7304,5--7310:28)"};
13699 val_t variable0;
13700 val_t variable1;
13701 trace.prev = tracehead; tracehead = &trace;
13702 variable0 = param0;
13703 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*APercentExpr::_n_expr*/;
13704 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
13705 if (UNTAG_Bool(variable1)) { /*if*/
13706 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*APercentExpr::_n_expr*/;
13707 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13708 }
13709 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APercentExpr::_n_expr2*/;
13710 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
13711 if (UNTAG_Bool(variable1)) { /*if*/
13712 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APercentExpr::_n_expr2*/;
13713 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13714 }
13715 tracehead = trace.prev;
13716 return;
13717 }
13718 void parser_prod___APercentExpr___visit_all_reverse(val_t self, val_t param0) {
13719 struct trace_t trace = {NULL, "parser_prod::APercentExpr::visit_all_reverse (src/parser//parser_prod.nit:7314,5--7320:28)"};
13720 val_t variable0;
13721 val_t variable1;
13722 trace.prev = tracehead; tracehead = &trace;
13723 variable0 = param0;
13724 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*APercentExpr::_n_expr*/;
13725 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
13726 if (UNTAG_Bool(variable1)) { /*if*/
13727 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*APercentExpr::_n_expr*/;
13728 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13729 }
13730 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APercentExpr::_n_expr2*/;
13731 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
13732 if (UNTAG_Bool(variable1)) { /*if*/
13733 variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APercentExpr::_n_expr2*/;
13734 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13735 }
13736 tracehead = trace.prev;
13737 return;
13738 }
13739 void parser_prod___AUminusExpr___n_minus__eq(val_t self, val_t param0) {
13740 struct trace_t trace = {NULL, "parser_prod::AUminusExpr::n_minus= (src/parser//parser_prod.nit:7325,5--7329:20)"};
13741 val_t variable0;
13742 val_t variable1;
13743 trace.prev = tracehead; tracehead = &trace;
13744 variable0 = param0;
13745 ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/ = variable0 /*n*/;
13746 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*/) /*TMinus::==*/)))))));
13747 if (UNTAG_Bool(variable1)) { /*if*/
13748 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TMinus::parent=*/;
13749 }
13750 tracehead = trace.prev;
13751 return;
13752 }
13753 void parser_prod___AUminusExpr___n_expr__eq(val_t self, val_t param0) {
13754 struct trace_t trace = {NULL, "parser_prod::AUminusExpr::n_expr= (src/parser//parser_prod.nit:7332,5--7336:20)"};
13755 val_t variable0;
13756 val_t variable1;
13757 trace.prev = tracehead; tracehead = &trace;
13758 variable0 = param0;
13759 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AUminusExpr::_n_expr*/ = variable0 /*n*/;
13760 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*/) /*PExpr::==*/)))))));
13761 if (UNTAG_Bool(variable1)) { /*if*/
13762 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
13763 }
13764 tracehead = trace.prev;
13765 return;
13766 }
13767 void parser_prod___AUminusExpr___empty_init(val_t self, int* init_table) {
13768 struct trace_t trace = {NULL, "parser_prod::AUminusExpr::empty_init (src/parser//parser_prod.nit:7340,5--27)"};
13769 trace.prev = tracehead; tracehead = &trace;
13770 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUminusExpr].i]) return;
13771 ((parser_prod___ASendExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASendExpr___empty_init))( self, init_table /*YYY*/) /*ASendExpr::empty_init*/;
13772 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUminusExpr].i] = 1;
13773 tracehead = trace.prev;
13774 return;
13775 }
13776 void parser_prod___AUminusExpr___init_auminusexpr(val_t self, val_t param0, val_t param1, int* init_table) {
13777 struct trace_t trace = {NULL, "parser_prod::AUminusExpr::init_auminusexpr (src/parser//parser_prod.nit:7342,5--7353:22)"};
13778 val_t variable0;
13779 val_t variable1;
13780 val_t variable2;
13781 trace.prev = tracehead; tracehead = &trace;
13782 variable0 = param0;
13783 variable1 = param1;
13784 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUminusExpr].i]) return;
13785 ((parser_prod___ASendExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASendExpr___empty_init))( self, init_table /*YYY*/) /*ASendExpr::empty_init*/;
13786 ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/ = variable0 /*n_minus*/;
13787 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*/) /*TMinus::==*/)))))));
13788 if (UNTAG_Bool(variable2)) { /*if*/
13789 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_minus*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_minus*/, self) /*TMinus::parent=*/;
13790 }
13791 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AUminusExpr::_n_expr*/ = variable1 /*n_expr*/;
13792 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*/) /*PExpr::==*/)))))));
13793 if (UNTAG_Bool(variable2)) { /*if*/
13794 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/, self) /*PExpr::parent=*/;
13795 }
13796 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUminusExpr].i] = 1;
13797 tracehead = trace.prev;
13798 return;
13799 }
13800 void parser_prod___AUminusExpr___replace_child(val_t self, val_t param0, val_t param1) {
13801 struct trace_t trace = {NULL, "parser_prod::AUminusExpr::replace_child (src/parser//parser_prod.nit:7357,5--7378:18)"};
13802 val_t variable0;
13803 val_t variable1;
13804 val_t variable2;
13805 trace.prev = tracehead; tracehead = &trace;
13806 variable0 = param0;
13807 variable1 = param1;
13808 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*/) /*PNode::==*/)))))));
13809 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7359,9--32\n"); nit_exit(1);}
13810 variable2 = ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/;
13811 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*/) /*TMinus::==*/)))));
13812 if (UNTAG_Bool(variable2)) { /*if*/
13813 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*/) /*PNode::==*/)))))));
13814 if (UNTAG_Bool(variable2)) { /*if*/
13815 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13816 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
13817 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7363,3--29\n"); nit_exit(1);}
13818 ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/ = variable1 /*new_child*/;
13819 } else { /*if*/
13820 ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/ = NIT_NULL /*null*/;
13821 }
13822 goto return_label638;
13823 }
13824 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AUminusExpr::_n_expr*/;
13825 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*/) /*PExpr::==*/)))));
13826 if (UNTAG_Bool(variable2)) { /*if*/
13827 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*/) /*PNode::==*/)))))));
13828 if (UNTAG_Bool(variable2)) { /*if*/
13829 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
13830 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13831 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7373,3--28\n"); nit_exit(1);}
13832 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AUminusExpr::_n_expr*/ = variable1 /*new_child*/;
13833 } else { /*if*/
13834 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AUminusExpr::_n_expr*/ = NIT_NULL /*null*/;
13835 }
13836 goto return_label638;
13837 }
13838 return_label638: while(false);
13839 tracehead = trace.prev;
13840 return;
13841 }
13842 void parser_prod___AUminusExpr___visit_all(val_t self, val_t param0) {
13843 struct trace_t trace = {NULL, "parser_prod::AUminusExpr::visit_all (src/parser//parser_prod.nit:7382,5--7388:27)"};
13844 val_t variable0;
13845 val_t variable1;
13846 trace.prev = tracehead; tracehead = &trace;
13847 variable0 = param0;
13848 variable1 = ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/;
13849 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TMinus::==*/)))))));
13850 if (UNTAG_Bool(variable1)) { /*if*/
13851 variable1 = ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/;
13852 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13853 }
13854 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AUminusExpr::_n_expr*/;
13855 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
13856 if (UNTAG_Bool(variable1)) { /*if*/
13857 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AUminusExpr::_n_expr*/;
13858 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13859 }
13860 tracehead = trace.prev;
13861 return;
13862 }
13863 void parser_prod___AUminusExpr___visit_all_reverse(val_t self, val_t param0) {
13864 struct trace_t trace = {NULL, "parser_prod::AUminusExpr::visit_all_reverse (src/parser//parser_prod.nit:7392,5--7398:27)"};
13865 val_t variable0;
13866 val_t variable1;
13867 trace.prev = tracehead; tracehead = &trace;
13868 variable0 = param0;
13869 variable1 = ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/;
13870 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TMinus::==*/)))))));
13871 if (UNTAG_Bool(variable1)) { /*if*/
13872 variable1 = ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/;
13873 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13874 }
13875 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AUminusExpr::_n_expr*/;
13876 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
13877 if (UNTAG_Bool(variable1)) { /*if*/
13878 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AUminusExpr::_n_expr*/;
13879 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
13880 }
13881 tracehead = trace.prev;
13882 return;
13883 }
13884 void parser_prod___ANewExpr___n_kwnew__eq(val_t self, val_t param0) {
13885 struct trace_t trace = {NULL, "parser_prod::ANewExpr::n_kwnew= (src/parser//parser_prod.nit:7403,5--7407:20)"};
13886 val_t variable0;
13887 val_t variable1;
13888 trace.prev = tracehead; tracehead = &trace;
13889 variable0 = param0;
13890 ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/ = variable0 /*n*/;
13891 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*/) /*TKwnew::==*/)))))));
13892 if (UNTAG_Bool(variable1)) { /*if*/
13893 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwnew::parent=*/;
13894 }
13895 tracehead = trace.prev;
13896 return;
13897 }
13898 void parser_prod___ANewExpr___n_type__eq(val_t self, val_t param0) {
13899 struct trace_t trace = {NULL, "parser_prod::ANewExpr::n_type= (src/parser//parser_prod.nit:7410,5--7414:20)"};
13900 val_t variable0;
13901 val_t variable1;
13902 trace.prev = tracehead; tracehead = &trace;
13903 variable0 = param0;
13904 ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/ = variable0 /*n*/;
13905 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*/) /*PType::==*/)))))));
13906 if (UNTAG_Bool(variable1)) { /*if*/
13907 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PType::parent=*/;
13908 }
13909 tracehead = trace.prev;
13910 return;
13911 }
13912 void parser_prod___ANewExpr___n_id__eq(val_t self, val_t param0) {
13913 struct trace_t trace = {NULL, "parser_prod::ANewExpr::n_id= (src/parser//parser_prod.nit:7417,5--7421:20)"};
13914 val_t variable0;
13915 val_t variable1;
13916 trace.prev = tracehead; tracehead = &trace;
13917 variable0 = param0;
13918 ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/ = variable0 /*n*/;
13919 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*/) /*TId::==*/)))))));
13920 if (UNTAG_Bool(variable1)) { /*if*/
13921 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TId::parent=*/;
13922 }
13923 tracehead = trace.prev;
13924 return;
13925 }
13926 void parser_prod___ANewExpr___empty_init(val_t self, int* init_table) {
13927 struct trace_t trace = {NULL, "parser_prod::ANewExpr::empty_init (src/parser//parser_prod.nit:7425,5--27)"};
13928 trace.prev = tracehead; tracehead = &trace;
13929 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANewExpr].i]) return;
13930 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANewExpr].i] = 1;
13931 tracehead = trace.prev;
13932 return;
13933 }
13934 void parser_prod___ANewExpr___init_anewexpr(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, int* init_table) {
13935 struct trace_t trace = {NULL, "parser_prod::ANewExpr::init_anewexpr (src/parser//parser_prod.nit:7427,5--7450:17)"};
13936 val_t variable0;
13937 val_t variable1;
13938 val_t variable2;
13939 val_t variable3;
13940 val_t variable4;
13941 val_t variable5;
13942 val_t variable6;
13943 trace.prev = tracehead; tracehead = &trace;
13944 variable0 = param0;
13945 variable1 = param1;
13946 variable2 = param2;
13947 variable3 = param3;
13948 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANewExpr].i]) return;
13949 ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/ = variable0 /*n_kwnew*/;
13950 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*/) /*TKwnew::==*/)))))));
13951 if (UNTAG_Bool(variable4)) { /*if*/
13952 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwnew*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwnew*/, self) /*TKwnew::parent=*/;
13953 }
13954 ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/ = variable1 /*n_type*/;
13955 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*/) /*PType::==*/)))))));
13956 if (UNTAG_Bool(variable4)) { /*if*/
13957 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_type*/, self) /*PType::parent=*/;
13958 }
13959 ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/ = variable2 /*n_id*/;
13960 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*/) /*TId::==*/)))))));
13961 if (UNTAG_Bool(variable4)) { /*if*/
13962 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_id*/, self) /*TId::parent=*/;
13963 }
13964 variable4 = NEW_list___List___init(); /*new List[PExpr]*/
13965 ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/ = variable4;
13966 variable4 = ((array___AbstractArray___iterator_t)CALL( variable3 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable3 /*n_args*/) /*Array::iterator*/;
13967 while (true) { /*for*/
13968 variable5 = ((array___ArrayIterator___is_ok_t)CALL(variable4,COLOR_abstract_collection___Iterator___is_ok))(variable4) /*ArrayIterator::is_ok*/;
13969 if (!UNTAG_Bool(variable5)) break; /*for*/
13970 variable5 = ((array___ArrayIterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*ArrayIterator::item*/;
13971 variable6 = TAG_Bool(( variable5 /*n*/==NIT_NULL) || VAL_ISA( variable5 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13972 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7448,3--20\n"); nit_exit(1);}
13973 variable6 = ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/;
13974 ((abstract_collection___IndexedCollection___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6, variable5 /*n*/) /*List::add*/;
13975 ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n*/, self) /*PExpr::parent=*/;
13976 continue_646: while(0);
13977 ((array___ArrayIterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*ArrayIterator::next*/;
13978 }
13979 break_646: while(0);
13980 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANewExpr].i] = 1;
13981 tracehead = trace.prev;
13982 return;
13983 }
13984 void parser_prod___ANewExpr___replace_child(val_t self, val_t param0, val_t param1) {
13985 struct trace_t trace = {NULL, "parser_prod::ANewExpr::replace_child (src/parser//parser_prod.nit:7454,5--7496:22)"};
13986 val_t variable0;
13987 val_t variable1;
13988 val_t variable2;
13989 val_t variable3;
13990 val_t variable4;
13991 trace.prev = tracehead; tracehead = &trace;
13992 variable0 = param0;
13993 variable1 = param1;
13994 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*/) /*PNode::==*/)))))));
13995 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7456,9--32\n"); nit_exit(1);}
13996 variable2 = ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/;
13997 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*/) /*TKwnew::==*/)))));
13998 if (UNTAG_Bool(variable2)) { /*if*/
13999 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*/) /*PNode::==*/)))))));
14000 if (UNTAG_Bool(variable2)) { /*if*/
14001 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14002 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
14003 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7460,3--29\n"); nit_exit(1);}
14004 ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/ = variable1 /*new_child*/;
14005 } else { /*if*/
14006 ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/ = NIT_NULL /*null*/;
14007 }
14008 goto return_label647;
14009 }
14010 variable2 = ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/;
14011 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*/) /*PType::==*/)))));
14012 if (UNTAG_Bool(variable2)) { /*if*/
14013 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*/) /*PNode::==*/)))))));
14014 if (UNTAG_Bool(variable2)) { /*if*/
14015 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14016 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PType, ID_PType)) /*cast PType*/;
14017 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7470,3--28\n"); nit_exit(1);}
14018 ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/ = variable1 /*new_child*/;
14019 } else { /*if*/
14020 ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/ = NIT_NULL /*null*/;
14021 }
14022 goto return_label647;
14023 }
14024 variable2 = ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/;
14025 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*/) /*TId::==*/)))));
14026 if (UNTAG_Bool(variable2)) { /*if*/
14027 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*/) /*PNode::==*/)))))));
14028 if (UNTAG_Bool(variable2)) { /*if*/
14029 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14030 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
14031 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7480,3--26\n"); nit_exit(1);}
14032 ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/ = variable1 /*new_child*/;
14033 } else { /*if*/
14034 ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/ = NIT_NULL /*null*/;
14035 }
14036 goto return_label647;
14037 }
14038 variable2 = ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/;
14039 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
14040 variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
14041 variable2 = variable3;
14042 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
14043 while (true) { /*for*/
14044 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
14045 if (!UNTAG_Bool(variable3)) break; /*for*/
14046 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
14047 variable4 = ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/;
14048 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
14049 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*/) /*PExpr::==*/)))));
14050 if (UNTAG_Bool(variable4)) { /*if*/
14051 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*/) /*PNode::==*/)))))));
14052 if (UNTAG_Bool(variable4)) { /*if*/
14053 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14054 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7490,7--32\n"); nit_exit(1);}
14055 variable4 = ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/;
14056 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
14057 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PExpr::parent=*/;
14058 } else { /*if*/
14059 variable4 = ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/;
14060 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
14061 }
14062 goto return_label647;
14063 }
14064 continue_648: while(0);
14065 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
14066 }
14067 break_648: while(0);
14068 return_label647: while(false);
14069 tracehead = trace.prev;
14070 return;
14071 }
14072 void parser_prod___ANewExpr___visit_all(val_t self, val_t param0) {
14073 struct trace_t trace = {NULL, "parser_prod::ANewExpr::visit_all (src/parser//parser_prod.nit:7501,5--7513:25)"};
14074 val_t variable0;
14075 val_t variable1;
14076 val_t variable2;
14077 trace.prev = tracehead; tracehead = &trace;
14078 variable0 = param0;
14079 variable1 = ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/;
14080 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwnew::==*/)))))));
14081 if (UNTAG_Bool(variable1)) { /*if*/
14082 variable1 = ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/;
14083 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14084 }
14085 variable1 = ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/;
14086 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PType::==*/)))))));
14087 if (UNTAG_Bool(variable1)) { /*if*/
14088 variable1 = ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/;
14089 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14090 }
14091 variable1 = ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/;
14092 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
14093 if (UNTAG_Bool(variable1)) { /*if*/
14094 variable1 = ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/;
14095 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14096 }
14097 variable1 = ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/;
14098 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
14099 while (true) { /*for*/
14100 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
14101 if (!UNTAG_Bool(variable2)) break; /*for*/
14102 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
14103 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
14104 continue_650: while(0);
14105 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
14106 }
14107 break_650: while(0);
14108 tracehead = trace.prev;
14109 return;
14110 }
14111 void parser_prod___ANewExpr___visit_all_reverse(val_t self, val_t param0) {
14112 struct trace_t trace = {NULL, "parser_prod::ANewExpr::visit_all_reverse (src/parser//parser_prod.nit:7517,5--7532:11)"};
14113 val_t variable0;
14114 val_t variable1;
14115 val_t variable2;
14116 trace.prev = tracehead; tracehead = &trace;
14117 variable0 = param0;
14118 variable1 = ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/;
14119 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwnew::==*/)))))));
14120 if (UNTAG_Bool(variable1)) { /*if*/
14121 variable1 = ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/;
14122 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14123 }
14124 variable1 = ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/;
14125 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PType::==*/)))))));
14126 if (UNTAG_Bool(variable1)) { /*if*/
14127 variable1 = ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/;
14128 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14129 }
14130 variable1 = ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/;
14131 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
14132 if (UNTAG_Bool(variable1)) { /*if*/
14133 variable1 = ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/;
14134 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14135 }
14136 variable2 = ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/;
14137 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
14138 variable1 = variable2;
14139 while (true) { /*while*/
14140 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
14141 if (!UNTAG_Bool(variable2)) break; /* while*/
14142 variable2 = ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/;
14143 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
14144 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
14145 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
14146 variable1 = variable2 /*i=*/;
14147 continue_652: while(0);
14148 }
14149 break_652: while(0);
14150 tracehead = trace.prev;
14151 return;
14152 }
14153 void parser_prod___AAttrExpr___n_expr__eq(val_t self, val_t param0) {
14154 struct trace_t trace = {NULL, "parser_prod::AAttrExpr::n_expr= (src/parser//parser_prod.nit:7538,5--7542:20)"};
14155 val_t variable0;
14156 val_t variable1;
14157 trace.prev = tracehead; tracehead = &trace;
14158 variable0 = param0;
14159 ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrExpr::_n_expr*/ = variable0 /*n*/;
14160 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*/) /*PExpr::==*/)))))));
14161 if (UNTAG_Bool(variable1)) { /*if*/
14162 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
14163 }
14164 tracehead = trace.prev;
14165 return;
14166 }
14167 void parser_prod___AAttrExpr___n_id__eq(val_t self, val_t param0) {
14168 struct trace_t trace = {NULL, "parser_prod::AAttrExpr::n_id= (src/parser//parser_prod.nit:7545,5--7549:20)"};
14169 val_t variable0;
14170 val_t variable1;
14171 trace.prev = tracehead; tracehead = &trace;
14172 variable0 = param0;
14173 ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrExpr::_n_id*/ = variable0 /*n*/;
14174 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*/) /*TAttrid::==*/)))))));
14175 if (UNTAG_Bool(variable1)) { /*if*/
14176 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TAttrid::parent=*/;
14177 }
14178 tracehead = trace.prev;
14179 return;
14180 }
14181 void parser_prod___AAttrExpr___empty_init(val_t self, int* init_table) {
14182 struct trace_t trace = {NULL, "parser_prod::AAttrExpr::empty_init (src/parser//parser_prod.nit:7553,5--27)"};
14183 trace.prev = tracehead; tracehead = &trace;
14184 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrExpr].i]) return;
14185 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrExpr].i] = 1;
14186 tracehead = trace.prev;
14187 return;
14188 }
14189 void parser_prod___AAttrExpr___init_aattrexpr(val_t self, val_t param0, val_t param1, int* init_table) {
14190 struct trace_t trace = {NULL, "parser_prod::AAttrExpr::init_aattrexpr (src/parser//parser_prod.nit:7555,5--7566:20)"};
14191 val_t variable0;
14192 val_t variable1;
14193 val_t variable2;
14194 trace.prev = tracehead; tracehead = &trace;
14195 variable0 = param0;
14196 variable1 = param1;
14197 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrExpr].i]) return;
14198 ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrExpr::_n_expr*/ = variable0 /*n_expr*/;
14199 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*/) /*PExpr::==*/)))))));
14200 if (UNTAG_Bool(variable2)) { /*if*/
14201 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
14202 }
14203 ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrExpr::_n_id*/ = variable1 /*n_id*/;
14204 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*/) /*TAttrid::==*/)))))));
14205 if (UNTAG_Bool(variable2)) { /*if*/
14206 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/, self) /*TAttrid::parent=*/;
14207 }
14208 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrExpr].i] = 1;
14209 tracehead = trace.prev;
14210 return;
14211 }
14212 void parser_prod___AAttrExpr___replace_child(val_t self, val_t param0, val_t param1) {
14213 struct trace_t trace = {NULL, "parser_prod::AAttrExpr::replace_child (src/parser//parser_prod.nit:7570,5--7591:18)"};
14214 val_t variable0;
14215 val_t variable1;
14216 val_t variable2;
14217 trace.prev = tracehead; tracehead = &trace;
14218 variable0 = param0;
14219 variable1 = param1;
14220 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*/) /*PNode::==*/)))))));
14221 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7572,9--32\n"); nit_exit(1);}
14222 variable2 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrExpr::_n_expr*/;
14223 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*/) /*PExpr::==*/)))));
14224 if (UNTAG_Bool(variable2)) { /*if*/
14225 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*/) /*PNode::==*/)))))));
14226 if (UNTAG_Bool(variable2)) { /*if*/
14227 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14228 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14229 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7576,3--28\n"); nit_exit(1);}
14230 ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrExpr::_n_expr*/ = variable1 /*new_child*/;
14231 } else { /*if*/
14232 ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrExpr::_n_expr*/ = NIT_NULL /*null*/;
14233 }
14234 goto return_label657;
14235 }
14236 variable2 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrExpr::_n_id*/;
14237 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*/) /*TAttrid::==*/)))));
14238 if (UNTAG_Bool(variable2)) { /*if*/
14239 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*/) /*PNode::==*/)))))));
14240 if (UNTAG_Bool(variable2)) { /*if*/
14241 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14242 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14243 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7586,3--30\n"); nit_exit(1);}
14244 ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrExpr::_n_id*/ = variable1 /*new_child*/;
14245 } else { /*if*/
14246 ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrExpr::_n_id*/ = NIT_NULL /*null*/;
14247 }
14248 goto return_label657;
14249 }
14250 return_label657: while(false);
14251 tracehead = trace.prev;
14252 return;
14253 }
14254 void parser_prod___AAttrExpr___visit_all(val_t self, val_t param0) {
14255 struct trace_t trace = {NULL, "parser_prod::AAttrExpr::visit_all (src/parser//parser_prod.nit:7595,5--7601:25)"};
14256 val_t variable0;
14257 val_t variable1;
14258 trace.prev = tracehead; tracehead = &trace;
14259 variable0 = param0;
14260 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrExpr::_n_expr*/;
14261 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
14262 if (UNTAG_Bool(variable1)) { /*if*/
14263 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrExpr::_n_expr*/;
14264 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14265 }
14266 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrExpr::_n_id*/;
14267 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TAttrid::==*/)))))));
14268 if (UNTAG_Bool(variable1)) { /*if*/
14269 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrExpr::_n_id*/;
14270 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14271 }
14272 tracehead = trace.prev;
14273 return;
14274 }
14275 void parser_prod___AAttrExpr___visit_all_reverse(val_t self, val_t param0) {
14276 struct trace_t trace = {NULL, "parser_prod::AAttrExpr::visit_all_reverse (src/parser//parser_prod.nit:7605,5--7611:25)"};
14277 val_t variable0;
14278 val_t variable1;
14279 trace.prev = tracehead; tracehead = &trace;
14280 variable0 = param0;
14281 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrExpr::_n_expr*/;
14282 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
14283 if (UNTAG_Bool(variable1)) { /*if*/
14284 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrExpr::_n_expr*/;
14285 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14286 }
14287 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrExpr::_n_id*/;
14288 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TAttrid::==*/)))))));
14289 if (UNTAG_Bool(variable1)) { /*if*/
14290 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrExpr::_n_id*/;
14291 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14292 }
14293 tracehead = trace.prev;
14294 return;
14295 }
14296 void parser_prod___AAttrAssignExpr___n_expr__eq(val_t self, val_t param0) {
14297 struct trace_t trace = {NULL, "parser_prod::AAttrAssignExpr::n_expr= (src/parser//parser_prod.nit:7616,5--7620:20)"};
14298 val_t variable0;
14299 val_t variable1;
14300 trace.prev = tracehead; tracehead = &trace;
14301 variable0 = param0;
14302 ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrAssignExpr::_n_expr*/ = variable0 /*n*/;
14303 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*/) /*PExpr::==*/)))))));
14304 if (UNTAG_Bool(variable1)) { /*if*/
14305 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
14306 }
14307 tracehead = trace.prev;
14308 return;
14309 }
14310 void parser_prod___AAttrAssignExpr___n_id__eq(val_t self, val_t param0) {
14311 struct trace_t trace = {NULL, "parser_prod::AAttrAssignExpr::n_id= (src/parser//parser_prod.nit:7623,5--7627:20)"};
14312 val_t variable0;
14313 val_t variable1;
14314 trace.prev = tracehead; tracehead = &trace;
14315 variable0 = param0;
14316 ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrAssignExpr::_n_id*/ = variable0 /*n*/;
14317 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*/) /*TAttrid::==*/)))))));
14318 if (UNTAG_Bool(variable1)) { /*if*/
14319 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TAttrid::parent=*/;
14320 }
14321 tracehead = trace.prev;
14322 return;
14323 }
14324 void parser_prod___AAttrAssignExpr___n_assign__eq(val_t self, val_t param0) {
14325 struct trace_t trace = {NULL, "parser_prod::AAttrAssignExpr::n_assign= (src/parser//parser_prod.nit:7630,5--7634:20)"};
14326 val_t variable0;
14327 val_t variable1;
14328 trace.prev = tracehead; tracehead = &trace;
14329 variable0 = param0;
14330 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAttrAssignExpr::_n_assign*/ = variable0 /*n*/;
14331 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*/) /*TAssign::==*/)))))));
14332 if (UNTAG_Bool(variable1)) { /*if*/
14333 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TAssign::parent=*/;
14334 }
14335 tracehead = trace.prev;
14336 return;
14337 }
14338 void parser_prod___AAttrAssignExpr___n_value__eq(val_t self, val_t param0) {
14339 struct trace_t trace = {NULL, "parser_prod::AAttrAssignExpr::n_value= (src/parser//parser_prod.nit:7637,5--7641:20)"};
14340 val_t variable0;
14341 val_t variable1;
14342 trace.prev = tracehead; tracehead = &trace;
14343 variable0 = param0;
14344 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAttrAssignExpr::_n_value*/ = variable0 /*n*/;
14345 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*/) /*PExpr::==*/)))))));
14346 if (UNTAG_Bool(variable1)) { /*if*/
14347 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
14348 }
14349 tracehead = trace.prev;
14350 return;
14351 }
14352 void parser_prod___AAttrAssignExpr___empty_init(val_t self, int* init_table) {
14353 struct trace_t trace = {NULL, "parser_prod::AAttrAssignExpr::empty_init (src/parser//parser_prod.nit:7645,5--27)"};
14354 trace.prev = tracehead; tracehead = &trace;
14355 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrAssignExpr].i]) return;
14356 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrAssignExpr].i] = 1;
14357 tracehead = trace.prev;
14358 return;
14359 }
14360 void parser_prod___AAttrAssignExpr___init_aattrassignexpr(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, int* init_table) {
14361 struct trace_t trace = {NULL, "parser_prod::AAttrAssignExpr::init_aattrassignexpr (src/parser//parser_prod.nit:7647,5--7668:23)"};
14362 val_t variable0;
14363 val_t variable1;
14364 val_t variable2;
14365 val_t variable3;
14366 val_t variable4;
14367 trace.prev = tracehead; tracehead = &trace;
14368 variable0 = param0;
14369 variable1 = param1;
14370 variable2 = param2;
14371 variable3 = param3;
14372 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrAssignExpr].i]) return;
14373 ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrAssignExpr::_n_expr*/ = variable0 /*n_expr*/;
14374 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*/) /*PExpr::==*/)))))));
14375 if (UNTAG_Bool(variable4)) { /*if*/
14376 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
14377 }
14378 ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrAssignExpr::_n_id*/ = variable1 /*n_id*/;
14379 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*/) /*TAttrid::==*/)))))));
14380 if (UNTAG_Bool(variable4)) { /*if*/
14381 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/, self) /*TAttrid::parent=*/;
14382 }
14383 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAttrAssignExpr::_n_assign*/ = variable2 /*n_assign*/;
14384 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*/) /*TAssign::==*/)))))));
14385 if (UNTAG_Bool(variable4)) { /*if*/
14386 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_assign*/, self) /*TAssign::parent=*/;
14387 }
14388 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAttrAssignExpr::_n_value*/ = variable3 /*n_value*/;
14389 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*/) /*PExpr::==*/)))))));
14390 if (UNTAG_Bool(variable4)) { /*if*/
14391 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_value*/, self) /*PExpr::parent=*/;
14392 }
14393 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrAssignExpr].i] = 1;
14394 tracehead = trace.prev;
14395 return;
14396 }
14397 void parser_prod___AAttrAssignExpr___replace_child(val_t self, val_t param0, val_t param1) {
14398 struct trace_t trace = {NULL, "parser_prod::AAttrAssignExpr::replace_child (src/parser//parser_prod.nit:7672,5--7713:18)"};
14399 val_t variable0;
14400 val_t variable1;
14401 val_t variable2;
14402 trace.prev = tracehead; tracehead = &trace;
14403 variable0 = param0;
14404 variable1 = param1;
14405 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*/) /*PNode::==*/)))))));
14406 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7674,9--32\n"); nit_exit(1);}
14407 variable2 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrAssignExpr::_n_expr*/;
14408 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*/) /*PExpr::==*/)))));
14409 if (UNTAG_Bool(variable2)) { /*if*/
14410 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*/) /*PNode::==*/)))))));
14411 if (UNTAG_Bool(variable2)) { /*if*/
14412 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14413 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14414 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7678,3--28\n"); nit_exit(1);}
14415 ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrAssignExpr::_n_expr*/ = variable1 /*new_child*/;
14416 } else { /*if*/
14417 ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrAssignExpr::_n_expr*/ = NIT_NULL /*null*/;
14418 }
14419 goto return_label666;
14420 }
14421 variable2 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrAssignExpr::_n_id*/;
14422 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*/) /*TAttrid::==*/)))));
14423 if (UNTAG_Bool(variable2)) { /*if*/
14424 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*/) /*PNode::==*/)))))));
14425 if (UNTAG_Bool(variable2)) { /*if*/
14426 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14427 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14428 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7688,3--30\n"); nit_exit(1);}
14429 ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrAssignExpr::_n_id*/ = variable1 /*new_child*/;
14430 } else { /*if*/
14431 ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrAssignExpr::_n_id*/ = NIT_NULL /*null*/;
14432 }
14433 goto return_label666;
14434 }
14435 variable2 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAttrAssignExpr::_n_assign*/;
14436 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*/) /*TAssign::==*/)))));
14437 if (UNTAG_Bool(variable2)) { /*if*/
14438 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*/) /*PNode::==*/)))))));
14439 if (UNTAG_Bool(variable2)) { /*if*/
14440 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14441 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
14442 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7698,3--30\n"); nit_exit(1);}
14443 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAttrAssignExpr::_n_assign*/ = variable1 /*new_child*/;
14444 } else { /*if*/
14445 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAttrAssignExpr::_n_assign*/ = NIT_NULL /*null*/;
14446 }
14447 goto return_label666;
14448 }
14449 variable2 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAttrAssignExpr::_n_value*/;
14450 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*/) /*PExpr::==*/)))));
14451 if (UNTAG_Bool(variable2)) { /*if*/
14452 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*/) /*PNode::==*/)))))));
14453 if (UNTAG_Bool(variable2)) { /*if*/
14454 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14455 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14456 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7708,3--28\n"); nit_exit(1);}
14457 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAttrAssignExpr::_n_value*/ = variable1 /*new_child*/;
14458 } else { /*if*/
14459 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAttrAssignExpr::_n_value*/ = NIT_NULL /*null*/;
14460 }
14461 goto return_label666;
14462 }
14463 return_label666: while(false);
14464 tracehead = trace.prev;
14465 return;
14466 }
14467 void parser_prod___AAttrAssignExpr___visit_all(val_t self, val_t param0) {
14468 struct trace_t trace = {NULL, "parser_prod::AAttrAssignExpr::visit_all (src/parser//parser_prod.nit:7717,5--7729:28)"};
14469 val_t variable0;
14470 val_t variable1;
14471 trace.prev = tracehead; tracehead = &trace;
14472 variable0 = param0;
14473 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrAssignExpr::_n_expr*/;
14474 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
14475 if (UNTAG_Bool(variable1)) { /*if*/
14476 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrAssignExpr::_n_expr*/;
14477 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14478 }
14479 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrAssignExpr::_n_id*/;
14480 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TAttrid::==*/)))))));
14481 if (UNTAG_Bool(variable1)) { /*if*/
14482 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrAssignExpr::_n_id*/;
14483 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14484 }
14485 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAttrAssignExpr::_n_assign*/;
14486 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TAssign::==*/)))))));
14487 if (UNTAG_Bool(variable1)) { /*if*/
14488 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAttrAssignExpr::_n_assign*/;
14489 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14490 }
14491 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAttrAssignExpr::_n_value*/;
14492 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
14493 if (UNTAG_Bool(variable1)) { /*if*/
14494 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAttrAssignExpr::_n_value*/;
14495 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14496 }
14497 tracehead = trace.prev;
14498 return;
14499 }
14500 void parser_prod___AAttrAssignExpr___visit_all_reverse(val_t self, val_t param0) {
14501 struct trace_t trace = {NULL, "parser_prod::AAttrAssignExpr::visit_all_reverse (src/parser//parser_prod.nit:7733,5--7745:28)"};
14502 val_t variable0;
14503 val_t variable1;
14504 trace.prev = tracehead; tracehead = &trace;
14505 variable0 = param0;
14506 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrAssignExpr::_n_expr*/;
14507 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
14508 if (UNTAG_Bool(variable1)) { /*if*/
14509 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrAssignExpr::_n_expr*/;
14510 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14511 }
14512 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrAssignExpr::_n_id*/;
14513 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TAttrid::==*/)))))));
14514 if (UNTAG_Bool(variable1)) { /*if*/
14515 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrAssignExpr::_n_id*/;
14516 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14517 }
14518 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAttrAssignExpr::_n_assign*/;
14519 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TAssign::==*/)))))));
14520 if (UNTAG_Bool(variable1)) { /*if*/
14521 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAttrAssignExpr::_n_assign*/;
14522 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14523 }
14524 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAttrAssignExpr::_n_value*/;
14525 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
14526 if (UNTAG_Bool(variable1)) { /*if*/
14527 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAttrAssignExpr::_n_value*/;
14528 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14529 }
14530 tracehead = trace.prev;
14531 return;
14532 }
14533 void parser_prod___AAttrReassignExpr___n_expr__eq(val_t self, val_t param0) {
14534 struct trace_t trace = {NULL, "parser_prod::AAttrReassignExpr::n_expr= (src/parser//parser_prod.nit:7750,5--7754:20)"};
14535 val_t variable0;
14536 val_t variable1;
14537 trace.prev = tracehead; tracehead = &trace;
14538 variable0 = param0;
14539 ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrReassignExpr::_n_expr*/ = variable0 /*n*/;
14540 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*/) /*PExpr::==*/)))))));
14541 if (UNTAG_Bool(variable1)) { /*if*/
14542 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
14543 }
14544 tracehead = trace.prev;
14545 return;
14546 }
14547 void parser_prod___AAttrReassignExpr___n_id__eq(val_t self, val_t param0) {
14548 struct trace_t trace = {NULL, "parser_prod::AAttrReassignExpr::n_id= (src/parser//parser_prod.nit:7757,5--7761:20)"};
14549 val_t variable0;
14550 val_t variable1;
14551 trace.prev = tracehead; tracehead = &trace;
14552 variable0 = param0;
14553 ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrReassignExpr::_n_id*/ = variable0 /*n*/;
14554 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*/) /*TAttrid::==*/)))))));
14555 if (UNTAG_Bool(variable1)) { /*if*/
14556 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TAttrid::parent=*/;
14557 }
14558 tracehead = trace.prev;
14559 return;
14560 }
14561 void parser_prod___AAttrReassignExpr___n_assign_op__eq(val_t self, val_t param0) {
14562 struct trace_t trace = {NULL, "parser_prod::AAttrReassignExpr::n_assign_op= (src/parser//parser_prod.nit:7764,5--7768:20)"};
14563 val_t variable0;
14564 val_t variable1;
14565 trace.prev = tracehead; tracehead = &trace;
14566 variable0 = param0;
14567 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AAttrReassignExpr::_n_assign_op*/ = variable0 /*n*/;
14568 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*/) /*PAssignOp::==*/)))))));
14569 if (UNTAG_Bool(variable1)) { /*if*/
14570 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PAssignOp::parent=*/;
14571 }
14572 tracehead = trace.prev;
14573 return;
14574 }
14575 void parser_prod___AAttrReassignExpr___n_value__eq(val_t self, val_t param0) {
14576 struct trace_t trace = {NULL, "parser_prod::AAttrReassignExpr::n_value= (src/parser//parser_prod.nit:7771,5--7775:20)"};
14577 val_t variable0;
14578 val_t variable1;
14579 trace.prev = tracehead; tracehead = &trace;
14580 variable0 = param0;
14581 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AAttrReassignExpr::_n_value*/ = variable0 /*n*/;
14582 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*/) /*PExpr::==*/)))))));
14583 if (UNTAG_Bool(variable1)) { /*if*/
14584 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
14585 }
14586 tracehead = trace.prev;
14587 return;
14588 }
14589 void parser_prod___AAttrReassignExpr___empty_init(val_t self, int* init_table) {
14590 struct trace_t trace = {NULL, "parser_prod::AAttrReassignExpr::empty_init (src/parser//parser_prod.nit:7779,5--27)"};
14591 trace.prev = tracehead; tracehead = &trace;
14592 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrReassignExpr].i]) return;
14593 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrReassignExpr].i] = 1;
14594 tracehead = trace.prev;
14595 return;
14596 }
14597 void parser_prod___AAttrReassignExpr___init_aattrreassignexpr(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, int* init_table) {
14598 struct trace_t trace = {NULL, "parser_prod::AAttrReassignExpr::init_aattrreassignexpr (src/parser//parser_prod.nit:7781,5--7802:23)"};
14599 val_t variable0;
14600 val_t variable1;
14601 val_t variable2;
14602 val_t variable3;
14603 val_t variable4;
14604 trace.prev = tracehead; tracehead = &trace;
14605 variable0 = param0;
14606 variable1 = param1;
14607 variable2 = param2;
14608 variable3 = param3;
14609 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrReassignExpr].i]) return;
14610 ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrReassignExpr::_n_expr*/ = variable0 /*n_expr*/;
14611 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*/) /*PExpr::==*/)))))));
14612 if (UNTAG_Bool(variable4)) { /*if*/
14613 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
14614 }
14615 ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrReassignExpr::_n_id*/ = variable1 /*n_id*/;
14616 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*/) /*TAttrid::==*/)))))));
14617 if (UNTAG_Bool(variable4)) { /*if*/
14618 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/, self) /*TAttrid::parent=*/;
14619 }
14620 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AAttrReassignExpr::_n_assign_op*/ = variable2 /*n_assign_op*/;
14621 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*/) /*PAssignOp::==*/)))))));
14622 if (UNTAG_Bool(variable4)) { /*if*/
14623 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_assign_op*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_assign_op*/, self) /*PAssignOp::parent=*/;
14624 }
14625 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AAttrReassignExpr::_n_value*/ = variable3 /*n_value*/;
14626 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*/) /*PExpr::==*/)))))));
14627 if (UNTAG_Bool(variable4)) { /*if*/
14628 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_value*/, self) /*PExpr::parent=*/;
14629 }
14630 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrReassignExpr].i] = 1;
14631 tracehead = trace.prev;
14632 return;
14633 }
14634 void parser_prod___AAttrReassignExpr___replace_child(val_t self, val_t param0, val_t param1) {
14635 struct trace_t trace = {NULL, "parser_prod::AAttrReassignExpr::replace_child (src/parser//parser_prod.nit:7806,5--7847:18)"};
14636 val_t variable0;
14637 val_t variable1;
14638 val_t variable2;
14639 trace.prev = tracehead; tracehead = &trace;
14640 variable0 = param0;
14641 variable1 = param1;
14642 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*/) /*PNode::==*/)))))));
14643 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7808,9--32\n"); nit_exit(1);}
14644 variable2 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrReassignExpr::_n_expr*/;
14645 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*/) /*PExpr::==*/)))));
14646 if (UNTAG_Bool(variable2)) { /*if*/
14647 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*/) /*PNode::==*/)))))));
14648 if (UNTAG_Bool(variable2)) { /*if*/
14649 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14650 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14651 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7812,3--28\n"); nit_exit(1);}
14652 ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrReassignExpr::_n_expr*/ = variable1 /*new_child*/;
14653 } else { /*if*/
14654 ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrReassignExpr::_n_expr*/ = NIT_NULL /*null*/;
14655 }
14656 goto return_label675;
14657 }
14658 variable2 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrReassignExpr::_n_id*/;
14659 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*/) /*TAttrid::==*/)))));
14660 if (UNTAG_Bool(variable2)) { /*if*/
14661 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*/) /*PNode::==*/)))))));
14662 if (UNTAG_Bool(variable2)) { /*if*/
14663 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14664 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14665 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7822,3--30\n"); nit_exit(1);}
14666 ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrReassignExpr::_n_id*/ = variable1 /*new_child*/;
14667 } else { /*if*/
14668 ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrReassignExpr::_n_id*/ = NIT_NULL /*null*/;
14669 }
14670 goto return_label675;
14671 }
14672 variable2 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AAttrReassignExpr::_n_assign_op*/;
14673 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*/) /*PAssignOp::==*/)))));
14674 if (UNTAG_Bool(variable2)) { /*if*/
14675 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*/) /*PNode::==*/)))))));
14676 if (UNTAG_Bool(variable2)) { /*if*/
14677 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14678 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
14679 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7832,3--32\n"); nit_exit(1);}
14680 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AAttrReassignExpr::_n_assign_op*/ = variable1 /*new_child*/;
14681 } else { /*if*/
14682 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AAttrReassignExpr::_n_assign_op*/ = NIT_NULL /*null*/;
14683 }
14684 goto return_label675;
14685 }
14686 variable2 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AAttrReassignExpr::_n_value*/;
14687 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*/) /*PExpr::==*/)))));
14688 if (UNTAG_Bool(variable2)) { /*if*/
14689 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*/) /*PNode::==*/)))))));
14690 if (UNTAG_Bool(variable2)) { /*if*/
14691 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14692 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14693 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7842,3--28\n"); nit_exit(1);}
14694 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AAttrReassignExpr::_n_value*/ = variable1 /*new_child*/;
14695 } else { /*if*/
14696 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AAttrReassignExpr::_n_value*/ = NIT_NULL /*null*/;
14697 }
14698 goto return_label675;
14699 }
14700 return_label675: while(false);
14701 tracehead = trace.prev;
14702 return;
14703 }
14704 void parser_prod___AAttrReassignExpr___visit_all(val_t self, val_t param0) {
14705 struct trace_t trace = {NULL, "parser_prod::AAttrReassignExpr::visit_all (src/parser//parser_prod.nit:7851,5--7863:28)"};
14706 val_t variable0;
14707 val_t variable1;
14708 trace.prev = tracehead; tracehead = &trace;
14709 variable0 = param0;
14710 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrReassignExpr::_n_expr*/;
14711 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
14712 if (UNTAG_Bool(variable1)) { /*if*/
14713 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrReassignExpr::_n_expr*/;
14714 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14715 }
14716 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrReassignExpr::_n_id*/;
14717 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TAttrid::==*/)))))));
14718 if (UNTAG_Bool(variable1)) { /*if*/
14719 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrReassignExpr::_n_id*/;
14720 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14721 }
14722 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AAttrReassignExpr::_n_assign_op*/;
14723 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PAssignOp::==*/)))))));
14724 if (UNTAG_Bool(variable1)) { /*if*/
14725 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AAttrReassignExpr::_n_assign_op*/;
14726 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14727 }
14728 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AAttrReassignExpr::_n_value*/;
14729 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
14730 if (UNTAG_Bool(variable1)) { /*if*/
14731 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AAttrReassignExpr::_n_value*/;
14732 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14733 }
14734 tracehead = trace.prev;
14735 return;
14736 }
14737 void parser_prod___AAttrReassignExpr___visit_all_reverse(val_t self, val_t param0) {
14738 struct trace_t trace = {NULL, "parser_prod::AAttrReassignExpr::visit_all_reverse (src/parser//parser_prod.nit:7867,5--7879:28)"};
14739 val_t variable0;
14740 val_t variable1;
14741 trace.prev = tracehead; tracehead = &trace;
14742 variable0 = param0;
14743 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrReassignExpr::_n_expr*/;
14744 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
14745 if (UNTAG_Bool(variable1)) { /*if*/
14746 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrReassignExpr::_n_expr*/;
14747 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14748 }
14749 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrReassignExpr::_n_id*/;
14750 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TAttrid::==*/)))))));
14751 if (UNTAG_Bool(variable1)) { /*if*/
14752 variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrReassignExpr::_n_id*/;
14753 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14754 }
14755 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AAttrReassignExpr::_n_assign_op*/;
14756 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PAssignOp::==*/)))))));
14757 if (UNTAG_Bool(variable1)) { /*if*/
14758 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AAttrReassignExpr::_n_assign_op*/;
14759 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14760 }
14761 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AAttrReassignExpr::_n_value*/;
14762 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
14763 if (UNTAG_Bool(variable1)) { /*if*/
14764 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AAttrReassignExpr::_n_value*/;
14765 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14766 }
14767 tracehead = trace.prev;
14768 return;
14769 }
14770 void parser_prod___ACallExpr___n_expr__eq(val_t self, val_t param0) {
14771 struct trace_t trace = {NULL, "parser_prod::ACallExpr::n_expr= (src/parser//parser_prod.nit:7884,5--7888:20)"};
14772 val_t variable0;
14773 val_t variable1;
14774 trace.prev = tracehead; tracehead = &trace;
14775 variable0 = param0;
14776 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallExpr::_n_expr*/ = variable0 /*n*/;
14777 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*/) /*PExpr::==*/)))))));
14778 if (UNTAG_Bool(variable1)) { /*if*/
14779 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
14780 }
14781 tracehead = trace.prev;
14782 return;
14783 }
14784 void parser_prod___ACallExpr___n_id__eq(val_t self, val_t param0) {
14785 struct trace_t trace = {NULL, "parser_prod::ACallExpr::n_id= (src/parser//parser_prod.nit:7891,5--7895:20)"};
14786 val_t variable0;
14787 val_t variable1;
14788 trace.prev = tracehead; tracehead = &trace;
14789 variable0 = param0;
14790 ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallExpr::_n_id*/ = variable0 /*n*/;
14791 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*/) /*TId::==*/)))))));
14792 if (UNTAG_Bool(variable1)) { /*if*/
14793 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TId::parent=*/;
14794 }
14795 tracehead = trace.prev;
14796 return;
14797 }
14798 void parser_prod___ACallExpr___empty_init(val_t self, int* init_table) {
14799 struct trace_t trace = {NULL, "parser_prod::ACallExpr::empty_init (src/parser//parser_prod.nit:7899,5--27)"};
14800 trace.prev = tracehead; tracehead = &trace;
14801 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallExpr].i]) return;
14802 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallExpr].i] = 1;
14803 tracehead = trace.prev;
14804 return;
14805 }
14806 void parser_prod___ACallExpr___init_acallexpr(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
14807 struct trace_t trace = {NULL, "parser_prod::ACallExpr::init_acallexpr (src/parser//parser_prod.nit:7901,5--7919:17)"};
14808 val_t variable0;
14809 val_t variable1;
14810 val_t variable2;
14811 val_t variable3;
14812 val_t variable4;
14813 val_t variable5;
14814 trace.prev = tracehead; tracehead = &trace;
14815 variable0 = param0;
14816 variable1 = param1;
14817 variable2 = param2;
14818 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallExpr].i]) return;
14819 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallExpr::_n_expr*/ = variable0 /*n_expr*/;
14820 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*/) /*PExpr::==*/)))))));
14821 if (UNTAG_Bool(variable3)) { /*if*/
14822 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
14823 }
14824 ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallExpr::_n_id*/ = variable1 /*n_id*/;
14825 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*/) /*TId::==*/)))))));
14826 if (UNTAG_Bool(variable3)) { /*if*/
14827 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/, self) /*TId::parent=*/;
14828 }
14829 variable3 = NEW_list___List___init(); /*new List[PExpr]*/
14830 ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallExpr::_n_args*/ = variable3;
14831 variable3 = ((array___AbstractArray___iterator_t)CALL( variable2 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*n_args*/) /*Array::iterator*/;
14832 while (true) { /*for*/
14833 variable4 = ((array___ArrayIterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*ArrayIterator::is_ok*/;
14834 if (!UNTAG_Bool(variable4)) break; /*for*/
14835 variable4 = ((array___ArrayIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ArrayIterator::item*/;
14836 variable5 = TAG_Bool(( variable4 /*n*/==NIT_NULL) || VAL_ISA( variable4 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14837 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7917,3--20\n"); nit_exit(1);}
14838 variable5 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallExpr::_n_args*/;
14839 ((abstract_collection___IndexedCollection___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5, variable4 /*n*/) /*List::add*/;
14840 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n*/, self) /*PExpr::parent=*/;
14841 continue_682: while(0);
14842 ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
14843 }
14844 break_682: while(0);
14845 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallExpr].i] = 1;
14846 tracehead = trace.prev;
14847 return;
14848 }
14849 void parser_prod___ACallExpr___replace_child(val_t self, val_t param0, val_t param1) {
14850 struct trace_t trace = {NULL, "parser_prod::ACallExpr::replace_child (src/parser//parser_prod.nit:7923,5--7955:22)"};
14851 val_t variable0;
14852 val_t variable1;
14853 val_t variable2;
14854 val_t variable3;
14855 val_t variable4;
14856 trace.prev = tracehead; tracehead = &trace;
14857 variable0 = param0;
14858 variable1 = param1;
14859 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*/) /*PNode::==*/)))))));
14860 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7925,9--32\n"); nit_exit(1);}
14861 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallExpr::_n_expr*/;
14862 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*/) /*PExpr::==*/)))));
14863 if (UNTAG_Bool(variable2)) { /*if*/
14864 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*/) /*PNode::==*/)))))));
14865 if (UNTAG_Bool(variable2)) { /*if*/
14866 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14867 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14868 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7929,3--28\n"); nit_exit(1);}
14869 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallExpr::_n_expr*/ = variable1 /*new_child*/;
14870 } else { /*if*/
14871 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallExpr::_n_expr*/ = NIT_NULL /*null*/;
14872 }
14873 goto return_label683;
14874 }
14875 variable2 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallExpr::_n_id*/;
14876 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*/) /*TId::==*/)))));
14877 if (UNTAG_Bool(variable2)) { /*if*/
14878 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*/) /*PNode::==*/)))))));
14879 if (UNTAG_Bool(variable2)) { /*if*/
14880 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
14881 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
14882 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7939,3--26\n"); nit_exit(1);}
14883 ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallExpr::_n_id*/ = variable1 /*new_child*/;
14884 } else { /*if*/
14885 ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallExpr::_n_id*/ = NIT_NULL /*null*/;
14886 }
14887 goto return_label683;
14888 }
14889 variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallExpr::_n_args*/;
14890 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
14891 variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
14892 variable2 = variable3;
14893 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
14894 while (true) { /*for*/
14895 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
14896 if (!UNTAG_Bool(variable3)) break; /*for*/
14897 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
14898 variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallExpr::_n_args*/;
14899 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
14900 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*/) /*PExpr::==*/)))));
14901 if (UNTAG_Bool(variable4)) { /*if*/
14902 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*/) /*PNode::==*/)))))));
14903 if (UNTAG_Bool(variable4)) { /*if*/
14904 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14905 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:7949,7--32\n"); nit_exit(1);}
14906 variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallExpr::_n_args*/;
14907 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
14908 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PExpr::parent=*/;
14909 } else { /*if*/
14910 variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallExpr::_n_args*/;
14911 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
14912 }
14913 goto return_label683;
14914 }
14915 continue_684: while(0);
14916 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
14917 }
14918 break_684: while(0);
14919 return_label683: while(false);
14920 tracehead = trace.prev;
14921 return;
14922 }
14923 void parser_prod___ACallExpr___visit_all(val_t self, val_t param0) {
14924 struct trace_t trace = {NULL, "parser_prod::ACallExpr::visit_all (src/parser//parser_prod.nit:7960,5--7969:25)"};
14925 val_t variable0;
14926 val_t variable1;
14927 val_t variable2;
14928 trace.prev = tracehead; tracehead = &trace;
14929 variable0 = param0;
14930 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallExpr::_n_expr*/;
14931 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
14932 if (UNTAG_Bool(variable1)) { /*if*/
14933 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallExpr::_n_expr*/;
14934 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14935 }
14936 variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallExpr::_n_id*/;
14937 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
14938 if (UNTAG_Bool(variable1)) { /*if*/
14939 variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallExpr::_n_id*/;
14940 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14941 }
14942 variable1 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallExpr::_n_args*/;
14943 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
14944 while (true) { /*for*/
14945 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
14946 if (!UNTAG_Bool(variable2)) break; /*for*/
14947 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
14948 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
14949 continue_686: while(0);
14950 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
14951 }
14952 break_686: while(0);
14953 tracehead = trace.prev;
14954 return;
14955 }
14956 void parser_prod___ACallExpr___visit_all_reverse(val_t self, val_t param0) {
14957 struct trace_t trace = {NULL, "parser_prod::ACallExpr::visit_all_reverse (src/parser//parser_prod.nit:7973,5--7985:11)"};
14958 val_t variable0;
14959 val_t variable1;
14960 val_t variable2;
14961 trace.prev = tracehead; tracehead = &trace;
14962 variable0 = param0;
14963 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallExpr::_n_expr*/;
14964 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
14965 if (UNTAG_Bool(variable1)) { /*if*/
14966 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallExpr::_n_expr*/;
14967 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14968 }
14969 variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallExpr::_n_id*/;
14970 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
14971 if (UNTAG_Bool(variable1)) { /*if*/
14972 variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallExpr::_n_id*/;
14973 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
14974 }
14975 variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallExpr::_n_args*/;
14976 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
14977 variable1 = variable2;
14978 while (true) { /*while*/
14979 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
14980 if (!UNTAG_Bool(variable2)) break; /* while*/
14981 variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallExpr::_n_args*/;
14982 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
14983 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
14984 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
14985 variable1 = variable2 /*i=*/;
14986 continue_688: while(0);
14987 }
14988 break_688: while(0);
14989 tracehead = trace.prev;
14990 return;
14991 }
14992 void parser_prod___ACallAssignExpr___n_expr__eq(val_t self, val_t param0) {
14993 struct trace_t trace = {NULL, "parser_prod::ACallAssignExpr::n_expr= (src/parser//parser_prod.nit:7991,5--7995:20)"};
14994 val_t variable0;
14995 val_t variable1;
14996 trace.prev = tracehead; tracehead = &trace;
14997 variable0 = param0;
14998 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallAssignExpr::_n_expr*/ = variable0 /*n*/;
14999 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*/) /*PExpr::==*/)))))));
15000 if (UNTAG_Bool(variable1)) { /*if*/
15001 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
15002 }
15003 tracehead = trace.prev;
15004 return;
15005 }
15006 void parser_prod___ACallAssignExpr___n_id__eq(val_t self, val_t param0) {
15007 struct trace_t trace = {NULL, "parser_prod::ACallAssignExpr::n_id= (src/parser//parser_prod.nit:7998,5--8002:20)"};
15008 val_t variable0;
15009 val_t variable1;
15010 trace.prev = tracehead; tracehead = &trace;
15011 variable0 = param0;
15012 ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallAssignExpr::_n_id*/ = variable0 /*n*/;
15013 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*/) /*TId::==*/)))))));
15014 if (UNTAG_Bool(variable1)) { /*if*/
15015 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TId::parent=*/;
15016 }
15017 tracehead = trace.prev;
15018 return;
15019 }
15020 void parser_prod___ACallAssignExpr___n_assign__eq(val_t self, val_t param0) {
15021 struct trace_t trace = {NULL, "parser_prod::ACallAssignExpr::n_assign= (src/parser//parser_prod.nit:8005,5--8009:20)"};
15022 val_t variable0;
15023 val_t variable1;
15024 trace.prev = tracehead; tracehead = &trace;
15025 variable0 = param0;
15026 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ACallAssignExpr::_n_assign*/ = variable0 /*n*/;
15027 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*/) /*TAssign::==*/)))))));
15028 if (UNTAG_Bool(variable1)) { /*if*/
15029 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TAssign::parent=*/;
15030 }
15031 tracehead = trace.prev;
15032 return;
15033 }
15034 void parser_prod___ACallAssignExpr___n_value__eq(val_t self, val_t param0) {
15035 struct trace_t trace = {NULL, "parser_prod::ACallAssignExpr::n_value= (src/parser//parser_prod.nit:8012,5--8016:20)"};
15036 val_t variable0;
15037 val_t variable1;
15038 trace.prev = tracehead; tracehead = &trace;
15039 variable0 = param0;
15040 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ACallAssignExpr::_n_value*/ = variable0 /*n*/;
15041 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*/) /*PExpr::==*/)))))));
15042 if (UNTAG_Bool(variable1)) { /*if*/
15043 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
15044 }
15045 tracehead = trace.prev;
15046 return;
15047 }
15048 void parser_prod___ACallAssignExpr___empty_init(val_t self, int* init_table) {
15049 struct trace_t trace = {NULL, "parser_prod::ACallAssignExpr::empty_init (src/parser//parser_prod.nit:8020,5--27)"};
15050 trace.prev = tracehead; tracehead = &trace;
15051 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallAssignExpr].i]) return;
15052 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallAssignExpr].i] = 1;
15053 tracehead = trace.prev;
15054 return;
15055 }
15056 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) {
15057 struct trace_t trace = {NULL, "parser_prod::ACallAssignExpr::init_acallassignexpr (src/parser//parser_prod.nit:8022,5--8050:23)"};
15058 val_t variable0;
15059 val_t variable1;
15060 val_t variable2;
15061 val_t variable3;
15062 val_t variable4;
15063 val_t variable5;
15064 val_t variable6;
15065 val_t variable7;
15066 trace.prev = tracehead; tracehead = &trace;
15067 variable0 = param0;
15068 variable1 = param1;
15069 variable2 = param2;
15070 variable3 = param3;
15071 variable4 = param4;
15072 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallAssignExpr].i]) return;
15073 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallAssignExpr::_n_expr*/ = variable0 /*n_expr*/;
15074 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*/) /*PExpr::==*/)))))));
15075 if (UNTAG_Bool(variable5)) { /*if*/
15076 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
15077 }
15078 ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallAssignExpr::_n_id*/ = variable1 /*n_id*/;
15079 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*/) /*TId::==*/)))))));
15080 if (UNTAG_Bool(variable5)) { /*if*/
15081 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/, self) /*TId::parent=*/;
15082 }
15083 variable5 = NEW_list___List___init(); /*new List[PExpr]*/
15084 ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallAssignExpr::_n_args*/ = variable5;
15085 variable5 = ((array___AbstractArray___iterator_t)CALL( variable2 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*n_args*/) /*Array::iterator*/;
15086 while (true) { /*for*/
15087 variable6 = ((array___ArrayIterator___is_ok_t)CALL(variable5,COLOR_abstract_collection___Iterator___is_ok))(variable5) /*ArrayIterator::is_ok*/;
15088 if (!UNTAG_Bool(variable6)) break; /*for*/
15089 variable6 = ((array___ArrayIterator___item_t)CALL(variable5,COLOR_abstract_collection___Iterator___item))(variable5) /*ArrayIterator::item*/;
15090 variable7 = TAG_Bool(( variable6 /*n*/==NIT_NULL) || VAL_ISA( variable6 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15091 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8040,3--20\n"); nit_exit(1);}
15092 variable7 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallAssignExpr::_n_args*/;
15093 ((abstract_collection___IndexedCollection___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable6 /*n*/) /*List::add*/;
15094 ((parser_prod___PNode___parent__eq_t)CALL( variable6 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable6 /*n*/, self) /*PExpr::parent=*/;
15095 continue_695: while(0);
15096 ((array___ArrayIterator___next_t)CALL(variable5,COLOR_abstract_collection___Iterator___next))(variable5) /*ArrayIterator::next*/;
15097 }
15098 break_695: while(0);
15099 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ACallAssignExpr::_n_assign*/ = variable3 /*n_assign*/;
15100 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*/) /*TAssign::==*/)))))));
15101 if (UNTAG_Bool(variable5)) { /*if*/
15102 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_assign*/, self) /*TAssign::parent=*/;
15103 }
15104 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ACallAssignExpr::_n_value*/ = variable4 /*n_value*/;
15105 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*/) /*PExpr::==*/)))))));
15106 if (UNTAG_Bool(variable5)) { /*if*/
15107 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_value*/, self) /*PExpr::parent=*/;
15108 }
15109 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallAssignExpr].i] = 1;
15110 tracehead = trace.prev;
15111 return;
15112 }
15113 void parser_prod___ACallAssignExpr___replace_child(val_t self, val_t param0, val_t param1) {
15114 struct trace_t trace = {NULL, "parser_prod::ACallAssignExpr::replace_child (src/parser//parser_prod.nit:8054,5--8107:18)"};
15115 val_t variable0;
15116 val_t variable1;
15117 val_t variable2;
15118 val_t variable3;
15119 val_t variable4;
15120 trace.prev = tracehead; tracehead = &trace;
15121 variable0 = param0;
15122 variable1 = param1;
15123 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*/) /*PNode::==*/)))))));
15124 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8056,9--32\n"); nit_exit(1);}
15125 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallAssignExpr::_n_expr*/;
15126 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*/) /*PExpr::==*/)))));
15127 if (UNTAG_Bool(variable2)) { /*if*/
15128 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*/) /*PNode::==*/)))))));
15129 if (UNTAG_Bool(variable2)) { /*if*/
15130 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15131 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15132 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8060,3--28\n"); nit_exit(1);}
15133 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallAssignExpr::_n_expr*/ = variable1 /*new_child*/;
15134 } else { /*if*/
15135 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallAssignExpr::_n_expr*/ = NIT_NULL /*null*/;
15136 }
15137 goto return_label696;
15138 }
15139 variable2 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallAssignExpr::_n_id*/;
15140 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*/) /*TId::==*/)))));
15141 if (UNTAG_Bool(variable2)) { /*if*/
15142 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*/) /*PNode::==*/)))))));
15143 if (UNTAG_Bool(variable2)) { /*if*/
15144 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15145 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
15146 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8070,3--26\n"); nit_exit(1);}
15147 ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallAssignExpr::_n_id*/ = variable1 /*new_child*/;
15148 } else { /*if*/
15149 ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallAssignExpr::_n_id*/ = NIT_NULL /*null*/;
15150 }
15151 goto return_label696;
15152 }
15153 variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallAssignExpr::_n_args*/;
15154 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
15155 variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
15156 variable2 = variable3;
15157 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
15158 while (true) { /*for*/
15159 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
15160 if (!UNTAG_Bool(variable3)) break; /*for*/
15161 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
15162 variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallAssignExpr::_n_args*/;
15163 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
15164 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*/) /*PExpr::==*/)))));
15165 if (UNTAG_Bool(variable4)) { /*if*/
15166 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*/) /*PNode::==*/)))))));
15167 if (UNTAG_Bool(variable4)) { /*if*/
15168 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15169 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8080,7--32\n"); nit_exit(1);}
15170 variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallAssignExpr::_n_args*/;
15171 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
15172 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PExpr::parent=*/;
15173 } else { /*if*/
15174 variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallAssignExpr::_n_args*/;
15175 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
15176 }
15177 goto return_label696;
15178 }
15179 continue_697: while(0);
15180 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
15181 }
15182 break_697: while(0);
15183 variable2 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ACallAssignExpr::_n_assign*/;
15184 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*/) /*TAssign::==*/)))));
15185 if (UNTAG_Bool(variable2)) { /*if*/
15186 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*/) /*PNode::==*/)))))));
15187 if (UNTAG_Bool(variable2)) { /*if*/
15188 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15189 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
15190 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8092,3--30\n"); nit_exit(1);}
15191 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ACallAssignExpr::_n_assign*/ = variable1 /*new_child*/;
15192 } else { /*if*/
15193 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ACallAssignExpr::_n_assign*/ = NIT_NULL /*null*/;
15194 }
15195 goto return_label696;
15196 }
15197 variable2 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ACallAssignExpr::_n_value*/;
15198 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*/) /*PExpr::==*/)))));
15199 if (UNTAG_Bool(variable2)) { /*if*/
15200 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*/) /*PNode::==*/)))))));
15201 if (UNTAG_Bool(variable2)) { /*if*/
15202 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15203 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15204 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8102,3--28\n"); nit_exit(1);}
15205 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ACallAssignExpr::_n_value*/ = variable1 /*new_child*/;
15206 } else { /*if*/
15207 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ACallAssignExpr::_n_value*/ = NIT_NULL /*null*/;
15208 }
15209 goto return_label696;
15210 }
15211 return_label696: while(false);
15212 tracehead = trace.prev;
15213 return;
15214 }
15215 void parser_prod___ACallAssignExpr___visit_all(val_t self, val_t param0) {
15216 struct trace_t trace = {NULL, "parser_prod::ACallAssignExpr::visit_all (src/parser//parser_prod.nit:8111,5--8126:28)"};
15217 val_t variable0;
15218 val_t variable1;
15219 val_t variable2;
15220 trace.prev = tracehead; tracehead = &trace;
15221 variable0 = param0;
15222 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallAssignExpr::_n_expr*/;
15223 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
15224 if (UNTAG_Bool(variable1)) { /*if*/
15225 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallAssignExpr::_n_expr*/;
15226 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15227 }
15228 variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallAssignExpr::_n_id*/;
15229 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
15230 if (UNTAG_Bool(variable1)) { /*if*/
15231 variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallAssignExpr::_n_id*/;
15232 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15233 }
15234 variable1 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallAssignExpr::_n_args*/;
15235 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
15236 while (true) { /*for*/
15237 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
15238 if (!UNTAG_Bool(variable2)) break; /*for*/
15239 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
15240 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
15241 continue_699: while(0);
15242 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
15243 }
15244 break_699: while(0);
15245 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ACallAssignExpr::_n_assign*/;
15246 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TAssign::==*/)))))));
15247 if (UNTAG_Bool(variable1)) { /*if*/
15248 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ACallAssignExpr::_n_assign*/;
15249 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15250 }
15251 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ACallAssignExpr::_n_value*/;
15252 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
15253 if (UNTAG_Bool(variable1)) { /*if*/
15254 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ACallAssignExpr::_n_value*/;
15255 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15256 }
15257 tracehead = trace.prev;
15258 return;
15259 }
15260 void parser_prod___ACallAssignExpr___visit_all_reverse(val_t self, val_t param0) {
15261 struct trace_t trace = {NULL, "parser_prod::ACallAssignExpr::visit_all_reverse (src/parser//parser_prod.nit:8130,5--8149:28)"};
15262 val_t variable0;
15263 val_t variable1;
15264 val_t variable2;
15265 trace.prev = tracehead; tracehead = &trace;
15266 variable0 = param0;
15267 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallAssignExpr::_n_expr*/;
15268 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
15269 if (UNTAG_Bool(variable1)) { /*if*/
15270 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallAssignExpr::_n_expr*/;
15271 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15272 }
15273 variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallAssignExpr::_n_id*/;
15274 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
15275 if (UNTAG_Bool(variable1)) { /*if*/
15276 variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallAssignExpr::_n_id*/;
15277 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15278 }
15279 variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallAssignExpr::_n_args*/;
15280 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
15281 variable1 = variable2;
15282 while (true) { /*while*/
15283 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
15284 if (!UNTAG_Bool(variable2)) break; /* while*/
15285 variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallAssignExpr::_n_args*/;
15286 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
15287 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
15288 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
15289 variable1 = variable2 /*i=*/;
15290 continue_701: while(0);
15291 }
15292 break_701: while(0);
15293 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ACallAssignExpr::_n_assign*/;
15294 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TAssign::==*/)))))));
15295 if (UNTAG_Bool(variable1)) { /*if*/
15296 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ACallAssignExpr::_n_assign*/;
15297 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15298 }
15299 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ACallAssignExpr::_n_value*/;
15300 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
15301 if (UNTAG_Bool(variable1)) { /*if*/
15302 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ACallAssignExpr::_n_value*/;
15303 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15304 }
15305 tracehead = trace.prev;
15306 return;
15307 }
15308 void parser_prod___ACallReassignExpr___n_expr__eq(val_t self, val_t param0) {
15309 struct trace_t trace = {NULL, "parser_prod::ACallReassignExpr::n_expr= (src/parser//parser_prod.nit:8154,5--8158:20)"};
15310 val_t variable0;
15311 val_t variable1;
15312 trace.prev = tracehead; tracehead = &trace;
15313 variable0 = param0;
15314 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallReassignExpr::_n_expr*/ = variable0 /*n*/;
15315 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*/) /*PExpr::==*/)))))));
15316 if (UNTAG_Bool(variable1)) { /*if*/
15317 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
15318 }
15319 tracehead = trace.prev;
15320 return;
15321 }
15322 void parser_prod___ACallReassignExpr___n_id__eq(val_t self, val_t param0) {
15323 struct trace_t trace = {NULL, "parser_prod::ACallReassignExpr::n_id= (src/parser//parser_prod.nit:8161,5--8165:20)"};
15324 val_t variable0;
15325 val_t variable1;
15326 trace.prev = tracehead; tracehead = &trace;
15327 variable0 = param0;
15328 ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallReassignExpr::_n_id*/ = variable0 /*n*/;
15329 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*/) /*TId::==*/)))))));
15330 if (UNTAG_Bool(variable1)) { /*if*/
15331 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TId::parent=*/;
15332 }
15333 tracehead = trace.prev;
15334 return;
15335 }
15336 void parser_prod___ACallReassignExpr___n_assign_op__eq(val_t self, val_t param0) {
15337 struct trace_t trace = {NULL, "parser_prod::ACallReassignExpr::n_assign_op= (src/parser//parser_prod.nit:8168,5--8172:20)"};
15338 val_t variable0;
15339 val_t variable1;
15340 trace.prev = tracehead; tracehead = &trace;
15341 variable0 = param0;
15342 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ACallReassignExpr::_n_assign_op*/ = variable0 /*n*/;
15343 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*/) /*PAssignOp::==*/)))))));
15344 if (UNTAG_Bool(variable1)) { /*if*/
15345 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PAssignOp::parent=*/;
15346 }
15347 tracehead = trace.prev;
15348 return;
15349 }
15350 void parser_prod___ACallReassignExpr___n_value__eq(val_t self, val_t param0) {
15351 struct trace_t trace = {NULL, "parser_prod::ACallReassignExpr::n_value= (src/parser//parser_prod.nit:8175,5--8179:20)"};
15352 val_t variable0;
15353 val_t variable1;
15354 trace.prev = tracehead; tracehead = &trace;
15355 variable0 = param0;
15356 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ACallReassignExpr::_n_value*/ = variable0 /*n*/;
15357 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*/) /*PExpr::==*/)))))));
15358 if (UNTAG_Bool(variable1)) { /*if*/
15359 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
15360 }
15361 tracehead = trace.prev;
15362 return;
15363 }
15364 void parser_prod___ACallReassignExpr___empty_init(val_t self, int* init_table) {
15365 struct trace_t trace = {NULL, "parser_prod::ACallReassignExpr::empty_init (src/parser//parser_prod.nit:8183,5--27)"};
15366 trace.prev = tracehead; tracehead = &trace;
15367 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallReassignExpr].i]) return;
15368 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallReassignExpr].i] = 1;
15369 tracehead = trace.prev;
15370 return;
15371 }
15372 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) {
15373 struct trace_t trace = {NULL, "parser_prod::ACallReassignExpr::init_acallreassignexpr (src/parser//parser_prod.nit:8185,5--8213:23)"};
15374 val_t variable0;
15375 val_t variable1;
15376 val_t variable2;
15377 val_t variable3;
15378 val_t variable4;
15379 val_t variable5;
15380 val_t variable6;
15381 val_t variable7;
15382 trace.prev = tracehead; tracehead = &trace;
15383 variable0 = param0;
15384 variable1 = param1;
15385 variable2 = param2;
15386 variable3 = param3;
15387 variable4 = param4;
15388 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallReassignExpr].i]) return;
15389 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallReassignExpr::_n_expr*/ = variable0 /*n_expr*/;
15390 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*/) /*PExpr::==*/)))))));
15391 if (UNTAG_Bool(variable5)) { /*if*/
15392 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
15393 }
15394 ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallReassignExpr::_n_id*/ = variable1 /*n_id*/;
15395 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*/) /*TId::==*/)))))));
15396 if (UNTAG_Bool(variable5)) { /*if*/
15397 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/, self) /*TId::parent=*/;
15398 }
15399 variable5 = NEW_list___List___init(); /*new List[PExpr]*/
15400 ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallReassignExpr::_n_args*/ = variable5;
15401 variable5 = ((array___AbstractArray___iterator_t)CALL( variable2 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*n_args*/) /*Array::iterator*/;
15402 while (true) { /*for*/
15403 variable6 = ((array___ArrayIterator___is_ok_t)CALL(variable5,COLOR_abstract_collection___Iterator___is_ok))(variable5) /*ArrayIterator::is_ok*/;
15404 if (!UNTAG_Bool(variable6)) break; /*for*/
15405 variable6 = ((array___ArrayIterator___item_t)CALL(variable5,COLOR_abstract_collection___Iterator___item))(variable5) /*ArrayIterator::item*/;
15406 variable7 = TAG_Bool(( variable6 /*n*/==NIT_NULL) || VAL_ISA( variable6 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15407 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8203,3--20\n"); nit_exit(1);}
15408 variable7 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallReassignExpr::_n_args*/;
15409 ((abstract_collection___IndexedCollection___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable6 /*n*/) /*List::add*/;
15410 ((parser_prod___PNode___parent__eq_t)CALL( variable6 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable6 /*n*/, self) /*PExpr::parent=*/;
15411 continue_708: while(0);
15412 ((array___ArrayIterator___next_t)CALL(variable5,COLOR_abstract_collection___Iterator___next))(variable5) /*ArrayIterator::next*/;
15413 }
15414 break_708: while(0);
15415 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ACallReassignExpr::_n_assign_op*/ = variable3 /*n_assign_op*/;
15416 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*/) /*PAssignOp::==*/)))))));
15417 if (UNTAG_Bool(variable5)) { /*if*/
15418 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_assign_op*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_assign_op*/, self) /*PAssignOp::parent=*/;
15419 }
15420 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ACallReassignExpr::_n_value*/ = variable4 /*n_value*/;
15421 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*/) /*PExpr::==*/)))))));
15422 if (UNTAG_Bool(variable5)) { /*if*/
15423 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_value*/, self) /*PExpr::parent=*/;
15424 }
15425 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallReassignExpr].i] = 1;
15426 tracehead = trace.prev;
15427 return;
15428 }
15429 void parser_prod___ACallReassignExpr___replace_child(val_t self, val_t param0, val_t param1) {
15430 struct trace_t trace = {NULL, "parser_prod::ACallReassignExpr::replace_child (src/parser//parser_prod.nit:8217,5--8270:18)"};
15431 val_t variable0;
15432 val_t variable1;
15433 val_t variable2;
15434 val_t variable3;
15435 val_t variable4;
15436 trace.prev = tracehead; tracehead = &trace;
15437 variable0 = param0;
15438 variable1 = param1;
15439 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*/) /*PNode::==*/)))))));
15440 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8219,9--32\n"); nit_exit(1);}
15441 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallReassignExpr::_n_expr*/;
15442 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*/) /*PExpr::==*/)))));
15443 if (UNTAG_Bool(variable2)) { /*if*/
15444 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*/) /*PNode::==*/)))))));
15445 if (UNTAG_Bool(variable2)) { /*if*/
15446 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15447 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15448 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8223,3--28\n"); nit_exit(1);}
15449 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallReassignExpr::_n_expr*/ = variable1 /*new_child*/;
15450 } else { /*if*/
15451 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallReassignExpr::_n_expr*/ = NIT_NULL /*null*/;
15452 }
15453 goto return_label709;
15454 }
15455 variable2 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallReassignExpr::_n_id*/;
15456 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*/) /*TId::==*/)))));
15457 if (UNTAG_Bool(variable2)) { /*if*/
15458 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*/) /*PNode::==*/)))))));
15459 if (UNTAG_Bool(variable2)) { /*if*/
15460 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15461 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
15462 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8233,3--26\n"); nit_exit(1);}
15463 ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallReassignExpr::_n_id*/ = variable1 /*new_child*/;
15464 } else { /*if*/
15465 ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallReassignExpr::_n_id*/ = NIT_NULL /*null*/;
15466 }
15467 goto return_label709;
15468 }
15469 variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallReassignExpr::_n_args*/;
15470 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
15471 variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
15472 variable2 = variable3;
15473 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
15474 while (true) { /*for*/
15475 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
15476 if (!UNTAG_Bool(variable3)) break; /*for*/
15477 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
15478 variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallReassignExpr::_n_args*/;
15479 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
15480 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*/) /*PExpr::==*/)))));
15481 if (UNTAG_Bool(variable4)) { /*if*/
15482 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*/) /*PNode::==*/)))))));
15483 if (UNTAG_Bool(variable4)) { /*if*/
15484 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15485 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8243,7--32\n"); nit_exit(1);}
15486 variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallReassignExpr::_n_args*/;
15487 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
15488 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PExpr::parent=*/;
15489 } else { /*if*/
15490 variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallReassignExpr::_n_args*/;
15491 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
15492 }
15493 goto return_label709;
15494 }
15495 continue_710: while(0);
15496 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
15497 }
15498 break_710: while(0);
15499 variable2 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ACallReassignExpr::_n_assign_op*/;
15500 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*/) /*PAssignOp::==*/)))));
15501 if (UNTAG_Bool(variable2)) { /*if*/
15502 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*/) /*PNode::==*/)))))));
15503 if (UNTAG_Bool(variable2)) { /*if*/
15504 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15505 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
15506 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8255,3--32\n"); nit_exit(1);}
15507 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ACallReassignExpr::_n_assign_op*/ = variable1 /*new_child*/;
15508 } else { /*if*/
15509 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ACallReassignExpr::_n_assign_op*/ = NIT_NULL /*null*/;
15510 }
15511 goto return_label709;
15512 }
15513 variable2 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ACallReassignExpr::_n_value*/;
15514 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*/) /*PExpr::==*/)))));
15515 if (UNTAG_Bool(variable2)) { /*if*/
15516 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*/) /*PNode::==*/)))))));
15517 if (UNTAG_Bool(variable2)) { /*if*/
15518 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15519 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15520 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8265,3--28\n"); nit_exit(1);}
15521 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ACallReassignExpr::_n_value*/ = variable1 /*new_child*/;
15522 } else { /*if*/
15523 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ACallReassignExpr::_n_value*/ = NIT_NULL /*null*/;
15524 }
15525 goto return_label709;
15526 }
15527 return_label709: while(false);
15528 tracehead = trace.prev;
15529 return;
15530 }
15531 void parser_prod___ACallReassignExpr___visit_all(val_t self, val_t param0) {
15532 struct trace_t trace = {NULL, "parser_prod::ACallReassignExpr::visit_all (src/parser//parser_prod.nit:8274,5--8289:28)"};
15533 val_t variable0;
15534 val_t variable1;
15535 val_t variable2;
15536 trace.prev = tracehead; tracehead = &trace;
15537 variable0 = param0;
15538 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallReassignExpr::_n_expr*/;
15539 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
15540 if (UNTAG_Bool(variable1)) { /*if*/
15541 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallReassignExpr::_n_expr*/;
15542 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15543 }
15544 variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallReassignExpr::_n_id*/;
15545 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
15546 if (UNTAG_Bool(variable1)) { /*if*/
15547 variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallReassignExpr::_n_id*/;
15548 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15549 }
15550 variable1 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallReassignExpr::_n_args*/;
15551 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
15552 while (true) { /*for*/
15553 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
15554 if (!UNTAG_Bool(variable2)) break; /*for*/
15555 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
15556 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
15557 continue_712: while(0);
15558 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
15559 }
15560 break_712: while(0);
15561 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ACallReassignExpr::_n_assign_op*/;
15562 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PAssignOp::==*/)))))));
15563 if (UNTAG_Bool(variable1)) { /*if*/
15564 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ACallReassignExpr::_n_assign_op*/;
15565 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15566 }
15567 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ACallReassignExpr::_n_value*/;
15568 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
15569 if (UNTAG_Bool(variable1)) { /*if*/
15570 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ACallReassignExpr::_n_value*/;
15571 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15572 }
15573 tracehead = trace.prev;
15574 return;
15575 }
15576 void parser_prod___ACallReassignExpr___visit_all_reverse(val_t self, val_t param0) {
15577 struct trace_t trace = {NULL, "parser_prod::ACallReassignExpr::visit_all_reverse (src/parser//parser_prod.nit:8293,5--8312:28)"};
15578 val_t variable0;
15579 val_t variable1;
15580 val_t variable2;
15581 trace.prev = tracehead; tracehead = &trace;
15582 variable0 = param0;
15583 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallReassignExpr::_n_expr*/;
15584 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
15585 if (UNTAG_Bool(variable1)) { /*if*/
15586 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallReassignExpr::_n_expr*/;
15587 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15588 }
15589 variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallReassignExpr::_n_id*/;
15590 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
15591 if (UNTAG_Bool(variable1)) { /*if*/
15592 variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallReassignExpr::_n_id*/;
15593 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15594 }
15595 variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallReassignExpr::_n_args*/;
15596 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
15597 variable1 = variable2;
15598 while (true) { /*while*/
15599 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
15600 if (!UNTAG_Bool(variable2)) break; /* while*/
15601 variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallReassignExpr::_n_args*/;
15602 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
15603 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
15604 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
15605 variable1 = variable2 /*i=*/;
15606 continue_714: while(0);
15607 }
15608 break_714: while(0);
15609 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ACallReassignExpr::_n_assign_op*/;
15610 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PAssignOp::==*/)))))));
15611 if (UNTAG_Bool(variable1)) { /*if*/
15612 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ACallReassignExpr::_n_assign_op*/;
15613 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15614 }
15615 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ACallReassignExpr::_n_value*/;
15616 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
15617 if (UNTAG_Bool(variable1)) { /*if*/
15618 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ACallReassignExpr::_n_value*/;
15619 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15620 }
15621 tracehead = trace.prev;
15622 return;
15623 }
15624 void parser_prod___ASuperExpr___n_qualified__eq(val_t self, val_t param0) {
15625 struct trace_t trace = {NULL, "parser_prod::ASuperExpr::n_qualified= (src/parser//parser_prod.nit:8317,5--8321:20)"};
15626 val_t variable0;
15627 val_t variable1;
15628 trace.prev = tracehead; tracehead = &trace;
15629 variable0 = param0;
15630 ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/ = variable0 /*n*/;
15631 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*/) /*PQualified::==*/)))))));
15632 if (UNTAG_Bool(variable1)) { /*if*/
15633 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PQualified::parent=*/;
15634 }
15635 tracehead = trace.prev;
15636 return;
15637 }
15638 void parser_prod___ASuperExpr___n_kwsuper__eq(val_t self, val_t param0) {
15639 struct trace_t trace = {NULL, "parser_prod::ASuperExpr::n_kwsuper= (src/parser//parser_prod.nit:8324,5--8328:20)"};
15640 val_t variable0;
15641 val_t variable1;
15642 trace.prev = tracehead; tracehead = &trace;
15643 variable0 = param0;
15644 ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/ = variable0 /*n*/;
15645 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*/) /*TKwsuper::==*/)))))));
15646 if (UNTAG_Bool(variable1)) { /*if*/
15647 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwsuper::parent=*/;
15648 }
15649 tracehead = trace.prev;
15650 return;
15651 }
15652 void parser_prod___ASuperExpr___empty_init(val_t self, int* init_table) {
15653 struct trace_t trace = {NULL, "parser_prod::ASuperExpr::empty_init (src/parser//parser_prod.nit:8332,5--27)"};
15654 trace.prev = tracehead; tracehead = &trace;
15655 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperExpr].i]) return;
15656 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperExpr].i] = 1;
15657 tracehead = trace.prev;
15658 return;
15659 }
15660 void parser_prod___ASuperExpr___init_asuperexpr(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
15661 struct trace_t trace = {NULL, "parser_prod::ASuperExpr::init_asuperexpr (src/parser//parser_prod.nit:8334,5--8352:17)"};
15662 val_t variable0;
15663 val_t variable1;
15664 val_t variable2;
15665 val_t variable3;
15666 val_t variable4;
15667 val_t variable5;
15668 trace.prev = tracehead; tracehead = &trace;
15669 variable0 = param0;
15670 variable1 = param1;
15671 variable2 = param2;
15672 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperExpr].i]) return;
15673 ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/ = variable0 /*n_qualified*/;
15674 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*/) /*PQualified::==*/)))))));
15675 if (UNTAG_Bool(variable3)) { /*if*/
15676 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_qualified*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_qualified*/, self) /*PQualified::parent=*/;
15677 }
15678 ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/ = variable1 /*n_kwsuper*/;
15679 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*/) /*TKwsuper::==*/)))))));
15680 if (UNTAG_Bool(variable3)) { /*if*/
15681 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwsuper*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwsuper*/, self) /*TKwsuper::parent=*/;
15682 }
15683 variable3 = NEW_list___List___init(); /*new List[PExpr]*/
15684 ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/ = variable3;
15685 variable3 = ((array___AbstractArray___iterator_t)CALL( variable2 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*n_args*/) /*Array::iterator*/;
15686 while (true) { /*for*/
15687 variable4 = ((array___ArrayIterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*ArrayIterator::is_ok*/;
15688 if (!UNTAG_Bool(variable4)) break; /*for*/
15689 variable4 = ((array___ArrayIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ArrayIterator::item*/;
15690 variable5 = TAG_Bool(( variable4 /*n*/==NIT_NULL) || VAL_ISA( variable4 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15691 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8350,3--20\n"); nit_exit(1);}
15692 variable5 = ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/;
15693 ((abstract_collection___IndexedCollection___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5, variable4 /*n*/) /*List::add*/;
15694 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n*/, self) /*PExpr::parent=*/;
15695 continue_719: while(0);
15696 ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
15697 }
15698 break_719: while(0);
15699 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperExpr].i] = 1;
15700 tracehead = trace.prev;
15701 return;
15702 }
15703 void parser_prod___ASuperExpr___replace_child(val_t self, val_t param0, val_t param1) {
15704 struct trace_t trace = {NULL, "parser_prod::ASuperExpr::replace_child (src/parser//parser_prod.nit:8356,5--8388:22)"};
15705 val_t variable0;
15706 val_t variable1;
15707 val_t variable2;
15708 val_t variable3;
15709 val_t variable4;
15710 trace.prev = tracehead; tracehead = &trace;
15711 variable0 = param0;
15712 variable1 = param1;
15713 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*/) /*PNode::==*/)))))));
15714 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8358,9--32\n"); nit_exit(1);}
15715 variable2 = ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/;
15716 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*/) /*PQualified::==*/)))));
15717 if (UNTAG_Bool(variable2)) { /*if*/
15718 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*/) /*PNode::==*/)))))));
15719 if (UNTAG_Bool(variable2)) { /*if*/
15720 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15721 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
15722 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8362,3--33\n"); nit_exit(1);}
15723 ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/ = variable1 /*new_child*/;
15724 } else { /*if*/
15725 ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/ = NIT_NULL /*null*/;
15726 }
15727 goto return_label720;
15728 }
15729 variable2 = ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/;
15730 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*/) /*TKwsuper::==*/)))));
15731 if (UNTAG_Bool(variable2)) { /*if*/
15732 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*/) /*PNode::==*/)))))));
15733 if (UNTAG_Bool(variable2)) { /*if*/
15734 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15735 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
15736 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8372,3--31\n"); nit_exit(1);}
15737 ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/ = variable1 /*new_child*/;
15738 } else { /*if*/
15739 ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/ = NIT_NULL /*null*/;
15740 }
15741 goto return_label720;
15742 }
15743 variable2 = ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/;
15744 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
15745 variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
15746 variable2 = variable3;
15747 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
15748 while (true) { /*for*/
15749 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
15750 if (!UNTAG_Bool(variable3)) break; /*for*/
15751 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
15752 variable4 = ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/;
15753 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
15754 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*/) /*PExpr::==*/)))));
15755 if (UNTAG_Bool(variable4)) { /*if*/
15756 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*/) /*PNode::==*/)))))));
15757 if (UNTAG_Bool(variable4)) { /*if*/
15758 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15759 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8382,7--32\n"); nit_exit(1);}
15760 variable4 = ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/;
15761 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
15762 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PExpr::parent=*/;
15763 } else { /*if*/
15764 variable4 = ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/;
15765 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
15766 }
15767 goto return_label720;
15768 }
15769 continue_721: while(0);
15770 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
15771 }
15772 break_721: while(0);
15773 return_label720: while(false);
15774 tracehead = trace.prev;
15775 return;
15776 }
15777 void parser_prod___ASuperExpr___visit_all(val_t self, val_t param0) {
15778 struct trace_t trace = {NULL, "parser_prod::ASuperExpr::visit_all (src/parser//parser_prod.nit:8393,5--8402:25)"};
15779 val_t variable0;
15780 val_t variable1;
15781 val_t variable2;
15782 trace.prev = tracehead; tracehead = &trace;
15783 variable0 = param0;
15784 variable1 = ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/;
15785 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PQualified::==*/)))))));
15786 if (UNTAG_Bool(variable1)) { /*if*/
15787 variable1 = ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/;
15788 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15789 }
15790 variable1 = ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/;
15791 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwsuper::==*/)))))));
15792 if (UNTAG_Bool(variable1)) { /*if*/
15793 variable1 = ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/;
15794 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15795 }
15796 variable1 = ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/;
15797 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
15798 while (true) { /*for*/
15799 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
15800 if (!UNTAG_Bool(variable2)) break; /*for*/
15801 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
15802 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
15803 continue_723: while(0);
15804 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
15805 }
15806 break_723: while(0);
15807 tracehead = trace.prev;
15808 return;
15809 }
15810 void parser_prod___ASuperExpr___visit_all_reverse(val_t self, val_t param0) {
15811 struct trace_t trace = {NULL, "parser_prod::ASuperExpr::visit_all_reverse (src/parser//parser_prod.nit:8406,5--8418:11)"};
15812 val_t variable0;
15813 val_t variable1;
15814 val_t variable2;
15815 trace.prev = tracehead; tracehead = &trace;
15816 variable0 = param0;
15817 variable1 = ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/;
15818 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PQualified::==*/)))))));
15819 if (UNTAG_Bool(variable1)) { /*if*/
15820 variable1 = ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/;
15821 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15822 }
15823 variable1 = ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/;
15824 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwsuper::==*/)))))));
15825 if (UNTAG_Bool(variable1)) { /*if*/
15826 variable1 = ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/;
15827 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
15828 }
15829 variable2 = ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/;
15830 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
15831 variable1 = variable2;
15832 while (true) { /*while*/
15833 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
15834 if (!UNTAG_Bool(variable2)) break; /* while*/
15835 variable2 = ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/;
15836 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
15837 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
15838 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
15839 variable1 = variable2 /*i=*/;
15840 continue_725: while(0);
15841 }
15842 break_725: while(0);
15843 tracehead = trace.prev;
15844 return;
15845 }
15846 void parser_prod___AInitExpr___n_expr__eq(val_t self, val_t param0) {
15847 struct trace_t trace = {NULL, "parser_prod::AInitExpr::n_expr= (src/parser//parser_prod.nit:8424,5--8428:20)"};
15848 val_t variable0;
15849 val_t variable1;
15850 trace.prev = tracehead; tracehead = &trace;
15851 variable0 = param0;
15852 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AInitExpr::_n_expr*/ = variable0 /*n*/;
15853 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*/) /*PExpr::==*/)))))));
15854 if (UNTAG_Bool(variable1)) { /*if*/
15855 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
15856 }
15857 tracehead = trace.prev;
15858 return;
15859 }
15860 void parser_prod___AInitExpr___n_kwinit__eq(val_t self, val_t param0) {
15861 struct trace_t trace = {NULL, "parser_prod::AInitExpr::n_kwinit= (src/parser//parser_prod.nit:8431,5--8435:20)"};
15862 val_t variable0;
15863 val_t variable1;
15864 trace.prev = tracehead; tracehead = &trace;
15865 variable0 = param0;
15866 ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/ = variable0 /*n*/;
15867 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*/) /*TKwinit::==*/)))))));
15868 if (UNTAG_Bool(variable1)) { /*if*/
15869 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwinit::parent=*/;
15870 }
15871 tracehead = trace.prev;
15872 return;
15873 }
15874 void parser_prod___AInitExpr___empty_init(val_t self, int* init_table) {
15875 struct trace_t trace = {NULL, "parser_prod::AInitExpr::empty_init (src/parser//parser_prod.nit:8439,5--27)"};
15876 trace.prev = tracehead; tracehead = &trace;
15877 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInitExpr].i]) return;
15878 ((parser_prod___ASendExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASendExpr___empty_init))( self, init_table /*YYY*/) /*ASendExpr::empty_init*/;
15879 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInitExpr].i] = 1;
15880 tracehead = trace.prev;
15881 return;
15882 }
15883 void parser_prod___AInitExpr___init_ainitexpr(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
15884 struct trace_t trace = {NULL, "parser_prod::AInitExpr::init_ainitexpr (src/parser//parser_prod.nit:8441,5--8459:17)"};
15885 val_t variable0;
15886 val_t variable1;
15887 val_t variable2;
15888 val_t variable3;
15889 val_t variable4;
15890 val_t variable5;
15891 trace.prev = tracehead; tracehead = &trace;
15892 variable0 = param0;
15893 variable1 = param1;
15894 variable2 = param2;
15895 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInitExpr].i]) return;
15896 ((parser_prod___ASendExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASendExpr___empty_init))( self, init_table /*YYY*/) /*ASendExpr::empty_init*/;
15897 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AInitExpr::_n_expr*/ = variable0 /*n_expr*/;
15898 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*/) /*PExpr::==*/)))))));
15899 if (UNTAG_Bool(variable3)) { /*if*/
15900 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
15901 }
15902 ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/ = variable1 /*n_kwinit*/;
15903 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*/) /*TKwinit::==*/)))))));
15904 if (UNTAG_Bool(variable3)) { /*if*/
15905 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwinit*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwinit*/, self) /*TKwinit::parent=*/;
15906 }
15907 variable3 = NEW_list___List___init(); /*new List[PExpr]*/
15908 ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/ = variable3;
15909 variable3 = ((array___AbstractArray___iterator_t)CALL( variable2 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*n_args*/) /*Array::iterator*/;
15910 while (true) { /*for*/
15911 variable4 = ((array___ArrayIterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*ArrayIterator::is_ok*/;
15912 if (!UNTAG_Bool(variable4)) break; /*for*/
15913 variable4 = ((array___ArrayIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ArrayIterator::item*/;
15914 variable5 = TAG_Bool(( variable4 /*n*/==NIT_NULL) || VAL_ISA( variable4 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15915 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8457,3--20\n"); nit_exit(1);}
15916 variable5 = ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/;
15917 ((abstract_collection___IndexedCollection___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5, variable4 /*n*/) /*List::add*/;
15918 ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n*/, self) /*PExpr::parent=*/;
15919 continue_730: while(0);
15920 ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
15921 }
15922 break_730: while(0);
15923 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInitExpr].i] = 1;
15924 tracehead = trace.prev;
15925 return;
15926 }
15927 void parser_prod___AInitExpr___replace_child(val_t self, val_t param0, val_t param1) {
15928 struct trace_t trace = {NULL, "parser_prod::AInitExpr::replace_child (src/parser//parser_prod.nit:8463,5--8495:22)"};
15929 val_t variable0;
15930 val_t variable1;
15931 val_t variable2;
15932 val_t variable3;
15933 val_t variable4;
15934 trace.prev = tracehead; tracehead = &trace;
15935 variable0 = param0;
15936 variable1 = param1;
15937 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*/) /*PNode::==*/)))))));
15938 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8465,9--32\n"); nit_exit(1);}
15939 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AInitExpr::_n_expr*/;
15940 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*/) /*PExpr::==*/)))));
15941 if (UNTAG_Bool(variable2)) { /*if*/
15942 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*/) /*PNode::==*/)))))));
15943 if (UNTAG_Bool(variable2)) { /*if*/
15944 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15945 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15946 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8469,3--28\n"); nit_exit(1);}
15947 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AInitExpr::_n_expr*/ = variable1 /*new_child*/;
15948 } else { /*if*/
15949 ATTR_parser_nodes___ASendExpr____n_expr( self) /*AInitExpr::_n_expr*/ = NIT_NULL /*null*/;
15950 }
15951 goto return_label731;
15952 }
15953 variable2 = ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/;
15954 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*/) /*TKwinit::==*/)))));
15955 if (UNTAG_Bool(variable2)) { /*if*/
15956 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*/) /*PNode::==*/)))))));
15957 if (UNTAG_Bool(variable2)) { /*if*/
15958 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
15959 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
15960 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8479,3--30\n"); nit_exit(1);}
15961 ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/ = variable1 /*new_child*/;
15962 } else { /*if*/
15963 ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/ = NIT_NULL /*null*/;
15964 }
15965 goto return_label731;
15966 }
15967 variable2 = ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/;
15968 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
15969 variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
15970 variable2 = variable3;
15971 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
15972 while (true) { /*for*/
15973 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
15974 if (!UNTAG_Bool(variable3)) break; /*for*/
15975 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
15976 variable4 = ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/;
15977 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
15978 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*/) /*PExpr::==*/)))));
15979 if (UNTAG_Bool(variable4)) { /*if*/
15980 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*/) /*PNode::==*/)))))));
15981 if (UNTAG_Bool(variable4)) { /*if*/
15982 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15983 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8489,7--32\n"); nit_exit(1);}
15984 variable4 = ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/;
15985 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
15986 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PExpr::parent=*/;
15987 } else { /*if*/
15988 variable4 = ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/;
15989 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
15990 }
15991 goto return_label731;
15992 }
15993 continue_732: while(0);
15994 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
15995 }
15996 break_732: while(0);
15997 return_label731: while(false);
15998 tracehead = trace.prev;
15999 return;
16000 }
16001 void parser_prod___AInitExpr___visit_all(val_t self, val_t param0) {
16002 struct trace_t trace = {NULL, "parser_prod::AInitExpr::visit_all (src/parser//parser_prod.nit:8500,5--8509:25)"};
16003 val_t variable0;
16004 val_t variable1;
16005 val_t variable2;
16006 trace.prev = tracehead; tracehead = &trace;
16007 variable0 = param0;
16008 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AInitExpr::_n_expr*/;
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*/) /*PExpr::==*/)))))));
16010 if (UNTAG_Bool(variable1)) { /*if*/
16011 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AInitExpr::_n_expr*/;
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___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/;
16015 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwinit::==*/)))))));
16016 if (UNTAG_Bool(variable1)) { /*if*/
16017 variable1 = ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/;
16018 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16019 }
16020 variable1 = ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/;
16021 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
16022 while (true) { /*for*/
16023 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
16024 if (!UNTAG_Bool(variable2)) break; /*for*/
16025 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
16026 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
16027 continue_734: while(0);
16028 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
16029 }
16030 break_734: while(0);
16031 tracehead = trace.prev;
16032 return;
16033 }
16034 void parser_prod___AInitExpr___visit_all_reverse(val_t self, val_t param0) {
16035 struct trace_t trace = {NULL, "parser_prod::AInitExpr::visit_all_reverse (src/parser//parser_prod.nit:8513,5--8525:11)"};
16036 val_t variable0;
16037 val_t variable1;
16038 val_t variable2;
16039 trace.prev = tracehead; tracehead = &trace;
16040 variable0 = param0;
16041 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AInitExpr::_n_expr*/;
16042 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
16043 if (UNTAG_Bool(variable1)) { /*if*/
16044 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AInitExpr::_n_expr*/;
16045 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16046 }
16047 variable1 = ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/;
16048 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwinit::==*/)))))));
16049 if (UNTAG_Bool(variable1)) { /*if*/
16050 variable1 = ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/;
16051 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16052 }
16053 variable2 = ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/;
16054 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
16055 variable1 = variable2;
16056 while (true) { /*while*/
16057 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
16058 if (!UNTAG_Bool(variable2)) break; /* while*/
16059 variable2 = ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/;
16060 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
16061 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
16062 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
16063 variable1 = variable2 /*i=*/;
16064 continue_736: while(0);
16065 }
16066 break_736: while(0);
16067 tracehead = trace.prev;
16068 return;
16069 }
16070 void parser_prod___ABraExpr___n_expr__eq(val_t self, val_t param0) {
16071 struct trace_t trace = {NULL, "parser_prod::ABraExpr::n_expr= (src/parser//parser_prod.nit:8531,5--8535:20)"};
16072 val_t variable0;
16073 val_t variable1;
16074 trace.prev = tracehead; tracehead = &trace;
16075 variable0 = param0;
16076 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraExpr::_n_expr*/ = variable0 /*n*/;
16077 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*/) /*PExpr::==*/)))))));
16078 if (UNTAG_Bool(variable1)) { /*if*/
16079 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
16080 }
16081 tracehead = trace.prev;
16082 return;
16083 }
16084 void parser_prod___ABraExpr___empty_init(val_t self, int* init_table) {
16085 struct trace_t trace = {NULL, "parser_prod::ABraExpr::empty_init (src/parser//parser_prod.nit:8539,5--27)"};
16086 trace.prev = tracehead; tracehead = &trace;
16087 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraExpr].i]) return;
16088 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraExpr].i] = 1;
16089 tracehead = trace.prev;
16090 return;
16091 }
16092 void parser_prod___ABraExpr___init_abraexpr(val_t self, val_t param0, val_t param1, int* init_table) {
16093 struct trace_t trace = {NULL, "parser_prod::ABraExpr::init_abraexpr (src/parser//parser_prod.nit:8541,5--8554:17)"};
16094 val_t variable0;
16095 val_t variable1;
16096 val_t variable2;
16097 val_t variable3;
16098 val_t variable4;
16099 trace.prev = tracehead; tracehead = &trace;
16100 variable0 = param0;
16101 variable1 = param1;
16102 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraExpr].i]) return;
16103 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraExpr::_n_expr*/ = variable0 /*n_expr*/;
16104 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*/) /*PExpr::==*/)))))));
16105 if (UNTAG_Bool(variable2)) { /*if*/
16106 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
16107 }
16108 variable2 = NEW_list___List___init(); /*new List[PExpr]*/
16109 ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraExpr::_n_args*/ = variable2;
16110 variable2 = ((array___AbstractArray___iterator_t)CALL( variable1 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*n_args*/) /*Array::iterator*/;
16111 while (true) { /*for*/
16112 variable3 = ((array___ArrayIterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*ArrayIterator::is_ok*/;
16113 if (!UNTAG_Bool(variable3)) break; /*for*/
16114 variable3 = ((array___ArrayIterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*ArrayIterator::item*/;
16115 variable4 = TAG_Bool(( variable3 /*n*/==NIT_NULL) || VAL_ISA( variable3 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16116 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8552,3--20\n"); nit_exit(1);}
16117 variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraExpr::_n_args*/;
16118 ((abstract_collection___IndexedCollection___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable3 /*n*/) /*List::add*/;
16119 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n*/, self) /*PExpr::parent=*/;
16120 continue_740: while(0);
16121 ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
16122 }
16123 break_740: while(0);
16124 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraExpr].i] = 1;
16125 tracehead = trace.prev;
16126 return;
16127 }
16128 void parser_prod___ABraExpr___replace_child(val_t self, val_t param0, val_t param1) {
16129 struct trace_t trace = {NULL, "parser_prod::ABraExpr::replace_child (src/parser//parser_prod.nit:8558,5--8580:22)"};
16130 val_t variable0;
16131 val_t variable1;
16132 val_t variable2;
16133 val_t variable3;
16134 val_t variable4;
16135 trace.prev = tracehead; tracehead = &trace;
16136 variable0 = param0;
16137 variable1 = param1;
16138 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*/) /*PNode::==*/)))))));
16139 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8560,9--32\n"); nit_exit(1);}
16140 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraExpr::_n_expr*/;
16141 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*/) /*PExpr::==*/)))));
16142 if (UNTAG_Bool(variable2)) { /*if*/
16143 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*/) /*PNode::==*/)))))));
16144 if (UNTAG_Bool(variable2)) { /*if*/
16145 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
16146 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16147 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8564,3--28\n"); nit_exit(1);}
16148 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraExpr::_n_expr*/ = variable1 /*new_child*/;
16149 } else { /*if*/
16150 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraExpr::_n_expr*/ = NIT_NULL /*null*/;
16151 }
16152 goto return_label741;
16153 }
16154 variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraExpr::_n_args*/;
16155 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
16156 variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
16157 variable2 = variable3;
16158 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
16159 while (true) { /*for*/
16160 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
16161 if (!UNTAG_Bool(variable3)) break; /*for*/
16162 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
16163 variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraExpr::_n_args*/;
16164 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
16165 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*/) /*PExpr::==*/)))));
16166 if (UNTAG_Bool(variable4)) { /*if*/
16167 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*/) /*PNode::==*/)))))));
16168 if (UNTAG_Bool(variable4)) { /*if*/
16169 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16170 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8574,7--32\n"); nit_exit(1);}
16171 variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraExpr::_n_args*/;
16172 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
16173 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PExpr::parent=*/;
16174 } else { /*if*/
16175 variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraExpr::_n_args*/;
16176 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
16177 }
16178 goto return_label741;
16179 }
16180 continue_742: while(0);
16181 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
16182 }
16183 break_742: while(0);
16184 return_label741: while(false);
16185 tracehead = trace.prev;
16186 return;
16187 }
16188 void parser_prod___ABraExpr___visit_all(val_t self, val_t param0) {
16189 struct trace_t trace = {NULL, "parser_prod::ABraExpr::visit_all (src/parser//parser_prod.nit:8585,5--8591:25)"};
16190 val_t variable0;
16191 val_t variable1;
16192 val_t variable2;
16193 trace.prev = tracehead; tracehead = &trace;
16194 variable0 = param0;
16195 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraExpr::_n_expr*/;
16196 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
16197 if (UNTAG_Bool(variable1)) { /*if*/
16198 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraExpr::_n_expr*/;
16199 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16200 }
16201 variable1 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraExpr::_n_args*/;
16202 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
16203 while (true) { /*for*/
16204 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
16205 if (!UNTAG_Bool(variable2)) break; /*for*/
16206 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
16207 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
16208 continue_744: while(0);
16209 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
16210 }
16211 break_744: while(0);
16212 tracehead = trace.prev;
16213 return;
16214 }
16215 void parser_prod___ABraExpr___visit_all_reverse(val_t self, val_t param0) {
16216 struct trace_t trace = {NULL, "parser_prod::ABraExpr::visit_all_reverse (src/parser//parser_prod.nit:8595,5--8604:11)"};
16217 val_t variable0;
16218 val_t variable1;
16219 val_t variable2;
16220 trace.prev = tracehead; tracehead = &trace;
16221 variable0 = param0;
16222 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraExpr::_n_expr*/;
16223 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
16224 if (UNTAG_Bool(variable1)) { /*if*/
16225 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraExpr::_n_expr*/;
16226 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16227 }
16228 variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraExpr::_n_args*/;
16229 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
16230 variable1 = variable2;
16231 while (true) { /*while*/
16232 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
16233 if (!UNTAG_Bool(variable2)) break; /* while*/
16234 variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraExpr::_n_args*/;
16235 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
16236 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
16237 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
16238 variable1 = variable2 /*i=*/;
16239 continue_746: while(0);
16240 }
16241 break_746: while(0);
16242 tracehead = trace.prev;
16243 return;
16244 }
16245 void parser_prod___ABraAssignExpr___n_expr__eq(val_t self, val_t param0) {
16246 struct trace_t trace = {NULL, "parser_prod::ABraAssignExpr::n_expr= (src/parser//parser_prod.nit:8610,5--8614:20)"};
16247 val_t variable0;
16248 val_t variable1;
16249 trace.prev = tracehead; tracehead = &trace;
16250 variable0 = param0;
16251 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraAssignExpr::_n_expr*/ = variable0 /*n*/;
16252 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*/) /*PExpr::==*/)))))));
16253 if (UNTAG_Bool(variable1)) { /*if*/
16254 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
16255 }
16256 tracehead = trace.prev;
16257 return;
16258 }
16259 void parser_prod___ABraAssignExpr___n_assign__eq(val_t self, val_t param0) {
16260 struct trace_t trace = {NULL, "parser_prod::ABraAssignExpr::n_assign= (src/parser//parser_prod.nit:8617,5--8621:20)"};
16261 val_t variable0;
16262 val_t variable1;
16263 trace.prev = tracehead; tracehead = &trace;
16264 variable0 = param0;
16265 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ABraAssignExpr::_n_assign*/ = variable0 /*n*/;
16266 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*/) /*TAssign::==*/)))))));
16267 if (UNTAG_Bool(variable1)) { /*if*/
16268 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TAssign::parent=*/;
16269 }
16270 tracehead = trace.prev;
16271 return;
16272 }
16273 void parser_prod___ABraAssignExpr___n_value__eq(val_t self, val_t param0) {
16274 struct trace_t trace = {NULL, "parser_prod::ABraAssignExpr::n_value= (src/parser//parser_prod.nit:8624,5--8628:20)"};
16275 val_t variable0;
16276 val_t variable1;
16277 trace.prev = tracehead; tracehead = &trace;
16278 variable0 = param0;
16279 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ABraAssignExpr::_n_value*/ = variable0 /*n*/;
16280 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*/) /*PExpr::==*/)))))));
16281 if (UNTAG_Bool(variable1)) { /*if*/
16282 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
16283 }
16284 tracehead = trace.prev;
16285 return;
16286 }
16287 void parser_prod___ABraAssignExpr___empty_init(val_t self, int* init_table) {
16288 struct trace_t trace = {NULL, "parser_prod::ABraAssignExpr::empty_init (src/parser//parser_prod.nit:8632,5--27)"};
16289 trace.prev = tracehead; tracehead = &trace;
16290 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraAssignExpr].i]) return;
16291 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraAssignExpr].i] = 1;
16292 tracehead = trace.prev;
16293 return;
16294 }
16295 void parser_prod___ABraAssignExpr___init_abraassignexpr(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, int* init_table) {
16296 struct trace_t trace = {NULL, "parser_prod::ABraAssignExpr::init_abraassignexpr (src/parser//parser_prod.nit:8634,5--8657:23)"};
16297 val_t variable0;
16298 val_t variable1;
16299 val_t variable2;
16300 val_t variable3;
16301 val_t variable4;
16302 val_t variable5;
16303 val_t variable6;
16304 trace.prev = tracehead; tracehead = &trace;
16305 variable0 = param0;
16306 variable1 = param1;
16307 variable2 = param2;
16308 variable3 = param3;
16309 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraAssignExpr].i]) return;
16310 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraAssignExpr::_n_expr*/ = variable0 /*n_expr*/;
16311 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*/) /*PExpr::==*/)))))));
16312 if (UNTAG_Bool(variable4)) { /*if*/
16313 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
16314 }
16315 variable4 = NEW_list___List___init(); /*new List[PExpr]*/
16316 ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraAssignExpr::_n_args*/ = variable4;
16317 variable4 = ((array___AbstractArray___iterator_t)CALL( variable1 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*n_args*/) /*Array::iterator*/;
16318 while (true) { /*for*/
16319 variable5 = ((array___ArrayIterator___is_ok_t)CALL(variable4,COLOR_abstract_collection___Iterator___is_ok))(variable4) /*ArrayIterator::is_ok*/;
16320 if (!UNTAG_Bool(variable5)) break; /*for*/
16321 variable5 = ((array___ArrayIterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*ArrayIterator::item*/;
16322 variable6 = TAG_Bool(( variable5 /*n*/==NIT_NULL) || VAL_ISA( variable5 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16323 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8647,3--20\n"); nit_exit(1);}
16324 variable6 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraAssignExpr::_n_args*/;
16325 ((abstract_collection___IndexedCollection___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6, variable5 /*n*/) /*List::add*/;
16326 ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n*/, self) /*PExpr::parent=*/;
16327 continue_752: while(0);
16328 ((array___ArrayIterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*ArrayIterator::next*/;
16329 }
16330 break_752: while(0);
16331 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ABraAssignExpr::_n_assign*/ = variable2 /*n_assign*/;
16332 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*/) /*TAssign::==*/)))))));
16333 if (UNTAG_Bool(variable4)) { /*if*/
16334 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_assign*/, self) /*TAssign::parent=*/;
16335 }
16336 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ABraAssignExpr::_n_value*/ = variable3 /*n_value*/;
16337 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*/) /*PExpr::==*/)))))));
16338 if (UNTAG_Bool(variable4)) { /*if*/
16339 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_value*/, self) /*PExpr::parent=*/;
16340 }
16341 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraAssignExpr].i] = 1;
16342 tracehead = trace.prev;
16343 return;
16344 }
16345 void parser_prod___ABraAssignExpr___replace_child(val_t self, val_t param0, val_t param1) {
16346 struct trace_t trace = {NULL, "parser_prod::ABraAssignExpr::replace_child (src/parser//parser_prod.nit:8661,5--8704:18)"};
16347 val_t variable0;
16348 val_t variable1;
16349 val_t variable2;
16350 val_t variable3;
16351 val_t variable4;
16352 trace.prev = tracehead; tracehead = &trace;
16353 variable0 = param0;
16354 variable1 = param1;
16355 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*/) /*PNode::==*/)))))));
16356 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8663,9--32\n"); nit_exit(1);}
16357 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraAssignExpr::_n_expr*/;
16358 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*/) /*PExpr::==*/)))));
16359 if (UNTAG_Bool(variable2)) { /*if*/
16360 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*/) /*PNode::==*/)))))));
16361 if (UNTAG_Bool(variable2)) { /*if*/
16362 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
16363 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16364 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8667,3--28\n"); nit_exit(1);}
16365 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraAssignExpr::_n_expr*/ = variable1 /*new_child*/;
16366 } else { /*if*/
16367 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraAssignExpr::_n_expr*/ = NIT_NULL /*null*/;
16368 }
16369 goto return_label753;
16370 }
16371 variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraAssignExpr::_n_args*/;
16372 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
16373 variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
16374 variable2 = variable3;
16375 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
16376 while (true) { /*for*/
16377 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
16378 if (!UNTAG_Bool(variable3)) break; /*for*/
16379 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
16380 variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraAssignExpr::_n_args*/;
16381 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
16382 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*/) /*PExpr::==*/)))));
16383 if (UNTAG_Bool(variable4)) { /*if*/
16384 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*/) /*PNode::==*/)))))));
16385 if (UNTAG_Bool(variable4)) { /*if*/
16386 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16387 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8677,7--32\n"); nit_exit(1);}
16388 variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraAssignExpr::_n_args*/;
16389 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
16390 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PExpr::parent=*/;
16391 } else { /*if*/
16392 variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraAssignExpr::_n_args*/;
16393 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
16394 }
16395 goto return_label753;
16396 }
16397 continue_754: while(0);
16398 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
16399 }
16400 break_754: while(0);
16401 variable2 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ABraAssignExpr::_n_assign*/;
16402 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*/) /*TAssign::==*/)))));
16403 if (UNTAG_Bool(variable2)) { /*if*/
16404 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*/) /*PNode::==*/)))))));
16405 if (UNTAG_Bool(variable2)) { /*if*/
16406 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
16407 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
16408 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8689,3--30\n"); nit_exit(1);}
16409 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ABraAssignExpr::_n_assign*/ = variable1 /*new_child*/;
16410 } else { /*if*/
16411 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ABraAssignExpr::_n_assign*/ = NIT_NULL /*null*/;
16412 }
16413 goto return_label753;
16414 }
16415 variable2 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ABraAssignExpr::_n_value*/;
16416 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*/) /*PExpr::==*/)))));
16417 if (UNTAG_Bool(variable2)) { /*if*/
16418 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*/) /*PNode::==*/)))))));
16419 if (UNTAG_Bool(variable2)) { /*if*/
16420 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
16421 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16422 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8699,3--28\n"); nit_exit(1);}
16423 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ABraAssignExpr::_n_value*/ = variable1 /*new_child*/;
16424 } else { /*if*/
16425 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ABraAssignExpr::_n_value*/ = NIT_NULL /*null*/;
16426 }
16427 goto return_label753;
16428 }
16429 return_label753: while(false);
16430 tracehead = trace.prev;
16431 return;
16432 }
16433 void parser_prod___ABraAssignExpr___visit_all(val_t self, val_t param0) {
16434 struct trace_t trace = {NULL, "parser_prod::ABraAssignExpr::visit_all (src/parser//parser_prod.nit:8708,5--8720:28)"};
16435 val_t variable0;
16436 val_t variable1;
16437 val_t variable2;
16438 trace.prev = tracehead; tracehead = &trace;
16439 variable0 = param0;
16440 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraAssignExpr::_n_expr*/;
16441 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
16442 if (UNTAG_Bool(variable1)) { /*if*/
16443 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraAssignExpr::_n_expr*/;
16444 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16445 }
16446 variable1 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraAssignExpr::_n_args*/;
16447 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
16448 while (true) { /*for*/
16449 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
16450 if (!UNTAG_Bool(variable2)) break; /*for*/
16451 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
16452 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
16453 continue_756: while(0);
16454 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
16455 }
16456 break_756: while(0);
16457 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ABraAssignExpr::_n_assign*/;
16458 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TAssign::==*/)))))));
16459 if (UNTAG_Bool(variable1)) { /*if*/
16460 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ABraAssignExpr::_n_assign*/;
16461 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16462 }
16463 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ABraAssignExpr::_n_value*/;
16464 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
16465 if (UNTAG_Bool(variable1)) { /*if*/
16466 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ABraAssignExpr::_n_value*/;
16467 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16468 }
16469 tracehead = trace.prev;
16470 return;
16471 }
16472 void parser_prod___ABraAssignExpr___visit_all_reverse(val_t self, val_t param0) {
16473 struct trace_t trace = {NULL, "parser_prod::ABraAssignExpr::visit_all_reverse (src/parser//parser_prod.nit:8724,5--8740:28)"};
16474 val_t variable0;
16475 val_t variable1;
16476 val_t variable2;
16477 trace.prev = tracehead; tracehead = &trace;
16478 variable0 = param0;
16479 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraAssignExpr::_n_expr*/;
16480 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
16481 if (UNTAG_Bool(variable1)) { /*if*/
16482 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraAssignExpr::_n_expr*/;
16483 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16484 }
16485 variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraAssignExpr::_n_args*/;
16486 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
16487 variable1 = variable2;
16488 while (true) { /*while*/
16489 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
16490 if (!UNTAG_Bool(variable2)) break; /* while*/
16491 variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraAssignExpr::_n_args*/;
16492 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
16493 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
16494 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
16495 variable1 = variable2 /*i=*/;
16496 continue_758: while(0);
16497 }
16498 break_758: while(0);
16499 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ABraAssignExpr::_n_assign*/;
16500 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TAssign::==*/)))))));
16501 if (UNTAG_Bool(variable1)) { /*if*/
16502 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ABraAssignExpr::_n_assign*/;
16503 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16504 }
16505 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ABraAssignExpr::_n_value*/;
16506 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
16507 if (UNTAG_Bool(variable1)) { /*if*/
16508 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ABraAssignExpr::_n_value*/;
16509 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16510 }
16511 tracehead = trace.prev;
16512 return;
16513 }
16514 void parser_prod___ABraReassignExpr___n_expr__eq(val_t self, val_t param0) {
16515 struct trace_t trace = {NULL, "parser_prod::ABraReassignExpr::n_expr= (src/parser//parser_prod.nit:8745,5--8749:20)"};
16516 val_t variable0;
16517 val_t variable1;
16518 trace.prev = tracehead; tracehead = &trace;
16519 variable0 = param0;
16520 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraReassignExpr::_n_expr*/ = variable0 /*n*/;
16521 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*/) /*PExpr::==*/)))))));
16522 if (UNTAG_Bool(variable1)) { /*if*/
16523 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
16524 }
16525 tracehead = trace.prev;
16526 return;
16527 }
16528 void parser_prod___ABraReassignExpr___n_assign_op__eq(val_t self, val_t param0) {
16529 struct trace_t trace = {NULL, "parser_prod::ABraReassignExpr::n_assign_op= (src/parser//parser_prod.nit:8752,5--8756:20)"};
16530 val_t variable0;
16531 val_t variable1;
16532 trace.prev = tracehead; tracehead = &trace;
16533 variable0 = param0;
16534 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ABraReassignExpr::_n_assign_op*/ = variable0 /*n*/;
16535 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*/) /*PAssignOp::==*/)))))));
16536 if (UNTAG_Bool(variable1)) { /*if*/
16537 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PAssignOp::parent=*/;
16538 }
16539 tracehead = trace.prev;
16540 return;
16541 }
16542 void parser_prod___ABraReassignExpr___n_value__eq(val_t self, val_t param0) {
16543 struct trace_t trace = {NULL, "parser_prod::ABraReassignExpr::n_value= (src/parser//parser_prod.nit:8759,5--8763:20)"};
16544 val_t variable0;
16545 val_t variable1;
16546 trace.prev = tracehead; tracehead = &trace;
16547 variable0 = param0;
16548 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ABraReassignExpr::_n_value*/ = variable0 /*n*/;
16549 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*/) /*PExpr::==*/)))))));
16550 if (UNTAG_Bool(variable1)) { /*if*/
16551 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
16552 }
16553 tracehead = trace.prev;
16554 return;
16555 }
16556 void parser_prod___ABraReassignExpr___empty_init(val_t self, int* init_table) {
16557 struct trace_t trace = {NULL, "parser_prod::ABraReassignExpr::empty_init (src/parser//parser_prod.nit:8767,5--27)"};
16558 trace.prev = tracehead; tracehead = &trace;
16559 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraReassignExpr].i]) return;
16560 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraReassignExpr].i] = 1;
16561 tracehead = trace.prev;
16562 return;
16563 }
16564 void parser_prod___ABraReassignExpr___init_abrareassignexpr(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, int* init_table) {
16565 struct trace_t trace = {NULL, "parser_prod::ABraReassignExpr::init_abrareassignexpr (src/parser//parser_prod.nit:8769,5--8792:23)"};
16566 val_t variable0;
16567 val_t variable1;
16568 val_t variable2;
16569 val_t variable3;
16570 val_t variable4;
16571 val_t variable5;
16572 val_t variable6;
16573 trace.prev = tracehead; tracehead = &trace;
16574 variable0 = param0;
16575 variable1 = param1;
16576 variable2 = param2;
16577 variable3 = param3;
16578 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraReassignExpr].i]) return;
16579 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraReassignExpr::_n_expr*/ = variable0 /*n_expr*/;
16580 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*/) /*PExpr::==*/)))))));
16581 if (UNTAG_Bool(variable4)) { /*if*/
16582 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
16583 }
16584 variable4 = NEW_list___List___init(); /*new List[PExpr]*/
16585 ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraReassignExpr::_n_args*/ = variable4;
16586 variable4 = ((array___AbstractArray___iterator_t)CALL( variable1 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*n_args*/) /*Array::iterator*/;
16587 while (true) { /*for*/
16588 variable5 = ((array___ArrayIterator___is_ok_t)CALL(variable4,COLOR_abstract_collection___Iterator___is_ok))(variable4) /*ArrayIterator::is_ok*/;
16589 if (!UNTAG_Bool(variable5)) break; /*for*/
16590 variable5 = ((array___ArrayIterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*ArrayIterator::item*/;
16591 variable6 = TAG_Bool(( variable5 /*n*/==NIT_NULL) || VAL_ISA( variable5 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16592 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8782,3--20\n"); nit_exit(1);}
16593 variable6 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraReassignExpr::_n_args*/;
16594 ((abstract_collection___IndexedCollection___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6, variable5 /*n*/) /*List::add*/;
16595 ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n*/, self) /*PExpr::parent=*/;
16596 continue_764: while(0);
16597 ((array___ArrayIterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*ArrayIterator::next*/;
16598 }
16599 break_764: while(0);
16600 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ABraReassignExpr::_n_assign_op*/ = variable2 /*n_assign_op*/;
16601 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*/) /*PAssignOp::==*/)))))));
16602 if (UNTAG_Bool(variable4)) { /*if*/
16603 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_assign_op*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_assign_op*/, self) /*PAssignOp::parent=*/;
16604 }
16605 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ABraReassignExpr::_n_value*/ = variable3 /*n_value*/;
16606 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*/) /*PExpr::==*/)))))));
16607 if (UNTAG_Bool(variable4)) { /*if*/
16608 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_value*/, self) /*PExpr::parent=*/;
16609 }
16610 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraReassignExpr].i] = 1;
16611 tracehead = trace.prev;
16612 return;
16613 }
16614 void parser_prod___ABraReassignExpr___replace_child(val_t self, val_t param0, val_t param1) {
16615 struct trace_t trace = {NULL, "parser_prod::ABraReassignExpr::replace_child (src/parser//parser_prod.nit:8796,5--8839:18)"};
16616 val_t variable0;
16617 val_t variable1;
16618 val_t variable2;
16619 val_t variable3;
16620 val_t variable4;
16621 trace.prev = tracehead; tracehead = &trace;
16622 variable0 = param0;
16623 variable1 = param1;
16624 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*/) /*PNode::==*/)))))));
16625 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8798,9--32\n"); nit_exit(1);}
16626 variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraReassignExpr::_n_expr*/;
16627 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*/) /*PExpr::==*/)))));
16628 if (UNTAG_Bool(variable2)) { /*if*/
16629 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*/) /*PNode::==*/)))))));
16630 if (UNTAG_Bool(variable2)) { /*if*/
16631 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
16632 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16633 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8802,3--28\n"); nit_exit(1);}
16634 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraReassignExpr::_n_expr*/ = variable1 /*new_child*/;
16635 } else { /*if*/
16636 ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraReassignExpr::_n_expr*/ = NIT_NULL /*null*/;
16637 }
16638 goto return_label765;
16639 }
16640 variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraReassignExpr::_n_args*/;
16641 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
16642 variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
16643 variable2 = variable3;
16644 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
16645 while (true) { /*for*/
16646 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
16647 if (!UNTAG_Bool(variable3)) break; /*for*/
16648 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
16649 variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraReassignExpr::_n_args*/;
16650 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
16651 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*/) /*PExpr::==*/)))));
16652 if (UNTAG_Bool(variable4)) { /*if*/
16653 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*/) /*PNode::==*/)))))));
16654 if (UNTAG_Bool(variable4)) { /*if*/
16655 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16656 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8812,7--32\n"); nit_exit(1);}
16657 variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraReassignExpr::_n_args*/;
16658 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
16659 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PExpr::parent=*/;
16660 } else { /*if*/
16661 variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraReassignExpr::_n_args*/;
16662 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
16663 }
16664 goto return_label765;
16665 }
16666 continue_766: while(0);
16667 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
16668 }
16669 break_766: while(0);
16670 variable2 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ABraReassignExpr::_n_assign_op*/;
16671 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*/) /*PAssignOp::==*/)))));
16672 if (UNTAG_Bool(variable2)) { /*if*/
16673 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*/) /*PNode::==*/)))))));
16674 if (UNTAG_Bool(variable2)) { /*if*/
16675 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
16676 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
16677 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8824,3--32\n"); nit_exit(1);}
16678 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ABraReassignExpr::_n_assign_op*/ = variable1 /*new_child*/;
16679 } else { /*if*/
16680 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ABraReassignExpr::_n_assign_op*/ = NIT_NULL /*null*/;
16681 }
16682 goto return_label765;
16683 }
16684 variable2 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ABraReassignExpr::_n_value*/;
16685 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*/) /*PExpr::==*/)))));
16686 if (UNTAG_Bool(variable2)) { /*if*/
16687 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*/) /*PNode::==*/)))))));
16688 if (UNTAG_Bool(variable2)) { /*if*/
16689 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
16690 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16691 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8834,3--28\n"); nit_exit(1);}
16692 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ABraReassignExpr::_n_value*/ = variable1 /*new_child*/;
16693 } else { /*if*/
16694 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ABraReassignExpr::_n_value*/ = NIT_NULL /*null*/;
16695 }
16696 goto return_label765;
16697 }
16698 return_label765: while(false);
16699 tracehead = trace.prev;
16700 return;
16701 }
16702 void parser_prod___ABraReassignExpr___visit_all(val_t self, val_t param0) {
16703 struct trace_t trace = {NULL, "parser_prod::ABraReassignExpr::visit_all (src/parser//parser_prod.nit:8843,5--8855:28)"};
16704 val_t variable0;
16705 val_t variable1;
16706 val_t variable2;
16707 trace.prev = tracehead; tracehead = &trace;
16708 variable0 = param0;
16709 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraReassignExpr::_n_expr*/;
16710 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
16711 if (UNTAG_Bool(variable1)) { /*if*/
16712 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraReassignExpr::_n_expr*/;
16713 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16714 }
16715 variable1 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraReassignExpr::_n_args*/;
16716 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
16717 while (true) { /*for*/
16718 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
16719 if (!UNTAG_Bool(variable2)) break; /*for*/
16720 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
16721 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
16722 continue_768: while(0);
16723 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
16724 }
16725 break_768: while(0);
16726 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ABraReassignExpr::_n_assign_op*/;
16727 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PAssignOp::==*/)))))));
16728 if (UNTAG_Bool(variable1)) { /*if*/
16729 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ABraReassignExpr::_n_assign_op*/;
16730 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16731 }
16732 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ABraReassignExpr::_n_value*/;
16733 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
16734 if (UNTAG_Bool(variable1)) { /*if*/
16735 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ABraReassignExpr::_n_value*/;
16736 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16737 }
16738 tracehead = trace.prev;
16739 return;
16740 }
16741 void parser_prod___ABraReassignExpr___visit_all_reverse(val_t self, val_t param0) {
16742 struct trace_t trace = {NULL, "parser_prod::ABraReassignExpr::visit_all_reverse (src/parser//parser_prod.nit:8859,5--8875:28)"};
16743 val_t variable0;
16744 val_t variable1;
16745 val_t variable2;
16746 trace.prev = tracehead; tracehead = &trace;
16747 variable0 = param0;
16748 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraReassignExpr::_n_expr*/;
16749 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
16750 if (UNTAG_Bool(variable1)) { /*if*/
16751 variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraReassignExpr::_n_expr*/;
16752 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16753 }
16754 variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraReassignExpr::_n_args*/;
16755 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
16756 variable1 = variable2;
16757 while (true) { /*while*/
16758 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
16759 if (!UNTAG_Bool(variable2)) break; /* while*/
16760 variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraReassignExpr::_n_args*/;
16761 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
16762 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
16763 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
16764 variable1 = variable2 /*i=*/;
16765 continue_770: while(0);
16766 }
16767 break_770: while(0);
16768 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ABraReassignExpr::_n_assign_op*/;
16769 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PAssignOp::==*/)))))));
16770 if (UNTAG_Bool(variable1)) { /*if*/
16771 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ABraReassignExpr::_n_assign_op*/;
16772 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16773 }
16774 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ABraReassignExpr::_n_value*/;
16775 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
16776 if (UNTAG_Bool(variable1)) { /*if*/
16777 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ABraReassignExpr::_n_value*/;
16778 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16779 }
16780 tracehead = trace.prev;
16781 return;
16782 }
16783 void parser_prod___AVarExpr___n_id__eq(val_t self, val_t param0) {
16784 struct trace_t trace = {NULL, "parser_prod::AVarExpr::n_id= (src/parser//parser_prod.nit:8880,5--8884:20)"};
16785 val_t variable0;
16786 val_t variable1;
16787 trace.prev = tracehead; tracehead = &trace;
16788 variable0 = param0;
16789 ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarExpr::_n_id*/ = variable0 /*n*/;
16790 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*/) /*TId::==*/)))))));
16791 if (UNTAG_Bool(variable1)) { /*if*/
16792 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TId::parent=*/;
16793 }
16794 tracehead = trace.prev;
16795 return;
16796 }
16797 void parser_prod___AVarExpr___empty_init(val_t self, int* init_table) {
16798 struct trace_t trace = {NULL, "parser_prod::AVarExpr::empty_init (src/parser//parser_prod.nit:8888,5--27)"};
16799 trace.prev = tracehead; tracehead = &trace;
16800 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarExpr].i]) return;
16801 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarExpr].i] = 1;
16802 tracehead = trace.prev;
16803 return;
16804 }
16805 void parser_prod___AVarExpr___init_avarexpr(val_t self, val_t param0, int* init_table) {
16806 struct trace_t trace = {NULL, "parser_prod::AVarExpr::init_avarexpr (src/parser//parser_prod.nit:8890,5--8896:20)"};
16807 val_t variable0;
16808 val_t variable1;
16809 trace.prev = tracehead; tracehead = &trace;
16810 variable0 = param0;
16811 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarExpr].i]) return;
16812 ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarExpr::_n_id*/ = variable0 /*n_id*/;
16813 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*/) /*TId::==*/)))))));
16814 if (UNTAG_Bool(variable1)) { /*if*/
16815 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/, self) /*TId::parent=*/;
16816 }
16817 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarExpr].i] = 1;
16818 tracehead = trace.prev;
16819 return;
16820 }
16821 void parser_prod___AVarExpr___replace_child(val_t self, val_t param0, val_t param1) {
16822 struct trace_t trace = {NULL, "parser_prod::AVarExpr::replace_child (src/parser//parser_prod.nit:8900,5--8911:18)"};
16823 val_t variable0;
16824 val_t variable1;
16825 val_t variable2;
16826 trace.prev = tracehead; tracehead = &trace;
16827 variable0 = param0;
16828 variable1 = param1;
16829 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*/) /*PNode::==*/)))))));
16830 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8902,9--32\n"); nit_exit(1);}
16831 variable2 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarExpr::_n_id*/;
16832 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*/) /*TId::==*/)))));
16833 if (UNTAG_Bool(variable2)) { /*if*/
16834 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*/) /*PNode::==*/)))))));
16835 if (UNTAG_Bool(variable2)) { /*if*/
16836 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
16837 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
16838 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8906,3--26\n"); nit_exit(1);}
16839 ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarExpr::_n_id*/ = variable1 /*new_child*/;
16840 } else { /*if*/
16841 ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarExpr::_n_id*/ = NIT_NULL /*null*/;
16842 }
16843 goto return_label774;
16844 }
16845 return_label774: while(false);
16846 tracehead = trace.prev;
16847 return;
16848 }
16849 void parser_prod___AVarExpr___visit_all(val_t self, val_t param0) {
16850 struct trace_t trace = {NULL, "parser_prod::AVarExpr::visit_all (src/parser//parser_prod.nit:8915,5--8918:25)"};
16851 val_t variable0;
16852 val_t variable1;
16853 trace.prev = tracehead; tracehead = &trace;
16854 variable0 = param0;
16855 variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarExpr::_n_id*/;
16856 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
16857 if (UNTAG_Bool(variable1)) { /*if*/
16858 variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarExpr::_n_id*/;
16859 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16860 }
16861 tracehead = trace.prev;
16862 return;
16863 }
16864 void parser_prod___AVarExpr___visit_all_reverse(val_t self, val_t param0) {
16865 struct trace_t trace = {NULL, "parser_prod::AVarExpr::visit_all_reverse (src/parser//parser_prod.nit:8922,5--8925:25)"};
16866 val_t variable0;
16867 val_t variable1;
16868 trace.prev = tracehead; tracehead = &trace;
16869 variable0 = param0;
16870 variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarExpr::_n_id*/;
16871 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
16872 if (UNTAG_Bool(variable1)) { /*if*/
16873 variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarExpr::_n_id*/;
16874 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
16875 }
16876 tracehead = trace.prev;
16877 return;
16878 }
16879 void parser_prod___AVarAssignExpr___n_id__eq(val_t self, val_t param0) {
16880 struct trace_t trace = {NULL, "parser_prod::AVarAssignExpr::n_id= (src/parser//parser_prod.nit:8930,5--8934:20)"};
16881 val_t variable0;
16882 val_t variable1;
16883 trace.prev = tracehead; tracehead = &trace;
16884 variable0 = param0;
16885 ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarAssignExpr::_n_id*/ = variable0 /*n*/;
16886 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*/) /*TId::==*/)))))));
16887 if (UNTAG_Bool(variable1)) { /*if*/
16888 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TId::parent=*/;
16889 }
16890 tracehead = trace.prev;
16891 return;
16892 }
16893 void parser_prod___AVarAssignExpr___n_assign__eq(val_t self, val_t param0) {
16894 struct trace_t trace = {NULL, "parser_prod::AVarAssignExpr::n_assign= (src/parser//parser_prod.nit:8937,5--8941:20)"};
16895 val_t variable0;
16896 val_t variable1;
16897 trace.prev = tracehead; tracehead = &trace;
16898 variable0 = param0;
16899 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AVarAssignExpr::_n_assign*/ = variable0 /*n*/;
16900 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*/) /*TAssign::==*/)))))));
16901 if (UNTAG_Bool(variable1)) { /*if*/
16902 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TAssign::parent=*/;
16903 }
16904 tracehead = trace.prev;
16905 return;
16906 }
16907 void parser_prod___AVarAssignExpr___n_value__eq(val_t self, val_t param0) {
16908 struct trace_t trace = {NULL, "parser_prod::AVarAssignExpr::n_value= (src/parser//parser_prod.nit:8944,5--8948:20)"};
16909 val_t variable0;
16910 val_t variable1;
16911 trace.prev = tracehead; tracehead = &trace;
16912 variable0 = param0;
16913 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AVarAssignExpr::_n_value*/ = variable0 /*n*/;
16914 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*/) /*PExpr::==*/)))))));
16915 if (UNTAG_Bool(variable1)) { /*if*/
16916 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
16917 }
16918 tracehead = trace.prev;
16919 return;
16920 }
16921 void parser_prod___AVarAssignExpr___empty_init(val_t self, int* init_table) {
16922 struct trace_t trace = {NULL, "parser_prod::AVarAssignExpr::empty_init (src/parser//parser_prod.nit:8952,5--27)"};
16923 trace.prev = tracehead; tracehead = &trace;
16924 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarAssignExpr].i]) return;
16925 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarAssignExpr].i] = 1;
16926 tracehead = trace.prev;
16927 return;
16928 }
16929 void parser_prod___AVarAssignExpr___init_avarassignexpr(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
16930 struct trace_t trace = {NULL, "parser_prod::AVarAssignExpr::init_avarassignexpr (src/parser//parser_prod.nit:8954,5--8970:23)"};
16931 val_t variable0;
16932 val_t variable1;
16933 val_t variable2;
16934 val_t variable3;
16935 trace.prev = tracehead; tracehead = &trace;
16936 variable0 = param0;
16937 variable1 = param1;
16938 variable2 = param2;
16939 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarAssignExpr].i]) return;
16940 ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarAssignExpr::_n_id*/ = variable0 /*n_id*/;
16941 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*/) /*TId::==*/)))))));
16942 if (UNTAG_Bool(variable3)) { /*if*/
16943 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/, self) /*TId::parent=*/;
16944 }
16945 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AVarAssignExpr::_n_assign*/ = variable1 /*n_assign*/;
16946 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*/) /*TAssign::==*/)))))));
16947 if (UNTAG_Bool(variable3)) { /*if*/
16948 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_assign*/, self) /*TAssign::parent=*/;
16949 }
16950 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AVarAssignExpr::_n_value*/ = variable2 /*n_value*/;
16951 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*/) /*PExpr::==*/)))))));
16952 if (UNTAG_Bool(variable3)) { /*if*/
16953 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_value*/, self) /*PExpr::parent=*/;
16954 }
16955 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarAssignExpr].i] = 1;
16956 tracehead = trace.prev;
16957 return;
16958 }
16959 void parser_prod___AVarAssignExpr___replace_child(val_t self, val_t param0, val_t param1) {
16960 struct trace_t trace = {NULL, "parser_prod::AVarAssignExpr::replace_child (src/parser//parser_prod.nit:8974,5--9005:18)"};
16961 val_t variable0;
16962 val_t variable1;
16963 val_t variable2;
16964 trace.prev = tracehead; tracehead = &trace;
16965 variable0 = param0;
16966 variable1 = param1;
16967 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*/) /*PNode::==*/)))))));
16968 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8976,9--32\n"); nit_exit(1);}
16969 variable2 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarAssignExpr::_n_id*/;
16970 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*/) /*TId::==*/)))));
16971 if (UNTAG_Bool(variable2)) { /*if*/
16972 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*/) /*PNode::==*/)))))));
16973 if (UNTAG_Bool(variable2)) { /*if*/
16974 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
16975 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
16976 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8980,3--26\n"); nit_exit(1);}
16977 ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarAssignExpr::_n_id*/ = variable1 /*new_child*/;
16978 } else { /*if*/
16979 ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarAssignExpr::_n_id*/ = NIT_NULL /*null*/;
16980 }
16981 goto return_label782;
16982 }
16983 variable2 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AVarAssignExpr::_n_assign*/;
16984 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*/) /*TAssign::==*/)))));
16985 if (UNTAG_Bool(variable2)) { /*if*/
16986 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*/) /*PNode::==*/)))))));
16987 if (UNTAG_Bool(variable2)) { /*if*/
16988 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
16989 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
16990 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:8990,3--30\n"); nit_exit(1);}
16991 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AVarAssignExpr::_n_assign*/ = variable1 /*new_child*/;
16992 } else { /*if*/
16993 ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AVarAssignExpr::_n_assign*/ = NIT_NULL /*null*/;
16994 }
16995 goto return_label782;
16996 }
16997 variable2 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AVarAssignExpr::_n_value*/;
16998 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*/) /*PExpr::==*/)))));
16999 if (UNTAG_Bool(variable2)) { /*if*/
17000 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*/) /*PNode::==*/)))))));
17001 if (UNTAG_Bool(variable2)) { /*if*/
17002 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
17003 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17004 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9000,3--28\n"); nit_exit(1);}
17005 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AVarAssignExpr::_n_value*/ = variable1 /*new_child*/;
17006 } else { /*if*/
17007 ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AVarAssignExpr::_n_value*/ = NIT_NULL /*null*/;
17008 }
17009 goto return_label782;
17010 }
17011 return_label782: while(false);
17012 tracehead = trace.prev;
17013 return;
17014 }
17015 void parser_prod___AVarAssignExpr___visit_all(val_t self, val_t param0) {
17016 struct trace_t trace = {NULL, "parser_prod::AVarAssignExpr::visit_all (src/parser//parser_prod.nit:9009,5--9018:28)"};
17017 val_t variable0;
17018 val_t variable1;
17019 trace.prev = tracehead; tracehead = &trace;
17020 variable0 = param0;
17021 variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarAssignExpr::_n_id*/;
17022 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
17023 if (UNTAG_Bool(variable1)) { /*if*/
17024 variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarAssignExpr::_n_id*/;
17025 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17026 }
17027 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AVarAssignExpr::_n_assign*/;
17028 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TAssign::==*/)))))));
17029 if (UNTAG_Bool(variable1)) { /*if*/
17030 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AVarAssignExpr::_n_assign*/;
17031 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17032 }
17033 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AVarAssignExpr::_n_value*/;
17034 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
17035 if (UNTAG_Bool(variable1)) { /*if*/
17036 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AVarAssignExpr::_n_value*/;
17037 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17038 }
17039 tracehead = trace.prev;
17040 return;
17041 }
17042 void parser_prod___AVarAssignExpr___visit_all_reverse(val_t self, val_t param0) {
17043 struct trace_t trace = {NULL, "parser_prod::AVarAssignExpr::visit_all_reverse (src/parser//parser_prod.nit:9022,5--9031:28)"};
17044 val_t variable0;
17045 val_t variable1;
17046 trace.prev = tracehead; tracehead = &trace;
17047 variable0 = param0;
17048 variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarAssignExpr::_n_id*/;
17049 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
17050 if (UNTAG_Bool(variable1)) { /*if*/
17051 variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarAssignExpr::_n_id*/;
17052 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17053 }
17054 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AVarAssignExpr::_n_assign*/;
17055 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TAssign::==*/)))))));
17056 if (UNTAG_Bool(variable1)) { /*if*/
17057 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AVarAssignExpr::_n_assign*/;
17058 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17059 }
17060 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AVarAssignExpr::_n_value*/;
17061 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
17062 if (UNTAG_Bool(variable1)) { /*if*/
17063 variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AVarAssignExpr::_n_value*/;
17064 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17065 }
17066 tracehead = trace.prev;
17067 return;
17068 }
17069 void parser_prod___AVarReassignExpr___n_id__eq(val_t self, val_t param0) {
17070 struct trace_t trace = {NULL, "parser_prod::AVarReassignExpr::n_id= (src/parser//parser_prod.nit:9036,5--9040:20)"};
17071 val_t variable0;
17072 val_t variable1;
17073 trace.prev = tracehead; tracehead = &trace;
17074 variable0 = param0;
17075 ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarReassignExpr::_n_id*/ = variable0 /*n*/;
17076 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*/) /*TId::==*/)))))));
17077 if (UNTAG_Bool(variable1)) { /*if*/
17078 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TId::parent=*/;
17079 }
17080 tracehead = trace.prev;
17081 return;
17082 }
17083 void parser_prod___AVarReassignExpr___n_assign_op__eq(val_t self, val_t param0) {
17084 struct trace_t trace = {NULL, "parser_prod::AVarReassignExpr::n_assign_op= (src/parser//parser_prod.nit:9043,5--9047:20)"};
17085 val_t variable0;
17086 val_t variable1;
17087 trace.prev = tracehead; tracehead = &trace;
17088 variable0 = param0;
17089 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AVarReassignExpr::_n_assign_op*/ = variable0 /*n*/;
17090 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*/) /*PAssignOp::==*/)))))));
17091 if (UNTAG_Bool(variable1)) { /*if*/
17092 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PAssignOp::parent=*/;
17093 }
17094 tracehead = trace.prev;
17095 return;
17096 }
17097 void parser_prod___AVarReassignExpr___n_value__eq(val_t self, val_t param0) {
17098 struct trace_t trace = {NULL, "parser_prod::AVarReassignExpr::n_value= (src/parser//parser_prod.nit:9050,5--9054:20)"};
17099 val_t variable0;
17100 val_t variable1;
17101 trace.prev = tracehead; tracehead = &trace;
17102 variable0 = param0;
17103 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AVarReassignExpr::_n_value*/ = variable0 /*n*/;
17104 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*/) /*PExpr::==*/)))))));
17105 if (UNTAG_Bool(variable1)) { /*if*/
17106 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
17107 }
17108 tracehead = trace.prev;
17109 return;
17110 }
17111 void parser_prod___AVarReassignExpr___empty_init(val_t self, int* init_table) {
17112 struct trace_t trace = {NULL, "parser_prod::AVarReassignExpr::empty_init (src/parser//parser_prod.nit:9058,5--27)"};
17113 trace.prev = tracehead; tracehead = &trace;
17114 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarReassignExpr].i]) return;
17115 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarReassignExpr].i] = 1;
17116 tracehead = trace.prev;
17117 return;
17118 }
17119 void parser_prod___AVarReassignExpr___init_avarreassignexpr(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
17120 struct trace_t trace = {NULL, "parser_prod::AVarReassignExpr::init_avarreassignexpr (src/parser//parser_prod.nit:9060,5--9076:23)"};
17121 val_t variable0;
17122 val_t variable1;
17123 val_t variable2;
17124 val_t variable3;
17125 trace.prev = tracehead; tracehead = &trace;
17126 variable0 = param0;
17127 variable1 = param1;
17128 variable2 = param2;
17129 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarReassignExpr].i]) return;
17130 ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarReassignExpr::_n_id*/ = variable0 /*n_id*/;
17131 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*/) /*TId::==*/)))))));
17132 if (UNTAG_Bool(variable3)) { /*if*/
17133 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/, self) /*TId::parent=*/;
17134 }
17135 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AVarReassignExpr::_n_assign_op*/ = variable1 /*n_assign_op*/;
17136 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*/) /*PAssignOp::==*/)))))));
17137 if (UNTAG_Bool(variable3)) { /*if*/
17138 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_assign_op*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_assign_op*/, self) /*PAssignOp::parent=*/;
17139 }
17140 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AVarReassignExpr::_n_value*/ = variable2 /*n_value*/;
17141 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*/) /*PExpr::==*/)))))));
17142 if (UNTAG_Bool(variable3)) { /*if*/
17143 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_value*/, self) /*PExpr::parent=*/;
17144 }
17145 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarReassignExpr].i] = 1;
17146 tracehead = trace.prev;
17147 return;
17148 }
17149 void parser_prod___AVarReassignExpr___replace_child(val_t self, val_t param0, val_t param1) {
17150 struct trace_t trace = {NULL, "parser_prod::AVarReassignExpr::replace_child (src/parser//parser_prod.nit:9080,5--9111:18)"};
17151 val_t variable0;
17152 val_t variable1;
17153 val_t variable2;
17154 trace.prev = tracehead; tracehead = &trace;
17155 variable0 = param0;
17156 variable1 = param1;
17157 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*/) /*PNode::==*/)))))));
17158 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9082,9--32\n"); nit_exit(1);}
17159 variable2 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarReassignExpr::_n_id*/;
17160 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*/) /*TId::==*/)))));
17161 if (UNTAG_Bool(variable2)) { /*if*/
17162 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*/) /*PNode::==*/)))))));
17163 if (UNTAG_Bool(variable2)) { /*if*/
17164 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
17165 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
17166 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9086,3--26\n"); nit_exit(1);}
17167 ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarReassignExpr::_n_id*/ = variable1 /*new_child*/;
17168 } else { /*if*/
17169 ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarReassignExpr::_n_id*/ = NIT_NULL /*null*/;
17170 }
17171 goto return_label790;
17172 }
17173 variable2 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AVarReassignExpr::_n_assign_op*/;
17174 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*/) /*PAssignOp::==*/)))));
17175 if (UNTAG_Bool(variable2)) { /*if*/
17176 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*/) /*PNode::==*/)))))));
17177 if (UNTAG_Bool(variable2)) { /*if*/
17178 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
17179 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
17180 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9096,3--32\n"); nit_exit(1);}
17181 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AVarReassignExpr::_n_assign_op*/ = variable1 /*new_child*/;
17182 } else { /*if*/
17183 ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AVarReassignExpr::_n_assign_op*/ = NIT_NULL /*null*/;
17184 }
17185 goto return_label790;
17186 }
17187 variable2 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AVarReassignExpr::_n_value*/;
17188 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*/) /*PExpr::==*/)))));
17189 if (UNTAG_Bool(variable2)) { /*if*/
17190 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*/) /*PNode::==*/)))))));
17191 if (UNTAG_Bool(variable2)) { /*if*/
17192 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
17193 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17194 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9106,3--28\n"); nit_exit(1);}
17195 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AVarReassignExpr::_n_value*/ = variable1 /*new_child*/;
17196 } else { /*if*/
17197 ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AVarReassignExpr::_n_value*/ = NIT_NULL /*null*/;
17198 }
17199 goto return_label790;
17200 }
17201 return_label790: while(false);
17202 tracehead = trace.prev;
17203 return;
17204 }
17205 void parser_prod___AVarReassignExpr___visit_all(val_t self, val_t param0) {
17206 struct trace_t trace = {NULL, "parser_prod::AVarReassignExpr::visit_all (src/parser//parser_prod.nit:9115,5--9124:28)"};
17207 val_t variable0;
17208 val_t variable1;
17209 trace.prev = tracehead; tracehead = &trace;
17210 variable0 = param0;
17211 variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarReassignExpr::_n_id*/;
17212 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
17213 if (UNTAG_Bool(variable1)) { /*if*/
17214 variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarReassignExpr::_n_id*/;
17215 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17216 }
17217 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AVarReassignExpr::_n_assign_op*/;
17218 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PAssignOp::==*/)))))));
17219 if (UNTAG_Bool(variable1)) { /*if*/
17220 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AVarReassignExpr::_n_assign_op*/;
17221 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17222 }
17223 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AVarReassignExpr::_n_value*/;
17224 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
17225 if (UNTAG_Bool(variable1)) { /*if*/
17226 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AVarReassignExpr::_n_value*/;
17227 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17228 }
17229 tracehead = trace.prev;
17230 return;
17231 }
17232 void parser_prod___AVarReassignExpr___visit_all_reverse(val_t self, val_t param0) {
17233 struct trace_t trace = {NULL, "parser_prod::AVarReassignExpr::visit_all_reverse (src/parser//parser_prod.nit:9128,5--9137:28)"};
17234 val_t variable0;
17235 val_t variable1;
17236 trace.prev = tracehead; tracehead = &trace;
17237 variable0 = param0;
17238 variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarReassignExpr::_n_id*/;
17239 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TId::==*/)))))));
17240 if (UNTAG_Bool(variable1)) { /*if*/
17241 variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarReassignExpr::_n_id*/;
17242 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17243 }
17244 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AVarReassignExpr::_n_assign_op*/;
17245 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PAssignOp::==*/)))))));
17246 if (UNTAG_Bool(variable1)) { /*if*/
17247 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AVarReassignExpr::_n_assign_op*/;
17248 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17249 }
17250 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AVarReassignExpr::_n_value*/;
17251 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
17252 if (UNTAG_Bool(variable1)) { /*if*/
17253 variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AVarReassignExpr::_n_value*/;
17254 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17255 }
17256 tracehead = trace.prev;
17257 return;
17258 }
17259 void parser_prod___ARangeExpr___n_expr__eq(val_t self, val_t param0) {
17260 struct trace_t trace = {NULL, "parser_prod::ARangeExpr::n_expr= (src/parser//parser_prod.nit:9142,5--9146:20)"};
17261 val_t variable0;
17262 val_t variable1;
17263 trace.prev = tracehead; tracehead = &trace;
17264 variable0 = param0;
17265 ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ = variable0 /*n*/;
17266 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*/) /*PExpr::==*/)))))));
17267 if (UNTAG_Bool(variable1)) { /*if*/
17268 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
17269 }
17270 tracehead = trace.prev;
17271 return;
17272 }
17273 void parser_prod___ARangeExpr___n_expr2__eq(val_t self, val_t param0) {
17274 struct trace_t trace = {NULL, "parser_prod::ARangeExpr::n_expr2= (src/parser//parser_prod.nit:9149,5--9153:20)"};
17275 val_t variable0;
17276 val_t variable1;
17277 trace.prev = tracehead; tracehead = &trace;
17278 variable0 = param0;
17279 ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ = variable0 /*n*/;
17280 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*/) /*PExpr::==*/)))))));
17281 if (UNTAG_Bool(variable1)) { /*if*/
17282 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
17283 }
17284 tracehead = trace.prev;
17285 return;
17286 }
17287 void parser_prod___ARangeExpr___empty_init(val_t self, int* init_table) {
17288 struct trace_t trace = {NULL, "parser_prod::ARangeExpr::empty_init (src/parser//parser_prod.nit:9157,5--27)"};
17289 trace.prev = tracehead; tracehead = &trace;
17290 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ARangeExpr].i]) return;
17291 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ARangeExpr].i] = 1;
17292 tracehead = trace.prev;
17293 return;
17294 }
17295 void parser_prod___ARangeExpr___init_arangeexpr(val_t self, val_t param0, val_t param1, int* init_table) {
17296 struct trace_t trace = {NULL, "parser_prod::ARangeExpr::init_arangeexpr (src/parser//parser_prod.nit:9159,5--9170:23)"};
17297 val_t variable0;
17298 val_t variable1;
17299 val_t variable2;
17300 trace.prev = tracehead; tracehead = &trace;
17301 variable0 = param0;
17302 variable1 = param1;
17303 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ARangeExpr].i]) return;
17304 ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ = variable0 /*n_expr*/;
17305 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*/) /*PExpr::==*/)))))));
17306 if (UNTAG_Bool(variable2)) { /*if*/
17307 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
17308 }
17309 ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ = variable1 /*n_expr2*/;
17310 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*/) /*PExpr::==*/)))))));
17311 if (UNTAG_Bool(variable2)) { /*if*/
17312 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PExpr::parent=*/;
17313 }
17314 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ARangeExpr].i] = 1;
17315 tracehead = trace.prev;
17316 return;
17317 }
17318 void parser_prod___ARangeExpr___replace_child(val_t self, val_t param0, val_t param1) {
17319 struct trace_t trace = {NULL, "parser_prod::ARangeExpr::replace_child (src/parser//parser_prod.nit:9174,5--9195:18)"};
17320 val_t variable0;
17321 val_t variable1;
17322 val_t variable2;
17323 trace.prev = tracehead; tracehead = &trace;
17324 variable0 = param0;
17325 variable1 = param1;
17326 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*/) /*PNode::==*/)))))));
17327 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9176,9--32\n"); nit_exit(1);}
17328 variable2 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
17329 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*/) /*PExpr::==*/)))));
17330 if (UNTAG_Bool(variable2)) { /*if*/
17331 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*/) /*PNode::==*/)))))));
17332 if (UNTAG_Bool(variable2)) { /*if*/
17333 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
17334 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17335 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9180,3--28\n"); nit_exit(1);}
17336 ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ = variable1 /*new_child*/;
17337 } else { /*if*/
17338 ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ = NIT_NULL /*null*/;
17339 }
17340 goto return_label797;
17341 }
17342 variable2 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
17343 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*/) /*PExpr::==*/)))));
17344 if (UNTAG_Bool(variable2)) { /*if*/
17345 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*/) /*PNode::==*/)))))));
17346 if (UNTAG_Bool(variable2)) { /*if*/
17347 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
17348 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17349 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9190,3--28\n"); nit_exit(1);}
17350 ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ = variable1 /*new_child*/;
17351 } else { /*if*/
17352 ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ = NIT_NULL /*null*/;
17353 }
17354 goto return_label797;
17355 }
17356 return_label797: while(false);
17357 tracehead = trace.prev;
17358 return;
17359 }
17360 void parser_prod___ARangeExpr___visit_all(val_t self, val_t param0) {
17361 struct trace_t trace = {NULL, "parser_prod::ARangeExpr::visit_all (src/parser//parser_prod.nit:9199,5--9205:28)"};
17362 val_t variable0;
17363 val_t variable1;
17364 trace.prev = tracehead; tracehead = &trace;
17365 variable0 = param0;
17366 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
17367 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
17368 if (UNTAG_Bool(variable1)) { /*if*/
17369 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
17370 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17371 }
17372 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
17373 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
17374 if (UNTAG_Bool(variable1)) { /*if*/
17375 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
17376 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17377 }
17378 tracehead = trace.prev;
17379 return;
17380 }
17381 void parser_prod___ARangeExpr___visit_all_reverse(val_t self, val_t param0) {
17382 struct trace_t trace = {NULL, "parser_prod::ARangeExpr::visit_all_reverse (src/parser//parser_prod.nit:9209,5--9215:28)"};
17383 val_t variable0;
17384 val_t variable1;
17385 trace.prev = tracehead; tracehead = &trace;
17386 variable0 = param0;
17387 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
17388 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
17389 if (UNTAG_Bool(variable1)) { /*if*/
17390 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
17391 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17392 }
17393 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
17394 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
17395 if (UNTAG_Bool(variable1)) { /*if*/
17396 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
17397 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17398 }
17399 tracehead = trace.prev;
17400 return;
17401 }
17402 void parser_prod___ACrangeExpr___n_expr__eq(val_t self, val_t param0) {
17403 struct trace_t trace = {NULL, "parser_prod::ACrangeExpr::n_expr= (src/parser//parser_prod.nit:9220,5--9224:20)"};
17404 val_t variable0;
17405 val_t variable1;
17406 trace.prev = tracehead; tracehead = &trace;
17407 variable0 = param0;
17408 ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ACrangeExpr::_n_expr*/ = variable0 /*n*/;
17409 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*/) /*PExpr::==*/)))))));
17410 if (UNTAG_Bool(variable1)) { /*if*/
17411 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
17412 }
17413 tracehead = trace.prev;
17414 return;
17415 }
17416 void parser_prod___ACrangeExpr___n_expr2__eq(val_t self, val_t param0) {
17417 struct trace_t trace = {NULL, "parser_prod::ACrangeExpr::n_expr2= (src/parser//parser_prod.nit:9227,5--9231:20)"};
17418 val_t variable0;
17419 val_t variable1;
17420 trace.prev = tracehead; tracehead = &trace;
17421 variable0 = param0;
17422 ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ACrangeExpr::_n_expr2*/ = variable0 /*n*/;
17423 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*/) /*PExpr::==*/)))))));
17424 if (UNTAG_Bool(variable1)) { /*if*/
17425 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
17426 }
17427 tracehead = trace.prev;
17428 return;
17429 }
17430 void parser_prod___ACrangeExpr___empty_init(val_t self, int* init_table) {
17431 struct trace_t trace = {NULL, "parser_prod::ACrangeExpr::empty_init (src/parser//parser_prod.nit:9235,5--27)"};
17432 trace.prev = tracehead; tracehead = &trace;
17433 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACrangeExpr].i]) return;
17434 ((parser_prod___ARangeExpr___empty_init_t)CALL( self,COLOR_parser_prod___ARangeExpr___empty_init))( self, init_table /*YYY*/) /*ARangeExpr::empty_init*/;
17435 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACrangeExpr].i] = 1;
17436 tracehead = trace.prev;
17437 return;
17438 }
17439 void parser_prod___ACrangeExpr___init_acrangeexpr(val_t self, val_t param0, val_t param1, int* init_table) {
17440 struct trace_t trace = {NULL, "parser_prod::ACrangeExpr::init_acrangeexpr (src/parser//parser_prod.nit:9237,5--9248:23)"};
17441 val_t variable0;
17442 val_t variable1;
17443 val_t variable2;
17444 trace.prev = tracehead; tracehead = &trace;
17445 variable0 = param0;
17446 variable1 = param1;
17447 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACrangeExpr].i]) return;
17448 ((parser_prod___ARangeExpr___empty_init_t)CALL( self,COLOR_parser_prod___ARangeExpr___empty_init))( self, init_table /*YYY*/) /*ARangeExpr::empty_init*/;
17449 ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ACrangeExpr::_n_expr*/ = variable0 /*n_expr*/;
17450 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*/) /*PExpr::==*/)))))));
17451 if (UNTAG_Bool(variable2)) { /*if*/
17452 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
17453 }
17454 ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ACrangeExpr::_n_expr2*/ = variable1 /*n_expr2*/;
17455 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*/) /*PExpr::==*/)))))));
17456 if (UNTAG_Bool(variable2)) { /*if*/
17457 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PExpr::parent=*/;
17458 }
17459 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACrangeExpr].i] = 1;
17460 tracehead = trace.prev;
17461 return;
17462 }
17463 void parser_prod___ACrangeExpr___replace_child(val_t self, val_t param0, val_t param1) {
17464 struct trace_t trace = {NULL, "parser_prod::ACrangeExpr::replace_child (src/parser//parser_prod.nit:9252,5--9273:18)"};
17465 val_t variable0;
17466 val_t variable1;
17467 val_t variable2;
17468 trace.prev = tracehead; tracehead = &trace;
17469 variable0 = param0;
17470 variable1 = param1;
17471 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*/) /*PNode::==*/)))))));
17472 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9254,9--32\n"); nit_exit(1);}
17473 variable2 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ACrangeExpr::_n_expr*/;
17474 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*/) /*PExpr::==*/)))));
17475 if (UNTAG_Bool(variable2)) { /*if*/
17476 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*/) /*PNode::==*/)))))));
17477 if (UNTAG_Bool(variable2)) { /*if*/
17478 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
17479 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17480 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9258,3--28\n"); nit_exit(1);}
17481 ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ACrangeExpr::_n_expr*/ = variable1 /*new_child*/;
17482 } else { /*if*/
17483 ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ACrangeExpr::_n_expr*/ = NIT_NULL /*null*/;
17484 }
17485 goto return_label804;
17486 }
17487 variable2 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ACrangeExpr::_n_expr2*/;
17488 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*/) /*PExpr::==*/)))));
17489 if (UNTAG_Bool(variable2)) { /*if*/
17490 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*/) /*PNode::==*/)))))));
17491 if (UNTAG_Bool(variable2)) { /*if*/
17492 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
17493 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17494 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9268,3--28\n"); nit_exit(1);}
17495 ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ACrangeExpr::_n_expr2*/ = variable1 /*new_child*/;
17496 } else { /*if*/
17497 ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ACrangeExpr::_n_expr2*/ = NIT_NULL /*null*/;
17498 }
17499 goto return_label804;
17500 }
17501 return_label804: while(false);
17502 tracehead = trace.prev;
17503 return;
17504 }
17505 void parser_prod___ACrangeExpr___visit_all(val_t self, val_t param0) {
17506 struct trace_t trace = {NULL, "parser_prod::ACrangeExpr::visit_all (src/parser//parser_prod.nit:9277,5--9283:28)"};
17507 val_t variable0;
17508 val_t variable1;
17509 trace.prev = tracehead; tracehead = &trace;
17510 variable0 = param0;
17511 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ACrangeExpr::_n_expr*/;
17512 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
17513 if (UNTAG_Bool(variable1)) { /*if*/
17514 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ACrangeExpr::_n_expr*/;
17515 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17516 }
17517 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ACrangeExpr::_n_expr2*/;
17518 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
17519 if (UNTAG_Bool(variable1)) { /*if*/
17520 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ACrangeExpr::_n_expr2*/;
17521 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17522 }
17523 tracehead = trace.prev;
17524 return;
17525 }
17526 void parser_prod___ACrangeExpr___visit_all_reverse(val_t self, val_t param0) {
17527 struct trace_t trace = {NULL, "parser_prod::ACrangeExpr::visit_all_reverse (src/parser//parser_prod.nit:9287,5--9293:28)"};
17528 val_t variable0;
17529 val_t variable1;
17530 trace.prev = tracehead; tracehead = &trace;
17531 variable0 = param0;
17532 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ACrangeExpr::_n_expr*/;
17533 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
17534 if (UNTAG_Bool(variable1)) { /*if*/
17535 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ACrangeExpr::_n_expr*/;
17536 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17537 }
17538 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ACrangeExpr::_n_expr2*/;
17539 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
17540 if (UNTAG_Bool(variable1)) { /*if*/
17541 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ACrangeExpr::_n_expr2*/;
17542 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17543 }
17544 tracehead = trace.prev;
17545 return;
17546 }
17547 void parser_prod___AOrangeExpr___n_expr__eq(val_t self, val_t param0) {
17548 struct trace_t trace = {NULL, "parser_prod::AOrangeExpr::n_expr= (src/parser//parser_prod.nit:9298,5--9302:20)"};
17549 val_t variable0;
17550 val_t variable1;
17551 trace.prev = tracehead; tracehead = &trace;
17552 variable0 = param0;
17553 ATTR_parser_nodes___ARangeExpr____n_expr( self) /*AOrangeExpr::_n_expr*/ = variable0 /*n*/;
17554 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*/) /*PExpr::==*/)))))));
17555 if (UNTAG_Bool(variable1)) { /*if*/
17556 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
17557 }
17558 tracehead = trace.prev;
17559 return;
17560 }
17561 void parser_prod___AOrangeExpr___n_expr2__eq(val_t self, val_t param0) {
17562 struct trace_t trace = {NULL, "parser_prod::AOrangeExpr::n_expr2= (src/parser//parser_prod.nit:9305,5--9309:20)"};
17563 val_t variable0;
17564 val_t variable1;
17565 trace.prev = tracehead; tracehead = &trace;
17566 variable0 = param0;
17567 ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*AOrangeExpr::_n_expr2*/ = variable0 /*n*/;
17568 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*/) /*PExpr::==*/)))))));
17569 if (UNTAG_Bool(variable1)) { /*if*/
17570 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
17571 }
17572 tracehead = trace.prev;
17573 return;
17574 }
17575 void parser_prod___AOrangeExpr___empty_init(val_t self, int* init_table) {
17576 struct trace_t trace = {NULL, "parser_prod::AOrangeExpr::empty_init (src/parser//parser_prod.nit:9313,5--27)"};
17577 trace.prev = tracehead; tracehead = &trace;
17578 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrangeExpr].i]) return;
17579 ((parser_prod___ARangeExpr___empty_init_t)CALL( self,COLOR_parser_prod___ARangeExpr___empty_init))( self, init_table /*YYY*/) /*ARangeExpr::empty_init*/;
17580 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrangeExpr].i] = 1;
17581 tracehead = trace.prev;
17582 return;
17583 }
17584 void parser_prod___AOrangeExpr___init_aorangeexpr(val_t self, val_t param0, val_t param1, int* init_table) {
17585 struct trace_t trace = {NULL, "parser_prod::AOrangeExpr::init_aorangeexpr (src/parser//parser_prod.nit:9315,5--9326:23)"};
17586 val_t variable0;
17587 val_t variable1;
17588 val_t variable2;
17589 trace.prev = tracehead; tracehead = &trace;
17590 variable0 = param0;
17591 variable1 = param1;
17592 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrangeExpr].i]) return;
17593 ((parser_prod___ARangeExpr___empty_init_t)CALL( self,COLOR_parser_prod___ARangeExpr___empty_init))( self, init_table /*YYY*/) /*ARangeExpr::empty_init*/;
17594 ATTR_parser_nodes___ARangeExpr____n_expr( self) /*AOrangeExpr::_n_expr*/ = variable0 /*n_expr*/;
17595 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*/) /*PExpr::==*/)))))));
17596 if (UNTAG_Bool(variable2)) { /*if*/
17597 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
17598 }
17599 ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*AOrangeExpr::_n_expr2*/ = variable1 /*n_expr2*/;
17600 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*/) /*PExpr::==*/)))))));
17601 if (UNTAG_Bool(variable2)) { /*if*/
17602 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/, self) /*PExpr::parent=*/;
17603 }
17604 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrangeExpr].i] = 1;
17605 tracehead = trace.prev;
17606 return;
17607 }
17608 void parser_prod___AOrangeExpr___replace_child(val_t self, val_t param0, val_t param1) {
17609 struct trace_t trace = {NULL, "parser_prod::AOrangeExpr::replace_child (src/parser//parser_prod.nit:9330,5--9351:18)"};
17610 val_t variable0;
17611 val_t variable1;
17612 val_t variable2;
17613 trace.prev = tracehead; tracehead = &trace;
17614 variable0 = param0;
17615 variable1 = param1;
17616 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*/) /*PNode::==*/)))))));
17617 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9332,9--32\n"); nit_exit(1);}
17618 variable2 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*AOrangeExpr::_n_expr*/;
17619 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*/) /*PExpr::==*/)))));
17620 if (UNTAG_Bool(variable2)) { /*if*/
17621 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*/) /*PNode::==*/)))))));
17622 if (UNTAG_Bool(variable2)) { /*if*/
17623 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
17624 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17625 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9336,3--28\n"); nit_exit(1);}
17626 ATTR_parser_nodes___ARangeExpr____n_expr( self) /*AOrangeExpr::_n_expr*/ = variable1 /*new_child*/;
17627 } else { /*if*/
17628 ATTR_parser_nodes___ARangeExpr____n_expr( self) /*AOrangeExpr::_n_expr*/ = NIT_NULL /*null*/;
17629 }
17630 goto return_label811;
17631 }
17632 variable2 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*AOrangeExpr::_n_expr2*/;
17633 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*/) /*PExpr::==*/)))));
17634 if (UNTAG_Bool(variable2)) { /*if*/
17635 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*/) /*PNode::==*/)))))));
17636 if (UNTAG_Bool(variable2)) { /*if*/
17637 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
17638 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17639 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9346,3--28\n"); nit_exit(1);}
17640 ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*AOrangeExpr::_n_expr2*/ = variable1 /*new_child*/;
17641 } else { /*if*/
17642 ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*AOrangeExpr::_n_expr2*/ = NIT_NULL /*null*/;
17643 }
17644 goto return_label811;
17645 }
17646 return_label811: while(false);
17647 tracehead = trace.prev;
17648 return;
17649 }
17650 void parser_prod___AOrangeExpr___visit_all(val_t self, val_t param0) {
17651 struct trace_t trace = {NULL, "parser_prod::AOrangeExpr::visit_all (src/parser//parser_prod.nit:9355,5--9361:28)"};
17652 val_t variable0;
17653 val_t variable1;
17654 trace.prev = tracehead; tracehead = &trace;
17655 variable0 = param0;
17656 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*AOrangeExpr::_n_expr*/;
17657 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
17658 if (UNTAG_Bool(variable1)) { /*if*/
17659 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*AOrangeExpr::_n_expr*/;
17660 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17661 }
17662 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*AOrangeExpr::_n_expr2*/;
17663 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
17664 if (UNTAG_Bool(variable1)) { /*if*/
17665 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*AOrangeExpr::_n_expr2*/;
17666 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17667 }
17668 tracehead = trace.prev;
17669 return;
17670 }
17671 void parser_prod___AOrangeExpr___visit_all_reverse(val_t self, val_t param0) {
17672 struct trace_t trace = {NULL, "parser_prod::AOrangeExpr::visit_all_reverse (src/parser//parser_prod.nit:9365,5--9371:28)"};
17673 val_t variable0;
17674 val_t variable1;
17675 trace.prev = tracehead; tracehead = &trace;
17676 variable0 = param0;
17677 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*AOrangeExpr::_n_expr*/;
17678 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
17679 if (UNTAG_Bool(variable1)) { /*if*/
17680 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*AOrangeExpr::_n_expr*/;
17681 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17682 }
17683 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*AOrangeExpr::_n_expr2*/;
17684 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
17685 if (UNTAG_Bool(variable1)) { /*if*/
17686 variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*AOrangeExpr::_n_expr2*/;
17687 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17688 }
17689 tracehead = trace.prev;
17690 return;
17691 }
17692 void parser_prod___AArrayExpr___empty_init(val_t self, int* init_table) {
17693 struct trace_t trace = {NULL, "parser_prod::AArrayExpr::empty_init (src/parser//parser_prod.nit:9377,5--27)"};
17694 trace.prev = tracehead; tracehead = &trace;
17695 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AArrayExpr].i]) return;
17696 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AArrayExpr].i] = 1;
17697 tracehead = trace.prev;
17698 return;
17699 }
17700 void parser_prod___AArrayExpr___init_aarrayexpr(val_t self, val_t param0, int* init_table) {
17701 struct trace_t trace = {NULL, "parser_prod::AArrayExpr::init_aarrayexpr (src/parser//parser_prod.nit:9379,5--9387:17)"};
17702 val_t variable0;
17703 val_t variable1;
17704 val_t variable2;
17705 val_t variable3;
17706 trace.prev = tracehead; tracehead = &trace;
17707 variable0 = param0;
17708 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AArrayExpr].i]) return;
17709 variable1 = NEW_list___List___init(); /*new List[PExpr]*/
17710 ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/ = variable1;
17711 variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_exprs*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_exprs*/) /*Array::iterator*/;
17712 while (true) { /*for*/
17713 variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
17714 if (!UNTAG_Bool(variable2)) break; /*for*/
17715 variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
17716 variable3 = TAG_Bool(( variable2 /*n*/==NIT_NULL) || VAL_ISA( variable2 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17717 if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9385,3--20\n"); nit_exit(1);}
17718 variable3 = ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/;
17719 ((abstract_collection___IndexedCollection___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable2 /*n*/) /*List::add*/;
17720 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n*/, self) /*PExpr::parent=*/;
17721 continue_816: while(0);
17722 ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
17723 }
17724 break_816: while(0);
17725 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AArrayExpr].i] = 1;
17726 tracehead = trace.prev;
17727 return;
17728 }
17729 void parser_prod___AArrayExpr___replace_child(val_t self, val_t param0, val_t param1) {
17730 struct trace_t trace = {NULL, "parser_prod::AArrayExpr::replace_child (src/parser//parser_prod.nit:9391,5--9403:22)"};
17731 val_t variable0;
17732 val_t variable1;
17733 val_t variable2;
17734 val_t variable3;
17735 val_t variable4;
17736 trace.prev = tracehead; tracehead = &trace;
17737 variable0 = param0;
17738 variable1 = param1;
17739 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*/) /*PNode::==*/)))))));
17740 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9393,9--32\n"); nit_exit(1);}
17741 variable2 = ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/;
17742 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
17743 variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
17744 variable2 = variable3;
17745 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
17746 while (true) { /*for*/
17747 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
17748 if (!UNTAG_Bool(variable3)) break; /*for*/
17749 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
17750 variable4 = ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/;
17751 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
17752 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*/) /*PExpr::==*/)))));
17753 if (UNTAG_Bool(variable4)) { /*if*/
17754 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*/) /*PNode::==*/)))))));
17755 if (UNTAG_Bool(variable4)) { /*if*/
17756 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17757 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9397,7--32\n"); nit_exit(1);}
17758 variable4 = ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/;
17759 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
17760 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PExpr::parent=*/;
17761 } else { /*if*/
17762 variable4 = ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/;
17763 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
17764 }
17765 goto return_label817;
17766 }
17767 continue_818: while(0);
17768 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
17769 }
17770 break_818: while(0);
17771 return_label817: while(false);
17772 tracehead = trace.prev;
17773 return;
17774 }
17775 void parser_prod___AArrayExpr___visit_all(val_t self, val_t param0) {
17776 struct trace_t trace = {NULL, "parser_prod::AArrayExpr::visit_all (src/parser//parser_prod.nit:9408,5--9411:25)"};
17777 val_t variable0;
17778 val_t variable1;
17779 val_t variable2;
17780 trace.prev = tracehead; tracehead = &trace;
17781 variable0 = param0;
17782 variable1 = ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/;
17783 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
17784 while (true) { /*for*/
17785 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
17786 if (!UNTAG_Bool(variable2)) break; /*for*/
17787 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
17788 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
17789 continue_820: while(0);
17790 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
17791 }
17792 break_820: while(0);
17793 tracehead = trace.prev;
17794 return;
17795 }
17796 void parser_prod___AArrayExpr___visit_all_reverse(val_t self, val_t param0) {
17797 struct trace_t trace = {NULL, "parser_prod::AArrayExpr::visit_all_reverse (src/parser//parser_prod.nit:9415,5--9421:11)"};
17798 val_t variable0;
17799 val_t variable1;
17800 val_t variable2;
17801 trace.prev = tracehead; tracehead = &trace;
17802 variable0 = param0;
17803 variable2 = ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/;
17804 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
17805 variable1 = variable2;
17806 while (true) { /*while*/
17807 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
17808 if (!UNTAG_Bool(variable2)) break; /* while*/
17809 variable2 = ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/;
17810 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
17811 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
17812 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
17813 variable1 = variable2 /*i=*/;
17814 continue_822: while(0);
17815 }
17816 break_822: while(0);
17817 tracehead = trace.prev;
17818 return;
17819 }
17820 void parser_prod___ASelfExpr___n_kwself__eq(val_t self, val_t param0) {
17821 struct trace_t trace = {NULL, "parser_prod::ASelfExpr::n_kwself= (src/parser//parser_prod.nit:9427,5--9431:20)"};
17822 val_t variable0;
17823 val_t variable1;
17824 trace.prev = tracehead; tracehead = &trace;
17825 variable0 = param0;
17826 ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/ = variable0 /*n*/;
17827 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*/) /*TKwself::==*/)))))));
17828 if (UNTAG_Bool(variable1)) { /*if*/
17829 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwself::parent=*/;
17830 }
17831 tracehead = trace.prev;
17832 return;
17833 }
17834 void parser_prod___ASelfExpr___empty_init(val_t self, int* init_table) {
17835 struct trace_t trace = {NULL, "parser_prod::ASelfExpr::empty_init (src/parser//parser_prod.nit:9435,5--27)"};
17836 trace.prev = tracehead; tracehead = &trace;
17837 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASelfExpr].i]) return;
17838 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASelfExpr].i] = 1;
17839 tracehead = trace.prev;
17840 return;
17841 }
17842 void parser_prod___ASelfExpr___init_aselfexpr(val_t self, val_t param0, int* init_table) {
17843 struct trace_t trace = {NULL, "parser_prod::ASelfExpr::init_aselfexpr (src/parser//parser_prod.nit:9437,5--9443:24)"};
17844 val_t variable0;
17845 val_t variable1;
17846 trace.prev = tracehead; tracehead = &trace;
17847 variable0 = param0;
17848 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASelfExpr].i]) return;
17849 ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/ = variable0 /*n_kwself*/;
17850 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*/) /*TKwself::==*/)))))));
17851 if (UNTAG_Bool(variable1)) { /*if*/
17852 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwself*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwself*/, self) /*TKwself::parent=*/;
17853 }
17854 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASelfExpr].i] = 1;
17855 tracehead = trace.prev;
17856 return;
17857 }
17858 void parser_prod___ASelfExpr___replace_child(val_t self, val_t param0, val_t param1) {
17859 struct trace_t trace = {NULL, "parser_prod::ASelfExpr::replace_child (src/parser//parser_prod.nit:9447,5--9458:18)"};
17860 val_t variable0;
17861 val_t variable1;
17862 val_t variable2;
17863 trace.prev = tracehead; tracehead = &trace;
17864 variable0 = param0;
17865 variable1 = param1;
17866 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*/) /*PNode::==*/)))))));
17867 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9449,9--32\n"); nit_exit(1);}
17868 variable2 = ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/;
17869 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*/) /*TKwself::==*/)))));
17870 if (UNTAG_Bool(variable2)) { /*if*/
17871 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*/) /*PNode::==*/)))))));
17872 if (UNTAG_Bool(variable2)) { /*if*/
17873 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
17874 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/;
17875 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9453,3--30\n"); nit_exit(1);}
17876 ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/ = variable1 /*new_child*/;
17877 } else { /*if*/
17878 ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/ = NIT_NULL /*null*/;
17879 }
17880 goto return_label826;
17881 }
17882 return_label826: while(false);
17883 tracehead = trace.prev;
17884 return;
17885 }
17886 void parser_prod___ASelfExpr___visit_all(val_t self, val_t param0) {
17887 struct trace_t trace = {NULL, "parser_prod::ASelfExpr::visit_all (src/parser//parser_prod.nit:9462,5--9465:29)"};
17888 val_t variable0;
17889 val_t variable1;
17890 trace.prev = tracehead; tracehead = &trace;
17891 variable0 = param0;
17892 variable1 = ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/;
17893 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwself::==*/)))))));
17894 if (UNTAG_Bool(variable1)) { /*if*/
17895 variable1 = ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/;
17896 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
17897 }
17898 tracehead = trace.prev;
17899 return;
17900 }
17901 void parser_prod___ASelfExpr___visit_all_reverse(val_t self, val_t param0) {
17902 struct trace_t trace = {NULL, "parser_prod::ASelfExpr::visit_all_reverse (src/parser//parser_prod.nit:9469,5--9472:29)"};
17903 val_t variable0;
17904 val_t variable1;
17905 trace.prev = tracehead; tracehead = &trace;
17906 variable0 = param0;
17907 variable1 = ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/;
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*/) /*TKwself::==*/)))))));
17909 if (UNTAG_Bool(variable1)) { /*if*/
17910 variable1 = ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/;
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___AImplicitSelfExpr___empty_init(val_t self, int* init_table) {
17917 struct trace_t trace = {NULL, "parser_prod::AImplicitSelfExpr::empty_init (src/parser//parser_prod.nit:9478,5--27)"};
17918 trace.prev = tracehead; tracehead = &trace;
17919 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImplicitSelfExpr].i]) return;
17920 ((parser_prod___ASelfExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASelfExpr___empty_init))( self, init_table /*YYY*/) /*ASelfExpr::empty_init*/;
17921 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImplicitSelfExpr].i] = 1;
17922 tracehead = trace.prev;
17923 return;
17924 }
17925 void parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(val_t self, int* init_table) {
17926 struct trace_t trace = {NULL, "parser_prod::AImplicitSelfExpr::init_aimplicitselfexpr (src/parser//parser_prod.nit:9480,5--31)"};
17927 trace.prev = tracehead; tracehead = &trace;
17928 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImplicitSelfExpr].i]) return;
17929 ((parser_prod___ASelfExpr___empty_init_t)CALL( self,COLOR_parser_prod___ASelfExpr___empty_init))( self, init_table /*YYY*/) /*ASelfExpr::empty_init*/;
17930 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImplicitSelfExpr].i] = 1;
17931 tracehead = trace.prev;
17932 return;
17933 }
17934 void parser_prod___AImplicitSelfExpr___replace_child(val_t self, val_t param0, val_t param1) {
17935 struct trace_t trace = {NULL, "parser_prod::AImplicitSelfExpr::replace_child (src/parser//parser_prod.nit:9484,5--9486:32)"};
17936 val_t variable0;
17937 val_t variable1;
17938 val_t variable2;
17939 trace.prev = tracehead; tracehead = &trace;
17940 variable0 = param0;
17941 variable1 = param1;
17942 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*/) /*PNode::==*/)))))));
17943 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9486,9--32\n"); nit_exit(1);}
17944 tracehead = trace.prev;
17945 return;
17946 }
17947 void parser_prod___AImplicitSelfExpr___visit_all(val_t self, val_t param0) {
17948 struct trace_t trace = {NULL, "parser_prod::AImplicitSelfExpr::visit_all (src/parser//parser_prod.nit:9489,5--35)"};
17949 val_t variable0;
17950 trace.prev = tracehead; tracehead = &trace;
17951 variable0 = param0;
17952 tracehead = trace.prev;
17953 return;
17954 }
17955 void parser_prod___AImplicitSelfExpr___visit_all_reverse(val_t self, val_t param0) {
17956 struct trace_t trace = {NULL, "parser_prod::AImplicitSelfExpr::visit_all_reverse (src/parser//parser_prod.nit:9493,5--43)"};
17957 val_t variable0;
17958 trace.prev = tracehead; tracehead = &trace;
17959 variable0 = param0;
17960 tracehead = trace.prev;
17961 return;
17962 }
17963 void parser_prod___ATrueExpr___n_kwtrue__eq(val_t self, val_t param0) {
17964 struct trace_t trace = {NULL, "parser_prod::ATrueExpr::n_kwtrue= (src/parser//parser_prod.nit:9498,5--9502:20)"};
17965 val_t variable0;
17966 val_t variable1;
17967 trace.prev = tracehead; tracehead = &trace;
17968 variable0 = param0;
17969 ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/ = variable0 /*n*/;
17970 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*/) /*TKwtrue::==*/)))))));
17971 if (UNTAG_Bool(variable1)) { /*if*/
17972 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwtrue::parent=*/;
17973 }
17974 tracehead = trace.prev;
17975 return;
17976 }
17977 void parser_prod___ATrueExpr___empty_init(val_t self, int* init_table) {
17978 struct trace_t trace = {NULL, "parser_prod::ATrueExpr::empty_init (src/parser//parser_prod.nit:9506,5--27)"};
17979 trace.prev = tracehead; tracehead = &trace;
17980 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATrueExpr].i]) return;
17981 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATrueExpr].i] = 1;
17982 tracehead = trace.prev;
17983 return;
17984 }
17985 void parser_prod___ATrueExpr___init_atrueexpr(val_t self, val_t param0, int* init_table) {
17986 struct trace_t trace = {NULL, "parser_prod::ATrueExpr::init_atrueexpr (src/parser//parser_prod.nit:9508,5--9514:24)"};
17987 val_t variable0;
17988 val_t variable1;
17989 trace.prev = tracehead; tracehead = &trace;
17990 variable0 = param0;
17991 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATrueExpr].i]) return;
17992 ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/ = variable0 /*n_kwtrue*/;
17993 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*/) /*TKwtrue::==*/)))))));
17994 if (UNTAG_Bool(variable1)) { /*if*/
17995 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwtrue*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwtrue*/, self) /*TKwtrue::parent=*/;
17996 }
17997 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATrueExpr].i] = 1;
17998 tracehead = trace.prev;
17999 return;
18000 }
18001 void parser_prod___ATrueExpr___replace_child(val_t self, val_t param0, val_t param1) {
18002 struct trace_t trace = {NULL, "parser_prod::ATrueExpr::replace_child (src/parser//parser_prod.nit:9518,5--9529:18)"};
18003 val_t variable0;
18004 val_t variable1;
18005 val_t variable2;
18006 trace.prev = tracehead; tracehead = &trace;
18007 variable0 = param0;
18008 variable1 = param1;
18009 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*/) /*PNode::==*/)))))));
18010 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9520,9--32\n"); nit_exit(1);}
18011 variable2 = ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/;
18012 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*/) /*TKwtrue::==*/)))));
18013 if (UNTAG_Bool(variable2)) { /*if*/
18014 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*/) /*PNode::==*/)))))));
18015 if (UNTAG_Bool(variable2)) { /*if*/
18016 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
18017 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/;
18018 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9524,3--30\n"); nit_exit(1);}
18019 ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/ = variable1 /*new_child*/;
18020 } else { /*if*/
18021 ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/ = NIT_NULL /*null*/;
18022 }
18023 goto return_label837;
18024 }
18025 return_label837: while(false);
18026 tracehead = trace.prev;
18027 return;
18028 }
18029 void parser_prod___ATrueExpr___visit_all(val_t self, val_t param0) {
18030 struct trace_t trace = {NULL, "parser_prod::ATrueExpr::visit_all (src/parser//parser_prod.nit:9533,5--9536:29)"};
18031 val_t variable0;
18032 val_t variable1;
18033 trace.prev = tracehead; tracehead = &trace;
18034 variable0 = param0;
18035 variable1 = ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/;
18036 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwtrue::==*/)))))));
18037 if (UNTAG_Bool(variable1)) { /*if*/
18038 variable1 = ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/;
18039 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18040 }
18041 tracehead = trace.prev;
18042 return;
18043 }
18044 void parser_prod___ATrueExpr___visit_all_reverse(val_t self, val_t param0) {
18045 struct trace_t trace = {NULL, "parser_prod::ATrueExpr::visit_all_reverse (src/parser//parser_prod.nit:9540,5--9543:29)"};
18046 val_t variable0;
18047 val_t variable1;
18048 trace.prev = tracehead; tracehead = &trace;
18049 variable0 = param0;
18050 variable1 = ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/;
18051 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwtrue::==*/)))))));
18052 if (UNTAG_Bool(variable1)) { /*if*/
18053 variable1 = ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/;
18054 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18055 }
18056 tracehead = trace.prev;
18057 return;
18058 }
18059 void parser_prod___AFalseExpr___n_kwfalse__eq(val_t self, val_t param0) {
18060 struct trace_t trace = {NULL, "parser_prod::AFalseExpr::n_kwfalse= (src/parser//parser_prod.nit:9548,5--9552:20)"};
18061 val_t variable0;
18062 val_t variable1;
18063 trace.prev = tracehead; tracehead = &trace;
18064 variable0 = param0;
18065 ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/ = variable0 /*n*/;
18066 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*/) /*TKwfalse::==*/)))))));
18067 if (UNTAG_Bool(variable1)) { /*if*/
18068 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwfalse::parent=*/;
18069 }
18070 tracehead = trace.prev;
18071 return;
18072 }
18073 void parser_prod___AFalseExpr___empty_init(val_t self, int* init_table) {
18074 struct trace_t trace = {NULL, "parser_prod::AFalseExpr::empty_init (src/parser//parser_prod.nit:9556,5--27)"};
18075 trace.prev = tracehead; tracehead = &trace;
18076 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFalseExpr].i]) return;
18077 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFalseExpr].i] = 1;
18078 tracehead = trace.prev;
18079 return;
18080 }
18081 void parser_prod___AFalseExpr___init_afalseexpr(val_t self, val_t param0, int* init_table) {
18082 struct trace_t trace = {NULL, "parser_prod::AFalseExpr::init_afalseexpr (src/parser//parser_prod.nit:9558,5--9564:25)"};
18083 val_t variable0;
18084 val_t variable1;
18085 trace.prev = tracehead; tracehead = &trace;
18086 variable0 = param0;
18087 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFalseExpr].i]) return;
18088 ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/ = variable0 /*n_kwfalse*/;
18089 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*/) /*TKwfalse::==*/)))))));
18090 if (UNTAG_Bool(variable1)) { /*if*/
18091 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwfalse*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwfalse*/, self) /*TKwfalse::parent=*/;
18092 }
18093 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFalseExpr].i] = 1;
18094 tracehead = trace.prev;
18095 return;
18096 }
18097 void parser_prod___AFalseExpr___replace_child(val_t self, val_t param0, val_t param1) {
18098 struct trace_t trace = {NULL, "parser_prod::AFalseExpr::replace_child (src/parser//parser_prod.nit:9568,5--9579:18)"};
18099 val_t variable0;
18100 val_t variable1;
18101 val_t variable2;
18102 trace.prev = tracehead; tracehead = &trace;
18103 variable0 = param0;
18104 variable1 = param1;
18105 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*/) /*PNode::==*/)))))));
18106 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9570,9--32\n"); nit_exit(1);}
18107 variable2 = ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/;
18108 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*/) /*TKwfalse::==*/)))));
18109 if (UNTAG_Bool(variable2)) { /*if*/
18110 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*/) /*PNode::==*/)))))));
18111 if (UNTAG_Bool(variable2)) { /*if*/
18112 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
18113 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/;
18114 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9574,3--31\n"); nit_exit(1);}
18115 ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/ = variable1 /*new_child*/;
18116 } else { /*if*/
18117 ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/ = NIT_NULL /*null*/;
18118 }
18119 goto return_label843;
18120 }
18121 return_label843: while(false);
18122 tracehead = trace.prev;
18123 return;
18124 }
18125 void parser_prod___AFalseExpr___visit_all(val_t self, val_t param0) {
18126 struct trace_t trace = {NULL, "parser_prod::AFalseExpr::visit_all (src/parser//parser_prod.nit:9583,5--9586:30)"};
18127 val_t variable0;
18128 val_t variable1;
18129 trace.prev = tracehead; tracehead = &trace;
18130 variable0 = param0;
18131 variable1 = ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/;
18132 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwfalse::==*/)))))));
18133 if (UNTAG_Bool(variable1)) { /*if*/
18134 variable1 = ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/;
18135 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18136 }
18137 tracehead = trace.prev;
18138 return;
18139 }
18140 void parser_prod___AFalseExpr___visit_all_reverse(val_t self, val_t param0) {
18141 struct trace_t trace = {NULL, "parser_prod::AFalseExpr::visit_all_reverse (src/parser//parser_prod.nit:9590,5--9593:30)"};
18142 val_t variable0;
18143 val_t variable1;
18144 trace.prev = tracehead; tracehead = &trace;
18145 variable0 = param0;
18146 variable1 = ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/;
18147 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwfalse::==*/)))))));
18148 if (UNTAG_Bool(variable1)) { /*if*/
18149 variable1 = ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/;
18150 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18151 }
18152 tracehead = trace.prev;
18153 return;
18154 }
18155 void parser_prod___ANullExpr___n_kwnull__eq(val_t self, val_t param0) {
18156 struct trace_t trace = {NULL, "parser_prod::ANullExpr::n_kwnull= (src/parser//parser_prod.nit:9598,5--9602:20)"};
18157 val_t variable0;
18158 val_t variable1;
18159 trace.prev = tracehead; tracehead = &trace;
18160 variable0 = param0;
18161 ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/ = variable0 /*n*/;
18162 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*/) /*TKwnull::==*/)))))));
18163 if (UNTAG_Bool(variable1)) { /*if*/
18164 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TKwnull::parent=*/;
18165 }
18166 tracehead = trace.prev;
18167 return;
18168 }
18169 void parser_prod___ANullExpr___empty_init(val_t self, int* init_table) {
18170 struct trace_t trace = {NULL, "parser_prod::ANullExpr::empty_init (src/parser//parser_prod.nit:9606,5--27)"};
18171 trace.prev = tracehead; tracehead = &trace;
18172 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANullExpr].i]) return;
18173 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANullExpr].i] = 1;
18174 tracehead = trace.prev;
18175 return;
18176 }
18177 void parser_prod___ANullExpr___init_anullexpr(val_t self, val_t param0, int* init_table) {
18178 struct trace_t trace = {NULL, "parser_prod::ANullExpr::init_anullexpr (src/parser//parser_prod.nit:9608,5--9614:24)"};
18179 val_t variable0;
18180 val_t variable1;
18181 trace.prev = tracehead; tracehead = &trace;
18182 variable0 = param0;
18183 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANullExpr].i]) return;
18184 ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/ = variable0 /*n_kwnull*/;
18185 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*/) /*TKwnull::==*/)))))));
18186 if (UNTAG_Bool(variable1)) { /*if*/
18187 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwnull*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwnull*/, self) /*TKwnull::parent=*/;
18188 }
18189 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANullExpr].i] = 1;
18190 tracehead = trace.prev;
18191 return;
18192 }
18193 void parser_prod___ANullExpr___replace_child(val_t self, val_t param0, val_t param1) {
18194 struct trace_t trace = {NULL, "parser_prod::ANullExpr::replace_child (src/parser//parser_prod.nit:9618,5--9629:18)"};
18195 val_t variable0;
18196 val_t variable1;
18197 val_t variable2;
18198 trace.prev = tracehead; tracehead = &trace;
18199 variable0 = param0;
18200 variable1 = param1;
18201 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*/) /*PNode::==*/)))))));
18202 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9620,9--32\n"); nit_exit(1);}
18203 variable2 = ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/;
18204 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*/) /*TKwnull::==*/)))));
18205 if (UNTAG_Bool(variable2)) { /*if*/
18206 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*/) /*PNode::==*/)))))));
18207 if (UNTAG_Bool(variable2)) { /*if*/
18208 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
18209 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
18210 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9624,3--30\n"); nit_exit(1);}
18211 ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/ = variable1 /*new_child*/;
18212 } else { /*if*/
18213 ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/ = NIT_NULL /*null*/;
18214 }
18215 goto return_label849;
18216 }
18217 return_label849: while(false);
18218 tracehead = trace.prev;
18219 return;
18220 }
18221 void parser_prod___ANullExpr___visit_all(val_t self, val_t param0) {
18222 struct trace_t trace = {NULL, "parser_prod::ANullExpr::visit_all (src/parser//parser_prod.nit:9633,5--9636:29)"};
18223 val_t variable0;
18224 val_t variable1;
18225 trace.prev = tracehead; tracehead = &trace;
18226 variable0 = param0;
18227 variable1 = ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/;
18228 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwnull::==*/)))))));
18229 if (UNTAG_Bool(variable1)) { /*if*/
18230 variable1 = ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/;
18231 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18232 }
18233 tracehead = trace.prev;
18234 return;
18235 }
18236 void parser_prod___ANullExpr___visit_all_reverse(val_t self, val_t param0) {
18237 struct trace_t trace = {NULL, "parser_prod::ANullExpr::visit_all_reverse (src/parser//parser_prod.nit:9640,5--9643:29)"};
18238 val_t variable0;
18239 val_t variable1;
18240 trace.prev = tracehead; tracehead = &trace;
18241 variable0 = param0;
18242 variable1 = ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/;
18243 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TKwnull::==*/)))))));
18244 if (UNTAG_Bool(variable1)) { /*if*/
18245 variable1 = ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/;
18246 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18247 }
18248 tracehead = trace.prev;
18249 return;
18250 }
18251 void parser_prod___AIntExpr___n_number__eq(val_t self, val_t param0) {
18252 struct trace_t trace = {NULL, "parser_prod::AIntExpr::n_number= (src/parser//parser_prod.nit:9648,5--9652:20)"};
18253 val_t variable0;
18254 val_t variable1;
18255 trace.prev = tracehead; tracehead = &trace;
18256 variable0 = param0;
18257 ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/ = variable0 /*n*/;
18258 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*/) /*TNumber::==*/)))))));
18259 if (UNTAG_Bool(variable1)) { /*if*/
18260 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TNumber::parent=*/;
18261 }
18262 tracehead = trace.prev;
18263 return;
18264 }
18265 void parser_prod___AIntExpr___empty_init(val_t self, int* init_table) {
18266 struct trace_t trace = {NULL, "parser_prod::AIntExpr::empty_init (src/parser//parser_prod.nit:9656,5--27)"};
18267 trace.prev = tracehead; tracehead = &trace;
18268 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntExpr].i]) return;
18269 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntExpr].i] = 1;
18270 tracehead = trace.prev;
18271 return;
18272 }
18273 void parser_prod___AIntExpr___init_aintexpr(val_t self, val_t param0, int* init_table) {
18274 struct trace_t trace = {NULL, "parser_prod::AIntExpr::init_aintexpr (src/parser//parser_prod.nit:9658,5--9664:24)"};
18275 val_t variable0;
18276 val_t variable1;
18277 trace.prev = tracehead; tracehead = &trace;
18278 variable0 = param0;
18279 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntExpr].i]) return;
18280 ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/ = variable0 /*n_number*/;
18281 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*/) /*TNumber::==*/)))))));
18282 if (UNTAG_Bool(variable1)) { /*if*/
18283 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_number*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_number*/, self) /*TNumber::parent=*/;
18284 }
18285 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntExpr].i] = 1;
18286 tracehead = trace.prev;
18287 return;
18288 }
18289 void parser_prod___AIntExpr___replace_child(val_t self, val_t param0, val_t param1) {
18290 struct trace_t trace = {NULL, "parser_prod::AIntExpr::replace_child (src/parser//parser_prod.nit:9668,5--9679:18)"};
18291 val_t variable0;
18292 val_t variable1;
18293 val_t variable2;
18294 trace.prev = tracehead; tracehead = &trace;
18295 variable0 = param0;
18296 variable1 = param1;
18297 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*/) /*PNode::==*/)))))));
18298 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9670,9--32\n"); nit_exit(1);}
18299 variable2 = ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/;
18300 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*/) /*TNumber::==*/)))));
18301 if (UNTAG_Bool(variable2)) { /*if*/
18302 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*/) /*PNode::==*/)))))));
18303 if (UNTAG_Bool(variable2)) { /*if*/
18304 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
18305 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/;
18306 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9674,3--30\n"); nit_exit(1);}
18307 ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/ = variable1 /*new_child*/;
18308 } else { /*if*/
18309 ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/ = NIT_NULL /*null*/;
18310 }
18311 goto return_label855;
18312 }
18313 return_label855: while(false);
18314 tracehead = trace.prev;
18315 return;
18316 }
18317 void parser_prod___AIntExpr___visit_all(val_t self, val_t param0) {
18318 struct trace_t trace = {NULL, "parser_prod::AIntExpr::visit_all (src/parser//parser_prod.nit:9683,5--9686:29)"};
18319 val_t variable0;
18320 val_t variable1;
18321 trace.prev = tracehead; tracehead = &trace;
18322 variable0 = param0;
18323 variable1 = ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/;
18324 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TNumber::==*/)))))));
18325 if (UNTAG_Bool(variable1)) { /*if*/
18326 variable1 = ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/;
18327 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18328 }
18329 tracehead = trace.prev;
18330 return;
18331 }
18332 void parser_prod___AIntExpr___visit_all_reverse(val_t self, val_t param0) {
18333 struct trace_t trace = {NULL, "parser_prod::AIntExpr::visit_all_reverse (src/parser//parser_prod.nit:9690,5--9693:29)"};
18334 val_t variable0;
18335 val_t variable1;
18336 trace.prev = tracehead; tracehead = &trace;
18337 variable0 = param0;
18338 variable1 = ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/;
18339 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TNumber::==*/)))))));
18340 if (UNTAG_Bool(variable1)) { /*if*/
18341 variable1 = ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/;
18342 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18343 }
18344 tracehead = trace.prev;
18345 return;
18346 }
18347 void parser_prod___AFloatExpr___n_float__eq(val_t self, val_t param0) {
18348 struct trace_t trace = {NULL, "parser_prod::AFloatExpr::n_float= (src/parser//parser_prod.nit:9698,5--9702:20)"};
18349 val_t variable0;
18350 val_t variable1;
18351 trace.prev = tracehead; tracehead = &trace;
18352 variable0 = param0;
18353 ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/ = variable0 /*n*/;
18354 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*/) /*TFloat::==*/)))))));
18355 if (UNTAG_Bool(variable1)) { /*if*/
18356 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TFloat::parent=*/;
18357 }
18358 tracehead = trace.prev;
18359 return;
18360 }
18361 void parser_prod___AFloatExpr___empty_init(val_t self, int* init_table) {
18362 struct trace_t trace = {NULL, "parser_prod::AFloatExpr::empty_init (src/parser//parser_prod.nit:9706,5--27)"};
18363 trace.prev = tracehead; tracehead = &trace;
18364 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFloatExpr].i]) return;
18365 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFloatExpr].i] = 1;
18366 tracehead = trace.prev;
18367 return;
18368 }
18369 void parser_prod___AFloatExpr___init_afloatexpr(val_t self, val_t param0, int* init_table) {
18370 struct trace_t trace = {NULL, "parser_prod::AFloatExpr::init_afloatexpr (src/parser//parser_prod.nit:9708,5--9714:23)"};
18371 val_t variable0;
18372 val_t variable1;
18373 trace.prev = tracehead; tracehead = &trace;
18374 variable0 = param0;
18375 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFloatExpr].i]) return;
18376 ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/ = variable0 /*n_float*/;
18377 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*/) /*TFloat::==*/)))))));
18378 if (UNTAG_Bool(variable1)) { /*if*/
18379 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_float*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_float*/, self) /*TFloat::parent=*/;
18380 }
18381 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFloatExpr].i] = 1;
18382 tracehead = trace.prev;
18383 return;
18384 }
18385 void parser_prod___AFloatExpr___replace_child(val_t self, val_t param0, val_t param1) {
18386 struct trace_t trace = {NULL, "parser_prod::AFloatExpr::replace_child (src/parser//parser_prod.nit:9718,5--9729:18)"};
18387 val_t variable0;
18388 val_t variable1;
18389 val_t variable2;
18390 trace.prev = tracehead; tracehead = &trace;
18391 variable0 = param0;
18392 variable1 = param1;
18393 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*/) /*PNode::==*/)))))));
18394 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9720,9--32\n"); nit_exit(1);}
18395 variable2 = ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/;
18396 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*/) /*TFloat::==*/)))));
18397 if (UNTAG_Bool(variable2)) { /*if*/
18398 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*/) /*PNode::==*/)))))));
18399 if (UNTAG_Bool(variable2)) { /*if*/
18400 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
18401 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/;
18402 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9724,3--29\n"); nit_exit(1);}
18403 ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/ = variable1 /*new_child*/;
18404 } else { /*if*/
18405 ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/ = NIT_NULL /*null*/;
18406 }
18407 goto return_label861;
18408 }
18409 return_label861: while(false);
18410 tracehead = trace.prev;
18411 return;
18412 }
18413 void parser_prod___AFloatExpr___visit_all(val_t self, val_t param0) {
18414 struct trace_t trace = {NULL, "parser_prod::AFloatExpr::visit_all (src/parser//parser_prod.nit:9733,5--9736:28)"};
18415 val_t variable0;
18416 val_t variable1;
18417 trace.prev = tracehead; tracehead = &trace;
18418 variable0 = param0;
18419 variable1 = ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/;
18420 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TFloat::==*/)))))));
18421 if (UNTAG_Bool(variable1)) { /*if*/
18422 variable1 = ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/;
18423 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18424 }
18425 tracehead = trace.prev;
18426 return;
18427 }
18428 void parser_prod___AFloatExpr___visit_all_reverse(val_t self, val_t param0) {
18429 struct trace_t trace = {NULL, "parser_prod::AFloatExpr::visit_all_reverse (src/parser//parser_prod.nit:9740,5--9743:28)"};
18430 val_t variable0;
18431 val_t variable1;
18432 trace.prev = tracehead; tracehead = &trace;
18433 variable0 = param0;
18434 variable1 = ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/;
18435 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TFloat::==*/)))))));
18436 if (UNTAG_Bool(variable1)) { /*if*/
18437 variable1 = ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/;
18438 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18439 }
18440 tracehead = trace.prev;
18441 return;
18442 }
18443 void parser_prod___ACharExpr___n_char__eq(val_t self, val_t param0) {
18444 struct trace_t trace = {NULL, "parser_prod::ACharExpr::n_char= (src/parser//parser_prod.nit:9748,5--9752:20)"};
18445 val_t variable0;
18446 val_t variable1;
18447 trace.prev = tracehead; tracehead = &trace;
18448 variable0 = param0;
18449 ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/ = variable0 /*n*/;
18450 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*/) /*TChar::==*/)))))));
18451 if (UNTAG_Bool(variable1)) { /*if*/
18452 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TChar::parent=*/;
18453 }
18454 tracehead = trace.prev;
18455 return;
18456 }
18457 void parser_prod___ACharExpr___empty_init(val_t self, int* init_table) {
18458 struct trace_t trace = {NULL, "parser_prod::ACharExpr::empty_init (src/parser//parser_prod.nit:9756,5--27)"};
18459 trace.prev = tracehead; tracehead = &trace;
18460 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACharExpr].i]) return;
18461 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACharExpr].i] = 1;
18462 tracehead = trace.prev;
18463 return;
18464 }
18465 void parser_prod___ACharExpr___init_acharexpr(val_t self, val_t param0, int* init_table) {
18466 struct trace_t trace = {NULL, "parser_prod::ACharExpr::init_acharexpr (src/parser//parser_prod.nit:9758,5--9764:22)"};
18467 val_t variable0;
18468 val_t variable1;
18469 trace.prev = tracehead; tracehead = &trace;
18470 variable0 = param0;
18471 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACharExpr].i]) return;
18472 ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/ = variable0 /*n_char*/;
18473 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*/) /*TChar::==*/)))))));
18474 if (UNTAG_Bool(variable1)) { /*if*/
18475 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_char*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_char*/, self) /*TChar::parent=*/;
18476 }
18477 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACharExpr].i] = 1;
18478 tracehead = trace.prev;
18479 return;
18480 }
18481 void parser_prod___ACharExpr___replace_child(val_t self, val_t param0, val_t param1) {
18482 struct trace_t trace = {NULL, "parser_prod::ACharExpr::replace_child (src/parser//parser_prod.nit:9768,5--9779:18)"};
18483 val_t variable0;
18484 val_t variable1;
18485 val_t variable2;
18486 trace.prev = tracehead; tracehead = &trace;
18487 variable0 = param0;
18488 variable1 = param1;
18489 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*/) /*PNode::==*/)))))));
18490 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9770,9--32\n"); nit_exit(1);}
18491 variable2 = ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/;
18492 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*/) /*TChar::==*/)))));
18493 if (UNTAG_Bool(variable2)) { /*if*/
18494 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*/) /*PNode::==*/)))))));
18495 if (UNTAG_Bool(variable2)) { /*if*/
18496 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
18497 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TChar, ID_TChar)) /*cast TChar*/;
18498 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9774,3--28\n"); nit_exit(1);}
18499 ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/ = variable1 /*new_child*/;
18500 } else { /*if*/
18501 ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/ = NIT_NULL /*null*/;
18502 }
18503 goto return_label867;
18504 }
18505 return_label867: while(false);
18506 tracehead = trace.prev;
18507 return;
18508 }
18509 void parser_prod___ACharExpr___visit_all(val_t self, val_t param0) {
18510 struct trace_t trace = {NULL, "parser_prod::ACharExpr::visit_all (src/parser//parser_prod.nit:9783,5--9786:27)"};
18511 val_t variable0;
18512 val_t variable1;
18513 trace.prev = tracehead; tracehead = &trace;
18514 variable0 = param0;
18515 variable1 = ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/;
18516 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TChar::==*/)))))));
18517 if (UNTAG_Bool(variable1)) { /*if*/
18518 variable1 = ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/;
18519 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18520 }
18521 tracehead = trace.prev;
18522 return;
18523 }
18524 void parser_prod___ACharExpr___visit_all_reverse(val_t self, val_t param0) {
18525 struct trace_t trace = {NULL, "parser_prod::ACharExpr::visit_all_reverse (src/parser//parser_prod.nit:9790,5--9793:27)"};
18526 val_t variable0;
18527 val_t variable1;
18528 trace.prev = tracehead; tracehead = &trace;
18529 variable0 = param0;
18530 variable1 = ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/;
18531 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TChar::==*/)))))));
18532 if (UNTAG_Bool(variable1)) { /*if*/
18533 variable1 = ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/;
18534 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18535 }
18536 tracehead = trace.prev;
18537 return;
18538 }
18539 void parser_prod___AStringExpr___n_string__eq(val_t self, val_t param0) {
18540 struct trace_t trace = {NULL, "parser_prod::AStringExpr::n_string= (src/parser//parser_prod.nit:9798,5--9802:20)"};
18541 val_t variable0;
18542 val_t variable1;
18543 trace.prev = tracehead; tracehead = &trace;
18544 variable0 = param0;
18545 ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/ = variable0 /*n*/;
18546 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*/) /*TString::==*/)))))));
18547 if (UNTAG_Bool(variable1)) { /*if*/
18548 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TString::parent=*/;
18549 }
18550 tracehead = trace.prev;
18551 return;
18552 }
18553 void parser_prod___AStringExpr___empty_init(val_t self, int* init_table) {
18554 struct trace_t trace = {NULL, "parser_prod::AStringExpr::empty_init (src/parser//parser_prod.nit:9806,5--27)"};
18555 trace.prev = tracehead; tracehead = &trace;
18556 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStringExpr].i]) return;
18557 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStringExpr].i] = 1;
18558 tracehead = trace.prev;
18559 return;
18560 }
18561 void parser_prod___AStringExpr___init_astringexpr(val_t self, val_t param0, int* init_table) {
18562 struct trace_t trace = {NULL, "parser_prod::AStringExpr::init_astringexpr (src/parser//parser_prod.nit:9808,5--9814:24)"};
18563 val_t variable0;
18564 val_t variable1;
18565 trace.prev = tracehead; tracehead = &trace;
18566 variable0 = param0;
18567 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStringExpr].i]) return;
18568 ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/ = variable0 /*n_string*/;
18569 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*/) /*TString::==*/)))))));
18570 if (UNTAG_Bool(variable1)) { /*if*/
18571 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_string*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_string*/, self) /*TString::parent=*/;
18572 }
18573 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStringExpr].i] = 1;
18574 tracehead = trace.prev;
18575 return;
18576 }
18577 void parser_prod___AStringExpr___replace_child(val_t self, val_t param0, val_t param1) {
18578 struct trace_t trace = {NULL, "parser_prod::AStringExpr::replace_child (src/parser//parser_prod.nit:9818,5--9829:18)"};
18579 val_t variable0;
18580 val_t variable1;
18581 val_t variable2;
18582 trace.prev = tracehead; tracehead = &trace;
18583 variable0 = param0;
18584 variable1 = param1;
18585 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*/) /*PNode::==*/)))))));
18586 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9820,9--32\n"); nit_exit(1);}
18587 variable2 = ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/;
18588 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*/) /*TString::==*/)))));
18589 if (UNTAG_Bool(variable2)) { /*if*/
18590 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*/) /*PNode::==*/)))))));
18591 if (UNTAG_Bool(variable2)) { /*if*/
18592 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
18593 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TString, ID_TString)) /*cast TString*/;
18594 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9824,3--30\n"); nit_exit(1);}
18595 ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/ = variable1 /*new_child*/;
18596 } else { /*if*/
18597 ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/ = NIT_NULL /*null*/;
18598 }
18599 goto return_label873;
18600 }
18601 return_label873: while(false);
18602 tracehead = trace.prev;
18603 return;
18604 }
18605 void parser_prod___AStringExpr___visit_all(val_t self, val_t param0) {
18606 struct trace_t trace = {NULL, "parser_prod::AStringExpr::visit_all (src/parser//parser_prod.nit:9833,5--9836:29)"};
18607 val_t variable0;
18608 val_t variable1;
18609 trace.prev = tracehead; tracehead = &trace;
18610 variable0 = param0;
18611 variable1 = ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/;
18612 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TString::==*/)))))));
18613 if (UNTAG_Bool(variable1)) { /*if*/
18614 variable1 = ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/;
18615 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18616 }
18617 tracehead = trace.prev;
18618 return;
18619 }
18620 void parser_prod___AStringExpr___visit_all_reverse(val_t self, val_t param0) {
18621 struct trace_t trace = {NULL, "parser_prod::AStringExpr::visit_all_reverse (src/parser//parser_prod.nit:9840,5--9843:29)"};
18622 val_t variable0;
18623 val_t variable1;
18624 trace.prev = tracehead; tracehead = &trace;
18625 variable0 = param0;
18626 variable1 = ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/;
18627 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TString::==*/)))))));
18628 if (UNTAG_Bool(variable1)) { /*if*/
18629 variable1 = ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/;
18630 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18631 }
18632 tracehead = trace.prev;
18633 return;
18634 }
18635 void parser_prod___AStartStringExpr___n_string__eq(val_t self, val_t param0) {
18636 struct trace_t trace = {NULL, "parser_prod::AStartStringExpr::n_string= (src/parser//parser_prod.nit:9848,5--9852:20)"};
18637 val_t variable0;
18638 val_t variable1;
18639 trace.prev = tracehead; tracehead = &trace;
18640 variable0 = param0;
18641 ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/ = variable0 /*n*/;
18642 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*/) /*TStartString::==*/)))))));
18643 if (UNTAG_Bool(variable1)) { /*if*/
18644 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TStartString::parent=*/;
18645 }
18646 tracehead = trace.prev;
18647 return;
18648 }
18649 void parser_prod___AStartStringExpr___empty_init(val_t self, int* init_table) {
18650 struct trace_t trace = {NULL, "parser_prod::AStartStringExpr::empty_init (src/parser//parser_prod.nit:9856,5--27)"};
18651 trace.prev = tracehead; tracehead = &trace;
18652 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStartStringExpr].i]) return;
18653 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStartStringExpr].i] = 1;
18654 tracehead = trace.prev;
18655 return;
18656 }
18657 void parser_prod___AStartStringExpr___init_astartstringexpr(val_t self, val_t param0, int* init_table) {
18658 struct trace_t trace = {NULL, "parser_prod::AStartStringExpr::init_astartstringexpr (src/parser//parser_prod.nit:9858,5--9864:24)"};
18659 val_t variable0;
18660 val_t variable1;
18661 trace.prev = tracehead; tracehead = &trace;
18662 variable0 = param0;
18663 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStartStringExpr].i]) return;
18664 ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/ = variable0 /*n_string*/;
18665 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*/) /*TStartString::==*/)))))));
18666 if (UNTAG_Bool(variable1)) { /*if*/
18667 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_string*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_string*/, self) /*TStartString::parent=*/;
18668 }
18669 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStartStringExpr].i] = 1;
18670 tracehead = trace.prev;
18671 return;
18672 }
18673 void parser_prod___AStartStringExpr___replace_child(val_t self, val_t param0, val_t param1) {
18674 struct trace_t trace = {NULL, "parser_prod::AStartStringExpr::replace_child (src/parser//parser_prod.nit:9868,5--9879:18)"};
18675 val_t variable0;
18676 val_t variable1;
18677 val_t variable2;
18678 trace.prev = tracehead; tracehead = &trace;
18679 variable0 = param0;
18680 variable1 = param1;
18681 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*/) /*PNode::==*/)))))));
18682 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9870,9--32\n"); nit_exit(1);}
18683 variable2 = ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/;
18684 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*/) /*TStartString::==*/)))));
18685 if (UNTAG_Bool(variable2)) { /*if*/
18686 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*/) /*PNode::==*/)))))));
18687 if (UNTAG_Bool(variable2)) { /*if*/
18688 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
18689 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TStartString, ID_TStartString)) /*cast TStartString*/;
18690 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9874,3--35\n"); nit_exit(1);}
18691 ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/ = variable1 /*new_child*/;
18692 } else { /*if*/
18693 ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/ = NIT_NULL /*null*/;
18694 }
18695 goto return_label879;
18696 }
18697 return_label879: while(false);
18698 tracehead = trace.prev;
18699 return;
18700 }
18701 void parser_prod___AStartStringExpr___visit_all(val_t self, val_t param0) {
18702 struct trace_t trace = {NULL, "parser_prod::AStartStringExpr::visit_all (src/parser//parser_prod.nit:9883,5--9886:29)"};
18703 val_t variable0;
18704 val_t variable1;
18705 trace.prev = tracehead; tracehead = &trace;
18706 variable0 = param0;
18707 variable1 = ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/;
18708 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TStartString::==*/)))))));
18709 if (UNTAG_Bool(variable1)) { /*if*/
18710 variable1 = ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/;
18711 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18712 }
18713 tracehead = trace.prev;
18714 return;
18715 }
18716 void parser_prod___AStartStringExpr___visit_all_reverse(val_t self, val_t param0) {
18717 struct trace_t trace = {NULL, "parser_prod::AStartStringExpr::visit_all_reverse (src/parser//parser_prod.nit:9890,5--9893:29)"};
18718 val_t variable0;
18719 val_t variable1;
18720 trace.prev = tracehead; tracehead = &trace;
18721 variable0 = param0;
18722 variable1 = ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/;
18723 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TStartString::==*/)))))));
18724 if (UNTAG_Bool(variable1)) { /*if*/
18725 variable1 = ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/;
18726 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18727 }
18728 tracehead = trace.prev;
18729 return;
18730 }
18731 void parser_prod___AMidStringExpr___n_string__eq(val_t self, val_t param0) {
18732 struct trace_t trace = {NULL, "parser_prod::AMidStringExpr::n_string= (src/parser//parser_prod.nit:9898,5--9902:20)"};
18733 val_t variable0;
18734 val_t variable1;
18735 trace.prev = tracehead; tracehead = &trace;
18736 variable0 = param0;
18737 ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/ = variable0 /*n*/;
18738 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*/) /*TMidString::==*/)))))));
18739 if (UNTAG_Bool(variable1)) { /*if*/
18740 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TMidString::parent=*/;
18741 }
18742 tracehead = trace.prev;
18743 return;
18744 }
18745 void parser_prod___AMidStringExpr___empty_init(val_t self, int* init_table) {
18746 struct trace_t trace = {NULL, "parser_prod::AMidStringExpr::empty_init (src/parser//parser_prod.nit:9906,5--27)"};
18747 trace.prev = tracehead; tracehead = &trace;
18748 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMidStringExpr].i]) return;
18749 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMidStringExpr].i] = 1;
18750 tracehead = trace.prev;
18751 return;
18752 }
18753 void parser_prod___AMidStringExpr___init_amidstringexpr(val_t self, val_t param0, int* init_table) {
18754 struct trace_t trace = {NULL, "parser_prod::AMidStringExpr::init_amidstringexpr (src/parser//parser_prod.nit:9908,5--9914:24)"};
18755 val_t variable0;
18756 val_t variable1;
18757 trace.prev = tracehead; tracehead = &trace;
18758 variable0 = param0;
18759 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMidStringExpr].i]) return;
18760 ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/ = variable0 /*n_string*/;
18761 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*/) /*TMidString::==*/)))))));
18762 if (UNTAG_Bool(variable1)) { /*if*/
18763 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_string*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_string*/, self) /*TMidString::parent=*/;
18764 }
18765 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMidStringExpr].i] = 1;
18766 tracehead = trace.prev;
18767 return;
18768 }
18769 void parser_prod___AMidStringExpr___replace_child(val_t self, val_t param0, val_t param1) {
18770 struct trace_t trace = {NULL, "parser_prod::AMidStringExpr::replace_child (src/parser//parser_prod.nit:9918,5--9929:18)"};
18771 val_t variable0;
18772 val_t variable1;
18773 val_t variable2;
18774 trace.prev = tracehead; tracehead = &trace;
18775 variable0 = param0;
18776 variable1 = param1;
18777 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*/) /*PNode::==*/)))))));
18778 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9920,9--32\n"); nit_exit(1);}
18779 variable2 = ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/;
18780 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*/) /*TMidString::==*/)))));
18781 if (UNTAG_Bool(variable2)) { /*if*/
18782 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*/) /*PNode::==*/)))))));
18783 if (UNTAG_Bool(variable2)) { /*if*/
18784 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
18785 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TMidString, ID_TMidString)) /*cast TMidString*/;
18786 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9924,3--33\n"); nit_exit(1);}
18787 ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/ = variable1 /*new_child*/;
18788 } else { /*if*/
18789 ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/ = NIT_NULL /*null*/;
18790 }
18791 goto return_label885;
18792 }
18793 return_label885: while(false);
18794 tracehead = trace.prev;
18795 return;
18796 }
18797 void parser_prod___AMidStringExpr___visit_all(val_t self, val_t param0) {
18798 struct trace_t trace = {NULL, "parser_prod::AMidStringExpr::visit_all (src/parser//parser_prod.nit:9933,5--9936:29)"};
18799 val_t variable0;
18800 val_t variable1;
18801 trace.prev = tracehead; tracehead = &trace;
18802 variable0 = param0;
18803 variable1 = ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/;
18804 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TMidString::==*/)))))));
18805 if (UNTAG_Bool(variable1)) { /*if*/
18806 variable1 = ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/;
18807 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18808 }
18809 tracehead = trace.prev;
18810 return;
18811 }
18812 void parser_prod___AMidStringExpr___visit_all_reverse(val_t self, val_t param0) {
18813 struct trace_t trace = {NULL, "parser_prod::AMidStringExpr::visit_all_reverse (src/parser//parser_prod.nit:9940,5--9943:29)"};
18814 val_t variable0;
18815 val_t variable1;
18816 trace.prev = tracehead; tracehead = &trace;
18817 variable0 = param0;
18818 variable1 = ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/;
18819 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TMidString::==*/)))))));
18820 if (UNTAG_Bool(variable1)) { /*if*/
18821 variable1 = ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/;
18822 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18823 }
18824 tracehead = trace.prev;
18825 return;
18826 }
18827 void parser_prod___AEndStringExpr___n_string__eq(val_t self, val_t param0) {
18828 struct trace_t trace = {NULL, "parser_prod::AEndStringExpr::n_string= (src/parser//parser_prod.nit:9948,5--9952:20)"};
18829 val_t variable0;
18830 val_t variable1;
18831 trace.prev = tracehead; tracehead = &trace;
18832 variable0 = param0;
18833 ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/ = variable0 /*n*/;
18834 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*/) /*TEndString::==*/)))))));
18835 if (UNTAG_Bool(variable1)) { /*if*/
18836 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TEndString::parent=*/;
18837 }
18838 tracehead = trace.prev;
18839 return;
18840 }
18841 void parser_prod___AEndStringExpr___empty_init(val_t self, int* init_table) {
18842 struct trace_t trace = {NULL, "parser_prod::AEndStringExpr::empty_init (src/parser//parser_prod.nit:9956,5--27)"};
18843 trace.prev = tracehead; tracehead = &trace;
18844 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEndStringExpr].i]) return;
18845 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEndStringExpr].i] = 1;
18846 tracehead = trace.prev;
18847 return;
18848 }
18849 void parser_prod___AEndStringExpr___init_aendstringexpr(val_t self, val_t param0, int* init_table) {
18850 struct trace_t trace = {NULL, "parser_prod::AEndStringExpr::init_aendstringexpr (src/parser//parser_prod.nit:9958,5--9964:24)"};
18851 val_t variable0;
18852 val_t variable1;
18853 trace.prev = tracehead; tracehead = &trace;
18854 variable0 = param0;
18855 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEndStringExpr].i]) return;
18856 ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/ = variable0 /*n_string*/;
18857 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*/) /*TEndString::==*/)))))));
18858 if (UNTAG_Bool(variable1)) { /*if*/
18859 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_string*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_string*/, self) /*TEndString::parent=*/;
18860 }
18861 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEndStringExpr].i] = 1;
18862 tracehead = trace.prev;
18863 return;
18864 }
18865 void parser_prod___AEndStringExpr___replace_child(val_t self, val_t param0, val_t param1) {
18866 struct trace_t trace = {NULL, "parser_prod::AEndStringExpr::replace_child (src/parser//parser_prod.nit:9968,5--9979:18)"};
18867 val_t variable0;
18868 val_t variable1;
18869 val_t variable2;
18870 trace.prev = tracehead; tracehead = &trace;
18871 variable0 = param0;
18872 variable1 = param1;
18873 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*/) /*PNode::==*/)))))));
18874 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9970,9--32\n"); nit_exit(1);}
18875 variable2 = ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/;
18876 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*/) /*TEndString::==*/)))));
18877 if (UNTAG_Bool(variable2)) { /*if*/
18878 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*/) /*PNode::==*/)))))));
18879 if (UNTAG_Bool(variable2)) { /*if*/
18880 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
18881 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TEndString, ID_TEndString)) /*cast TEndString*/;
18882 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:9974,3--33\n"); nit_exit(1);}
18883 ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/ = variable1 /*new_child*/;
18884 } else { /*if*/
18885 ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/ = NIT_NULL /*null*/;
18886 }
18887 goto return_label891;
18888 }
18889 return_label891: while(false);
18890 tracehead = trace.prev;
18891 return;
18892 }
18893 void parser_prod___AEndStringExpr___visit_all(val_t self, val_t param0) {
18894 struct trace_t trace = {NULL, "parser_prod::AEndStringExpr::visit_all (src/parser//parser_prod.nit:9983,5--9986:29)"};
18895 val_t variable0;
18896 val_t variable1;
18897 trace.prev = tracehead; tracehead = &trace;
18898 variable0 = param0;
18899 variable1 = ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/;
18900 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TEndString::==*/)))))));
18901 if (UNTAG_Bool(variable1)) { /*if*/
18902 variable1 = ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/;
18903 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18904 }
18905 tracehead = trace.prev;
18906 return;
18907 }
18908 void parser_prod___AEndStringExpr___visit_all_reverse(val_t self, val_t param0) {
18909 struct trace_t trace = {NULL, "parser_prod::AEndStringExpr::visit_all_reverse (src/parser//parser_prod.nit:9990,5--9993:29)"};
18910 val_t variable0;
18911 val_t variable1;
18912 trace.prev = tracehead; tracehead = &trace;
18913 variable0 = param0;
18914 variable1 = ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/;
18915 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TEndString::==*/)))))));
18916 if (UNTAG_Bool(variable1)) { /*if*/
18917 variable1 = ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/;
18918 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
18919 }
18920 tracehead = trace.prev;
18921 return;
18922 }
18923 void parser_prod___ASuperstringExpr___empty_init(val_t self, int* init_table) {
18924 struct trace_t trace = {NULL, "parser_prod::ASuperstringExpr::empty_init (src/parser//parser_prod.nit:9999,5--27)"};
18925 trace.prev = tracehead; tracehead = &trace;
18926 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperstringExpr].i]) return;
18927 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperstringExpr].i] = 1;
18928 tracehead = trace.prev;
18929 return;
18930 }
18931 void parser_prod___ASuperstringExpr___init_asuperstringexpr(val_t self, val_t param0, int* init_table) {
18932 struct trace_t trace = {NULL, "parser_prod::ASuperstringExpr::init_asuperstringexpr (src/parser//parser_prod.nit:10001,5--10009:17)"};
18933 val_t variable0;
18934 val_t variable1;
18935 val_t variable2;
18936 val_t variable3;
18937 trace.prev = tracehead; tracehead = &trace;
18938 variable0 = param0;
18939 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperstringExpr].i]) return;
18940 variable1 = NEW_list___List___init(); /*new List[PExpr]*/
18941 ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/ = variable1;
18942 variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_exprs*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_exprs*/) /*Array::iterator*/;
18943 while (true) { /*for*/
18944 variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
18945 if (!UNTAG_Bool(variable2)) break; /*for*/
18946 variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
18947 variable3 = TAG_Bool(( variable2 /*n*/==NIT_NULL) || VAL_ISA( variable2 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18948 if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:10007,3--20\n"); nit_exit(1);}
18949 variable3 = ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/;
18950 ((abstract_collection___IndexedCollection___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable2 /*n*/) /*List::add*/;
18951 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n*/, self) /*PExpr::parent=*/;
18952 continue_896: while(0);
18953 ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
18954 }
18955 break_896: while(0);
18956 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperstringExpr].i] = 1;
18957 tracehead = trace.prev;
18958 return;
18959 }
18960 void parser_prod___ASuperstringExpr___replace_child(val_t self, val_t param0, val_t param1) {
18961 struct trace_t trace = {NULL, "parser_prod::ASuperstringExpr::replace_child (src/parser//parser_prod.nit:10013,5--10025:22)"};
18962 val_t variable0;
18963 val_t variable1;
18964 val_t variable2;
18965 val_t variable3;
18966 val_t variable4;
18967 trace.prev = tracehead; tracehead = &trace;
18968 variable0 = param0;
18969 variable1 = param1;
18970 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*/) /*PNode::==*/)))))));
18971 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:10015,9--32\n"); nit_exit(1);}
18972 variable2 = ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/;
18973 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
18974 variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
18975 variable2 = variable3;
18976 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
18977 while (true) { /*for*/
18978 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
18979 if (!UNTAG_Bool(variable3)) break; /*for*/
18980 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
18981 variable4 = ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/;
18982 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
18983 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*/) /*PExpr::==*/)))));
18984 if (UNTAG_Bool(variable4)) { /*if*/
18985 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*/) /*PNode::==*/)))))));
18986 if (UNTAG_Bool(variable4)) { /*if*/
18987 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18988 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:10019,7--32\n"); nit_exit(1);}
18989 variable4 = ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/;
18990 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
18991 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PExpr::parent=*/;
18992 } else { /*if*/
18993 variable4 = ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/;
18994 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
18995 }
18996 goto return_label897;
18997 }
18998 continue_898: while(0);
18999 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
19000 }
19001 break_898: while(0);
19002 return_label897: while(false);
19003 tracehead = trace.prev;
19004 return;
19005 }
19006 void parser_prod___ASuperstringExpr___visit_all(val_t self, val_t param0) {
19007 struct trace_t trace = {NULL, "parser_prod::ASuperstringExpr::visit_all (src/parser//parser_prod.nit:10030,5--10033:25)"};
19008 val_t variable0;
19009 val_t variable1;
19010 val_t variable2;
19011 trace.prev = tracehead; tracehead = &trace;
19012 variable0 = param0;
19013 variable1 = ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/;
19014 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
19015 while (true) { /*for*/
19016 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
19017 if (!UNTAG_Bool(variable2)) break; /*for*/
19018 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
19019 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
19020 continue_900: while(0);
19021 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
19022 }
19023 break_900: while(0);
19024 tracehead = trace.prev;
19025 return;
19026 }
19027 void parser_prod___ASuperstringExpr___visit_all_reverse(val_t self, val_t param0) {
19028 struct trace_t trace = {NULL, "parser_prod::ASuperstringExpr::visit_all_reverse (src/parser//parser_prod.nit:10037,5--10043:11)"};
19029 val_t variable0;
19030 val_t variable1;
19031 val_t variable2;
19032 trace.prev = tracehead; tracehead = &trace;
19033 variable0 = param0;
19034 variable2 = ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/;
19035 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
19036 variable1 = variable2;
19037 while (true) { /*while*/
19038 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
19039 if (!UNTAG_Bool(variable2)) break; /* while*/
19040 variable2 = ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/;
19041 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
19042 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
19043 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
19044 variable1 = variable2 /*i=*/;
19045 continue_902: while(0);
19046 }
19047 break_902: while(0);
19048 tracehead = trace.prev;
19049 return;
19050 }
19051 void parser_prod___AParExpr___n_expr__eq(val_t self, val_t param0) {
19052 struct trace_t trace = {NULL, "parser_prod::AParExpr::n_expr= (src/parser//parser_prod.nit:10049,5--10053:20)"};
19053 val_t variable0;
19054 val_t variable1;
19055 trace.prev = tracehead; tracehead = &trace;
19056 variable0 = param0;
19057 ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AParExpr::_n_expr*/ = variable0 /*n*/;
19058 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*/) /*PExpr::==*/)))))));
19059 if (UNTAG_Bool(variable1)) { /*if*/
19060 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*PExpr::parent=*/;
19061 }
19062 tracehead = trace.prev;
19063 return;
19064 }
19065 void parser_prod___AParExpr___empty_init(val_t self, int* init_table) {
19066 struct trace_t trace = {NULL, "parser_prod::AParExpr::empty_init (src/parser//parser_prod.nit:10057,5--27)"};
19067 trace.prev = tracehead; tracehead = &trace;
19068 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParExpr].i]) return;
19069 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParExpr].i] = 1;
19070 tracehead = trace.prev;
19071 return;
19072 }
19073 void parser_prod___AParExpr___init_aparexpr(val_t self, val_t param0, int* init_table) {
19074 struct trace_t trace = {NULL, "parser_prod::AParExpr::init_aparexpr (src/parser//parser_prod.nit:10059,5--10065:22)"};
19075 val_t variable0;
19076 val_t variable1;
19077 trace.prev = tracehead; tracehead = &trace;
19078 variable0 = param0;
19079 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParExpr].i]) return;
19080 ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AParExpr::_n_expr*/ = variable0 /*n_expr*/;
19081 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*/) /*PExpr::==*/)))))));
19082 if (UNTAG_Bool(variable1)) { /*if*/
19083 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/, self) /*PExpr::parent=*/;
19084 }
19085 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParExpr].i] = 1;
19086 tracehead = trace.prev;
19087 return;
19088 }
19089 void parser_prod___AParExpr___replace_child(val_t self, val_t param0, val_t param1) {
19090 struct trace_t trace = {NULL, "parser_prod::AParExpr::replace_child (src/parser//parser_prod.nit:10069,5--10080:18)"};
19091 val_t variable0;
19092 val_t variable1;
19093 val_t variable2;
19094 trace.prev = tracehead; tracehead = &trace;
19095 variable0 = param0;
19096 variable1 = param1;
19097 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*/) /*PNode::==*/)))))));
19098 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:10071,9--32\n"); nit_exit(1);}
19099 variable2 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AParExpr::_n_expr*/;
19100 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*/) /*PExpr::==*/)))));
19101 if (UNTAG_Bool(variable2)) { /*if*/
19102 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*/) /*PNode::==*/)))))));
19103 if (UNTAG_Bool(variable2)) { /*if*/
19104 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
19105 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19106 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:10075,3--28\n"); nit_exit(1);}
19107 ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AParExpr::_n_expr*/ = variable1 /*new_child*/;
19108 } else { /*if*/
19109 ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AParExpr::_n_expr*/ = NIT_NULL /*null*/;
19110 }
19111 goto return_label906;
19112 }
19113 return_label906: while(false);
19114 tracehead = trace.prev;
19115 return;
19116 }
19117 void parser_prod___AParExpr___visit_all(val_t self, val_t param0) {
19118 struct trace_t trace = {NULL, "parser_prod::AParExpr::visit_all (src/parser//parser_prod.nit:10084,5--10087:27)"};
19119 val_t variable0;
19120 val_t variable1;
19121 trace.prev = tracehead; tracehead = &trace;
19122 variable0 = param0;
19123 variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AParExpr::_n_expr*/;
19124 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
19125 if (UNTAG_Bool(variable1)) { /*if*/
19126 variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AParExpr::_n_expr*/;
19127 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19128 }
19129 tracehead = trace.prev;
19130 return;
19131 }
19132 void parser_prod___AParExpr___visit_all_reverse(val_t self, val_t param0) {
19133 struct trace_t trace = {NULL, "parser_prod::AParExpr::visit_all_reverse (src/parser//parser_prod.nit:10091,5--10094:27)"};
19134 val_t variable0;
19135 val_t variable1;
19136 trace.prev = tracehead; tracehead = &trace;
19137 variable0 = param0;
19138 variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AParExpr::_n_expr*/;
19139 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
19140 if (UNTAG_Bool(variable1)) { /*if*/
19141 variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AParExpr::_n_expr*/;
19142 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19143 }
19144 tracehead = trace.prev;
19145 return;
19146 }
19147 void parser_prod___APlusAssignOp___n_pluseq__eq(val_t self, val_t param0) {
19148 struct trace_t trace = {NULL, "parser_prod::APlusAssignOp::n_pluseq= (src/parser//parser_prod.nit:10099,5--10103:20)"};
19149 val_t variable0;
19150 val_t variable1;
19151 trace.prev = tracehead; tracehead = &trace;
19152 variable0 = param0;
19153 ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/ = variable0 /*n*/;
19154 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*/) /*TPluseq::==*/)))))));
19155 if (UNTAG_Bool(variable1)) { /*if*/
19156 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TPluseq::parent=*/;
19157 }
19158 tracehead = trace.prev;
19159 return;
19160 }
19161 void parser_prod___APlusAssignOp___empty_init(val_t self, int* init_table) {
19162 struct trace_t trace = {NULL, "parser_prod::APlusAssignOp::empty_init (src/parser//parser_prod.nit:10107,5--27)"};
19163 trace.prev = tracehead; tracehead = &trace;
19164 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusAssignOp].i]) return;
19165 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusAssignOp].i] = 1;
19166 tracehead = trace.prev;
19167 return;
19168 }
19169 void parser_prod___APlusAssignOp___init_aplusassignop(val_t self, val_t param0, int* init_table) {
19170 struct trace_t trace = {NULL, "parser_prod::APlusAssignOp::init_aplusassignop (src/parser//parser_prod.nit:10109,5--10115:24)"};
19171 val_t variable0;
19172 val_t variable1;
19173 trace.prev = tracehead; tracehead = &trace;
19174 variable0 = param0;
19175 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusAssignOp].i]) return;
19176 ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/ = variable0 /*n_pluseq*/;
19177 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*/) /*TPluseq::==*/)))))));
19178 if (UNTAG_Bool(variable1)) { /*if*/
19179 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_pluseq*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_pluseq*/, self) /*TPluseq::parent=*/;
19180 }
19181 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusAssignOp].i] = 1;
19182 tracehead = trace.prev;
19183 return;
19184 }
19185 void parser_prod___APlusAssignOp___replace_child(val_t self, val_t param0, val_t param1) {
19186 struct trace_t trace = {NULL, "parser_prod::APlusAssignOp::replace_child (src/parser//parser_prod.nit:10119,5--10130:18)"};
19187 val_t variable0;
19188 val_t variable1;
19189 val_t variable2;
19190 trace.prev = tracehead; tracehead = &trace;
19191 variable0 = param0;
19192 variable1 = param1;
19193 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*/) /*PNode::==*/)))))));
19194 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:10121,9--32\n"); nit_exit(1);}
19195 variable2 = ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/;
19196 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*/) /*TPluseq::==*/)))));
19197 if (UNTAG_Bool(variable2)) { /*if*/
19198 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*/) /*PNode::==*/)))))));
19199 if (UNTAG_Bool(variable2)) { /*if*/
19200 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
19201 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TPluseq, ID_TPluseq)) /*cast TPluseq*/;
19202 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:10125,3--30\n"); nit_exit(1);}
19203 ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/ = variable1 /*new_child*/;
19204 } else { /*if*/
19205 ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/ = NIT_NULL /*null*/;
19206 }
19207 goto return_label912;
19208 }
19209 return_label912: while(false);
19210 tracehead = trace.prev;
19211 return;
19212 }
19213 void parser_prod___APlusAssignOp___visit_all(val_t self, val_t param0) {
19214 struct trace_t trace = {NULL, "parser_prod::APlusAssignOp::visit_all (src/parser//parser_prod.nit:10134,5--10137:29)"};
19215 val_t variable0;
19216 val_t variable1;
19217 trace.prev = tracehead; tracehead = &trace;
19218 variable0 = param0;
19219 variable1 = ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/;
19220 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TPluseq::==*/)))))));
19221 if (UNTAG_Bool(variable1)) { /*if*/
19222 variable1 = ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/;
19223 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19224 }
19225 tracehead = trace.prev;
19226 return;
19227 }
19228 void parser_prod___APlusAssignOp___visit_all_reverse(val_t self, val_t param0) {
19229 struct trace_t trace = {NULL, "parser_prod::APlusAssignOp::visit_all_reverse (src/parser//parser_prod.nit:10141,5--10144:29)"};
19230 val_t variable0;
19231 val_t variable1;
19232 trace.prev = tracehead; tracehead = &trace;
19233 variable0 = param0;
19234 variable1 = ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/;
19235 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TPluseq::==*/)))))));
19236 if (UNTAG_Bool(variable1)) { /*if*/
19237 variable1 = ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/;
19238 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19239 }
19240 tracehead = trace.prev;
19241 return;
19242 }
19243 void parser_prod___AMinusAssignOp___n_minuseq__eq(val_t self, val_t param0) {
19244 struct trace_t trace = {NULL, "parser_prod::AMinusAssignOp::n_minuseq= (src/parser//parser_prod.nit:10149,5--10153:20)"};
19245 val_t variable0;
19246 val_t variable1;
19247 trace.prev = tracehead; tracehead = &trace;
19248 variable0 = param0;
19249 ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/ = variable0 /*n*/;
19250 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*/) /*TMinuseq::==*/)))))));
19251 if (UNTAG_Bool(variable1)) { /*if*/
19252 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TMinuseq::parent=*/;
19253 }
19254 tracehead = trace.prev;
19255 return;
19256 }
19257 void parser_prod___AMinusAssignOp___empty_init(val_t self, int* init_table) {
19258 struct trace_t trace = {NULL, "parser_prod::AMinusAssignOp::empty_init (src/parser//parser_prod.nit:10157,5--27)"};
19259 trace.prev = tracehead; tracehead = &trace;
19260 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusAssignOp].i]) return;
19261 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusAssignOp].i] = 1;
19262 tracehead = trace.prev;
19263 return;
19264 }
19265 void parser_prod___AMinusAssignOp___init_aminusassignop(val_t self, val_t param0, int* init_table) {
19266 struct trace_t trace = {NULL, "parser_prod::AMinusAssignOp::init_aminusassignop (src/parser//parser_prod.nit:10159,5--10165:25)"};
19267 val_t variable0;
19268 val_t variable1;
19269 trace.prev = tracehead; tracehead = &trace;
19270 variable0 = param0;
19271 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusAssignOp].i]) return;
19272 ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/ = variable0 /*n_minuseq*/;
19273 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*/) /*TMinuseq::==*/)))))));
19274 if (UNTAG_Bool(variable1)) { /*if*/
19275 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_minuseq*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_minuseq*/, self) /*TMinuseq::parent=*/;
19276 }
19277 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusAssignOp].i] = 1;
19278 tracehead = trace.prev;
19279 return;
19280 }
19281 void parser_prod___AMinusAssignOp___replace_child(val_t self, val_t param0, val_t param1) {
19282 struct trace_t trace = {NULL, "parser_prod::AMinusAssignOp::replace_child (src/parser//parser_prod.nit:10169,5--10180:18)"};
19283 val_t variable0;
19284 val_t variable1;
19285 val_t variable2;
19286 trace.prev = tracehead; tracehead = &trace;
19287 variable0 = param0;
19288 variable1 = param1;
19289 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*/) /*PNode::==*/)))))));
19290 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:10171,9--32\n"); nit_exit(1);}
19291 variable2 = ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/;
19292 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*/) /*TMinuseq::==*/)))));
19293 if (UNTAG_Bool(variable2)) { /*if*/
19294 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*/) /*PNode::==*/)))))));
19295 if (UNTAG_Bool(variable2)) { /*if*/
19296 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
19297 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TMinuseq, ID_TMinuseq)) /*cast TMinuseq*/;
19298 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:10175,3--31\n"); nit_exit(1);}
19299 ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/ = variable1 /*new_child*/;
19300 } else { /*if*/
19301 ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/ = NIT_NULL /*null*/;
19302 }
19303 goto return_label918;
19304 }
19305 return_label918: while(false);
19306 tracehead = trace.prev;
19307 return;
19308 }
19309 void parser_prod___AMinusAssignOp___visit_all(val_t self, val_t param0) {
19310 struct trace_t trace = {NULL, "parser_prod::AMinusAssignOp::visit_all (src/parser//parser_prod.nit:10184,5--10187:30)"};
19311 val_t variable0;
19312 val_t variable1;
19313 trace.prev = tracehead; tracehead = &trace;
19314 variable0 = param0;
19315 variable1 = ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/;
19316 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TMinuseq::==*/)))))));
19317 if (UNTAG_Bool(variable1)) { /*if*/
19318 variable1 = ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/;
19319 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19320 }
19321 tracehead = trace.prev;
19322 return;
19323 }
19324 void parser_prod___AMinusAssignOp___visit_all_reverse(val_t self, val_t param0) {
19325 struct trace_t trace = {NULL, "parser_prod::AMinusAssignOp::visit_all_reverse (src/parser//parser_prod.nit:10191,5--10194:30)"};
19326 val_t variable0;
19327 val_t variable1;
19328 trace.prev = tracehead; tracehead = &trace;
19329 variable0 = param0;
19330 variable1 = ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/;
19331 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TMinuseq::==*/)))))));
19332 if (UNTAG_Bool(variable1)) { /*if*/
19333 variable1 = ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/;
19334 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19335 }
19336 tracehead = trace.prev;
19337 return;
19338 }
19339 void parser_prod___AQualified___n_classid__eq(val_t self, val_t param0) {
19340 struct trace_t trace = {NULL, "parser_prod::AQualified::n_classid= (src/parser//parser_prod.nit:10199,5--10203:20)"};
19341 val_t variable0;
19342 val_t variable1;
19343 trace.prev = tracehead; tracehead = &trace;
19344 variable0 = param0;
19345 ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/ = variable0 /*n*/;
19346 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*/) /*TClassid::==*/)))))));
19347 if (UNTAG_Bool(variable1)) { /*if*/
19348 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/, self) /*TClassid::parent=*/;
19349 }
19350 tracehead = trace.prev;
19351 return;
19352 }
19353 void parser_prod___AQualified___empty_init(val_t self, int* init_table) {
19354 struct trace_t trace = {NULL, "parser_prod::AQualified::empty_init (src/parser//parser_prod.nit:10207,5--27)"};
19355 trace.prev = tracehead; tracehead = &trace;
19356 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AQualified].i]) return;
19357 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AQualified].i] = 1;
19358 tracehead = trace.prev;
19359 return;
19360 }
19361 void parser_prod___AQualified___init_aqualified(val_t self, val_t param0, val_t param1, int* init_table) {
19362 struct trace_t trace = {NULL, "parser_prod::AQualified::init_aqualified (src/parser//parser_prod.nit:10209,5--10222:25)"};
19363 val_t variable0;
19364 val_t variable1;
19365 val_t variable2;
19366 val_t variable3;
19367 val_t variable4;
19368 trace.prev = tracehead; tracehead = &trace;
19369 variable0 = param0;
19370 variable1 = param1;
19371 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AQualified].i]) return;
19372 variable2 = NEW_list___List___init(); /*new List[TId]*/
19373 ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/ = variable2;
19374 variable2 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_id*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_id*/) /*Array::iterator*/;
19375 while (true) { /*for*/
19376 variable3 = ((array___ArrayIterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*ArrayIterator::is_ok*/;
19377 if (!UNTAG_Bool(variable3)) break; /*for*/
19378 variable3 = ((array___ArrayIterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*ArrayIterator::item*/;
19379 variable4 = TAG_Bool(( variable3 /*n*/==NIT_NULL) || VAL_ISA( variable3 /*n*/, COLOR_TId, ID_TId)) /*cast TId*/;
19380 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:10216,3--18\n"); nit_exit(1);}
19381 variable4 = ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/;
19382 ((abstract_collection___IndexedCollection___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable3 /*n*/) /*List::add*/;
19383 ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n*/, self) /*TId::parent=*/;
19384 continue_924: while(0);
19385 ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
19386 }
19387 break_924: while(0);
19388 ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/ = variable1 /*n_classid*/;
19389 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*/) /*TClassid::==*/)))))));
19390 if (UNTAG_Bool(variable2)) { /*if*/
19391 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_classid*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_classid*/, self) /*TClassid::parent=*/;
19392 }
19393 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AQualified].i] = 1;
19394 tracehead = trace.prev;
19395 return;
19396 }
19397 void parser_prod___AQualified___replace_child(val_t self, val_t param0, val_t param1) {
19398 struct trace_t trace = {NULL, "parser_prod::AQualified::replace_child (src/parser//parser_prod.nit:10226,5--10249:18)"};
19399 val_t variable0;
19400 val_t variable1;
19401 val_t variable2;
19402 val_t variable3;
19403 val_t variable4;
19404 trace.prev = tracehead; tracehead = &trace;
19405 variable0 = param0;
19406 variable1 = param1;
19407 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*/) /*PNode::==*/)))))));
19408 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:10228,9--32\n"); nit_exit(1);}
19409 variable2 = ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/;
19410 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
19411 variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
19412 variable2 = variable3;
19413 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
19414 while (true) { /*for*/
19415 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
19416 if (!UNTAG_Bool(variable3)) break; /*for*/
19417 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
19418 variable4 = ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/;
19419 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
19420 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*/) /*TId::==*/)))));
19421 if (UNTAG_Bool(variable4)) { /*if*/
19422 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*/) /*PNode::==*/)))))));
19423 if (UNTAG_Bool(variable4)) { /*if*/
19424 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TId, ID_TId)) /*cast TId*/;
19425 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:10232,7--30\n"); nit_exit(1);}
19426 variable4 = ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/;
19427 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
19428 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*TId::parent=*/;
19429 } else { /*if*/
19430 variable4 = ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/;
19431 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
19432 }
19433 goto return_label925;
19434 }
19435 continue_926: while(0);
19436 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
19437 }
19438 break_926: while(0);
19439 variable2 = ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/;
19440 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*/) /*TClassid::==*/)))));
19441 if (UNTAG_Bool(variable2)) { /*if*/
19442 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*/) /*PNode::==*/)))))));
19443 if (UNTAG_Bool(variable2)) { /*if*/
19444 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
19445 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
19446 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:10244,3--31\n"); nit_exit(1);}
19447 ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/ = variable1 /*new_child*/;
19448 } else { /*if*/
19449 ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/ = NIT_NULL /*null*/;
19450 }
19451 goto return_label925;
19452 }
19453 return_label925: while(false);
19454 tracehead = trace.prev;
19455 return;
19456 }
19457 void parser_prod___AQualified___visit_all(val_t self, val_t param0) {
19458 struct trace_t trace = {NULL, "parser_prod::AQualified::visit_all (src/parser//parser_prod.nit:10253,5--10259:30)"};
19459 val_t variable0;
19460 val_t variable1;
19461 val_t variable2;
19462 trace.prev = tracehead; tracehead = &trace;
19463 variable0 = param0;
19464 variable1 = ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/;
19465 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
19466 while (true) { /*for*/
19467 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
19468 if (!UNTAG_Bool(variable2)) break; /*for*/
19469 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
19470 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
19471 continue_928: while(0);
19472 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
19473 }
19474 break_928: while(0);
19475 variable1 = ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/;
19476 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TClassid::==*/)))))));
19477 if (UNTAG_Bool(variable1)) { /*if*/
19478 variable1 = ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/;
19479 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19480 }
19481 tracehead = trace.prev;
19482 return;
19483 }
19484 void parser_prod___AQualified___visit_all_reverse(val_t self, val_t param0) {
19485 struct trace_t trace = {NULL, "parser_prod::AQualified::visit_all_reverse (src/parser//parser_prod.nit:10263,5--10273:30)"};
19486 val_t variable0;
19487 val_t variable1;
19488 val_t variable2;
19489 trace.prev = tracehead; tracehead = &trace;
19490 variable0 = param0;
19491 variable2 = ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/;
19492 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
19493 variable1 = variable2;
19494 while (true) { /*while*/
19495 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
19496 if (!UNTAG_Bool(variable2)) break; /* while*/
19497 variable2 = ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/;
19498 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
19499 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
19500 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
19501 variable1 = variable2 /*i=*/;
19502 continue_930: while(0);
19503 }
19504 break_930: while(0);
19505 variable1 = ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/;
19506 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*TClassid::==*/)))))));
19507 if (UNTAG_Bool(variable1)) { /*if*/
19508 variable1 = ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/;
19509 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19510 }
19511 tracehead = trace.prev;
19512 return;
19513 }
19514 void parser_prod___ADoc___empty_init(val_t self, int* init_table) {
19515 struct trace_t trace = {NULL, "parser_prod::ADoc::empty_init (src/parser//parser_prod.nit:10279,5--27)"};
19516 trace.prev = tracehead; tracehead = &trace;
19517 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoc].i]) return;
19518 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoc].i] = 1;
19519 tracehead = trace.prev;
19520 return;
19521 }
19522 void parser_prod___ADoc___init_adoc(val_t self, val_t param0, int* init_table) {
19523 struct trace_t trace = {NULL, "parser_prod::ADoc::init_adoc (src/parser//parser_prod.nit:10281,5--10289:17)"};
19524 val_t variable0;
19525 val_t variable1;
19526 val_t variable2;
19527 val_t variable3;
19528 trace.prev = tracehead; tracehead = &trace;
19529 variable0 = param0;
19530 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoc].i]) return;
19531 variable1 = NEW_list___List___init(); /*new List[TComment]*/
19532 ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/ = variable1;
19533 variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_comment*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_comment*/) /*Array::iterator*/;
19534 while (true) { /*for*/
19535 variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
19536 if (!UNTAG_Bool(variable2)) break; /*for*/
19537 variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
19538 variable3 = TAG_Bool(( variable2 /*n*/==NIT_NULL) || VAL_ISA( variable2 /*n*/, COLOR_TComment, ID_TComment)) /*cast TComment*/;
19539 if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:10287,3--23\n"); nit_exit(1);}
19540 variable3 = ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/;
19541 ((abstract_collection___IndexedCollection___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable2 /*n*/) /*List::add*/;
19542 ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n*/, self) /*TComment::parent=*/;
19543 continue_933: while(0);
19544 ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
19545 }
19546 break_933: while(0);
19547 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoc].i] = 1;
19548 tracehead = trace.prev;
19549 return;
19550 }
19551 void parser_prod___ADoc___replace_child(val_t self, val_t param0, val_t param1) {
19552 struct trace_t trace = {NULL, "parser_prod::ADoc::replace_child (src/parser//parser_prod.nit:10293,5--10305:22)"};
19553 val_t variable0;
19554 val_t variable1;
19555 val_t variable2;
19556 val_t variable3;
19557 val_t variable4;
19558 trace.prev = tracehead; tracehead = &trace;
19559 variable0 = param0;
19560 variable1 = param1;
19561 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*/) /*PNode::==*/)))))));
19562 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:10295,9--32\n"); nit_exit(1);}
19563 variable2 = ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/;
19564 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
19565 variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
19566 variable2 = variable3;
19567 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
19568 while (true) { /*for*/
19569 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
19570 if (!UNTAG_Bool(variable3)) break; /*for*/
19571 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
19572 variable4 = ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/;
19573 variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable3 /*i*/) /*List::[]*/;
19574 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*/) /*TComment::==*/)))));
19575 if (UNTAG_Bool(variable4)) { /*if*/
19576 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*/) /*PNode::==*/)))))));
19577 if (UNTAG_Bool(variable4)) { /*if*/
19578 variable4 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_TComment, ID_TComment)) /*cast TComment*/;
19579 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:10299,7--35\n"); nit_exit(1);}
19580 variable4 = ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/;
19581 ((list___List_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4, variable3 /*i*/, variable1 /*new_child*/) /*List::[]=*/;
19582 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*TComment::parent=*/;
19583 } else { /*if*/
19584 variable4 = ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/;
19585 ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4, variable3 /*i*/) /*List::remove_at*/;
19586 }
19587 goto return_label934;
19588 }
19589 continue_935: while(0);
19590 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
19591 }
19592 break_935: while(0);
19593 return_label934: while(false);
19594 tracehead = trace.prev;
19595 return;
19596 }
19597 void parser_prod___ADoc___visit_all(val_t self, val_t param0) {
19598 struct trace_t trace = {NULL, "parser_prod::ADoc::visit_all (src/parser//parser_prod.nit:10310,5--10313:25)"};
19599 val_t variable0;
19600 val_t variable1;
19601 val_t variable2;
19602 trace.prev = tracehead; tracehead = &trace;
19603 variable0 = param0;
19604 variable1 = ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/;
19605 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
19606 while (true) { /*for*/
19607 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
19608 if (!UNTAG_Bool(variable2)) break; /*for*/
19609 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
19610 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2 /*n*/) /*Visitor::visit*/;
19611 continue_937: while(0);
19612 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
19613 }
19614 break_937: while(0);
19615 tracehead = trace.prev;
19616 return;
19617 }
19618 void parser_prod___ADoc___visit_all_reverse(val_t self, val_t param0) {
19619 struct trace_t trace = {NULL, "parser_prod::ADoc::visit_all_reverse (src/parser//parser_prod.nit:10317,5--10323:11)"};
19620 val_t variable0;
19621 val_t variable1;
19622 val_t variable2;
19623 trace.prev = tracehead; tracehead = &trace;
19624 variable0 = param0;
19625 variable2 = ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/;
19626 variable2 = ((list___List___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*List::length*/;
19627 variable1 = variable2;
19628 while (true) { /*while*/
19629 variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
19630 if (!UNTAG_Bool(variable2)) break; /* while*/
19631 variable2 = ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/;
19632 variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable1 /*i*/) /*List::[]*/;
19633 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
19634 variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
19635 variable1 = variable2 /*i=*/;
19636 continue_939: while(0);
19637 }
19638 break_939: while(0);
19639 tracehead = trace.prev;
19640 return;
19641 }
19642 void parser_prod___Start___init(val_t self, val_t param0, val_t param1, int* init_table) {
19643 struct trace_t trace = {NULL, "parser_prod::Start::init (src/parser//parser_prod.nit:10330,5--10335:22)"};
19644 val_t variable0;
19645 val_t variable1;
19646 trace.prev = tracehead; tracehead = &trace;
19647 variable0 = param0;
19648 variable1 = param1;
19649 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Start].i]) return;
19650 ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/ = variable0 /*n_base*/;
19651 ATTR_parser_nodes___Start____n_eof( self) /*Start::_n_eof*/ = variable1 /*n_eof*/;
19652 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Start].i] = 1;
19653 tracehead = trace.prev;
19654 return;
19655 }
19656 void parser_prod___Start___replace_child(val_t self, val_t param0, val_t param1) {
19657 struct trace_t trace = {NULL, "parser_prod::Start::replace_child (src/parser//parser_prod.nit:10338,5--10349:18)"};
19658 val_t variable0;
19659 val_t variable1;
19660 val_t variable2;
19661 trace.prev = tracehead; tracehead = &trace;
19662 variable0 = param0;
19663 variable1 = param1;
19664 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*/) /*PNode::==*/)))))));
19665 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:10340,9--32\n"); nit_exit(1);}
19666 variable2 = ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/;
19667 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*/) /*PModule::==*/)))));
19668 if (UNTAG_Bool(variable2)) { /*if*/
19669 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*/) /*PNode::==*/)))));
19670 if (UNTAG_Bool(variable2)) { /*if*/
19671 } else { /*if*/
19672 ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/, self) /*PNode::parent=*/;
19673 variable2 = TAG_Bool(( variable1 /*new_child*/==NIT_NULL) || VAL_ISA( variable1 /*new_child*/, COLOR_PModule, ID_PModule)) /*cast PModule*/;
19674 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/parser//parser_prod.nit:10345,3--30\n"); nit_exit(1);}
19675 ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/ = variable1 /*new_child*/;
19676 }
19677 ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*old_child*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*old_child*/, NIT_NULL /*null*/) /*PNode::parent=*/;
19678 goto return_label941;
19679 }
19680 return_label941: while(false);
19681 tracehead = trace.prev;
19682 return;
19683 }
19684 void parser_prod___Start___visit_all(val_t self, val_t param0) {
19685 struct trace_t trace = {NULL, "parser_prod::Start::visit_all (src/parser//parser_prod.nit:10353,5--10356:27)"};
19686 val_t variable0;
19687 val_t variable1;
19688 trace.prev = tracehead; tracehead = &trace;
19689 variable0 = param0;
19690 variable1 = ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/;
19691 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PModule::==*/)))))));
19692 if (UNTAG_Bool(variable1)) { /*if*/
19693 variable1 = ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/;
19694 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19695 }
19696 tracehead = trace.prev;
19697 return;
19698 }
19699 void parser_prod___Start___visit_all_reverse(val_t self, val_t param0) {
19700 struct trace_t trace = {NULL, "parser_prod::Start::visit_all_reverse (src/parser//parser_prod.nit:10360,5--10363:27)"};
19701 val_t variable0;
19702 val_t variable1;
19703 trace.prev = tracehead; tracehead = &trace;
19704 variable0 = param0;
19705 variable1 = ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/;
19706 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PModule::==*/)))))));
19707 if (UNTAG_Bool(variable1)) { /*if*/
19708 variable1 = ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/;
19709 ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
19710 }
19711 tracehead = trace.prev;
19712 return;
19713 }