src/parser: Regenerated parser
[nit.git] / src / parser / parser_prod.nit
1 # Production AST nodes full definition.
2 # This file was generated by SableCC (http://www.sablecc.org/).
3 module parser_prod is no_warning("missing-doc")
4
5 import lexer
6 intrude import parser_nodes
7 private import tables
8
9 redef class AModule
10 init init_amodule (
11 n_moduledecl: nullable AModuledecl,
12 n_imports: Collection[Object], # Should be Collection[AImport]
13 n_extern_code_blocks: Collection[Object], # Should be Collection[AExternCodeBlock]
14 n_classdefs: Collection[Object] # Should be Collection[AClassdef]
15 )
16 do
17 _n_moduledecl = n_moduledecl
18 if n_moduledecl != null then n_moduledecl.parent = self
19 self.n_imports.unsafe_add_all(n_imports)
20 self.n_extern_code_blocks.unsafe_add_all(n_extern_code_blocks)
21 self.n_classdefs.unsafe_add_all(n_classdefs)
22 end
23
24 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
25 do
26 if _n_moduledecl == old_child then
27 n_moduledecl = new_child.as(nullable AModuledecl)
28 return
29 end
30 if n_imports.replace_child(old_child, new_child) then return
31 if n_extern_code_blocks.replace_child(old_child, new_child) then return
32 if n_classdefs.replace_child(old_child, new_child) then return
33 end
34
35 redef fun n_moduledecl=(node)
36 do
37 _n_moduledecl = node
38 if node != null then node.parent = self
39 end
40
41
42 redef fun visit_all(v: Visitor)
43 do
44 v.enter_visit(_n_moduledecl)
45 n_imports.visit_all(v)
46 n_extern_code_blocks.visit_all(v)
47 n_classdefs.visit_all(v)
48 end
49 end
50 redef class AModuledecl
51 init init_amoduledecl (
52 n_doc: nullable ADoc,
53 n_kwredef: nullable TKwredef,
54 n_visibility: nullable AVisibility,
55 n_kwmodule: nullable TKwmodule,
56 n_name: nullable AModuleName,
57 n_annotations: nullable AAnnotations
58 )
59 do
60 _n_doc = n_doc
61 if n_doc != null then n_doc.parent = self
62 _n_kwredef = n_kwredef
63 if n_kwredef != null then n_kwredef.parent = self
64 _n_visibility = n_visibility.as(not null)
65 n_visibility.parent = self
66 _n_kwmodule = n_kwmodule.as(not null)
67 n_kwmodule.parent = self
68 _n_name = n_name.as(not null)
69 n_name.parent = self
70 _n_annotations = n_annotations
71 if n_annotations != null then n_annotations.parent = self
72 end
73
74 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
75 do
76 if _n_doc == old_child then
77 n_doc = new_child.as(nullable ADoc)
78 return
79 end
80 if _n_kwredef == old_child then
81 n_kwredef = new_child.as(nullable TKwredef)
82 return
83 end
84 if _n_visibility == old_child then
85 n_visibility = new_child.as(AVisibility)
86 return
87 end
88 if _n_kwmodule == old_child then
89 n_kwmodule = new_child.as(TKwmodule)
90 return
91 end
92 if _n_name == old_child then
93 n_name = new_child.as(AModuleName)
94 return
95 end
96 if _n_annotations == old_child then
97 n_annotations = new_child.as(nullable AAnnotations)
98 return
99 end
100 end
101
102 redef fun n_doc=(node)
103 do
104 _n_doc = node
105 if node != null then node.parent = self
106 end
107 redef fun n_kwredef=(node)
108 do
109 _n_kwredef = node
110 if node != null then node.parent = self
111 end
112 redef fun n_visibility=(node)
113 do
114 _n_visibility = node
115 node.parent = self
116 end
117 redef fun n_kwmodule=(node)
118 do
119 _n_kwmodule = node
120 node.parent = self
121 end
122 redef fun n_name=(node)
123 do
124 _n_name = node
125 node.parent = self
126 end
127 redef fun n_annotations=(node)
128 do
129 _n_annotations = node
130 if node != null then node.parent = self
131 end
132
133
134 redef fun visit_all(v: Visitor)
135 do
136 v.enter_visit(_n_doc)
137 v.enter_visit(_n_kwredef)
138 v.enter_visit(_n_visibility)
139 v.enter_visit(_n_kwmodule)
140 v.enter_visit(_n_name)
141 v.enter_visit(_n_annotations)
142 end
143 end
144 redef class AStdImport
145 init init_astdimport (
146 n_visibility: nullable AVisibility,
147 n_kwimport: nullable TKwimport,
148 n_name: nullable AModuleName,
149 n_annotations: nullable AAnnotations
150 )
151 do
152 _n_visibility = n_visibility.as(not null)
153 n_visibility.parent = self
154 _n_kwimport = n_kwimport.as(not null)
155 n_kwimport.parent = self
156 _n_name = n_name.as(not null)
157 n_name.parent = self
158 _n_annotations = n_annotations
159 if n_annotations != null then n_annotations.parent = self
160 end
161
162 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
163 do
164 if _n_visibility == old_child then
165 n_visibility = new_child.as(AVisibility)
166 return
167 end
168 if _n_kwimport == old_child then
169 n_kwimport = new_child.as(TKwimport)
170 return
171 end
172 if _n_name == old_child then
173 n_name = new_child.as(AModuleName)
174 return
175 end
176 if _n_annotations == old_child then
177 n_annotations = new_child.as(nullable AAnnotations)
178 return
179 end
180 end
181
182 redef fun n_visibility=(node)
183 do
184 _n_visibility = node
185 node.parent = self
186 end
187 redef fun n_kwimport=(node)
188 do
189 _n_kwimport = node
190 node.parent = self
191 end
192 redef fun n_name=(node)
193 do
194 _n_name = node
195 node.parent = self
196 end
197 redef fun n_annotations=(node)
198 do
199 _n_annotations = node
200 if node != null then node.parent = self
201 end
202
203
204 redef fun visit_all(v: Visitor)
205 do
206 v.enter_visit(_n_visibility)
207 v.enter_visit(_n_kwimport)
208 v.enter_visit(_n_name)
209 v.enter_visit(_n_annotations)
210 end
211 end
212 redef class ANoImport
213 init init_anoimport (
214 n_visibility: nullable AVisibility,
215 n_kwimport: nullable TKwimport,
216 n_kwend: nullable TKwend
217 )
218 do
219 _n_visibility = n_visibility.as(not null)
220 n_visibility.parent = self
221 _n_kwimport = n_kwimport.as(not null)
222 n_kwimport.parent = self
223 _n_kwend = n_kwend.as(not null)
224 n_kwend.parent = self
225 end
226
227 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
228 do
229 if _n_visibility == old_child then
230 n_visibility = new_child.as(AVisibility)
231 return
232 end
233 if _n_kwimport == old_child then
234 n_kwimport = new_child.as(TKwimport)
235 return
236 end
237 if _n_kwend == old_child then
238 n_kwend = new_child.as(TKwend)
239 return
240 end
241 end
242
243 redef fun n_visibility=(node)
244 do
245 _n_visibility = node
246 node.parent = self
247 end
248 redef fun n_kwimport=(node)
249 do
250 _n_kwimport = node
251 node.parent = self
252 end
253 redef fun n_kwend=(node)
254 do
255 _n_kwend = node
256 node.parent = self
257 end
258
259
260 redef fun visit_all(v: Visitor)
261 do
262 v.enter_visit(_n_visibility)
263 v.enter_visit(_n_kwimport)
264 v.enter_visit(_n_kwend)
265 end
266 end
267 redef class APublicVisibility
268 init init_apublicvisibility (
269 n_kwpublic: nullable TKwpublic
270 )
271 do
272 _n_kwpublic = n_kwpublic
273 if n_kwpublic != null then n_kwpublic.parent = self
274 end
275
276 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
277 do
278 if _n_kwpublic == old_child then
279 n_kwpublic = new_child.as(nullable TKwpublic)
280 return
281 end
282 end
283
284 redef fun n_kwpublic=(node)
285 do
286 _n_kwpublic = node
287 if node != null then node.parent = self
288 end
289
290
291 redef fun visit_all(v: Visitor)
292 do
293 v.enter_visit(_n_kwpublic)
294 end
295 end
296 redef class APrivateVisibility
297 init init_aprivatevisibility (
298 n_kwprivate: nullable TKwprivate
299 )
300 do
301 _n_kwprivate = n_kwprivate.as(not null)
302 n_kwprivate.parent = self
303 end
304
305 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
306 do
307 if _n_kwprivate == old_child then
308 n_kwprivate = new_child.as(TKwprivate)
309 return
310 end
311 end
312
313 redef fun n_kwprivate=(node)
314 do
315 _n_kwprivate = node
316 node.parent = self
317 end
318
319
320 redef fun visit_all(v: Visitor)
321 do
322 v.enter_visit(_n_kwprivate)
323 end
324 end
325 redef class AProtectedVisibility
326 init init_aprotectedvisibility (
327 n_kwprotected: nullable TKwprotected
328 )
329 do
330 _n_kwprotected = n_kwprotected.as(not null)
331 n_kwprotected.parent = self
332 end
333
334 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
335 do
336 if _n_kwprotected == old_child then
337 n_kwprotected = new_child.as(TKwprotected)
338 return
339 end
340 end
341
342 redef fun n_kwprotected=(node)
343 do
344 _n_kwprotected = node
345 node.parent = self
346 end
347
348
349 redef fun visit_all(v: Visitor)
350 do
351 v.enter_visit(_n_kwprotected)
352 end
353 end
354 redef class AIntrudeVisibility
355 init init_aintrudevisibility (
356 n_kwintrude: nullable TKwintrude
357 )
358 do
359 _n_kwintrude = n_kwintrude.as(not null)
360 n_kwintrude.parent = self
361 end
362
363 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
364 do
365 if _n_kwintrude == old_child then
366 n_kwintrude = new_child.as(TKwintrude)
367 return
368 end
369 end
370
371 redef fun n_kwintrude=(node)
372 do
373 _n_kwintrude = node
374 node.parent = self
375 end
376
377
378 redef fun visit_all(v: Visitor)
379 do
380 v.enter_visit(_n_kwintrude)
381 end
382 end
383 redef class AStdClassdef
384 init init_astdclassdef (
385 n_doc: nullable ADoc,
386 n_kwredef: nullable TKwredef,
387 n_visibility: nullable AVisibility,
388 n_classkind: nullable AClasskind,
389 n_id: nullable TClassid,
390 n_obra: nullable TObra,
391 n_formaldefs: Collection[Object], # Should be Collection[AFormaldef]
392 n_cbra: nullable TCbra,
393 n_extern_code_block: nullable AExternCodeBlock,
394 n_propdefs: Collection[Object], # Should be Collection[APropdef]
395 n_kwend: nullable TKwend
396 )
397 do
398 _n_doc = n_doc
399 if n_doc != null then n_doc.parent = self
400 _n_kwredef = n_kwredef
401 if n_kwredef != null then n_kwredef.parent = self
402 _n_visibility = n_visibility.as(not null)
403 n_visibility.parent = self
404 _n_classkind = n_classkind.as(not null)
405 n_classkind.parent = self
406 _n_id = n_id
407 if n_id != null then n_id.parent = self
408 _n_obra = n_obra
409 if n_obra != null then n_obra.parent = self
410 self.n_formaldefs.unsafe_add_all(n_formaldefs)
411 _n_cbra = n_cbra
412 if n_cbra != null then n_cbra.parent = self
413 _n_extern_code_block = n_extern_code_block
414 if n_extern_code_block != null then n_extern_code_block.parent = self
415 self.n_propdefs.unsafe_add_all(n_propdefs)
416 _n_kwend = n_kwend.as(not null)
417 n_kwend.parent = self
418 end
419
420 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
421 do
422 if _n_doc == old_child then
423 n_doc = new_child.as(nullable ADoc)
424 return
425 end
426 if _n_kwredef == old_child then
427 n_kwredef = new_child.as(nullable TKwredef)
428 return
429 end
430 if _n_visibility == old_child then
431 n_visibility = new_child.as(AVisibility)
432 return
433 end
434 if _n_classkind == old_child then
435 n_classkind = new_child.as(AClasskind)
436 return
437 end
438 if _n_id == old_child then
439 n_id = new_child.as(nullable TClassid)
440 return
441 end
442 if _n_obra == old_child then
443 n_obra = new_child.as(nullable TObra)
444 return
445 end
446 if n_formaldefs.replace_child(old_child, new_child) then return
447 if _n_cbra == old_child then
448 n_cbra = new_child.as(nullable TCbra)
449 return
450 end
451 if _n_extern_code_block == old_child then
452 n_extern_code_block = new_child.as(nullable AExternCodeBlock)
453 return
454 end
455 if n_propdefs.replace_child(old_child, new_child) then return
456 if _n_kwend == old_child then
457 n_kwend = new_child.as(TKwend)
458 return
459 end
460 end
461
462 redef fun n_doc=(node)
463 do
464 _n_doc = node
465 if node != null then node.parent = self
466 end
467 redef fun n_kwredef=(node)
468 do
469 _n_kwredef = node
470 if node != null then node.parent = self
471 end
472 redef fun n_visibility=(node)
473 do
474 _n_visibility = node
475 node.parent = self
476 end
477 redef fun n_classkind=(node)
478 do
479 _n_classkind = node
480 node.parent = self
481 end
482 redef fun n_id=(node)
483 do
484 _n_id = node
485 if node != null then node.parent = self
486 end
487 redef fun n_obra=(node)
488 do
489 _n_obra = node
490 if node != null then node.parent = self
491 end
492 redef fun n_cbra=(node)
493 do
494 _n_cbra = node
495 if node != null then node.parent = self
496 end
497 redef fun n_extern_code_block=(node)
498 do
499 _n_extern_code_block = node
500 if node != null then node.parent = self
501 end
502 redef fun n_kwend=(node)
503 do
504 _n_kwend = node
505 node.parent = self
506 end
507
508
509 redef fun visit_all(v: Visitor)
510 do
511 v.enter_visit(_n_doc)
512 v.enter_visit(_n_kwredef)
513 v.enter_visit(_n_visibility)
514 v.enter_visit(_n_classkind)
515 v.enter_visit(_n_id)
516 v.enter_visit(_n_obra)
517 n_formaldefs.visit_all(v)
518 v.enter_visit(_n_cbra)
519 v.enter_visit(_n_extern_code_block)
520 n_propdefs.visit_all(v)
521 v.enter_visit(_n_kwend)
522 end
523 end
524 redef class ATopClassdef
525 init init_atopclassdef (
526 n_propdefs: Collection[Object] # Should be Collection[APropdef]
527 )
528 do
529 self.n_propdefs.unsafe_add_all(n_propdefs)
530 end
531
532 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
533 do
534 if n_propdefs.replace_child(old_child, new_child) then return
535 end
536
537
538
539 redef fun visit_all(v: Visitor)
540 do
541 n_propdefs.visit_all(v)
542 end
543 end
544 redef class AMainClassdef
545 init init_amainclassdef (
546 n_propdefs: Collection[Object] # Should be Collection[APropdef]
547 )
548 do
549 self.n_propdefs.unsafe_add_all(n_propdefs)
550 end
551
552 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
553 do
554 if n_propdefs.replace_child(old_child, new_child) then return
555 end
556
557
558
559 redef fun visit_all(v: Visitor)
560 do
561 n_propdefs.visit_all(v)
562 end
563 end
564 redef class AConcreteClasskind
565 init init_aconcreteclasskind (
566 n_kwclass: nullable TKwclass
567 )
568 do
569 _n_kwclass = n_kwclass.as(not null)
570 n_kwclass.parent = self
571 end
572
573 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
574 do
575 if _n_kwclass == old_child then
576 n_kwclass = new_child.as(TKwclass)
577 return
578 end
579 end
580
581 redef fun n_kwclass=(node)
582 do
583 _n_kwclass = node
584 node.parent = self
585 end
586
587
588 redef fun visit_all(v: Visitor)
589 do
590 v.enter_visit(_n_kwclass)
591 end
592 end
593 redef class AAbstractClasskind
594 init init_aabstractclasskind (
595 n_kwabstract: nullable TKwabstract,
596 n_kwclass: nullable TKwclass
597 )
598 do
599 _n_kwabstract = n_kwabstract.as(not null)
600 n_kwabstract.parent = self
601 _n_kwclass = n_kwclass.as(not null)
602 n_kwclass.parent = self
603 end
604
605 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
606 do
607 if _n_kwabstract == old_child then
608 n_kwabstract = new_child.as(TKwabstract)
609 return
610 end
611 if _n_kwclass == old_child then
612 n_kwclass = new_child.as(TKwclass)
613 return
614 end
615 end
616
617 redef fun n_kwabstract=(node)
618 do
619 _n_kwabstract = node
620 node.parent = self
621 end
622 redef fun n_kwclass=(node)
623 do
624 _n_kwclass = node
625 node.parent = self
626 end
627
628
629 redef fun visit_all(v: Visitor)
630 do
631 v.enter_visit(_n_kwabstract)
632 v.enter_visit(_n_kwclass)
633 end
634 end
635 redef class AInterfaceClasskind
636 init init_ainterfaceclasskind (
637 n_kwinterface: nullable TKwinterface
638 )
639 do
640 _n_kwinterface = n_kwinterface.as(not null)
641 n_kwinterface.parent = self
642 end
643
644 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
645 do
646 if _n_kwinterface == old_child then
647 n_kwinterface = new_child.as(TKwinterface)
648 return
649 end
650 end
651
652 redef fun n_kwinterface=(node)
653 do
654 _n_kwinterface = node
655 node.parent = self
656 end
657
658
659 redef fun visit_all(v: Visitor)
660 do
661 v.enter_visit(_n_kwinterface)
662 end
663 end
664 redef class AEnumClasskind
665 init init_aenumclasskind (
666 n_kwenum: nullable TKwenum
667 )
668 do
669 _n_kwenum = n_kwenum.as(not null)
670 n_kwenum.parent = self
671 end
672
673 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
674 do
675 if _n_kwenum == old_child then
676 n_kwenum = new_child.as(TKwenum)
677 return
678 end
679 end
680
681 redef fun n_kwenum=(node)
682 do
683 _n_kwenum = node
684 node.parent = self
685 end
686
687
688 redef fun visit_all(v: Visitor)
689 do
690 v.enter_visit(_n_kwenum)
691 end
692 end
693 redef class AExternClasskind
694 init init_aexternclasskind (
695 n_kwextern: nullable TKwextern,
696 n_kwclass: nullable TKwclass
697 )
698 do
699 _n_kwextern = n_kwextern.as(not null)
700 n_kwextern.parent = self
701 _n_kwclass = n_kwclass
702 if n_kwclass != null then n_kwclass.parent = self
703 end
704
705 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
706 do
707 if _n_kwextern == old_child then
708 n_kwextern = new_child.as(TKwextern)
709 return
710 end
711 if _n_kwclass == old_child then
712 n_kwclass = new_child.as(nullable TKwclass)
713 return
714 end
715 end
716
717 redef fun n_kwextern=(node)
718 do
719 _n_kwextern = node
720 node.parent = self
721 end
722 redef fun n_kwclass=(node)
723 do
724 _n_kwclass = node
725 if node != null then node.parent = self
726 end
727
728
729 redef fun visit_all(v: Visitor)
730 do
731 v.enter_visit(_n_kwextern)
732 v.enter_visit(_n_kwclass)
733 end
734 end
735 redef class AFormaldef
736 init init_aformaldef (
737 n_id: nullable TClassid,
738 n_type: nullable AType,
739 n_annotations: nullable AAnnotations
740 )
741 do
742 _n_id = n_id.as(not null)
743 n_id.parent = self
744 _n_type = n_type
745 if n_type != null then n_type.parent = self
746 _n_annotations = n_annotations
747 if n_annotations != null then n_annotations.parent = self
748 end
749
750 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
751 do
752 if _n_id == old_child then
753 n_id = new_child.as(TClassid)
754 return
755 end
756 if _n_type == old_child then
757 n_type = new_child.as(nullable AType)
758 return
759 end
760 if _n_annotations == old_child then
761 n_annotations = new_child.as(nullable AAnnotations)
762 return
763 end
764 end
765
766 redef fun n_id=(node)
767 do
768 _n_id = node
769 node.parent = self
770 end
771 redef fun n_type=(node)
772 do
773 _n_type = node
774 if node != null then node.parent = self
775 end
776 redef fun n_annotations=(node)
777 do
778 _n_annotations = node
779 if node != null then node.parent = self
780 end
781
782
783 redef fun visit_all(v: Visitor)
784 do
785 v.enter_visit(_n_id)
786 v.enter_visit(_n_type)
787 v.enter_visit(_n_annotations)
788 end
789 end
790 redef class AAttrPropdef
791 init init_aattrpropdef (
792 n_doc: nullable ADoc,
793 n_kwredef: nullable TKwredef,
794 n_visibility: nullable AVisibility,
795 n_kwvar: nullable TKwvar,
796 n_id2: nullable TId,
797 n_type: nullable AType,
798 n_assign: nullable TAssign,
799 n_expr: nullable AExpr,
800 n_annotations: nullable AAnnotations,
801 n_kwdo: nullable TKwdo,
802 n_block: nullable AExpr,
803 n_kwend: nullable TKwend
804 )
805 do
806 _n_doc = n_doc
807 if n_doc != null then n_doc.parent = self
808 _n_kwredef = n_kwredef
809 if n_kwredef != null then n_kwredef.parent = self
810 _n_visibility = n_visibility.as(not null)
811 n_visibility.parent = self
812 _n_kwvar = n_kwvar.as(not null)
813 n_kwvar.parent = self
814 _n_id2 = n_id2.as(not null)
815 n_id2.parent = self
816 _n_type = n_type
817 if n_type != null then n_type.parent = self
818 _n_assign = n_assign
819 if n_assign != null then n_assign.parent = self
820 _n_expr = n_expr
821 if n_expr != null then n_expr.parent = self
822 _n_annotations = n_annotations
823 if n_annotations != null then n_annotations.parent = self
824 _n_kwdo = n_kwdo
825 if n_kwdo != null then n_kwdo.parent = self
826 _n_block = n_block
827 if n_block != null then n_block.parent = self
828 _n_kwend = n_kwend
829 if n_kwend != null then n_kwend.parent = self
830 end
831
832 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
833 do
834 if _n_doc == old_child then
835 n_doc = new_child.as(nullable ADoc)
836 return
837 end
838 if _n_kwredef == old_child then
839 n_kwredef = new_child.as(nullable TKwredef)
840 return
841 end
842 if _n_visibility == old_child then
843 n_visibility = new_child.as(AVisibility)
844 return
845 end
846 if _n_kwvar == old_child then
847 n_kwvar = new_child.as(TKwvar)
848 return
849 end
850 if _n_id2 == old_child then
851 n_id2 = new_child.as(TId)
852 return
853 end
854 if _n_type == old_child then
855 n_type = new_child.as(nullable AType)
856 return
857 end
858 if _n_assign == old_child then
859 n_assign = new_child.as(nullable TAssign)
860 return
861 end
862 if _n_expr == old_child then
863 n_expr = new_child.as(nullable AExpr)
864 return
865 end
866 if _n_annotations == old_child then
867 n_annotations = new_child.as(nullable AAnnotations)
868 return
869 end
870 if _n_kwdo == old_child then
871 n_kwdo = new_child.as(nullable TKwdo)
872 return
873 end
874 if _n_block == old_child then
875 n_block = new_child.as(nullable AExpr)
876 return
877 end
878 if _n_kwend == old_child then
879 n_kwend = new_child.as(nullable TKwend)
880 return
881 end
882 end
883
884 redef fun n_doc=(node)
885 do
886 _n_doc = node
887 if node != null then node.parent = self
888 end
889 redef fun n_kwredef=(node)
890 do
891 _n_kwredef = node
892 if node != null then node.parent = self
893 end
894 redef fun n_visibility=(node)
895 do
896 _n_visibility = node
897 node.parent = self
898 end
899 redef fun n_kwvar=(node)
900 do
901 _n_kwvar = node
902 node.parent = self
903 end
904 redef fun n_id2=(node)
905 do
906 _n_id2 = node
907 node.parent = self
908 end
909 redef fun n_type=(node)
910 do
911 _n_type = node
912 if node != null then node.parent = self
913 end
914 redef fun n_assign=(node)
915 do
916 _n_assign = node
917 if node != null then node.parent = self
918 end
919 redef fun n_expr=(node)
920 do
921 _n_expr = node
922 if node != null then node.parent = self
923 end
924 redef fun n_annotations=(node)
925 do
926 _n_annotations = node
927 if node != null then node.parent = self
928 end
929 redef fun n_kwdo=(node)
930 do
931 _n_kwdo = node
932 if node != null then node.parent = self
933 end
934 redef fun n_block=(node)
935 do
936 _n_block = node
937 if node != null then node.parent = self
938 end
939 redef fun n_kwend=(node)
940 do
941 _n_kwend = node
942 if node != null then node.parent = self
943 end
944
945
946 redef fun visit_all(v: Visitor)
947 do
948 v.enter_visit(_n_doc)
949 v.enter_visit(_n_kwredef)
950 v.enter_visit(_n_visibility)
951 v.enter_visit(_n_kwvar)
952 v.enter_visit(_n_id2)
953 v.enter_visit(_n_type)
954 v.enter_visit(_n_assign)
955 v.enter_visit(_n_expr)
956 v.enter_visit(_n_annotations)
957 v.enter_visit(_n_kwdo)
958 v.enter_visit(_n_block)
959 v.enter_visit(_n_kwend)
960 end
961 end
962 redef class AMainMethPropdef
963 init init_amainmethpropdef (
964 n_kwredef: nullable TKwredef,
965 n_block: nullable AExpr
966 )
967 do
968 _n_kwredef = n_kwredef
969 if n_kwredef != null then n_kwredef.parent = self
970 _n_block = n_block
971 if n_block != null then n_block.parent = self
972 end
973
974 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
975 do
976 if _n_kwredef == old_child then
977 n_kwredef = new_child.as(nullable TKwredef)
978 return
979 end
980 if _n_block == old_child then
981 n_block = new_child.as(nullable AExpr)
982 return
983 end
984 end
985
986 redef fun n_kwredef=(node)
987 do
988 _n_kwredef = node
989 if node != null then node.parent = self
990 end
991 redef fun n_block=(node)
992 do
993 _n_block = node
994 if node != null then node.parent = self
995 end
996
997
998 redef fun visit_all(v: Visitor)
999 do
1000 v.enter_visit(_n_kwredef)
1001 v.enter_visit(_n_block)
1002 end
1003 end
1004 redef class ATypePropdef
1005 init init_atypepropdef (
1006 n_doc: nullable ADoc,
1007 n_kwredef: nullable TKwredef,
1008 n_visibility: nullable AVisibility,
1009 n_kwtype: nullable TKwtype,
1010 n_id: nullable TClassid,
1011 n_type: nullable AType,
1012 n_annotations: nullable AAnnotations
1013 )
1014 do
1015 _n_doc = n_doc
1016 if n_doc != null then n_doc.parent = self
1017 _n_kwredef = n_kwredef
1018 if n_kwredef != null then n_kwredef.parent = self
1019 _n_visibility = n_visibility.as(not null)
1020 n_visibility.parent = self
1021 _n_kwtype = n_kwtype.as(not null)
1022 n_kwtype.parent = self
1023 _n_id = n_id.as(not null)
1024 n_id.parent = self
1025 _n_type = n_type.as(not null)
1026 n_type.parent = self
1027 _n_annotations = n_annotations
1028 if n_annotations != null then n_annotations.parent = self
1029 end
1030
1031 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1032 do
1033 if _n_doc == old_child then
1034 n_doc = new_child.as(nullable ADoc)
1035 return
1036 end
1037 if _n_kwredef == old_child then
1038 n_kwredef = new_child.as(nullable TKwredef)
1039 return
1040 end
1041 if _n_visibility == old_child then
1042 n_visibility = new_child.as(AVisibility)
1043 return
1044 end
1045 if _n_kwtype == old_child then
1046 n_kwtype = new_child.as(TKwtype)
1047 return
1048 end
1049 if _n_id == old_child then
1050 n_id = new_child.as(TClassid)
1051 return
1052 end
1053 if _n_type == old_child then
1054 n_type = new_child.as(AType)
1055 return
1056 end
1057 if _n_annotations == old_child then
1058 n_annotations = new_child.as(nullable AAnnotations)
1059 return
1060 end
1061 end
1062
1063 redef fun n_doc=(node)
1064 do
1065 _n_doc = node
1066 if node != null then node.parent = self
1067 end
1068 redef fun n_kwredef=(node)
1069 do
1070 _n_kwredef = node
1071 if node != null then node.parent = self
1072 end
1073 redef fun n_visibility=(node)
1074 do
1075 _n_visibility = node
1076 node.parent = self
1077 end
1078 redef fun n_kwtype=(node)
1079 do
1080 _n_kwtype = node
1081 node.parent = self
1082 end
1083 redef fun n_id=(node)
1084 do
1085 _n_id = node
1086 node.parent = self
1087 end
1088 redef fun n_type=(node)
1089 do
1090 _n_type = node
1091 node.parent = self
1092 end
1093 redef fun n_annotations=(node)
1094 do
1095 _n_annotations = node
1096 if node != null then node.parent = self
1097 end
1098
1099
1100 redef fun visit_all(v: Visitor)
1101 do
1102 v.enter_visit(_n_doc)
1103 v.enter_visit(_n_kwredef)
1104 v.enter_visit(_n_visibility)
1105 v.enter_visit(_n_kwtype)
1106 v.enter_visit(_n_id)
1107 v.enter_visit(_n_type)
1108 v.enter_visit(_n_annotations)
1109 end
1110 end
1111 redef class AMethPropdef
1112 init init_amethpropdef (
1113 n_doc: nullable ADoc,
1114 n_kwredef: nullable TKwredef,
1115 n_visibility: nullable AVisibility,
1116 n_kwmeth: nullable TKwmeth,
1117 n_kwinit: nullable TKwinit,
1118 n_kwnew: nullable TKwnew,
1119 n_methid: nullable AMethid,
1120 n_signature: nullable ASignature,
1121 n_annotations: nullable AAnnotations,
1122 n_extern_calls: nullable AExternCalls,
1123 n_extern_code_block: nullable AExternCodeBlock,
1124 n_kwdo: nullable TKwdo,
1125 n_block: nullable AExpr,
1126 n_kwend: nullable TKwend
1127 )
1128 do
1129 _n_doc = n_doc
1130 if n_doc != null then n_doc.parent = self
1131 _n_kwredef = n_kwredef
1132 if n_kwredef != null then n_kwredef.parent = self
1133 _n_visibility = n_visibility.as(not null)
1134 n_visibility.parent = self
1135 _n_kwmeth = n_kwmeth
1136 if n_kwmeth != null then n_kwmeth.parent = self
1137 _n_kwinit = n_kwinit
1138 if n_kwinit != null then n_kwinit.parent = self
1139 _n_kwnew = n_kwnew
1140 if n_kwnew != null then n_kwnew.parent = self
1141 _n_methid = n_methid
1142 if n_methid != null then n_methid.parent = self
1143 _n_signature = n_signature.as(not null)
1144 n_signature.parent = self
1145 _n_annotations = n_annotations
1146 if n_annotations != null then n_annotations.parent = self
1147 _n_extern_calls = n_extern_calls
1148 if n_extern_calls != null then n_extern_calls.parent = self
1149 _n_extern_code_block = n_extern_code_block
1150 if n_extern_code_block != null then n_extern_code_block.parent = self
1151 _n_kwdo = n_kwdo
1152 if n_kwdo != null then n_kwdo.parent = self
1153 _n_block = n_block
1154 if n_block != null then n_block.parent = self
1155 _n_kwend = n_kwend
1156 if n_kwend != null then n_kwend.parent = self
1157 end
1158
1159 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1160 do
1161 if _n_doc == old_child then
1162 n_doc = new_child.as(nullable ADoc)
1163 return
1164 end
1165 if _n_kwredef == old_child then
1166 n_kwredef = new_child.as(nullable TKwredef)
1167 return
1168 end
1169 if _n_visibility == old_child then
1170 n_visibility = new_child.as(AVisibility)
1171 return
1172 end
1173 if _n_kwmeth == old_child then
1174 n_kwmeth = new_child.as(nullable TKwmeth)
1175 return
1176 end
1177 if _n_kwinit == old_child then
1178 n_kwinit = new_child.as(nullable TKwinit)
1179 return
1180 end
1181 if _n_kwnew == old_child then
1182 n_kwnew = new_child.as(nullable TKwnew)
1183 return
1184 end
1185 if _n_methid == old_child then
1186 n_methid = new_child.as(nullable AMethid)
1187 return
1188 end
1189 if _n_signature == old_child then
1190 n_signature = new_child.as(ASignature)
1191 return
1192 end
1193 if _n_annotations == old_child then
1194 n_annotations = new_child.as(nullable AAnnotations)
1195 return
1196 end
1197 if _n_extern_calls == old_child then
1198 n_extern_calls = new_child.as(nullable AExternCalls)
1199 return
1200 end
1201 if _n_extern_code_block == old_child then
1202 n_extern_code_block = new_child.as(nullable AExternCodeBlock)
1203 return
1204 end
1205 if _n_kwdo == old_child then
1206 n_kwdo = new_child.as(nullable TKwdo)
1207 return
1208 end
1209 if _n_block == old_child then
1210 n_block = new_child.as(nullable AExpr)
1211 return
1212 end
1213 if _n_kwend == old_child then
1214 n_kwend = new_child.as(nullable TKwend)
1215 return
1216 end
1217 end
1218
1219 redef fun n_doc=(node)
1220 do
1221 _n_doc = node
1222 if node != null then node.parent = self
1223 end
1224 redef fun n_kwredef=(node)
1225 do
1226 _n_kwredef = node
1227 if node != null then node.parent = self
1228 end
1229 redef fun n_visibility=(node)
1230 do
1231 _n_visibility = node
1232 node.parent = self
1233 end
1234 redef fun n_kwmeth=(node)
1235 do
1236 _n_kwmeth = node
1237 if node != null then node.parent = self
1238 end
1239 redef fun n_kwinit=(node)
1240 do
1241 _n_kwinit = node
1242 if node != null then node.parent = self
1243 end
1244 redef fun n_kwnew=(node)
1245 do
1246 _n_kwnew = node
1247 if node != null then node.parent = self
1248 end
1249 redef fun n_methid=(node)
1250 do
1251 _n_methid = node
1252 if node != null then node.parent = self
1253 end
1254 redef fun n_signature=(node)
1255 do
1256 _n_signature = node
1257 node.parent = self
1258 end
1259 redef fun n_annotations=(node)
1260 do
1261 _n_annotations = node
1262 if node != null then node.parent = self
1263 end
1264 redef fun n_extern_calls=(node)
1265 do
1266 _n_extern_calls = node
1267 if node != null then node.parent = self
1268 end
1269 redef fun n_extern_code_block=(node)
1270 do
1271 _n_extern_code_block = node
1272 if node != null then node.parent = self
1273 end
1274 redef fun n_kwdo=(node)
1275 do
1276 _n_kwdo = node
1277 if node != null then node.parent = self
1278 end
1279 redef fun n_block=(node)
1280 do
1281 _n_block = node
1282 if node != null then node.parent = self
1283 end
1284 redef fun n_kwend=(node)
1285 do
1286 _n_kwend = node
1287 if node != null then node.parent = self
1288 end
1289
1290
1291 redef fun visit_all(v: Visitor)
1292 do
1293 v.enter_visit(_n_doc)
1294 v.enter_visit(_n_kwredef)
1295 v.enter_visit(_n_visibility)
1296 v.enter_visit(_n_kwmeth)
1297 v.enter_visit(_n_kwinit)
1298 v.enter_visit(_n_kwnew)
1299 v.enter_visit(_n_methid)
1300 v.enter_visit(_n_signature)
1301 v.enter_visit(_n_annotations)
1302 v.enter_visit(_n_extern_calls)
1303 v.enter_visit(_n_extern_code_block)
1304 v.enter_visit(_n_kwdo)
1305 v.enter_visit(_n_block)
1306 v.enter_visit(_n_kwend)
1307 end
1308 end
1309 redef class ASuperPropdef
1310 init init_asuperpropdef (
1311 n_doc: nullable ADoc,
1312 n_kwredef: nullable TKwredef,
1313 n_visibility: nullable AVisibility,
1314 n_kwsuper: nullable TKwsuper,
1315 n_type: nullable AType,
1316 n_annotations: nullable AAnnotations
1317 )
1318 do
1319 _n_doc = n_doc
1320 if n_doc != null then n_doc.parent = self
1321 _n_kwredef = n_kwredef
1322 if n_kwredef != null then n_kwredef.parent = self
1323 _n_visibility = n_visibility.as(not null)
1324 n_visibility.parent = self
1325 _n_kwsuper = n_kwsuper.as(not null)
1326 n_kwsuper.parent = self
1327 _n_type = n_type.as(not null)
1328 n_type.parent = self
1329 _n_annotations = n_annotations
1330 if n_annotations != null then n_annotations.parent = self
1331 end
1332
1333 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1334 do
1335 if _n_doc == old_child then
1336 n_doc = new_child.as(nullable ADoc)
1337 return
1338 end
1339 if _n_kwredef == old_child then
1340 n_kwredef = new_child.as(nullable TKwredef)
1341 return
1342 end
1343 if _n_visibility == old_child then
1344 n_visibility = new_child.as(AVisibility)
1345 return
1346 end
1347 if _n_kwsuper == old_child then
1348 n_kwsuper = new_child.as(TKwsuper)
1349 return
1350 end
1351 if _n_type == old_child then
1352 n_type = new_child.as(AType)
1353 return
1354 end
1355 if _n_annotations == old_child then
1356 n_annotations = new_child.as(nullable AAnnotations)
1357 return
1358 end
1359 end
1360
1361 redef fun n_doc=(node)
1362 do
1363 _n_doc = node
1364 if node != null then node.parent = self
1365 end
1366 redef fun n_kwredef=(node)
1367 do
1368 _n_kwredef = node
1369 if node != null then node.parent = self
1370 end
1371 redef fun n_visibility=(node)
1372 do
1373 _n_visibility = node
1374 node.parent = self
1375 end
1376 redef fun n_kwsuper=(node)
1377 do
1378 _n_kwsuper = node
1379 node.parent = self
1380 end
1381 redef fun n_type=(node)
1382 do
1383 _n_type = node
1384 node.parent = self
1385 end
1386 redef fun n_annotations=(node)
1387 do
1388 _n_annotations = node
1389 if node != null then node.parent = self
1390 end
1391
1392
1393 redef fun visit_all(v: Visitor)
1394 do
1395 v.enter_visit(_n_doc)
1396 v.enter_visit(_n_kwredef)
1397 v.enter_visit(_n_visibility)
1398 v.enter_visit(_n_kwsuper)
1399 v.enter_visit(_n_type)
1400 v.enter_visit(_n_annotations)
1401 end
1402 end
1403 redef class AAnnotPropdef
1404 init init_aannotpropdef (
1405 n_doc: nullable ADoc,
1406 n_kwredef: nullable TKwredef,
1407 n_visibility: nullable AVisibility,
1408 n_atid: nullable AAtid,
1409 n_opar: nullable TOpar,
1410 n_args: Collection[Object], # Should be Collection[AExpr]
1411 n_cpar: nullable TCpar,
1412 n_annotations: nullable AAnnotations
1413 )
1414 do
1415 _n_doc = n_doc
1416 if n_doc != null then n_doc.parent = self
1417 _n_kwredef = n_kwredef
1418 if n_kwredef != null then n_kwredef.parent = self
1419 _n_visibility = n_visibility
1420 if n_visibility != null then n_visibility.parent = self
1421 _n_atid = n_atid.as(not null)
1422 n_atid.parent = self
1423 _n_opar = n_opar
1424 if n_opar != null then n_opar.parent = self
1425 self.n_args.unsafe_add_all(n_args)
1426 _n_cpar = n_cpar
1427 if n_cpar != null then n_cpar.parent = self
1428 _n_annotations = n_annotations
1429 if n_annotations != null then n_annotations.parent = self
1430 end
1431
1432 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1433 do
1434 if _n_doc == old_child then
1435 n_doc = new_child.as(nullable ADoc)
1436 return
1437 end
1438 if _n_kwredef == old_child then
1439 n_kwredef = new_child.as(nullable TKwredef)
1440 return
1441 end
1442 if _n_visibility == old_child then
1443 n_visibility = new_child.as(nullable AVisibility)
1444 return
1445 end
1446 if _n_atid == old_child then
1447 n_atid = new_child.as(AAtid)
1448 return
1449 end
1450 if _n_opar == old_child then
1451 n_opar = new_child.as(nullable TOpar)
1452 return
1453 end
1454 if n_args.replace_child(old_child, new_child) then return
1455 if _n_cpar == old_child then
1456 n_cpar = new_child.as(nullable TCpar)
1457 return
1458 end
1459 if _n_annotations == old_child then
1460 n_annotations = new_child.as(nullable AAnnotations)
1461 return
1462 end
1463 end
1464
1465 redef fun n_doc=(node)
1466 do
1467 _n_doc = node
1468 if node != null then node.parent = self
1469 end
1470 redef fun n_kwredef=(node)
1471 do
1472 _n_kwredef = node
1473 if node != null then node.parent = self
1474 end
1475 redef fun n_visibility=(node)
1476 do
1477 _n_visibility = node
1478 if node != null then node.parent = self
1479 end
1480 redef fun n_atid=(node)
1481 do
1482 _n_atid = node
1483 node.parent = self
1484 end
1485 redef fun n_opar=(node)
1486 do
1487 _n_opar = node
1488 if node != null then node.parent = self
1489 end
1490 redef fun n_cpar=(node)
1491 do
1492 _n_cpar = node
1493 if node != null then node.parent = self
1494 end
1495 redef fun n_annotations=(node)
1496 do
1497 _n_annotations = node
1498 if node != null then node.parent = self
1499 end
1500
1501
1502 redef fun visit_all(v: Visitor)
1503 do
1504 v.enter_visit(_n_doc)
1505 v.enter_visit(_n_kwredef)
1506 v.enter_visit(_n_visibility)
1507 v.enter_visit(_n_atid)
1508 v.enter_visit(_n_opar)
1509 n_args.visit_all(v)
1510 v.enter_visit(_n_cpar)
1511 v.enter_visit(_n_annotations)
1512 end
1513 end
1514 redef class AIdMethid
1515 init init_aidmethid (
1516 n_id: nullable TId
1517 )
1518 do
1519 _n_id = n_id.as(not null)
1520 n_id.parent = self
1521 end
1522
1523 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1524 do
1525 if _n_id == old_child then
1526 n_id = new_child.as(TId)
1527 return
1528 end
1529 end
1530
1531 redef fun n_id=(node)
1532 do
1533 _n_id = node
1534 node.parent = self
1535 end
1536
1537
1538 redef fun visit_all(v: Visitor)
1539 do
1540 v.enter_visit(_n_id)
1541 end
1542 end
1543 redef class APlusMethid
1544 init init_aplusmethid (
1545 n_op: nullable TPlus
1546 )
1547 do
1548 _n_op = n_op.as(not null)
1549 n_op.parent = self
1550 end
1551
1552 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1553 do
1554 if _n_op == old_child then
1555 n_op = new_child.as(TPlus)
1556 return
1557 end
1558 end
1559
1560 redef fun n_op=(node)
1561 do
1562 _n_op = node
1563 node.parent = self
1564 end
1565
1566
1567 redef fun visit_all(v: Visitor)
1568 do
1569 v.enter_visit(_n_op)
1570 end
1571 end
1572 redef class AMinusMethid
1573 init init_aminusmethid (
1574 n_op: nullable TMinus
1575 )
1576 do
1577 _n_op = n_op.as(not null)
1578 n_op.parent = self
1579 end
1580
1581 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1582 do
1583 if _n_op == old_child then
1584 n_op = new_child.as(TMinus)
1585 return
1586 end
1587 end
1588
1589 redef fun n_op=(node)
1590 do
1591 _n_op = node
1592 node.parent = self
1593 end
1594
1595
1596 redef fun visit_all(v: Visitor)
1597 do
1598 v.enter_visit(_n_op)
1599 end
1600 end
1601 redef class AStarMethid
1602 init init_astarmethid (
1603 n_op: nullable TStar
1604 )
1605 do
1606 _n_op = n_op.as(not null)
1607 n_op.parent = self
1608 end
1609
1610 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1611 do
1612 if _n_op == old_child then
1613 n_op = new_child.as(TStar)
1614 return
1615 end
1616 end
1617
1618 redef fun n_op=(node)
1619 do
1620 _n_op = node
1621 node.parent = self
1622 end
1623
1624
1625 redef fun visit_all(v: Visitor)
1626 do
1627 v.enter_visit(_n_op)
1628 end
1629 end
1630 redef class AStarstarMethid
1631 init init_astarstarmethid (
1632 n_op: nullable TStarstar
1633 )
1634 do
1635 _n_op = n_op.as(not null)
1636 n_op.parent = self
1637 end
1638
1639 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1640 do
1641 if _n_op == old_child then
1642 n_op = new_child.as(TStarstar)
1643 return
1644 end
1645 end
1646
1647 redef fun n_op=(node)
1648 do
1649 _n_op = node
1650 node.parent = self
1651 end
1652
1653
1654 redef fun visit_all(v: Visitor)
1655 do
1656 v.enter_visit(_n_op)
1657 end
1658 end
1659 redef class ASlashMethid
1660 init init_aslashmethid (
1661 n_op: nullable TSlash
1662 )
1663 do
1664 _n_op = n_op.as(not null)
1665 n_op.parent = self
1666 end
1667
1668 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1669 do
1670 if _n_op == old_child then
1671 n_op = new_child.as(TSlash)
1672 return
1673 end
1674 end
1675
1676 redef fun n_op=(node)
1677 do
1678 _n_op = node
1679 node.parent = self
1680 end
1681
1682
1683 redef fun visit_all(v: Visitor)
1684 do
1685 v.enter_visit(_n_op)
1686 end
1687 end
1688 redef class APercentMethid
1689 init init_apercentmethid (
1690 n_op: nullable TPercent
1691 )
1692 do
1693 _n_op = n_op.as(not null)
1694 n_op.parent = self
1695 end
1696
1697 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1698 do
1699 if _n_op == old_child then
1700 n_op = new_child.as(TPercent)
1701 return
1702 end
1703 end
1704
1705 redef fun n_op=(node)
1706 do
1707 _n_op = node
1708 node.parent = self
1709 end
1710
1711
1712 redef fun visit_all(v: Visitor)
1713 do
1714 v.enter_visit(_n_op)
1715 end
1716 end
1717 redef class AEqMethid
1718 init init_aeqmethid (
1719 n_op: nullable TEq
1720 )
1721 do
1722 _n_op = n_op.as(not null)
1723 n_op.parent = self
1724 end
1725
1726 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1727 do
1728 if _n_op == old_child then
1729 n_op = new_child.as(TEq)
1730 return
1731 end
1732 end
1733
1734 redef fun n_op=(node)
1735 do
1736 _n_op = node
1737 node.parent = self
1738 end
1739
1740
1741 redef fun visit_all(v: Visitor)
1742 do
1743 v.enter_visit(_n_op)
1744 end
1745 end
1746 redef class ANeMethid
1747 init init_anemethid (
1748 n_op: nullable TNe
1749 )
1750 do
1751 _n_op = n_op.as(not null)
1752 n_op.parent = self
1753 end
1754
1755 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1756 do
1757 if _n_op == old_child then
1758 n_op = new_child.as(TNe)
1759 return
1760 end
1761 end
1762
1763 redef fun n_op=(node)
1764 do
1765 _n_op = node
1766 node.parent = self
1767 end
1768
1769
1770 redef fun visit_all(v: Visitor)
1771 do
1772 v.enter_visit(_n_op)
1773 end
1774 end
1775 redef class ALeMethid
1776 init init_alemethid (
1777 n_op: nullable TLe
1778 )
1779 do
1780 _n_op = n_op.as(not null)
1781 n_op.parent = self
1782 end
1783
1784 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1785 do
1786 if _n_op == old_child then
1787 n_op = new_child.as(TLe)
1788 return
1789 end
1790 end
1791
1792 redef fun n_op=(node)
1793 do
1794 _n_op = node
1795 node.parent = self
1796 end
1797
1798
1799 redef fun visit_all(v: Visitor)
1800 do
1801 v.enter_visit(_n_op)
1802 end
1803 end
1804 redef class AGeMethid
1805 init init_agemethid (
1806 n_op: nullable TGe
1807 )
1808 do
1809 _n_op = n_op.as(not null)
1810 n_op.parent = self
1811 end
1812
1813 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1814 do
1815 if _n_op == old_child then
1816 n_op = new_child.as(TGe)
1817 return
1818 end
1819 end
1820
1821 redef fun n_op=(node)
1822 do
1823 _n_op = node
1824 node.parent = self
1825 end
1826
1827
1828 redef fun visit_all(v: Visitor)
1829 do
1830 v.enter_visit(_n_op)
1831 end
1832 end
1833 redef class ALtMethid
1834 init init_altmethid (
1835 n_op: nullable TLt
1836 )
1837 do
1838 _n_op = n_op.as(not null)
1839 n_op.parent = self
1840 end
1841
1842 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1843 do
1844 if _n_op == old_child then
1845 n_op = new_child.as(TLt)
1846 return
1847 end
1848 end
1849
1850 redef fun n_op=(node)
1851 do
1852 _n_op = node
1853 node.parent = self
1854 end
1855
1856
1857 redef fun visit_all(v: Visitor)
1858 do
1859 v.enter_visit(_n_op)
1860 end
1861 end
1862 redef class AGtMethid
1863 init init_agtmethid (
1864 n_op: nullable TGt
1865 )
1866 do
1867 _n_op = n_op.as(not null)
1868 n_op.parent = self
1869 end
1870
1871 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1872 do
1873 if _n_op == old_child then
1874 n_op = new_child.as(TGt)
1875 return
1876 end
1877 end
1878
1879 redef fun n_op=(node)
1880 do
1881 _n_op = node
1882 node.parent = self
1883 end
1884
1885
1886 redef fun visit_all(v: Visitor)
1887 do
1888 v.enter_visit(_n_op)
1889 end
1890 end
1891 redef class ALlMethid
1892 init init_allmethid (
1893 n_op: nullable TLl
1894 )
1895 do
1896 _n_op = n_op.as(not null)
1897 n_op.parent = self
1898 end
1899
1900 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1901 do
1902 if _n_op == old_child then
1903 n_op = new_child.as(TLl)
1904 return
1905 end
1906 end
1907
1908 redef fun n_op=(node)
1909 do
1910 _n_op = node
1911 node.parent = self
1912 end
1913
1914
1915 redef fun visit_all(v: Visitor)
1916 do
1917 v.enter_visit(_n_op)
1918 end
1919 end
1920 redef class AGgMethid
1921 init init_aggmethid (
1922 n_op: nullable TGg
1923 )
1924 do
1925 _n_op = n_op.as(not null)
1926 n_op.parent = self
1927 end
1928
1929 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1930 do
1931 if _n_op == old_child then
1932 n_op = new_child.as(TGg)
1933 return
1934 end
1935 end
1936
1937 redef fun n_op=(node)
1938 do
1939 _n_op = node
1940 node.parent = self
1941 end
1942
1943
1944 redef fun visit_all(v: Visitor)
1945 do
1946 v.enter_visit(_n_op)
1947 end
1948 end
1949 redef class AStarshipMethid
1950 init init_astarshipmethid (
1951 n_op: nullable TStarship
1952 )
1953 do
1954 _n_op = n_op.as(not null)
1955 n_op.parent = self
1956 end
1957
1958 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1959 do
1960 if _n_op == old_child then
1961 n_op = new_child.as(TStarship)
1962 return
1963 end
1964 end
1965
1966 redef fun n_op=(node)
1967 do
1968 _n_op = node
1969 node.parent = self
1970 end
1971
1972
1973 redef fun visit_all(v: Visitor)
1974 do
1975 v.enter_visit(_n_op)
1976 end
1977 end
1978 redef class APipeMethid
1979 init init_apipemethid (
1980 n_op: nullable TPipe
1981 )
1982 do
1983 _n_op = n_op.as(not null)
1984 n_op.parent = self
1985 end
1986
1987 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1988 do
1989 if _n_op == old_child then
1990 n_op = new_child.as(TPipe)
1991 return
1992 end
1993 end
1994
1995 redef fun n_op=(node)
1996 do
1997 _n_op = node
1998 node.parent = self
1999 end
2000
2001
2002 redef fun visit_all(v: Visitor)
2003 do
2004 v.enter_visit(_n_op)
2005 end
2006 end
2007 redef class ACaretMethid
2008 init init_acaretmethid (
2009 n_op: nullable TCaret
2010 )
2011 do
2012 _n_op = n_op.as(not null)
2013 n_op.parent = self
2014 end
2015
2016 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2017 do
2018 if _n_op == old_child then
2019 n_op = new_child.as(TCaret)
2020 return
2021 end
2022 end
2023
2024 redef fun n_op=(node)
2025 do
2026 _n_op = node
2027 node.parent = self
2028 end
2029
2030
2031 redef fun visit_all(v: Visitor)
2032 do
2033 v.enter_visit(_n_op)
2034 end
2035 end
2036 redef class AAmpMethid
2037 init init_aampmethid (
2038 n_op: nullable TAmp
2039 )
2040 do
2041 _n_op = n_op.as(not null)
2042 n_op.parent = self
2043 end
2044
2045 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2046 do
2047 if _n_op == old_child then
2048 n_op = new_child.as(TAmp)
2049 return
2050 end
2051 end
2052
2053 redef fun n_op=(node)
2054 do
2055 _n_op = node
2056 node.parent = self
2057 end
2058
2059
2060 redef fun visit_all(v: Visitor)
2061 do
2062 v.enter_visit(_n_op)
2063 end
2064 end
2065 redef class ATildeMethid
2066 init init_atildemethid (
2067 n_op: nullable TTilde
2068 )
2069 do
2070 _n_op = n_op.as(not null)
2071 n_op.parent = self
2072 end
2073
2074 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2075 do
2076 if _n_op == old_child then
2077 n_op = new_child.as(TTilde)
2078 return
2079 end
2080 end
2081
2082 redef fun n_op=(node)
2083 do
2084 _n_op = node
2085 node.parent = self
2086 end
2087
2088
2089 redef fun visit_all(v: Visitor)
2090 do
2091 v.enter_visit(_n_op)
2092 end
2093 end
2094 redef class ABraMethid
2095 init init_abramethid (
2096 n_obra: nullable TObra,
2097 n_cbra: nullable TCbra
2098 )
2099 do
2100 _n_obra = n_obra.as(not null)
2101 n_obra.parent = self
2102 _n_cbra = n_cbra.as(not null)
2103 n_cbra.parent = self
2104 end
2105
2106 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2107 do
2108 if _n_obra == old_child then
2109 n_obra = new_child.as(TObra)
2110 return
2111 end
2112 if _n_cbra == old_child then
2113 n_cbra = new_child.as(TCbra)
2114 return
2115 end
2116 end
2117
2118 redef fun n_obra=(node)
2119 do
2120 _n_obra = node
2121 node.parent = self
2122 end
2123 redef fun n_cbra=(node)
2124 do
2125 _n_cbra = node
2126 node.parent = self
2127 end
2128
2129
2130 redef fun visit_all(v: Visitor)
2131 do
2132 v.enter_visit(_n_obra)
2133 v.enter_visit(_n_cbra)
2134 end
2135 end
2136 redef class AAssignMethid
2137 init init_aassignmethid (
2138 n_id: nullable TId,
2139 n_assign: nullable TAssign
2140 )
2141 do
2142 _n_id = n_id.as(not null)
2143 n_id.parent = self
2144 _n_assign = n_assign.as(not null)
2145 n_assign.parent = self
2146 end
2147
2148 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2149 do
2150 if _n_id == old_child then
2151 n_id = new_child.as(TId)
2152 return
2153 end
2154 if _n_assign == old_child then
2155 n_assign = new_child.as(TAssign)
2156 return
2157 end
2158 end
2159
2160 redef fun n_id=(node)
2161 do
2162 _n_id = node
2163 node.parent = self
2164 end
2165 redef fun n_assign=(node)
2166 do
2167 _n_assign = node
2168 node.parent = self
2169 end
2170
2171
2172 redef fun visit_all(v: Visitor)
2173 do
2174 v.enter_visit(_n_id)
2175 v.enter_visit(_n_assign)
2176 end
2177 end
2178 redef class ABraassignMethid
2179 init init_abraassignmethid (
2180 n_obra: nullable TObra,
2181 n_cbra: nullable TCbra,
2182 n_assign: nullable TAssign
2183 )
2184 do
2185 _n_obra = n_obra.as(not null)
2186 n_obra.parent = self
2187 _n_cbra = n_cbra.as(not null)
2188 n_cbra.parent = self
2189 _n_assign = n_assign.as(not null)
2190 n_assign.parent = self
2191 end
2192
2193 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2194 do
2195 if _n_obra == old_child then
2196 n_obra = new_child.as(TObra)
2197 return
2198 end
2199 if _n_cbra == old_child then
2200 n_cbra = new_child.as(TCbra)
2201 return
2202 end
2203 if _n_assign == old_child then
2204 n_assign = new_child.as(TAssign)
2205 return
2206 end
2207 end
2208
2209 redef fun n_obra=(node)
2210 do
2211 _n_obra = node
2212 node.parent = self
2213 end
2214 redef fun n_cbra=(node)
2215 do
2216 _n_cbra = node
2217 node.parent = self
2218 end
2219 redef fun n_assign=(node)
2220 do
2221 _n_assign = node
2222 node.parent = self
2223 end
2224
2225
2226 redef fun visit_all(v: Visitor)
2227 do
2228 v.enter_visit(_n_obra)
2229 v.enter_visit(_n_cbra)
2230 v.enter_visit(_n_assign)
2231 end
2232 end
2233 redef class ASignature
2234 init init_asignature (
2235 n_opar: nullable TOpar,
2236 n_params: Collection[Object], # Should be Collection[AParam]
2237 n_cpar: nullable TCpar,
2238 n_type: nullable AType
2239 )
2240 do
2241 _n_opar = n_opar
2242 if n_opar != null then n_opar.parent = self
2243 self.n_params.unsafe_add_all(n_params)
2244 _n_cpar = n_cpar
2245 if n_cpar != null then n_cpar.parent = self
2246 _n_type = n_type
2247 if n_type != null then n_type.parent = self
2248 end
2249
2250 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2251 do
2252 if _n_opar == old_child then
2253 n_opar = new_child.as(nullable TOpar)
2254 return
2255 end
2256 if n_params.replace_child(old_child, new_child) then return
2257 if _n_cpar == old_child then
2258 n_cpar = new_child.as(nullable TCpar)
2259 return
2260 end
2261 if _n_type == old_child then
2262 n_type = new_child.as(nullable AType)
2263 return
2264 end
2265 end
2266
2267 redef fun n_opar=(node)
2268 do
2269 _n_opar = node
2270 if node != null then node.parent = self
2271 end
2272 redef fun n_cpar=(node)
2273 do
2274 _n_cpar = node
2275 if node != null then node.parent = self
2276 end
2277 redef fun n_type=(node)
2278 do
2279 _n_type = node
2280 if node != null then node.parent = self
2281 end
2282
2283
2284 redef fun visit_all(v: Visitor)
2285 do
2286 v.enter_visit(_n_opar)
2287 n_params.visit_all(v)
2288 v.enter_visit(_n_cpar)
2289 v.enter_visit(_n_type)
2290 end
2291 end
2292 redef class AParam
2293 init init_aparam (
2294 n_id: nullable TId,
2295 n_type: nullable AType,
2296 n_dotdotdot: nullable TDotdotdot,
2297 n_annotations: nullable AAnnotations
2298 )
2299 do
2300 _n_id = n_id.as(not null)
2301 n_id.parent = self
2302 _n_type = n_type
2303 if n_type != null then n_type.parent = self
2304 _n_dotdotdot = n_dotdotdot
2305 if n_dotdotdot != null then n_dotdotdot.parent = self
2306 _n_annotations = n_annotations
2307 if n_annotations != null then n_annotations.parent = self
2308 end
2309
2310 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2311 do
2312 if _n_id == old_child then
2313 n_id = new_child.as(TId)
2314 return
2315 end
2316 if _n_type == old_child then
2317 n_type = new_child.as(nullable AType)
2318 return
2319 end
2320 if _n_dotdotdot == old_child then
2321 n_dotdotdot = new_child.as(nullable TDotdotdot)
2322 return
2323 end
2324 if _n_annotations == old_child then
2325 n_annotations = new_child.as(nullable AAnnotations)
2326 return
2327 end
2328 end
2329
2330 redef fun n_id=(node)
2331 do
2332 _n_id = node
2333 node.parent = self
2334 end
2335 redef fun n_type=(node)
2336 do
2337 _n_type = node
2338 if node != null then node.parent = self
2339 end
2340 redef fun n_dotdotdot=(node)
2341 do
2342 _n_dotdotdot = node
2343 if node != null then node.parent = self
2344 end
2345 redef fun n_annotations=(node)
2346 do
2347 _n_annotations = node
2348 if node != null then node.parent = self
2349 end
2350
2351
2352 redef fun visit_all(v: Visitor)
2353 do
2354 v.enter_visit(_n_id)
2355 v.enter_visit(_n_type)
2356 v.enter_visit(_n_dotdotdot)
2357 v.enter_visit(_n_annotations)
2358 end
2359 end
2360 redef class AType
2361 init init_atype (
2362 n_kwnullable: nullable TKwnullable,
2363 n_id: nullable TClassid,
2364 n_obra: nullable TObra,
2365 n_types: Collection[Object], # Should be Collection[AType]
2366 n_cbra: nullable TCbra,
2367 n_annotations: nullable AAnnotations
2368 )
2369 do
2370 _n_kwnullable = n_kwnullable
2371 if n_kwnullable != null then n_kwnullable.parent = self
2372 _n_id = n_id.as(not null)
2373 n_id.parent = self
2374 _n_obra = n_obra
2375 if n_obra != null then n_obra.parent = self
2376 self.n_types.unsafe_add_all(n_types)
2377 _n_cbra = n_cbra
2378 if n_cbra != null then n_cbra.parent = self
2379 _n_annotations = n_annotations
2380 if n_annotations != null then n_annotations.parent = self
2381 end
2382
2383 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2384 do
2385 if _n_kwnullable == old_child then
2386 n_kwnullable = new_child.as(nullable TKwnullable)
2387 return
2388 end
2389 if _n_id == old_child then
2390 n_id = new_child.as(TClassid)
2391 return
2392 end
2393 if _n_obra == old_child then
2394 n_obra = new_child.as(nullable TObra)
2395 return
2396 end
2397 if n_types.replace_child(old_child, new_child) then return
2398 if _n_cbra == old_child then
2399 n_cbra = new_child.as(nullable TCbra)
2400 return
2401 end
2402 if _n_annotations == old_child then
2403 n_annotations = new_child.as(nullable AAnnotations)
2404 return
2405 end
2406 end
2407
2408 redef fun n_kwnullable=(node)
2409 do
2410 _n_kwnullable = node
2411 if node != null then node.parent = self
2412 end
2413 redef fun n_id=(node)
2414 do
2415 _n_id = node
2416 node.parent = self
2417 end
2418 redef fun n_obra=(node)
2419 do
2420 _n_obra = node
2421 if node != null then node.parent = self
2422 end
2423 redef fun n_cbra=(node)
2424 do
2425 _n_cbra = node
2426 if node != null then node.parent = self
2427 end
2428 redef fun n_annotations=(node)
2429 do
2430 _n_annotations = node
2431 if node != null then node.parent = self
2432 end
2433
2434
2435 redef fun visit_all(v: Visitor)
2436 do
2437 v.enter_visit(_n_kwnullable)
2438 v.enter_visit(_n_id)
2439 v.enter_visit(_n_obra)
2440 n_types.visit_all(v)
2441 v.enter_visit(_n_cbra)
2442 v.enter_visit(_n_annotations)
2443 end
2444 end
2445 redef class ALabel
2446 init init_alabel (
2447 n_kwlabel: nullable TKwlabel,
2448 n_id: nullable TId
2449 )
2450 do
2451 _n_kwlabel = n_kwlabel.as(not null)
2452 n_kwlabel.parent = self
2453 _n_id = n_id
2454 if n_id != null then n_id.parent = self
2455 end
2456
2457 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2458 do
2459 if _n_kwlabel == old_child then
2460 n_kwlabel = new_child.as(TKwlabel)
2461 return
2462 end
2463 if _n_id == old_child then
2464 n_id = new_child.as(nullable TId)
2465 return
2466 end
2467 end
2468
2469 redef fun n_kwlabel=(node)
2470 do
2471 _n_kwlabel = node
2472 node.parent = self
2473 end
2474 redef fun n_id=(node)
2475 do
2476 _n_id = node
2477 if node != null then node.parent = self
2478 end
2479
2480
2481 redef fun visit_all(v: Visitor)
2482 do
2483 v.enter_visit(_n_kwlabel)
2484 v.enter_visit(_n_id)
2485 end
2486 end
2487 redef class ABlockExpr
2488 init init_ablockexpr (
2489 n_expr: Collection[Object], # Should be Collection[AExpr]
2490 n_kwend: nullable TKwend
2491 )
2492 do
2493 self.n_expr.unsafe_add_all(n_expr)
2494 _n_kwend = n_kwend
2495 if n_kwend != null then n_kwend.parent = self
2496 end
2497
2498 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2499 do
2500 if n_expr.replace_child(old_child, new_child) then return
2501 if _n_kwend == old_child then
2502 n_kwend = new_child.as(nullable TKwend)
2503 return
2504 end
2505 end
2506
2507 redef fun n_kwend=(node)
2508 do
2509 _n_kwend = node
2510 if node != null then node.parent = self
2511 end
2512
2513
2514 redef fun visit_all(v: Visitor)
2515 do
2516 n_expr.visit_all(v)
2517 v.enter_visit(_n_kwend)
2518 end
2519 end
2520 redef class AVardeclExpr
2521 init init_avardeclexpr (
2522 n_kwvar: nullable TKwvar,
2523 n_id: nullable TId,
2524 n_type: nullable AType,
2525 n_assign: nullable TAssign,
2526 n_expr: nullable AExpr,
2527 n_annotations: nullable AAnnotations
2528 )
2529 do
2530 _n_kwvar = n_kwvar
2531 if n_kwvar != null then n_kwvar.parent = self
2532 _n_id = n_id.as(not null)
2533 n_id.parent = self
2534 _n_type = n_type
2535 if n_type != null then n_type.parent = self
2536 _n_assign = n_assign
2537 if n_assign != null then n_assign.parent = self
2538 _n_expr = n_expr
2539 if n_expr != null then n_expr.parent = self
2540 _n_annotations = n_annotations
2541 if n_annotations != null then n_annotations.parent = self
2542 end
2543
2544 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2545 do
2546 if _n_kwvar == old_child then
2547 n_kwvar = new_child.as(nullable TKwvar)
2548 return
2549 end
2550 if _n_id == old_child then
2551 n_id = new_child.as(TId)
2552 return
2553 end
2554 if _n_type == old_child then
2555 n_type = new_child.as(nullable AType)
2556 return
2557 end
2558 if _n_assign == old_child then
2559 n_assign = new_child.as(nullable TAssign)
2560 return
2561 end
2562 if _n_expr == old_child then
2563 n_expr = new_child.as(nullable AExpr)
2564 return
2565 end
2566 if _n_annotations == old_child then
2567 n_annotations = new_child.as(nullable AAnnotations)
2568 return
2569 end
2570 end
2571
2572 redef fun n_kwvar=(node)
2573 do
2574 _n_kwvar = node
2575 if node != null then node.parent = self
2576 end
2577 redef fun n_id=(node)
2578 do
2579 _n_id = node
2580 node.parent = self
2581 end
2582 redef fun n_type=(node)
2583 do
2584 _n_type = node
2585 if node != null then node.parent = self
2586 end
2587 redef fun n_assign=(node)
2588 do
2589 _n_assign = node
2590 if node != null then node.parent = self
2591 end
2592 redef fun n_expr=(node)
2593 do
2594 _n_expr = node
2595 if node != null then node.parent = self
2596 end
2597 redef fun n_annotations=(node)
2598 do
2599 _n_annotations = node
2600 if node != null then node.parent = self
2601 end
2602
2603
2604 redef fun visit_all(v: Visitor)
2605 do
2606 v.enter_visit(_n_kwvar)
2607 v.enter_visit(_n_id)
2608 v.enter_visit(_n_type)
2609 v.enter_visit(_n_assign)
2610 v.enter_visit(_n_expr)
2611 v.enter_visit(_n_annotations)
2612 end
2613 end
2614 redef class AReturnExpr
2615 init init_areturnexpr (
2616 n_kwreturn: nullable TKwreturn,
2617 n_expr: nullable AExpr
2618 )
2619 do
2620 _n_kwreturn = n_kwreturn
2621 if n_kwreturn != null then n_kwreturn.parent = self
2622 _n_expr = n_expr
2623 if n_expr != null then n_expr.parent = self
2624 end
2625
2626 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2627 do
2628 if _n_kwreturn == old_child then
2629 n_kwreturn = new_child.as(nullable TKwreturn)
2630 return
2631 end
2632 if _n_expr == old_child then
2633 n_expr = new_child.as(nullable AExpr)
2634 return
2635 end
2636 end
2637
2638 redef fun n_kwreturn=(node)
2639 do
2640 _n_kwreturn = node
2641 if node != null then node.parent = self
2642 end
2643 redef fun n_expr=(node)
2644 do
2645 _n_expr = node
2646 if node != null then node.parent = self
2647 end
2648
2649
2650 redef fun visit_all(v: Visitor)
2651 do
2652 v.enter_visit(_n_kwreturn)
2653 v.enter_visit(_n_expr)
2654 end
2655 end
2656 redef class ABreakExpr
2657 init init_abreakexpr (
2658 n_kwbreak: nullable TKwbreak,
2659 n_label: nullable ALabel
2660 )
2661 do
2662 _n_kwbreak = n_kwbreak.as(not null)
2663 n_kwbreak.parent = self
2664 _n_label = n_label
2665 if n_label != null then n_label.parent = self
2666 end
2667
2668 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2669 do
2670 if _n_kwbreak == old_child then
2671 n_kwbreak = new_child.as(TKwbreak)
2672 return
2673 end
2674 if _n_label == old_child then
2675 n_label = new_child.as(nullable ALabel)
2676 return
2677 end
2678 end
2679
2680 redef fun n_kwbreak=(node)
2681 do
2682 _n_kwbreak = node
2683 node.parent = self
2684 end
2685 redef fun n_label=(node)
2686 do
2687 _n_label = node
2688 if node != null then node.parent = self
2689 end
2690
2691
2692 redef fun visit_all(v: Visitor)
2693 do
2694 v.enter_visit(_n_kwbreak)
2695 v.enter_visit(_n_label)
2696 end
2697 end
2698 redef class AAbortExpr
2699 init init_aabortexpr (
2700 n_kwabort: nullable TKwabort
2701 )
2702 do
2703 _n_kwabort = n_kwabort.as(not null)
2704 n_kwabort.parent = self
2705 end
2706
2707 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2708 do
2709 if _n_kwabort == old_child then
2710 n_kwabort = new_child.as(TKwabort)
2711 return
2712 end
2713 end
2714
2715 redef fun n_kwabort=(node)
2716 do
2717 _n_kwabort = node
2718 node.parent = self
2719 end
2720
2721
2722 redef fun visit_all(v: Visitor)
2723 do
2724 v.enter_visit(_n_kwabort)
2725 end
2726 end
2727 redef class AContinueExpr
2728 init init_acontinueexpr (
2729 n_kwcontinue: nullable TKwcontinue,
2730 n_label: nullable ALabel
2731 )
2732 do
2733 _n_kwcontinue = n_kwcontinue
2734 if n_kwcontinue != null then n_kwcontinue.parent = self
2735 _n_label = n_label
2736 if n_label != null then n_label.parent = self
2737 end
2738
2739 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2740 do
2741 if _n_kwcontinue == old_child then
2742 n_kwcontinue = new_child.as(nullable TKwcontinue)
2743 return
2744 end
2745 if _n_label == old_child then
2746 n_label = new_child.as(nullable ALabel)
2747 return
2748 end
2749 end
2750
2751 redef fun n_kwcontinue=(node)
2752 do
2753 _n_kwcontinue = node
2754 if node != null then node.parent = self
2755 end
2756 redef fun n_label=(node)
2757 do
2758 _n_label = node
2759 if node != null then node.parent = self
2760 end
2761
2762
2763 redef fun visit_all(v: Visitor)
2764 do
2765 v.enter_visit(_n_kwcontinue)
2766 v.enter_visit(_n_label)
2767 end
2768 end
2769 redef class ADoExpr
2770 init init_adoexpr (
2771 n_kwdo: nullable TKwdo,
2772 n_block: nullable AExpr,
2773 n_label: nullable ALabel
2774 )
2775 do
2776 _n_kwdo = n_kwdo.as(not null)
2777 n_kwdo.parent = self
2778 _n_block = n_block
2779 if n_block != null then n_block.parent = self
2780 _n_label = n_label
2781 if n_label != null then n_label.parent = self
2782 end
2783
2784 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2785 do
2786 if _n_kwdo == old_child then
2787 n_kwdo = new_child.as(TKwdo)
2788 return
2789 end
2790 if _n_block == old_child then
2791 n_block = new_child.as(nullable AExpr)
2792 return
2793 end
2794 if _n_label == old_child then
2795 n_label = new_child.as(nullable ALabel)
2796 return
2797 end
2798 end
2799
2800 redef fun n_kwdo=(node)
2801 do
2802 _n_kwdo = node
2803 node.parent = self
2804 end
2805 redef fun n_block=(node)
2806 do
2807 _n_block = node
2808 if node != null then node.parent = self
2809 end
2810 redef fun n_label=(node)
2811 do
2812 _n_label = node
2813 if node != null then node.parent = self
2814 end
2815
2816
2817 redef fun visit_all(v: Visitor)
2818 do
2819 v.enter_visit(_n_kwdo)
2820 v.enter_visit(_n_block)
2821 v.enter_visit(_n_label)
2822 end
2823 end
2824 redef class AIfExpr
2825 init init_aifexpr (
2826 n_kwif: nullable TKwif,
2827 n_expr: nullable AExpr,
2828 n_kwthen: nullable TKwthen,
2829 n_then: nullable AExpr,
2830 n_kwelse: nullable TKwelse,
2831 n_else: nullable AExpr
2832 )
2833 do
2834 _n_kwif = n_kwif.as(not null)
2835 n_kwif.parent = self
2836 _n_expr = n_expr.as(not null)
2837 n_expr.parent = self
2838 _n_kwthen = n_kwthen.as(not null)
2839 n_kwthen.parent = self
2840 _n_then = n_then
2841 if n_then != null then n_then.parent = self
2842 _n_kwelse = n_kwelse
2843 if n_kwelse != null then n_kwelse.parent = self
2844 _n_else = n_else
2845 if n_else != null then n_else.parent = self
2846 end
2847
2848 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2849 do
2850 if _n_kwif == old_child then
2851 n_kwif = new_child.as(TKwif)
2852 return
2853 end
2854 if _n_expr == old_child then
2855 n_expr = new_child.as(AExpr)
2856 return
2857 end
2858 if _n_kwthen == old_child then
2859 n_kwthen = new_child.as(TKwthen)
2860 return
2861 end
2862 if _n_then == old_child then
2863 n_then = new_child.as(nullable AExpr)
2864 return
2865 end
2866 if _n_kwelse == old_child then
2867 n_kwelse = new_child.as(nullable TKwelse)
2868 return
2869 end
2870 if _n_else == old_child then
2871 n_else = new_child.as(nullable AExpr)
2872 return
2873 end
2874 end
2875
2876 redef fun n_kwif=(node)
2877 do
2878 _n_kwif = node
2879 node.parent = self
2880 end
2881 redef fun n_expr=(node)
2882 do
2883 _n_expr = node
2884 node.parent = self
2885 end
2886 redef fun n_kwthen=(node)
2887 do
2888 _n_kwthen = node
2889 node.parent = self
2890 end
2891 redef fun n_then=(node)
2892 do
2893 _n_then = node
2894 if node != null then node.parent = self
2895 end
2896 redef fun n_kwelse=(node)
2897 do
2898 _n_kwelse = node
2899 if node != null then node.parent = self
2900 end
2901 redef fun n_else=(node)
2902 do
2903 _n_else = node
2904 if node != null then node.parent = self
2905 end
2906
2907
2908 redef fun visit_all(v: Visitor)
2909 do
2910 v.enter_visit(_n_kwif)
2911 v.enter_visit(_n_expr)
2912 v.enter_visit(_n_kwthen)
2913 v.enter_visit(_n_then)
2914 v.enter_visit(_n_kwelse)
2915 v.enter_visit(_n_else)
2916 end
2917 end
2918 redef class AIfexprExpr
2919 init init_aifexprexpr (
2920 n_kwif: nullable TKwif,
2921 n_expr: nullable AExpr,
2922 n_kwthen: nullable TKwthen,
2923 n_then: nullable AExpr,
2924 n_kwelse: nullable TKwelse,
2925 n_else: nullable AExpr
2926 )
2927 do
2928 _n_kwif = n_kwif.as(not null)
2929 n_kwif.parent = self
2930 _n_expr = n_expr.as(not null)
2931 n_expr.parent = self
2932 _n_kwthen = n_kwthen.as(not null)
2933 n_kwthen.parent = self
2934 _n_then = n_then.as(not null)
2935 n_then.parent = self
2936 _n_kwelse = n_kwelse.as(not null)
2937 n_kwelse.parent = self
2938 _n_else = n_else.as(not null)
2939 n_else.parent = self
2940 end
2941
2942 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2943 do
2944 if _n_kwif == old_child then
2945 n_kwif = new_child.as(TKwif)
2946 return
2947 end
2948 if _n_expr == old_child then
2949 n_expr = new_child.as(AExpr)
2950 return
2951 end
2952 if _n_kwthen == old_child then
2953 n_kwthen = new_child.as(TKwthen)
2954 return
2955 end
2956 if _n_then == old_child then
2957 n_then = new_child.as(AExpr)
2958 return
2959 end
2960 if _n_kwelse == old_child then
2961 n_kwelse = new_child.as(TKwelse)
2962 return
2963 end
2964 if _n_else == old_child then
2965 n_else = new_child.as(AExpr)
2966 return
2967 end
2968 end
2969
2970 redef fun n_kwif=(node)
2971 do
2972 _n_kwif = node
2973 node.parent = self
2974 end
2975 redef fun n_expr=(node)
2976 do
2977 _n_expr = node
2978 node.parent = self
2979 end
2980 redef fun n_kwthen=(node)
2981 do
2982 _n_kwthen = node
2983 node.parent = self
2984 end
2985 redef fun n_then=(node)
2986 do
2987 _n_then = node
2988 node.parent = self
2989 end
2990 redef fun n_kwelse=(node)
2991 do
2992 _n_kwelse = node
2993 node.parent = self
2994 end
2995 redef fun n_else=(node)
2996 do
2997 _n_else = node
2998 node.parent = self
2999 end
3000
3001
3002 redef fun visit_all(v: Visitor)
3003 do
3004 v.enter_visit(_n_kwif)
3005 v.enter_visit(_n_expr)
3006 v.enter_visit(_n_kwthen)
3007 v.enter_visit(_n_then)
3008 v.enter_visit(_n_kwelse)
3009 v.enter_visit(_n_else)
3010 end
3011 end
3012 redef class AWhileExpr
3013 init init_awhileexpr (
3014 n_kwwhile: nullable TKwwhile,
3015 n_expr: nullable AExpr,
3016 n_kwdo: nullable TKwdo,
3017 n_block: nullable AExpr,
3018 n_label: nullable ALabel
3019 )
3020 do
3021 _n_kwwhile = n_kwwhile.as(not null)
3022 n_kwwhile.parent = self
3023 _n_expr = n_expr.as(not null)
3024 n_expr.parent = self
3025 _n_kwdo = n_kwdo.as(not null)
3026 n_kwdo.parent = self
3027 _n_block = n_block
3028 if n_block != null then n_block.parent = self
3029 _n_label = n_label
3030 if n_label != null then n_label.parent = self
3031 end
3032
3033 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3034 do
3035 if _n_kwwhile == old_child then
3036 n_kwwhile = new_child.as(TKwwhile)
3037 return
3038 end
3039 if _n_expr == old_child then
3040 n_expr = new_child.as(AExpr)
3041 return
3042 end
3043 if _n_kwdo == old_child then
3044 n_kwdo = new_child.as(TKwdo)
3045 return
3046 end
3047 if _n_block == old_child then
3048 n_block = new_child.as(nullable AExpr)
3049 return
3050 end
3051 if _n_label == old_child then
3052 n_label = new_child.as(nullable ALabel)
3053 return
3054 end
3055 end
3056
3057 redef fun n_kwwhile=(node)
3058 do
3059 _n_kwwhile = node
3060 node.parent = self
3061 end
3062 redef fun n_expr=(node)
3063 do
3064 _n_expr = node
3065 node.parent = self
3066 end
3067 redef fun n_kwdo=(node)
3068 do
3069 _n_kwdo = node
3070 node.parent = self
3071 end
3072 redef fun n_block=(node)
3073 do
3074 _n_block = node
3075 if node != null then node.parent = self
3076 end
3077 redef fun n_label=(node)
3078 do
3079 _n_label = node
3080 if node != null then node.parent = self
3081 end
3082
3083
3084 redef fun visit_all(v: Visitor)
3085 do
3086 v.enter_visit(_n_kwwhile)
3087 v.enter_visit(_n_expr)
3088 v.enter_visit(_n_kwdo)
3089 v.enter_visit(_n_block)
3090 v.enter_visit(_n_label)
3091 end
3092 end
3093 redef class ALoopExpr
3094 init init_aloopexpr (
3095 n_kwloop: nullable TKwloop,
3096 n_block: nullable AExpr,
3097 n_label: nullable ALabel
3098 )
3099 do
3100 _n_kwloop = n_kwloop.as(not null)
3101 n_kwloop.parent = self
3102 _n_block = n_block
3103 if n_block != null then n_block.parent = self
3104 _n_label = n_label
3105 if n_label != null then n_label.parent = self
3106 end
3107
3108 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3109 do
3110 if _n_kwloop == old_child then
3111 n_kwloop = new_child.as(TKwloop)
3112 return
3113 end
3114 if _n_block == old_child then
3115 n_block = new_child.as(nullable AExpr)
3116 return
3117 end
3118 if _n_label == old_child then
3119 n_label = new_child.as(nullable ALabel)
3120 return
3121 end
3122 end
3123
3124 redef fun n_kwloop=(node)
3125 do
3126 _n_kwloop = node
3127 node.parent = self
3128 end
3129 redef fun n_block=(node)
3130 do
3131 _n_block = node
3132 if node != null then node.parent = self
3133 end
3134 redef fun n_label=(node)
3135 do
3136 _n_label = node
3137 if node != null then node.parent = self
3138 end
3139
3140
3141 redef fun visit_all(v: Visitor)
3142 do
3143 v.enter_visit(_n_kwloop)
3144 v.enter_visit(_n_block)
3145 v.enter_visit(_n_label)
3146 end
3147 end
3148 redef class AForExpr
3149 init init_aforexpr (
3150 n_kwfor: nullable TKwfor,
3151 n_ids: Collection[Object], # Should be Collection[TId]
3152 n_kwin: nullable TKwin,
3153 n_expr: nullable AExpr,
3154 n_kwdo: nullable TKwdo,
3155 n_block: nullable AExpr,
3156 n_label: nullable ALabel
3157 )
3158 do
3159 _n_kwfor = n_kwfor.as(not null)
3160 n_kwfor.parent = self
3161 self.n_ids.unsafe_add_all(n_ids)
3162 _n_kwin = n_kwin.as(not null)
3163 n_kwin.parent = self
3164 _n_expr = n_expr.as(not null)
3165 n_expr.parent = self
3166 _n_kwdo = n_kwdo.as(not null)
3167 n_kwdo.parent = self
3168 _n_block = n_block
3169 if n_block != null then n_block.parent = self
3170 _n_label = n_label
3171 if n_label != null then n_label.parent = self
3172 end
3173
3174 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3175 do
3176 if _n_kwfor == old_child then
3177 n_kwfor = new_child.as(TKwfor)
3178 return
3179 end
3180 if n_ids.replace_child(old_child, new_child) then return
3181 if _n_kwin == old_child then
3182 n_kwin = new_child.as(TKwin)
3183 return
3184 end
3185 if _n_expr == old_child then
3186 n_expr = new_child.as(AExpr)
3187 return
3188 end
3189 if _n_kwdo == old_child then
3190 n_kwdo = new_child.as(TKwdo)
3191 return
3192 end
3193 if _n_block == old_child then
3194 n_block = new_child.as(nullable AExpr)
3195 return
3196 end
3197 if _n_label == old_child then
3198 n_label = new_child.as(nullable ALabel)
3199 return
3200 end
3201 end
3202
3203 redef fun n_kwfor=(node)
3204 do
3205 _n_kwfor = node
3206 node.parent = self
3207 end
3208 redef fun n_kwin=(node)
3209 do
3210 _n_kwin = node
3211 node.parent = self
3212 end
3213 redef fun n_expr=(node)
3214 do
3215 _n_expr = node
3216 node.parent = self
3217 end
3218 redef fun n_kwdo=(node)
3219 do
3220 _n_kwdo = node
3221 node.parent = self
3222 end
3223 redef fun n_block=(node)
3224 do
3225 _n_block = node
3226 if node != null then node.parent = self
3227 end
3228 redef fun n_label=(node)
3229 do
3230 _n_label = node
3231 if node != null then node.parent = self
3232 end
3233
3234
3235 redef fun visit_all(v: Visitor)
3236 do
3237 v.enter_visit(_n_kwfor)
3238 n_ids.visit_all(v)
3239 v.enter_visit(_n_kwin)
3240 v.enter_visit(_n_expr)
3241 v.enter_visit(_n_kwdo)
3242 v.enter_visit(_n_block)
3243 v.enter_visit(_n_label)
3244 end
3245 end
3246 redef class AWithExpr
3247 init init_awithexpr (
3248 n_kwwith: nullable TKwwith,
3249 n_expr: nullable AExpr,
3250 n_kwdo: nullable TKwdo,
3251 n_block: nullable AExpr,
3252 n_label: nullable ALabel
3253 )
3254 do
3255 _n_kwwith = n_kwwith.as(not null)
3256 n_kwwith.parent = self
3257 _n_expr = n_expr.as(not null)
3258 n_expr.parent = self
3259 _n_kwdo = n_kwdo.as(not null)
3260 n_kwdo.parent = self
3261 _n_block = n_block
3262 if n_block != null then n_block.parent = self
3263 _n_label = n_label
3264 if n_label != null then n_label.parent = self
3265 end
3266
3267 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3268 do
3269 if _n_kwwith == old_child then
3270 n_kwwith = new_child.as(TKwwith)
3271 return
3272 end
3273 if _n_expr == old_child then
3274 n_expr = new_child.as(AExpr)
3275 return
3276 end
3277 if _n_kwdo == old_child then
3278 n_kwdo = new_child.as(TKwdo)
3279 return
3280 end
3281 if _n_block == old_child then
3282 n_block = new_child.as(nullable AExpr)
3283 return
3284 end
3285 if _n_label == old_child then
3286 n_label = new_child.as(nullable ALabel)
3287 return
3288 end
3289 end
3290
3291 redef fun n_kwwith=(node)
3292 do
3293 _n_kwwith = node
3294 node.parent = self
3295 end
3296 redef fun n_expr=(node)
3297 do
3298 _n_expr = node
3299 node.parent = self
3300 end
3301 redef fun n_kwdo=(node)
3302 do
3303 _n_kwdo = node
3304 node.parent = self
3305 end
3306 redef fun n_block=(node)
3307 do
3308 _n_block = node
3309 if node != null then node.parent = self
3310 end
3311 redef fun n_label=(node)
3312 do
3313 _n_label = node
3314 if node != null then node.parent = self
3315 end
3316
3317
3318 redef fun visit_all(v: Visitor)
3319 do
3320 v.enter_visit(_n_kwwith)
3321 v.enter_visit(_n_expr)
3322 v.enter_visit(_n_kwdo)
3323 v.enter_visit(_n_block)
3324 v.enter_visit(_n_label)
3325 end
3326 end
3327 redef class AAssertExpr
3328 init init_aassertexpr (
3329 n_kwassert: nullable TKwassert,
3330 n_id: nullable TId,
3331 n_expr: nullable AExpr,
3332 n_kwelse: nullable TKwelse,
3333 n_else: nullable AExpr
3334 )
3335 do
3336 _n_kwassert = n_kwassert.as(not null)
3337 n_kwassert.parent = self
3338 _n_id = n_id
3339 if n_id != null then n_id.parent = self
3340 _n_expr = n_expr.as(not null)
3341 n_expr.parent = self
3342 _n_kwelse = n_kwelse
3343 if n_kwelse != null then n_kwelse.parent = self
3344 _n_else = n_else
3345 if n_else != null then n_else.parent = self
3346 end
3347
3348 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3349 do
3350 if _n_kwassert == old_child then
3351 n_kwassert = new_child.as(TKwassert)
3352 return
3353 end
3354 if _n_id == old_child then
3355 n_id = new_child.as(nullable TId)
3356 return
3357 end
3358 if _n_expr == old_child then
3359 n_expr = new_child.as(AExpr)
3360 return
3361 end
3362 if _n_kwelse == old_child then
3363 n_kwelse = new_child.as(nullable TKwelse)
3364 return
3365 end
3366 if _n_else == old_child then
3367 n_else = new_child.as(nullable AExpr)
3368 return
3369 end
3370 end
3371
3372 redef fun n_kwassert=(node)
3373 do
3374 _n_kwassert = node
3375 node.parent = self
3376 end
3377 redef fun n_id=(node)
3378 do
3379 _n_id = node
3380 if node != null then node.parent = self
3381 end
3382 redef fun n_expr=(node)
3383 do
3384 _n_expr = node
3385 node.parent = self
3386 end
3387 redef fun n_kwelse=(node)
3388 do
3389 _n_kwelse = node
3390 if node != null then node.parent = self
3391 end
3392 redef fun n_else=(node)
3393 do
3394 _n_else = node
3395 if node != null then node.parent = self
3396 end
3397
3398
3399 redef fun visit_all(v: Visitor)
3400 do
3401 v.enter_visit(_n_kwassert)
3402 v.enter_visit(_n_id)
3403 v.enter_visit(_n_expr)
3404 v.enter_visit(_n_kwelse)
3405 v.enter_visit(_n_else)
3406 end
3407 end
3408 redef class AOnceExpr
3409 init init_aonceexpr (
3410 n_kwonce: nullable TKwonce,
3411 n_expr: nullable AExpr
3412 )
3413 do
3414 _n_kwonce = n_kwonce.as(not null)
3415 n_kwonce.parent = self
3416 _n_expr = n_expr.as(not null)
3417 n_expr.parent = self
3418 end
3419
3420 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3421 do
3422 if _n_kwonce == old_child then
3423 n_kwonce = new_child.as(TKwonce)
3424 return
3425 end
3426 if _n_expr == old_child then
3427 n_expr = new_child.as(AExpr)
3428 return
3429 end
3430 end
3431
3432 redef fun n_kwonce=(node)
3433 do
3434 _n_kwonce = node
3435 node.parent = self
3436 end
3437 redef fun n_expr=(node)
3438 do
3439 _n_expr = node
3440 node.parent = self
3441 end
3442
3443
3444 redef fun visit_all(v: Visitor)
3445 do
3446 v.enter_visit(_n_kwonce)
3447 v.enter_visit(_n_expr)
3448 end
3449 end
3450 redef class ASendExpr
3451 init init_asendexpr (
3452 n_expr: nullable AExpr
3453 )
3454 do
3455 _n_expr = n_expr.as(not null)
3456 n_expr.parent = self
3457 end
3458
3459 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3460 do
3461 if _n_expr == old_child then
3462 n_expr = new_child.as(AExpr)
3463 return
3464 end
3465 end
3466
3467 redef fun n_expr=(node)
3468 do
3469 _n_expr = node
3470 node.parent = self
3471 end
3472
3473
3474 redef fun visit_all(v: Visitor)
3475 do
3476 v.enter_visit(_n_expr)
3477 end
3478 end
3479 redef class ABinopExpr
3480 init init_abinopexpr (
3481 n_expr: nullable AExpr,
3482 n_expr2: nullable AExpr
3483 )
3484 do
3485 _n_expr = n_expr.as(not null)
3486 n_expr.parent = self
3487 _n_expr2 = n_expr2.as(not null)
3488 n_expr2.parent = self
3489 end
3490
3491 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3492 do
3493 if _n_expr == old_child then
3494 n_expr = new_child.as(AExpr)
3495 return
3496 end
3497 if _n_expr2 == old_child then
3498 n_expr2 = new_child.as(AExpr)
3499 return
3500 end
3501 end
3502
3503 redef fun n_expr=(node)
3504 do
3505 _n_expr = node
3506 node.parent = self
3507 end
3508 redef fun n_expr2=(node)
3509 do
3510 _n_expr2 = node
3511 node.parent = self
3512 end
3513
3514
3515 redef fun visit_all(v: Visitor)
3516 do
3517 v.enter_visit(_n_expr)
3518 v.enter_visit(_n_expr2)
3519 end
3520 end
3521 redef class AOrExpr
3522 init init_aorexpr (
3523 n_expr: nullable AExpr,
3524 n_op: nullable TKwor,
3525 n_expr2: nullable AExpr
3526 )
3527 do
3528 _n_expr = n_expr.as(not null)
3529 n_expr.parent = self
3530 _n_op = n_op.as(not null)
3531 n_op.parent = self
3532 _n_expr2 = n_expr2.as(not null)
3533 n_expr2.parent = self
3534 end
3535
3536 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3537 do
3538 if _n_expr == old_child then
3539 n_expr = new_child.as(AExpr)
3540 return
3541 end
3542 if _n_op == old_child then
3543 n_op = new_child.as(TKwor)
3544 return
3545 end
3546 if _n_expr2 == old_child then
3547 n_expr2 = new_child.as(AExpr)
3548 return
3549 end
3550 end
3551
3552 redef fun n_expr=(node)
3553 do
3554 _n_expr = node
3555 node.parent = self
3556 end
3557 redef fun n_op=(node)
3558 do
3559 _n_op = node
3560 node.parent = self
3561 end
3562 redef fun n_expr2=(node)
3563 do
3564 _n_expr2 = node
3565 node.parent = self
3566 end
3567
3568
3569 redef fun visit_all(v: Visitor)
3570 do
3571 v.enter_visit(_n_expr)
3572 v.enter_visit(_n_op)
3573 v.enter_visit(_n_expr2)
3574 end
3575 end
3576 redef class AAndExpr
3577 init init_aandexpr (
3578 n_expr: nullable AExpr,
3579 n_op: nullable TKwand,
3580 n_expr2: nullable AExpr
3581 )
3582 do
3583 _n_expr = n_expr.as(not null)
3584 n_expr.parent = self
3585 _n_op = n_op.as(not null)
3586 n_op.parent = self
3587 _n_expr2 = n_expr2.as(not null)
3588 n_expr2.parent = self
3589 end
3590
3591 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3592 do
3593 if _n_expr == old_child then
3594 n_expr = new_child.as(AExpr)
3595 return
3596 end
3597 if _n_op == old_child then
3598 n_op = new_child.as(TKwand)
3599 return
3600 end
3601 if _n_expr2 == old_child then
3602 n_expr2 = new_child.as(AExpr)
3603 return
3604 end
3605 end
3606
3607 redef fun n_expr=(node)
3608 do
3609 _n_expr = node
3610 node.parent = self
3611 end
3612 redef fun n_op=(node)
3613 do
3614 _n_op = node
3615 node.parent = self
3616 end
3617 redef fun n_expr2=(node)
3618 do
3619 _n_expr2 = node
3620 node.parent = self
3621 end
3622
3623
3624 redef fun visit_all(v: Visitor)
3625 do
3626 v.enter_visit(_n_expr)
3627 v.enter_visit(_n_op)
3628 v.enter_visit(_n_expr2)
3629 end
3630 end
3631 redef class AOrElseExpr
3632 init init_aorelseexpr (
3633 n_expr: nullable AExpr,
3634 n_op: nullable TKwor,
3635 n_kwelse: nullable TKwelse,
3636 n_expr2: nullable AExpr
3637 )
3638 do
3639 _n_expr = n_expr.as(not null)
3640 n_expr.parent = self
3641 _n_op = n_op.as(not null)
3642 n_op.parent = self
3643 _n_kwelse = n_kwelse.as(not null)
3644 n_kwelse.parent = self
3645 _n_expr2 = n_expr2.as(not null)
3646 n_expr2.parent = self
3647 end
3648
3649 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3650 do
3651 if _n_expr == old_child then
3652 n_expr = new_child.as(AExpr)
3653 return
3654 end
3655 if _n_op == old_child then
3656 n_op = new_child.as(TKwor)
3657 return
3658 end
3659 if _n_kwelse == old_child then
3660 n_kwelse = new_child.as(TKwelse)
3661 return
3662 end
3663 if _n_expr2 == old_child then
3664 n_expr2 = new_child.as(AExpr)
3665 return
3666 end
3667 end
3668
3669 redef fun n_expr=(node)
3670 do
3671 _n_expr = node
3672 node.parent = self
3673 end
3674 redef fun n_op=(node)
3675 do
3676 _n_op = node
3677 node.parent = self
3678 end
3679 redef fun n_kwelse=(node)
3680 do
3681 _n_kwelse = node
3682 node.parent = self
3683 end
3684 redef fun n_expr2=(node)
3685 do
3686 _n_expr2 = node
3687 node.parent = self
3688 end
3689
3690
3691 redef fun visit_all(v: Visitor)
3692 do
3693 v.enter_visit(_n_expr)
3694 v.enter_visit(_n_op)
3695 v.enter_visit(_n_kwelse)
3696 v.enter_visit(_n_expr2)
3697 end
3698 end
3699 redef class AImpliesExpr
3700 init init_aimpliesexpr (
3701 n_expr: nullable AExpr,
3702 n_op: nullable TKwimplies,
3703 n_expr2: nullable AExpr
3704 )
3705 do
3706 _n_expr = n_expr.as(not null)
3707 n_expr.parent = self
3708 _n_op = n_op.as(not null)
3709 n_op.parent = self
3710 _n_expr2 = n_expr2.as(not null)
3711 n_expr2.parent = self
3712 end
3713
3714 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3715 do
3716 if _n_expr == old_child then
3717 n_expr = new_child.as(AExpr)
3718 return
3719 end
3720 if _n_op == old_child then
3721 n_op = new_child.as(TKwimplies)
3722 return
3723 end
3724 if _n_expr2 == old_child then
3725 n_expr2 = new_child.as(AExpr)
3726 return
3727 end
3728 end
3729
3730 redef fun n_expr=(node)
3731 do
3732 _n_expr = node
3733 node.parent = self
3734 end
3735 redef fun n_op=(node)
3736 do
3737 _n_op = node
3738 node.parent = self
3739 end
3740 redef fun n_expr2=(node)
3741 do
3742 _n_expr2 = node
3743 node.parent = self
3744 end
3745
3746
3747 redef fun visit_all(v: Visitor)
3748 do
3749 v.enter_visit(_n_expr)
3750 v.enter_visit(_n_op)
3751 v.enter_visit(_n_expr2)
3752 end
3753 end
3754 redef class ANotExpr
3755 init init_anotexpr (
3756 n_kwnot: nullable TKwnot,
3757 n_expr: nullable AExpr
3758 )
3759 do
3760 _n_kwnot = n_kwnot.as(not null)
3761 n_kwnot.parent = self
3762 _n_expr = n_expr.as(not null)
3763 n_expr.parent = self
3764 end
3765
3766 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3767 do
3768 if _n_kwnot == old_child then
3769 n_kwnot = new_child.as(TKwnot)
3770 return
3771 end
3772 if _n_expr == old_child then
3773 n_expr = new_child.as(AExpr)
3774 return
3775 end
3776 end
3777
3778 redef fun n_kwnot=(node)
3779 do
3780 _n_kwnot = node
3781 node.parent = self
3782 end
3783 redef fun n_expr=(node)
3784 do
3785 _n_expr = node
3786 node.parent = self
3787 end
3788
3789
3790 redef fun visit_all(v: Visitor)
3791 do
3792 v.enter_visit(_n_kwnot)
3793 v.enter_visit(_n_expr)
3794 end
3795 end
3796 redef class AEqExpr
3797 init init_aeqexpr (
3798 n_expr: nullable AExpr,
3799 n_op: nullable TEq,
3800 n_expr2: nullable AExpr
3801 )
3802 do
3803 _n_expr = n_expr.as(not null)
3804 n_expr.parent = self
3805 _n_op = n_op.as(not null)
3806 n_op.parent = self
3807 _n_expr2 = n_expr2.as(not null)
3808 n_expr2.parent = self
3809 end
3810
3811 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3812 do
3813 if _n_expr == old_child then
3814 n_expr = new_child.as(AExpr)
3815 return
3816 end
3817 if _n_op == old_child then
3818 n_op = new_child.as(TEq)
3819 return
3820 end
3821 if _n_expr2 == old_child then
3822 n_expr2 = new_child.as(AExpr)
3823 return
3824 end
3825 end
3826
3827 redef fun n_expr=(node)
3828 do
3829 _n_expr = node
3830 node.parent = self
3831 end
3832 redef fun n_op=(node)
3833 do
3834 _n_op = node
3835 node.parent = self
3836 end
3837 redef fun n_expr2=(node)
3838 do
3839 _n_expr2 = node
3840 node.parent = self
3841 end
3842
3843
3844 redef fun visit_all(v: Visitor)
3845 do
3846 v.enter_visit(_n_expr)
3847 v.enter_visit(_n_op)
3848 v.enter_visit(_n_expr2)
3849 end
3850 end
3851 redef class ANeExpr
3852 init init_aneexpr (
3853 n_expr: nullable AExpr,
3854 n_op: nullable TNe,
3855 n_expr2: nullable AExpr
3856 )
3857 do
3858 _n_expr = n_expr.as(not null)
3859 n_expr.parent = self
3860 _n_op = n_op.as(not null)
3861 n_op.parent = self
3862 _n_expr2 = n_expr2.as(not null)
3863 n_expr2.parent = self
3864 end
3865
3866 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3867 do
3868 if _n_expr == old_child then
3869 n_expr = new_child.as(AExpr)
3870 return
3871 end
3872 if _n_op == old_child then
3873 n_op = new_child.as(TNe)
3874 return
3875 end
3876 if _n_expr2 == old_child then
3877 n_expr2 = new_child.as(AExpr)
3878 return
3879 end
3880 end
3881
3882 redef fun n_expr=(node)
3883 do
3884 _n_expr = node
3885 node.parent = self
3886 end
3887 redef fun n_op=(node)
3888 do
3889 _n_op = node
3890 node.parent = self
3891 end
3892 redef fun n_expr2=(node)
3893 do
3894 _n_expr2 = node
3895 node.parent = self
3896 end
3897
3898
3899 redef fun visit_all(v: Visitor)
3900 do
3901 v.enter_visit(_n_expr)
3902 v.enter_visit(_n_op)
3903 v.enter_visit(_n_expr2)
3904 end
3905 end
3906 redef class ALtExpr
3907 init init_altexpr (
3908 n_expr: nullable AExpr,
3909 n_op: nullable TLt,
3910 n_expr2: nullable AExpr
3911 )
3912 do
3913 _n_expr = n_expr.as(not null)
3914 n_expr.parent = self
3915 _n_op = n_op.as(not null)
3916 n_op.parent = self
3917 _n_expr2 = n_expr2.as(not null)
3918 n_expr2.parent = self
3919 end
3920
3921 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3922 do
3923 if _n_expr == old_child then
3924 n_expr = new_child.as(AExpr)
3925 return
3926 end
3927 if _n_op == old_child then
3928 n_op = new_child.as(TLt)
3929 return
3930 end
3931 if _n_expr2 == old_child then
3932 n_expr2 = new_child.as(AExpr)
3933 return
3934 end
3935 end
3936
3937 redef fun n_expr=(node)
3938 do
3939 _n_expr = node
3940 node.parent = self
3941 end
3942 redef fun n_op=(node)
3943 do
3944 _n_op = node
3945 node.parent = self
3946 end
3947 redef fun n_expr2=(node)
3948 do
3949 _n_expr2 = node
3950 node.parent = self
3951 end
3952
3953
3954 redef fun visit_all(v: Visitor)
3955 do
3956 v.enter_visit(_n_expr)
3957 v.enter_visit(_n_op)
3958 v.enter_visit(_n_expr2)
3959 end
3960 end
3961 redef class ALeExpr
3962 init init_aleexpr (
3963 n_expr: nullable AExpr,
3964 n_op: nullable TLe,
3965 n_expr2: nullable AExpr
3966 )
3967 do
3968 _n_expr = n_expr.as(not null)
3969 n_expr.parent = self
3970 _n_op = n_op.as(not null)
3971 n_op.parent = self
3972 _n_expr2 = n_expr2.as(not null)
3973 n_expr2.parent = self
3974 end
3975
3976 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3977 do
3978 if _n_expr == old_child then
3979 n_expr = new_child.as(AExpr)
3980 return
3981 end
3982 if _n_op == old_child then
3983 n_op = new_child.as(TLe)
3984 return
3985 end
3986 if _n_expr2 == old_child then
3987 n_expr2 = new_child.as(AExpr)
3988 return
3989 end
3990 end
3991
3992 redef fun n_expr=(node)
3993 do
3994 _n_expr = node
3995 node.parent = self
3996 end
3997 redef fun n_op=(node)
3998 do
3999 _n_op = node
4000 node.parent = self
4001 end
4002 redef fun n_expr2=(node)
4003 do
4004 _n_expr2 = node
4005 node.parent = self
4006 end
4007
4008
4009 redef fun visit_all(v: Visitor)
4010 do
4011 v.enter_visit(_n_expr)
4012 v.enter_visit(_n_op)
4013 v.enter_visit(_n_expr2)
4014 end
4015 end
4016 redef class ALlExpr
4017 init init_allexpr (
4018 n_expr: nullable AExpr,
4019 n_op: nullable TLl,
4020 n_expr2: nullable AExpr
4021 )
4022 do
4023 _n_expr = n_expr.as(not null)
4024 n_expr.parent = self
4025 _n_op = n_op.as(not null)
4026 n_op.parent = self
4027 _n_expr2 = n_expr2.as(not null)
4028 n_expr2.parent = self
4029 end
4030
4031 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4032 do
4033 if _n_expr == old_child then
4034 n_expr = new_child.as(AExpr)
4035 return
4036 end
4037 if _n_op == old_child then
4038 n_op = new_child.as(TLl)
4039 return
4040 end
4041 if _n_expr2 == old_child then
4042 n_expr2 = new_child.as(AExpr)
4043 return
4044 end
4045 end
4046
4047 redef fun n_expr=(node)
4048 do
4049 _n_expr = node
4050 node.parent = self
4051 end
4052 redef fun n_op=(node)
4053 do
4054 _n_op = node
4055 node.parent = self
4056 end
4057 redef fun n_expr2=(node)
4058 do
4059 _n_expr2 = node
4060 node.parent = self
4061 end
4062
4063
4064 redef fun visit_all(v: Visitor)
4065 do
4066 v.enter_visit(_n_expr)
4067 v.enter_visit(_n_op)
4068 v.enter_visit(_n_expr2)
4069 end
4070 end
4071 redef class AGtExpr
4072 init init_agtexpr (
4073 n_expr: nullable AExpr,
4074 n_op: nullable TGt,
4075 n_expr2: nullable AExpr
4076 )
4077 do
4078 _n_expr = n_expr.as(not null)
4079 n_expr.parent = self
4080 _n_op = n_op.as(not null)
4081 n_op.parent = self
4082 _n_expr2 = n_expr2.as(not null)
4083 n_expr2.parent = self
4084 end
4085
4086 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4087 do
4088 if _n_expr == old_child then
4089 n_expr = new_child.as(AExpr)
4090 return
4091 end
4092 if _n_op == old_child then
4093 n_op = new_child.as(TGt)
4094 return
4095 end
4096 if _n_expr2 == old_child then
4097 n_expr2 = new_child.as(AExpr)
4098 return
4099 end
4100 end
4101
4102 redef fun n_expr=(node)
4103 do
4104 _n_expr = node
4105 node.parent = self
4106 end
4107 redef fun n_op=(node)
4108 do
4109 _n_op = node
4110 node.parent = self
4111 end
4112 redef fun n_expr2=(node)
4113 do
4114 _n_expr2 = node
4115 node.parent = self
4116 end
4117
4118
4119 redef fun visit_all(v: Visitor)
4120 do
4121 v.enter_visit(_n_expr)
4122 v.enter_visit(_n_op)
4123 v.enter_visit(_n_expr2)
4124 end
4125 end
4126 redef class AGeExpr
4127 init init_ageexpr (
4128 n_expr: nullable AExpr,
4129 n_op: nullable TGe,
4130 n_expr2: nullable AExpr
4131 )
4132 do
4133 _n_expr = n_expr.as(not null)
4134 n_expr.parent = self
4135 _n_op = n_op.as(not null)
4136 n_op.parent = self
4137 _n_expr2 = n_expr2.as(not null)
4138 n_expr2.parent = self
4139 end
4140
4141 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4142 do
4143 if _n_expr == old_child then
4144 n_expr = new_child.as(AExpr)
4145 return
4146 end
4147 if _n_op == old_child then
4148 n_op = new_child.as(TGe)
4149 return
4150 end
4151 if _n_expr2 == old_child then
4152 n_expr2 = new_child.as(AExpr)
4153 return
4154 end
4155 end
4156
4157 redef fun n_expr=(node)
4158 do
4159 _n_expr = node
4160 node.parent = self
4161 end
4162 redef fun n_op=(node)
4163 do
4164 _n_op = node
4165 node.parent = self
4166 end
4167 redef fun n_expr2=(node)
4168 do
4169 _n_expr2 = node
4170 node.parent = self
4171 end
4172
4173
4174 redef fun visit_all(v: Visitor)
4175 do
4176 v.enter_visit(_n_expr)
4177 v.enter_visit(_n_op)
4178 v.enter_visit(_n_expr2)
4179 end
4180 end
4181 redef class AGgExpr
4182 init init_aggexpr (
4183 n_expr: nullable AExpr,
4184 n_op: nullable TGg,
4185 n_expr2: nullable AExpr
4186 )
4187 do
4188 _n_expr = n_expr.as(not null)
4189 n_expr.parent = self
4190 _n_op = n_op.as(not null)
4191 n_op.parent = self
4192 _n_expr2 = n_expr2.as(not null)
4193 n_expr2.parent = self
4194 end
4195
4196 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4197 do
4198 if _n_expr == old_child then
4199 n_expr = new_child.as(AExpr)
4200 return
4201 end
4202 if _n_op == old_child then
4203 n_op = new_child.as(TGg)
4204 return
4205 end
4206 if _n_expr2 == old_child then
4207 n_expr2 = new_child.as(AExpr)
4208 return
4209 end
4210 end
4211
4212 redef fun n_expr=(node)
4213 do
4214 _n_expr = node
4215 node.parent = self
4216 end
4217 redef fun n_op=(node)
4218 do
4219 _n_op = node
4220 node.parent = self
4221 end
4222 redef fun n_expr2=(node)
4223 do
4224 _n_expr2 = node
4225 node.parent = self
4226 end
4227
4228
4229 redef fun visit_all(v: Visitor)
4230 do
4231 v.enter_visit(_n_expr)
4232 v.enter_visit(_n_op)
4233 v.enter_visit(_n_expr2)
4234 end
4235 end
4236 redef class AIsaExpr
4237 init init_aisaexpr (
4238 n_expr: nullable AExpr,
4239 n_kwisa: nullable TKwisa,
4240 n_type: nullable AType
4241 )
4242 do
4243 _n_expr = n_expr.as(not null)
4244 n_expr.parent = self
4245 _n_kwisa = n_kwisa.as(not null)
4246 n_kwisa.parent = self
4247 _n_type = n_type.as(not null)
4248 n_type.parent = self
4249 end
4250
4251 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4252 do
4253 if _n_expr == old_child then
4254 n_expr = new_child.as(AExpr)
4255 return
4256 end
4257 if _n_kwisa == old_child then
4258 n_kwisa = new_child.as(TKwisa)
4259 return
4260 end
4261 if _n_type == old_child then
4262 n_type = new_child.as(AType)
4263 return
4264 end
4265 end
4266
4267 redef fun n_expr=(node)
4268 do
4269 _n_expr = node
4270 node.parent = self
4271 end
4272 redef fun n_kwisa=(node)
4273 do
4274 _n_kwisa = node
4275 node.parent = self
4276 end
4277 redef fun n_type=(node)
4278 do
4279 _n_type = node
4280 node.parent = self
4281 end
4282
4283
4284 redef fun visit_all(v: Visitor)
4285 do
4286 v.enter_visit(_n_expr)
4287 v.enter_visit(_n_kwisa)
4288 v.enter_visit(_n_type)
4289 end
4290 end
4291 redef class APlusExpr
4292 init init_aplusexpr (
4293 n_expr: nullable AExpr,
4294 n_op: nullable TPlus,
4295 n_expr2: nullable AExpr
4296 )
4297 do
4298 _n_expr = n_expr.as(not null)
4299 n_expr.parent = self
4300 _n_op = n_op.as(not null)
4301 n_op.parent = self
4302 _n_expr2 = n_expr2.as(not null)
4303 n_expr2.parent = self
4304 end
4305
4306 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4307 do
4308 if _n_expr == old_child then
4309 n_expr = new_child.as(AExpr)
4310 return
4311 end
4312 if _n_op == old_child then
4313 n_op = new_child.as(TPlus)
4314 return
4315 end
4316 if _n_expr2 == old_child then
4317 n_expr2 = new_child.as(AExpr)
4318 return
4319 end
4320 end
4321
4322 redef fun n_expr=(node)
4323 do
4324 _n_expr = node
4325 node.parent = self
4326 end
4327 redef fun n_op=(node)
4328 do
4329 _n_op = node
4330 node.parent = self
4331 end
4332 redef fun n_expr2=(node)
4333 do
4334 _n_expr2 = node
4335 node.parent = self
4336 end
4337
4338
4339 redef fun visit_all(v: Visitor)
4340 do
4341 v.enter_visit(_n_expr)
4342 v.enter_visit(_n_op)
4343 v.enter_visit(_n_expr2)
4344 end
4345 end
4346 redef class AMinusExpr
4347 init init_aminusexpr (
4348 n_expr: nullable AExpr,
4349 n_op: nullable TMinus,
4350 n_expr2: nullable AExpr
4351 )
4352 do
4353 _n_expr = n_expr.as(not null)
4354 n_expr.parent = self
4355 _n_op = n_op.as(not null)
4356 n_op.parent = self
4357 _n_expr2 = n_expr2.as(not null)
4358 n_expr2.parent = self
4359 end
4360
4361 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4362 do
4363 if _n_expr == old_child then
4364 n_expr = new_child.as(AExpr)
4365 return
4366 end
4367 if _n_op == old_child then
4368 n_op = new_child.as(TMinus)
4369 return
4370 end
4371 if _n_expr2 == old_child then
4372 n_expr2 = new_child.as(AExpr)
4373 return
4374 end
4375 end
4376
4377 redef fun n_expr=(node)
4378 do
4379 _n_expr = node
4380 node.parent = self
4381 end
4382 redef fun n_op=(node)
4383 do
4384 _n_op = node
4385 node.parent = self
4386 end
4387 redef fun n_expr2=(node)
4388 do
4389 _n_expr2 = node
4390 node.parent = self
4391 end
4392
4393
4394 redef fun visit_all(v: Visitor)
4395 do
4396 v.enter_visit(_n_expr)
4397 v.enter_visit(_n_op)
4398 v.enter_visit(_n_expr2)
4399 end
4400 end
4401 redef class AStarshipExpr
4402 init init_astarshipexpr (
4403 n_expr: nullable AExpr,
4404 n_op: nullable TStarship,
4405 n_expr2: nullable AExpr
4406 )
4407 do
4408 _n_expr = n_expr.as(not null)
4409 n_expr.parent = self
4410 _n_op = n_op.as(not null)
4411 n_op.parent = self
4412 _n_expr2 = n_expr2.as(not null)
4413 n_expr2.parent = self
4414 end
4415
4416 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4417 do
4418 if _n_expr == old_child then
4419 n_expr = new_child.as(AExpr)
4420 return
4421 end
4422 if _n_op == old_child then
4423 n_op = new_child.as(TStarship)
4424 return
4425 end
4426 if _n_expr2 == old_child then
4427 n_expr2 = new_child.as(AExpr)
4428 return
4429 end
4430 end
4431
4432 redef fun n_expr=(node)
4433 do
4434 _n_expr = node
4435 node.parent = self
4436 end
4437 redef fun n_op=(node)
4438 do
4439 _n_op = node
4440 node.parent = self
4441 end
4442 redef fun n_expr2=(node)
4443 do
4444 _n_expr2 = node
4445 node.parent = self
4446 end
4447
4448
4449 redef fun visit_all(v: Visitor)
4450 do
4451 v.enter_visit(_n_expr)
4452 v.enter_visit(_n_op)
4453 v.enter_visit(_n_expr2)
4454 end
4455 end
4456 redef class AStarExpr
4457 init init_astarexpr (
4458 n_expr: nullable AExpr,
4459 n_op: nullable TStar,
4460 n_expr2: nullable AExpr
4461 )
4462 do
4463 _n_expr = n_expr.as(not null)
4464 n_expr.parent = self
4465 _n_op = n_op.as(not null)
4466 n_op.parent = self
4467 _n_expr2 = n_expr2.as(not null)
4468 n_expr2.parent = self
4469 end
4470
4471 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4472 do
4473 if _n_expr == old_child then
4474 n_expr = new_child.as(AExpr)
4475 return
4476 end
4477 if _n_op == old_child then
4478 n_op = new_child.as(TStar)
4479 return
4480 end
4481 if _n_expr2 == old_child then
4482 n_expr2 = new_child.as(AExpr)
4483 return
4484 end
4485 end
4486
4487 redef fun n_expr=(node)
4488 do
4489 _n_expr = node
4490 node.parent = self
4491 end
4492 redef fun n_op=(node)
4493 do
4494 _n_op = node
4495 node.parent = self
4496 end
4497 redef fun n_expr2=(node)
4498 do
4499 _n_expr2 = node
4500 node.parent = self
4501 end
4502
4503
4504 redef fun visit_all(v: Visitor)
4505 do
4506 v.enter_visit(_n_expr)
4507 v.enter_visit(_n_op)
4508 v.enter_visit(_n_expr2)
4509 end
4510 end
4511 redef class AStarstarExpr
4512 init init_astarstarexpr (
4513 n_expr: nullable AExpr,
4514 n_op: nullable TStarstar,
4515 n_expr2: nullable AExpr
4516 )
4517 do
4518 _n_expr = n_expr.as(not null)
4519 n_expr.parent = self
4520 _n_op = n_op.as(not null)
4521 n_op.parent = self
4522 _n_expr2 = n_expr2.as(not null)
4523 n_expr2.parent = self
4524 end
4525
4526 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4527 do
4528 if _n_expr == old_child then
4529 n_expr = new_child.as(AExpr)
4530 return
4531 end
4532 if _n_op == old_child then
4533 n_op = new_child.as(TStarstar)
4534 return
4535 end
4536 if _n_expr2 == old_child then
4537 n_expr2 = new_child.as(AExpr)
4538 return
4539 end
4540 end
4541
4542 redef fun n_expr=(node)
4543 do
4544 _n_expr = node
4545 node.parent = self
4546 end
4547 redef fun n_op=(node)
4548 do
4549 _n_op = node
4550 node.parent = self
4551 end
4552 redef fun n_expr2=(node)
4553 do
4554 _n_expr2 = node
4555 node.parent = self
4556 end
4557
4558
4559 redef fun visit_all(v: Visitor)
4560 do
4561 v.enter_visit(_n_expr)
4562 v.enter_visit(_n_op)
4563 v.enter_visit(_n_expr2)
4564 end
4565 end
4566 redef class ASlashExpr
4567 init init_aslashexpr (
4568 n_expr: nullable AExpr,
4569 n_op: nullable TSlash,
4570 n_expr2: nullable AExpr
4571 )
4572 do
4573 _n_expr = n_expr.as(not null)
4574 n_expr.parent = self
4575 _n_op = n_op.as(not null)
4576 n_op.parent = self
4577 _n_expr2 = n_expr2.as(not null)
4578 n_expr2.parent = self
4579 end
4580
4581 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4582 do
4583 if _n_expr == old_child then
4584 n_expr = new_child.as(AExpr)
4585 return
4586 end
4587 if _n_op == old_child then
4588 n_op = new_child.as(TSlash)
4589 return
4590 end
4591 if _n_expr2 == old_child then
4592 n_expr2 = new_child.as(AExpr)
4593 return
4594 end
4595 end
4596
4597 redef fun n_expr=(node)
4598 do
4599 _n_expr = node
4600 node.parent = self
4601 end
4602 redef fun n_op=(node)
4603 do
4604 _n_op = node
4605 node.parent = self
4606 end
4607 redef fun n_expr2=(node)
4608 do
4609 _n_expr2 = node
4610 node.parent = self
4611 end
4612
4613
4614 redef fun visit_all(v: Visitor)
4615 do
4616 v.enter_visit(_n_expr)
4617 v.enter_visit(_n_op)
4618 v.enter_visit(_n_expr2)
4619 end
4620 end
4621 redef class APercentExpr
4622 init init_apercentexpr (
4623 n_expr: nullable AExpr,
4624 n_op: nullable TPercent,
4625 n_expr2: nullable AExpr
4626 )
4627 do
4628 _n_expr = n_expr.as(not null)
4629 n_expr.parent = self
4630 _n_op = n_op.as(not null)
4631 n_op.parent = self
4632 _n_expr2 = n_expr2.as(not null)
4633 n_expr2.parent = self
4634 end
4635
4636 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4637 do
4638 if _n_expr == old_child then
4639 n_expr = new_child.as(AExpr)
4640 return
4641 end
4642 if _n_op == old_child then
4643 n_op = new_child.as(TPercent)
4644 return
4645 end
4646 if _n_expr2 == old_child then
4647 n_expr2 = new_child.as(AExpr)
4648 return
4649 end
4650 end
4651
4652 redef fun n_expr=(node)
4653 do
4654 _n_expr = node
4655 node.parent = self
4656 end
4657 redef fun n_op=(node)
4658 do
4659 _n_op = node
4660 node.parent = self
4661 end
4662 redef fun n_expr2=(node)
4663 do
4664 _n_expr2 = node
4665 node.parent = self
4666 end
4667
4668
4669 redef fun visit_all(v: Visitor)
4670 do
4671 v.enter_visit(_n_expr)
4672 v.enter_visit(_n_op)
4673 v.enter_visit(_n_expr2)
4674 end
4675 end
4676 redef class APipeExpr
4677 init init_apipeexpr (
4678 n_expr: nullable AExpr,
4679 n_op: nullable TPipe,
4680 n_expr2: nullable AExpr
4681 )
4682 do
4683 _n_expr = n_expr.as(not null)
4684 n_expr.parent = self
4685 _n_op = n_op.as(not null)
4686 n_op.parent = self
4687 _n_expr2 = n_expr2.as(not null)
4688 n_expr2.parent = self
4689 end
4690
4691 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4692 do
4693 if _n_expr == old_child then
4694 n_expr = new_child.as(AExpr)
4695 return
4696 end
4697 if _n_op == old_child then
4698 n_op = new_child.as(TPipe)
4699 return
4700 end
4701 if _n_expr2 == old_child then
4702 n_expr2 = new_child.as(AExpr)
4703 return
4704 end
4705 end
4706
4707 redef fun n_expr=(node)
4708 do
4709 _n_expr = node
4710 node.parent = self
4711 end
4712 redef fun n_op=(node)
4713 do
4714 _n_op = node
4715 node.parent = self
4716 end
4717 redef fun n_expr2=(node)
4718 do
4719 _n_expr2 = node
4720 node.parent = self
4721 end
4722
4723
4724 redef fun visit_all(v: Visitor)
4725 do
4726 v.enter_visit(_n_expr)
4727 v.enter_visit(_n_op)
4728 v.enter_visit(_n_expr2)
4729 end
4730 end
4731 redef class ACaretExpr
4732 init init_acaretexpr (
4733 n_expr: nullable AExpr,
4734 n_op: nullable TCaret,
4735 n_expr2: nullable AExpr
4736 )
4737 do
4738 _n_expr = n_expr.as(not null)
4739 n_expr.parent = self
4740 _n_op = n_op.as(not null)
4741 n_op.parent = self
4742 _n_expr2 = n_expr2.as(not null)
4743 n_expr2.parent = self
4744 end
4745
4746 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4747 do
4748 if _n_expr == old_child then
4749 n_expr = new_child.as(AExpr)
4750 return
4751 end
4752 if _n_op == old_child then
4753 n_op = new_child.as(TCaret)
4754 return
4755 end
4756 if _n_expr2 == old_child then
4757 n_expr2 = new_child.as(AExpr)
4758 return
4759 end
4760 end
4761
4762 redef fun n_expr=(node)
4763 do
4764 _n_expr = node
4765 node.parent = self
4766 end
4767 redef fun n_op=(node)
4768 do
4769 _n_op = node
4770 node.parent = self
4771 end
4772 redef fun n_expr2=(node)
4773 do
4774 _n_expr2 = node
4775 node.parent = self
4776 end
4777
4778
4779 redef fun visit_all(v: Visitor)
4780 do
4781 v.enter_visit(_n_expr)
4782 v.enter_visit(_n_op)
4783 v.enter_visit(_n_expr2)
4784 end
4785 end
4786 redef class AAmpExpr
4787 init init_aampexpr (
4788 n_expr: nullable AExpr,
4789 n_op: nullable TAmp,
4790 n_expr2: nullable AExpr
4791 )
4792 do
4793 _n_expr = n_expr.as(not null)
4794 n_expr.parent = self
4795 _n_op = n_op.as(not null)
4796 n_op.parent = self
4797 _n_expr2 = n_expr2.as(not null)
4798 n_expr2.parent = self
4799 end
4800
4801 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4802 do
4803 if _n_expr == old_child then
4804 n_expr = new_child.as(AExpr)
4805 return
4806 end
4807 if _n_op == old_child then
4808 n_op = new_child.as(TAmp)
4809 return
4810 end
4811 if _n_expr2 == old_child then
4812 n_expr2 = new_child.as(AExpr)
4813 return
4814 end
4815 end
4816
4817 redef fun n_expr=(node)
4818 do
4819 _n_expr = node
4820 node.parent = self
4821 end
4822 redef fun n_op=(node)
4823 do
4824 _n_op = node
4825 node.parent = self
4826 end
4827 redef fun n_expr2=(node)
4828 do
4829 _n_expr2 = node
4830 node.parent = self
4831 end
4832
4833
4834 redef fun visit_all(v: Visitor)
4835 do
4836 v.enter_visit(_n_expr)
4837 v.enter_visit(_n_op)
4838 v.enter_visit(_n_expr2)
4839 end
4840 end
4841 redef class AUminusExpr
4842 init init_auminusexpr (
4843 n_op: nullable TMinus,
4844 n_expr: nullable AExpr
4845 )
4846 do
4847 _n_op = n_op.as(not null)
4848 n_op.parent = self
4849 _n_expr = n_expr.as(not null)
4850 n_expr.parent = self
4851 end
4852
4853 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4854 do
4855 if _n_op == old_child then
4856 n_op = new_child.as(TMinus)
4857 return
4858 end
4859 if _n_expr == old_child then
4860 n_expr = new_child.as(AExpr)
4861 return
4862 end
4863 end
4864
4865 redef fun n_op=(node)
4866 do
4867 _n_op = node
4868 node.parent = self
4869 end
4870 redef fun n_expr=(node)
4871 do
4872 _n_expr = node
4873 node.parent = self
4874 end
4875
4876
4877 redef fun visit_all(v: Visitor)
4878 do
4879 v.enter_visit(_n_op)
4880 v.enter_visit(_n_expr)
4881 end
4882 end
4883 redef class AUplusExpr
4884 init init_auplusexpr (
4885 n_op: nullable TPlus,
4886 n_expr: nullable AExpr
4887 )
4888 do
4889 _n_op = n_op.as(not null)
4890 n_op.parent = self
4891 _n_expr = n_expr.as(not null)
4892 n_expr.parent = self
4893 end
4894
4895 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4896 do
4897 if _n_op == old_child then
4898 n_op = new_child.as(TPlus)
4899 return
4900 end
4901 if _n_expr == old_child then
4902 n_expr = new_child.as(AExpr)
4903 return
4904 end
4905 end
4906
4907 redef fun n_op=(node)
4908 do
4909 _n_op = node
4910 node.parent = self
4911 end
4912 redef fun n_expr=(node)
4913 do
4914 _n_expr = node
4915 node.parent = self
4916 end
4917
4918
4919 redef fun visit_all(v: Visitor)
4920 do
4921 v.enter_visit(_n_op)
4922 v.enter_visit(_n_expr)
4923 end
4924 end
4925 redef class AUtildeExpr
4926 init init_autildeexpr (
4927 n_op: nullable TTilde,
4928 n_expr: nullable AExpr
4929 )
4930 do
4931 _n_op = n_op.as(not null)
4932 n_op.parent = self
4933 _n_expr = n_expr.as(not null)
4934 n_expr.parent = self
4935 end
4936
4937 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4938 do
4939 if _n_op == old_child then
4940 n_op = new_child.as(TTilde)
4941 return
4942 end
4943 if _n_expr == old_child then
4944 n_expr = new_child.as(AExpr)
4945 return
4946 end
4947 end
4948
4949 redef fun n_op=(node)
4950 do
4951 _n_op = node
4952 node.parent = self
4953 end
4954 redef fun n_expr=(node)
4955 do
4956 _n_expr = node
4957 node.parent = self
4958 end
4959
4960
4961 redef fun visit_all(v: Visitor)
4962 do
4963 v.enter_visit(_n_op)
4964 v.enter_visit(_n_expr)
4965 end
4966 end
4967 redef class ANewExpr
4968 init init_anewexpr (
4969 n_kwnew: nullable TKwnew,
4970 n_type: nullable AType,
4971 n_id: nullable TId,
4972 n_args: nullable AExprs
4973 )
4974 do
4975 _n_kwnew = n_kwnew.as(not null)
4976 n_kwnew.parent = self
4977 _n_type = n_type.as(not null)
4978 n_type.parent = self
4979 _n_id = n_id
4980 if n_id != null then n_id.parent = self
4981 _n_args = n_args.as(not null)
4982 n_args.parent = self
4983 end
4984
4985 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4986 do
4987 if _n_kwnew == old_child then
4988 n_kwnew = new_child.as(TKwnew)
4989 return
4990 end
4991 if _n_type == old_child then
4992 n_type = new_child.as(AType)
4993 return
4994 end
4995 if _n_id == old_child then
4996 n_id = new_child.as(nullable TId)
4997 return
4998 end
4999 if _n_args == old_child then
5000 n_args = new_child.as(AExprs)
5001 return
5002 end
5003 end
5004
5005 redef fun n_kwnew=(node)
5006 do
5007 _n_kwnew = node
5008 node.parent = self
5009 end
5010 redef fun n_type=(node)
5011 do
5012 _n_type = node
5013 node.parent = self
5014 end
5015 redef fun n_id=(node)
5016 do
5017 _n_id = node
5018 if node != null then node.parent = self
5019 end
5020 redef fun n_args=(node)
5021 do
5022 _n_args = node
5023 node.parent = self
5024 end
5025
5026
5027 redef fun visit_all(v: Visitor)
5028 do
5029 v.enter_visit(_n_kwnew)
5030 v.enter_visit(_n_type)
5031 v.enter_visit(_n_id)
5032 v.enter_visit(_n_args)
5033 end
5034 end
5035 redef class AAttrExpr
5036 init init_aattrexpr (
5037 n_expr: nullable AExpr,
5038 n_id: nullable TAttrid
5039 )
5040 do
5041 _n_expr = n_expr.as(not null)
5042 n_expr.parent = self
5043 _n_id = n_id.as(not null)
5044 n_id.parent = self
5045 end
5046
5047 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5048 do
5049 if _n_expr == old_child then
5050 n_expr = new_child.as(AExpr)
5051 return
5052 end
5053 if _n_id == old_child then
5054 n_id = new_child.as(TAttrid)
5055 return
5056 end
5057 end
5058
5059 redef fun n_expr=(node)
5060 do
5061 _n_expr = node
5062 node.parent = self
5063 end
5064 redef fun n_id=(node)
5065 do
5066 _n_id = node
5067 node.parent = self
5068 end
5069
5070
5071 redef fun visit_all(v: Visitor)
5072 do
5073 v.enter_visit(_n_expr)
5074 v.enter_visit(_n_id)
5075 end
5076 end
5077 redef class AAttrAssignExpr
5078 init init_aattrassignexpr (
5079 n_expr: nullable AExpr,
5080 n_id: nullable TAttrid,
5081 n_assign: nullable TAssign,
5082 n_value: nullable AExpr
5083 )
5084 do
5085 _n_expr = n_expr.as(not null)
5086 n_expr.parent = self
5087 _n_id = n_id.as(not null)
5088 n_id.parent = self
5089 _n_assign = n_assign.as(not null)
5090 n_assign.parent = self
5091 _n_value = n_value.as(not null)
5092 n_value.parent = self
5093 end
5094
5095 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5096 do
5097 if _n_expr == old_child then
5098 n_expr = new_child.as(AExpr)
5099 return
5100 end
5101 if _n_id == old_child then
5102 n_id = new_child.as(TAttrid)
5103 return
5104 end
5105 if _n_assign == old_child then
5106 n_assign = new_child.as(TAssign)
5107 return
5108 end
5109 if _n_value == old_child then
5110 n_value = new_child.as(AExpr)
5111 return
5112 end
5113 end
5114
5115 redef fun n_expr=(node)
5116 do
5117 _n_expr = node
5118 node.parent = self
5119 end
5120 redef fun n_id=(node)
5121 do
5122 _n_id = node
5123 node.parent = self
5124 end
5125 redef fun n_assign=(node)
5126 do
5127 _n_assign = node
5128 node.parent = self
5129 end
5130 redef fun n_value=(node)
5131 do
5132 _n_value = node
5133 node.parent = self
5134 end
5135
5136
5137 redef fun visit_all(v: Visitor)
5138 do
5139 v.enter_visit(_n_expr)
5140 v.enter_visit(_n_id)
5141 v.enter_visit(_n_assign)
5142 v.enter_visit(_n_value)
5143 end
5144 end
5145 redef class AAttrReassignExpr
5146 init init_aattrreassignexpr (
5147 n_expr: nullable AExpr,
5148 n_id: nullable TAttrid,
5149 n_assign_op: nullable AAssignOp,
5150 n_value: nullable AExpr
5151 )
5152 do
5153 _n_expr = n_expr.as(not null)
5154 n_expr.parent = self
5155 _n_id = n_id.as(not null)
5156 n_id.parent = self
5157 _n_assign_op = n_assign_op.as(not null)
5158 n_assign_op.parent = self
5159 _n_value = n_value.as(not null)
5160 n_value.parent = self
5161 end
5162
5163 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5164 do
5165 if _n_expr == old_child then
5166 n_expr = new_child.as(AExpr)
5167 return
5168 end
5169 if _n_id == old_child then
5170 n_id = new_child.as(TAttrid)
5171 return
5172 end
5173 if _n_assign_op == old_child then
5174 n_assign_op = new_child.as(AAssignOp)
5175 return
5176 end
5177 if _n_value == old_child then
5178 n_value = new_child.as(AExpr)
5179 return
5180 end
5181 end
5182
5183 redef fun n_expr=(node)
5184 do
5185 _n_expr = node
5186 node.parent = self
5187 end
5188 redef fun n_id=(node)
5189 do
5190 _n_id = node
5191 node.parent = self
5192 end
5193 redef fun n_assign_op=(node)
5194 do
5195 _n_assign_op = node
5196 node.parent = self
5197 end
5198 redef fun n_value=(node)
5199 do
5200 _n_value = node
5201 node.parent = self
5202 end
5203
5204
5205 redef fun visit_all(v: Visitor)
5206 do
5207 v.enter_visit(_n_expr)
5208 v.enter_visit(_n_id)
5209 v.enter_visit(_n_assign_op)
5210 v.enter_visit(_n_value)
5211 end
5212 end
5213 redef class ACallExpr
5214 init init_acallexpr (
5215 n_expr: nullable AExpr,
5216 n_id: nullable TId,
5217 n_args: nullable AExprs
5218 )
5219 do
5220 _n_expr = n_expr.as(not null)
5221 n_expr.parent = self
5222 _n_id = n_id.as(not null)
5223 n_id.parent = self
5224 _n_args = n_args.as(not null)
5225 n_args.parent = self
5226 end
5227
5228 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5229 do
5230 if _n_expr == old_child then
5231 n_expr = new_child.as(AExpr)
5232 return
5233 end
5234 if _n_id == old_child then
5235 n_id = new_child.as(TId)
5236 return
5237 end
5238 if _n_args == old_child then
5239 n_args = new_child.as(AExprs)
5240 return
5241 end
5242 end
5243
5244 redef fun n_expr=(node)
5245 do
5246 _n_expr = node
5247 node.parent = self
5248 end
5249 redef fun n_id=(node)
5250 do
5251 _n_id = node
5252 node.parent = self
5253 end
5254 redef fun n_args=(node)
5255 do
5256 _n_args = node
5257 node.parent = self
5258 end
5259
5260
5261 redef fun visit_all(v: Visitor)
5262 do
5263 v.enter_visit(_n_expr)
5264 v.enter_visit(_n_id)
5265 v.enter_visit(_n_args)
5266 end
5267 end
5268 redef class ACallAssignExpr
5269 init init_acallassignexpr (
5270 n_expr: nullable AExpr,
5271 n_id: nullable TId,
5272 n_args: nullable AExprs,
5273 n_assign: nullable TAssign,
5274 n_value: nullable AExpr
5275 )
5276 do
5277 _n_expr = n_expr.as(not null)
5278 n_expr.parent = self
5279 _n_id = n_id.as(not null)
5280 n_id.parent = self
5281 _n_args = n_args.as(not null)
5282 n_args.parent = self
5283 _n_assign = n_assign.as(not null)
5284 n_assign.parent = self
5285 _n_value = n_value.as(not null)
5286 n_value.parent = self
5287 end
5288
5289 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5290 do
5291 if _n_expr == old_child then
5292 n_expr = new_child.as(AExpr)
5293 return
5294 end
5295 if _n_id == old_child then
5296 n_id = new_child.as(TId)
5297 return
5298 end
5299 if _n_args == old_child then
5300 n_args = new_child.as(AExprs)
5301 return
5302 end
5303 if _n_assign == old_child then
5304 n_assign = new_child.as(TAssign)
5305 return
5306 end
5307 if _n_value == old_child then
5308 n_value = new_child.as(AExpr)
5309 return
5310 end
5311 end
5312
5313 redef fun n_expr=(node)
5314 do
5315 _n_expr = node
5316 node.parent = self
5317 end
5318 redef fun n_id=(node)
5319 do
5320 _n_id = node
5321 node.parent = self
5322 end
5323 redef fun n_args=(node)
5324 do
5325 _n_args = node
5326 node.parent = self
5327 end
5328 redef fun n_assign=(node)
5329 do
5330 _n_assign = node
5331 node.parent = self
5332 end
5333 redef fun n_value=(node)
5334 do
5335 _n_value = node
5336 node.parent = self
5337 end
5338
5339
5340 redef fun visit_all(v: Visitor)
5341 do
5342 v.enter_visit(_n_expr)
5343 v.enter_visit(_n_id)
5344 v.enter_visit(_n_args)
5345 v.enter_visit(_n_assign)
5346 v.enter_visit(_n_value)
5347 end
5348 end
5349 redef class ACallReassignExpr
5350 init init_acallreassignexpr (
5351 n_expr: nullable AExpr,
5352 n_id: nullable TId,
5353 n_args: nullable AExprs,
5354 n_assign_op: nullable AAssignOp,
5355 n_value: nullable AExpr
5356 )
5357 do
5358 _n_expr = n_expr.as(not null)
5359 n_expr.parent = self
5360 _n_id = n_id.as(not null)
5361 n_id.parent = self
5362 _n_args = n_args.as(not null)
5363 n_args.parent = self
5364 _n_assign_op = n_assign_op.as(not null)
5365 n_assign_op.parent = self
5366 _n_value = n_value.as(not null)
5367 n_value.parent = self
5368 end
5369
5370 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5371 do
5372 if _n_expr == old_child then
5373 n_expr = new_child.as(AExpr)
5374 return
5375 end
5376 if _n_id == old_child then
5377 n_id = new_child.as(TId)
5378 return
5379 end
5380 if _n_args == old_child then
5381 n_args = new_child.as(AExprs)
5382 return
5383 end
5384 if _n_assign_op == old_child then
5385 n_assign_op = new_child.as(AAssignOp)
5386 return
5387 end
5388 if _n_value == old_child then
5389 n_value = new_child.as(AExpr)
5390 return
5391 end
5392 end
5393
5394 redef fun n_expr=(node)
5395 do
5396 _n_expr = node
5397 node.parent = self
5398 end
5399 redef fun n_id=(node)
5400 do
5401 _n_id = node
5402 node.parent = self
5403 end
5404 redef fun n_args=(node)
5405 do
5406 _n_args = node
5407 node.parent = self
5408 end
5409 redef fun n_assign_op=(node)
5410 do
5411 _n_assign_op = node
5412 node.parent = self
5413 end
5414 redef fun n_value=(node)
5415 do
5416 _n_value = node
5417 node.parent = self
5418 end
5419
5420
5421 redef fun visit_all(v: Visitor)
5422 do
5423 v.enter_visit(_n_expr)
5424 v.enter_visit(_n_id)
5425 v.enter_visit(_n_args)
5426 v.enter_visit(_n_assign_op)
5427 v.enter_visit(_n_value)
5428 end
5429 end
5430 redef class ASuperExpr
5431 init init_asuperexpr (
5432 n_qualified: nullable AQualified,
5433 n_kwsuper: nullable TKwsuper,
5434 n_args: nullable AExprs
5435 )
5436 do
5437 _n_qualified = n_qualified
5438 if n_qualified != null then n_qualified.parent = self
5439 _n_kwsuper = n_kwsuper.as(not null)
5440 n_kwsuper.parent = self
5441 _n_args = n_args.as(not null)
5442 n_args.parent = self
5443 end
5444
5445 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5446 do
5447 if _n_qualified == old_child then
5448 n_qualified = new_child.as(nullable AQualified)
5449 return
5450 end
5451 if _n_kwsuper == old_child then
5452 n_kwsuper = new_child.as(TKwsuper)
5453 return
5454 end
5455 if _n_args == old_child then
5456 n_args = new_child.as(AExprs)
5457 return
5458 end
5459 end
5460
5461 redef fun n_qualified=(node)
5462 do
5463 _n_qualified = node
5464 if node != null then node.parent = self
5465 end
5466 redef fun n_kwsuper=(node)
5467 do
5468 _n_kwsuper = node
5469 node.parent = self
5470 end
5471 redef fun n_args=(node)
5472 do
5473 _n_args = node
5474 node.parent = self
5475 end
5476
5477
5478 redef fun visit_all(v: Visitor)
5479 do
5480 v.enter_visit(_n_qualified)
5481 v.enter_visit(_n_kwsuper)
5482 v.enter_visit(_n_args)
5483 end
5484 end
5485 redef class AInitExpr
5486 init init_ainitexpr (
5487 n_expr: nullable AExpr,
5488 n_kwinit: nullable TKwinit,
5489 n_args: nullable AExprs
5490 )
5491 do
5492 _n_expr = n_expr.as(not null)
5493 n_expr.parent = self
5494 _n_kwinit = n_kwinit.as(not null)
5495 n_kwinit.parent = self
5496 _n_args = n_args.as(not null)
5497 n_args.parent = self
5498 end
5499
5500 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5501 do
5502 if _n_expr == old_child then
5503 n_expr = new_child.as(AExpr)
5504 return
5505 end
5506 if _n_kwinit == old_child then
5507 n_kwinit = new_child.as(TKwinit)
5508 return
5509 end
5510 if _n_args == old_child then
5511 n_args = new_child.as(AExprs)
5512 return
5513 end
5514 end
5515
5516 redef fun n_expr=(node)
5517 do
5518 _n_expr = node
5519 node.parent = self
5520 end
5521 redef fun n_kwinit=(node)
5522 do
5523 _n_kwinit = node
5524 node.parent = self
5525 end
5526 redef fun n_args=(node)
5527 do
5528 _n_args = node
5529 node.parent = self
5530 end
5531
5532
5533 redef fun visit_all(v: Visitor)
5534 do
5535 v.enter_visit(_n_expr)
5536 v.enter_visit(_n_kwinit)
5537 v.enter_visit(_n_args)
5538 end
5539 end
5540 redef class ABraExpr
5541 init init_abraexpr (
5542 n_expr: nullable AExpr,
5543 n_args: nullable AExprs
5544 )
5545 do
5546 _n_expr = n_expr.as(not null)
5547 n_expr.parent = self
5548 _n_args = n_args.as(not null)
5549 n_args.parent = self
5550 end
5551
5552 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5553 do
5554 if _n_expr == old_child then
5555 n_expr = new_child.as(AExpr)
5556 return
5557 end
5558 if _n_args == old_child then
5559 n_args = new_child.as(AExprs)
5560 return
5561 end
5562 end
5563
5564 redef fun n_expr=(node)
5565 do
5566 _n_expr = node
5567 node.parent = self
5568 end
5569 redef fun n_args=(node)
5570 do
5571 _n_args = node
5572 node.parent = self
5573 end
5574
5575
5576 redef fun visit_all(v: Visitor)
5577 do
5578 v.enter_visit(_n_expr)
5579 v.enter_visit(_n_args)
5580 end
5581 end
5582 redef class ABraAssignExpr
5583 init init_abraassignexpr (
5584 n_expr: nullable AExpr,
5585 n_args: nullable AExprs,
5586 n_assign: nullable TAssign,
5587 n_value: nullable AExpr
5588 )
5589 do
5590 _n_expr = n_expr.as(not null)
5591 n_expr.parent = self
5592 _n_args = n_args.as(not null)
5593 n_args.parent = self
5594 _n_assign = n_assign.as(not null)
5595 n_assign.parent = self
5596 _n_value = n_value.as(not null)
5597 n_value.parent = self
5598 end
5599
5600 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5601 do
5602 if _n_expr == old_child then
5603 n_expr = new_child.as(AExpr)
5604 return
5605 end
5606 if _n_args == old_child then
5607 n_args = new_child.as(AExprs)
5608 return
5609 end
5610 if _n_assign == old_child then
5611 n_assign = new_child.as(TAssign)
5612 return
5613 end
5614 if _n_value == old_child then
5615 n_value = new_child.as(AExpr)
5616 return
5617 end
5618 end
5619
5620 redef fun n_expr=(node)
5621 do
5622 _n_expr = node
5623 node.parent = self
5624 end
5625 redef fun n_args=(node)
5626 do
5627 _n_args = node
5628 node.parent = self
5629 end
5630 redef fun n_assign=(node)
5631 do
5632 _n_assign = node
5633 node.parent = self
5634 end
5635 redef fun n_value=(node)
5636 do
5637 _n_value = node
5638 node.parent = self
5639 end
5640
5641
5642 redef fun visit_all(v: Visitor)
5643 do
5644 v.enter_visit(_n_expr)
5645 v.enter_visit(_n_args)
5646 v.enter_visit(_n_assign)
5647 v.enter_visit(_n_value)
5648 end
5649 end
5650 redef class ABraReassignExpr
5651 init init_abrareassignexpr (
5652 n_expr: nullable AExpr,
5653 n_args: nullable AExprs,
5654 n_assign_op: nullable AAssignOp,
5655 n_value: nullable AExpr
5656 )
5657 do
5658 _n_expr = n_expr.as(not null)
5659 n_expr.parent = self
5660 _n_args = n_args.as(not null)
5661 n_args.parent = self
5662 _n_assign_op = n_assign_op.as(not null)
5663 n_assign_op.parent = self
5664 _n_value = n_value.as(not null)
5665 n_value.parent = self
5666 end
5667
5668 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5669 do
5670 if _n_expr == old_child then
5671 n_expr = new_child.as(AExpr)
5672 return
5673 end
5674 if _n_args == old_child then
5675 n_args = new_child.as(AExprs)
5676 return
5677 end
5678 if _n_assign_op == old_child then
5679 n_assign_op = new_child.as(AAssignOp)
5680 return
5681 end
5682 if _n_value == old_child then
5683 n_value = new_child.as(AExpr)
5684 return
5685 end
5686 end
5687
5688 redef fun n_expr=(node)
5689 do
5690 _n_expr = node
5691 node.parent = self
5692 end
5693 redef fun n_args=(node)
5694 do
5695 _n_args = node
5696 node.parent = self
5697 end
5698 redef fun n_assign_op=(node)
5699 do
5700 _n_assign_op = node
5701 node.parent = self
5702 end
5703 redef fun n_value=(node)
5704 do
5705 _n_value = node
5706 node.parent = self
5707 end
5708
5709
5710 redef fun visit_all(v: Visitor)
5711 do
5712 v.enter_visit(_n_expr)
5713 v.enter_visit(_n_args)
5714 v.enter_visit(_n_assign_op)
5715 v.enter_visit(_n_value)
5716 end
5717 end
5718 redef class AVarExpr
5719 init init_avarexpr (
5720 n_id: nullable TId
5721 )
5722 do
5723 _n_id = n_id.as(not null)
5724 n_id.parent = self
5725 end
5726
5727 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5728 do
5729 if _n_id == old_child then
5730 n_id = new_child.as(TId)
5731 return
5732 end
5733 end
5734
5735 redef fun n_id=(node)
5736 do
5737 _n_id = node
5738 node.parent = self
5739 end
5740
5741
5742 redef fun visit_all(v: Visitor)
5743 do
5744 v.enter_visit(_n_id)
5745 end
5746 end
5747 redef class AVarAssignExpr
5748 init init_avarassignexpr (
5749 n_id: nullable TId,
5750 n_assign: nullable TAssign,
5751 n_value: nullable AExpr
5752 )
5753 do
5754 _n_id = n_id.as(not null)
5755 n_id.parent = self
5756 _n_assign = n_assign.as(not null)
5757 n_assign.parent = self
5758 _n_value = n_value.as(not null)
5759 n_value.parent = self
5760 end
5761
5762 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5763 do
5764 if _n_id == old_child then
5765 n_id = new_child.as(TId)
5766 return
5767 end
5768 if _n_assign == old_child then
5769 n_assign = new_child.as(TAssign)
5770 return
5771 end
5772 if _n_value == old_child then
5773 n_value = new_child.as(AExpr)
5774 return
5775 end
5776 end
5777
5778 redef fun n_id=(node)
5779 do
5780 _n_id = node
5781 node.parent = self
5782 end
5783 redef fun n_assign=(node)
5784 do
5785 _n_assign = node
5786 node.parent = self
5787 end
5788 redef fun n_value=(node)
5789 do
5790 _n_value = node
5791 node.parent = self
5792 end
5793
5794
5795 redef fun visit_all(v: Visitor)
5796 do
5797 v.enter_visit(_n_id)
5798 v.enter_visit(_n_assign)
5799 v.enter_visit(_n_value)
5800 end
5801 end
5802 redef class AVarReassignExpr
5803 init init_avarreassignexpr (
5804 n_id: nullable TId,
5805 n_assign_op: nullable AAssignOp,
5806 n_value: nullable AExpr
5807 )
5808 do
5809 _n_id = n_id.as(not null)
5810 n_id.parent = self
5811 _n_assign_op = n_assign_op.as(not null)
5812 n_assign_op.parent = self
5813 _n_value = n_value.as(not null)
5814 n_value.parent = self
5815 end
5816
5817 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5818 do
5819 if _n_id == old_child then
5820 n_id = new_child.as(TId)
5821 return
5822 end
5823 if _n_assign_op == old_child then
5824 n_assign_op = new_child.as(AAssignOp)
5825 return
5826 end
5827 if _n_value == old_child then
5828 n_value = new_child.as(AExpr)
5829 return
5830 end
5831 end
5832
5833 redef fun n_id=(node)
5834 do
5835 _n_id = node
5836 node.parent = self
5837 end
5838 redef fun n_assign_op=(node)
5839 do
5840 _n_assign_op = node
5841 node.parent = self
5842 end
5843 redef fun n_value=(node)
5844 do
5845 _n_value = node
5846 node.parent = self
5847 end
5848
5849
5850 redef fun visit_all(v: Visitor)
5851 do
5852 v.enter_visit(_n_id)
5853 v.enter_visit(_n_assign_op)
5854 v.enter_visit(_n_value)
5855 end
5856 end
5857 redef class ARangeExpr
5858 init init_arangeexpr (
5859 n_expr: nullable AExpr,
5860 n_expr2: nullable AExpr,
5861 n_annotations: nullable AAnnotations
5862 )
5863 do
5864 _n_expr = n_expr.as(not null)
5865 n_expr.parent = self
5866 _n_expr2 = n_expr2.as(not null)
5867 n_expr2.parent = self
5868 _n_annotations = n_annotations
5869 if n_annotations != null then n_annotations.parent = self
5870 end
5871
5872 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5873 do
5874 if _n_expr == old_child then
5875 n_expr = new_child.as(AExpr)
5876 return
5877 end
5878 if _n_expr2 == old_child then
5879 n_expr2 = new_child.as(AExpr)
5880 return
5881 end
5882 if _n_annotations == old_child then
5883 n_annotations = new_child.as(nullable AAnnotations)
5884 return
5885 end
5886 end
5887
5888 redef fun n_expr=(node)
5889 do
5890 _n_expr = node
5891 node.parent = self
5892 end
5893 redef fun n_expr2=(node)
5894 do
5895 _n_expr2 = node
5896 node.parent = self
5897 end
5898 redef fun n_annotations=(node)
5899 do
5900 _n_annotations = node
5901 if node != null then node.parent = self
5902 end
5903
5904
5905 redef fun visit_all(v: Visitor)
5906 do
5907 v.enter_visit(_n_expr)
5908 v.enter_visit(_n_expr2)
5909 v.enter_visit(_n_annotations)
5910 end
5911 end
5912 redef class ACrangeExpr
5913 init init_acrangeexpr (
5914 n_obra: nullable TObra,
5915 n_expr: nullable AExpr,
5916 n_dotdot: nullable TDotdot,
5917 n_expr2: nullable AExpr,
5918 n_cbra: nullable TCbra,
5919 n_annotations: nullable AAnnotations
5920 )
5921 do
5922 _n_obra = n_obra.as(not null)
5923 n_obra.parent = self
5924 _n_expr = n_expr.as(not null)
5925 n_expr.parent = self
5926 _n_dotdot = n_dotdot.as(not null)
5927 n_dotdot.parent = self
5928 _n_expr2 = n_expr2.as(not null)
5929 n_expr2.parent = self
5930 _n_cbra = n_cbra.as(not null)
5931 n_cbra.parent = self
5932 _n_annotations = n_annotations
5933 if n_annotations != null then n_annotations.parent = self
5934 end
5935
5936 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5937 do
5938 if _n_obra == old_child then
5939 n_obra = new_child.as(TObra)
5940 return
5941 end
5942 if _n_expr == old_child then
5943 n_expr = new_child.as(AExpr)
5944 return
5945 end
5946 if _n_dotdot == old_child then
5947 n_dotdot = new_child.as(TDotdot)
5948 return
5949 end
5950 if _n_expr2 == old_child then
5951 n_expr2 = new_child.as(AExpr)
5952 return
5953 end
5954 if _n_cbra == old_child then
5955 n_cbra = new_child.as(TCbra)
5956 return
5957 end
5958 if _n_annotations == old_child then
5959 n_annotations = new_child.as(nullable AAnnotations)
5960 return
5961 end
5962 end
5963
5964 redef fun n_obra=(node)
5965 do
5966 _n_obra = node
5967 node.parent = self
5968 end
5969 redef fun n_expr=(node)
5970 do
5971 _n_expr = node
5972 node.parent = self
5973 end
5974 redef fun n_dotdot=(node)
5975 do
5976 _n_dotdot = node
5977 node.parent = self
5978 end
5979 redef fun n_expr2=(node)
5980 do
5981 _n_expr2 = node
5982 node.parent = self
5983 end
5984 redef fun n_cbra=(node)
5985 do
5986 _n_cbra = node
5987 node.parent = self
5988 end
5989 redef fun n_annotations=(node)
5990 do
5991 _n_annotations = node
5992 if node != null then node.parent = self
5993 end
5994
5995
5996 redef fun visit_all(v: Visitor)
5997 do
5998 v.enter_visit(_n_obra)
5999 v.enter_visit(_n_expr)
6000 v.enter_visit(_n_dotdot)
6001 v.enter_visit(_n_expr2)
6002 v.enter_visit(_n_cbra)
6003 v.enter_visit(_n_annotations)
6004 end
6005 end
6006 redef class AOrangeExpr
6007 init init_aorangeexpr (
6008 n_obra: nullable TObra,
6009 n_expr: nullable AExpr,
6010 n_dotdot: nullable TDotdot,
6011 n_expr2: nullable AExpr,
6012 n_cbra: nullable TObra,
6013 n_annotations: nullable AAnnotations
6014 )
6015 do
6016 _n_obra = n_obra.as(not null)
6017 n_obra.parent = self
6018 _n_expr = n_expr.as(not null)
6019 n_expr.parent = self
6020 _n_dotdot = n_dotdot.as(not null)
6021 n_dotdot.parent = self
6022 _n_expr2 = n_expr2.as(not null)
6023 n_expr2.parent = self
6024 _n_cbra = n_cbra.as(not null)
6025 n_cbra.parent = self
6026 _n_annotations = n_annotations
6027 if n_annotations != null then n_annotations.parent = self
6028 end
6029
6030 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6031 do
6032 if _n_obra == old_child then
6033 n_obra = new_child.as(TObra)
6034 return
6035 end
6036 if _n_expr == old_child then
6037 n_expr = new_child.as(AExpr)
6038 return
6039 end
6040 if _n_dotdot == old_child then
6041 n_dotdot = new_child.as(TDotdot)
6042 return
6043 end
6044 if _n_expr2 == old_child then
6045 n_expr2 = new_child.as(AExpr)
6046 return
6047 end
6048 if _n_cbra == old_child then
6049 n_cbra = new_child.as(TObra)
6050 return
6051 end
6052 if _n_annotations == old_child then
6053 n_annotations = new_child.as(nullable AAnnotations)
6054 return
6055 end
6056 end
6057
6058 redef fun n_obra=(node)
6059 do
6060 _n_obra = node
6061 node.parent = self
6062 end
6063 redef fun n_expr=(node)
6064 do
6065 _n_expr = node
6066 node.parent = self
6067 end
6068 redef fun n_dotdot=(node)
6069 do
6070 _n_dotdot = node
6071 node.parent = self
6072 end
6073 redef fun n_expr2=(node)
6074 do
6075 _n_expr2 = node
6076 node.parent = self
6077 end
6078 redef fun n_cbra=(node)
6079 do
6080 _n_cbra = node
6081 node.parent = self
6082 end
6083 redef fun n_annotations=(node)
6084 do
6085 _n_annotations = node
6086 if node != null then node.parent = self
6087 end
6088
6089
6090 redef fun visit_all(v: Visitor)
6091 do
6092 v.enter_visit(_n_obra)
6093 v.enter_visit(_n_expr)
6094 v.enter_visit(_n_dotdot)
6095 v.enter_visit(_n_expr2)
6096 v.enter_visit(_n_cbra)
6097 v.enter_visit(_n_annotations)
6098 end
6099 end
6100 redef class AArrayExpr
6101 init init_aarrayexpr (
6102 n_obra: nullable TObra,
6103 n_exprs: Collection[Object], # Should be Collection[AExpr]
6104 n_type: nullable AType,
6105 n_cbra: nullable TCbra,
6106 n_annotations: nullable AAnnotations
6107 )
6108 do
6109 _n_obra = n_obra.as(not null)
6110 n_obra.parent = self
6111 self.n_exprs.unsafe_add_all(n_exprs)
6112 _n_type = n_type
6113 if n_type != null then n_type.parent = self
6114 _n_cbra = n_cbra.as(not null)
6115 n_cbra.parent = self
6116 _n_annotations = n_annotations
6117 if n_annotations != null then n_annotations.parent = self
6118 end
6119
6120 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6121 do
6122 if _n_obra == old_child then
6123 n_obra = new_child.as(TObra)
6124 return
6125 end
6126 if n_exprs.replace_child(old_child, new_child) then return
6127 if _n_type == old_child then
6128 n_type = new_child.as(nullable AType)
6129 return
6130 end
6131 if _n_cbra == old_child then
6132 n_cbra = new_child.as(TCbra)
6133 return
6134 end
6135 if _n_annotations == old_child then
6136 n_annotations = new_child.as(nullable AAnnotations)
6137 return
6138 end
6139 end
6140
6141 redef fun n_obra=(node)
6142 do
6143 _n_obra = node
6144 node.parent = self
6145 end
6146 redef fun n_type=(node)
6147 do
6148 _n_type = node
6149 if node != null then node.parent = self
6150 end
6151 redef fun n_cbra=(node)
6152 do
6153 _n_cbra = node
6154 node.parent = self
6155 end
6156 redef fun n_annotations=(node)
6157 do
6158 _n_annotations = node
6159 if node != null then node.parent = self
6160 end
6161
6162
6163 redef fun visit_all(v: Visitor)
6164 do
6165 v.enter_visit(_n_obra)
6166 n_exprs.visit_all(v)
6167 v.enter_visit(_n_type)
6168 v.enter_visit(_n_cbra)
6169 v.enter_visit(_n_annotations)
6170 end
6171 end
6172 redef class ASelfExpr
6173 init init_aselfexpr (
6174 n_kwself: nullable TKwself,
6175 n_annotations: nullable AAnnotations
6176 )
6177 do
6178 _n_kwself = n_kwself.as(not null)
6179 n_kwself.parent = self
6180 _n_annotations = n_annotations
6181 if n_annotations != null then n_annotations.parent = self
6182 end
6183
6184 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6185 do
6186 if _n_kwself == old_child then
6187 n_kwself = new_child.as(TKwself)
6188 return
6189 end
6190 if _n_annotations == old_child then
6191 n_annotations = new_child.as(nullable AAnnotations)
6192 return
6193 end
6194 end
6195
6196 redef fun n_kwself=(node)
6197 do
6198 _n_kwself = node
6199 node.parent = self
6200 end
6201 redef fun n_annotations=(node)
6202 do
6203 _n_annotations = node
6204 if node != null then node.parent = self
6205 end
6206
6207
6208 redef fun visit_all(v: Visitor)
6209 do
6210 v.enter_visit(_n_kwself)
6211 v.enter_visit(_n_annotations)
6212 end
6213 end
6214 redef class AImplicitSelfExpr
6215 init init_aimplicitselfexpr
6216 do
6217 end
6218
6219 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6220 do
6221 end
6222
6223
6224
6225 redef fun visit_all(v: Visitor)
6226 do
6227 end
6228 end
6229 redef class ATrueExpr
6230 init init_atrueexpr (
6231 n_kwtrue: nullable TKwtrue,
6232 n_annotations: nullable AAnnotations
6233 )
6234 do
6235 _n_kwtrue = n_kwtrue.as(not null)
6236 n_kwtrue.parent = self
6237 _n_annotations = n_annotations
6238 if n_annotations != null then n_annotations.parent = self
6239 end
6240
6241 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6242 do
6243 if _n_kwtrue == old_child then
6244 n_kwtrue = new_child.as(TKwtrue)
6245 return
6246 end
6247 if _n_annotations == old_child then
6248 n_annotations = new_child.as(nullable AAnnotations)
6249 return
6250 end
6251 end
6252
6253 redef fun n_kwtrue=(node)
6254 do
6255 _n_kwtrue = node
6256 node.parent = self
6257 end
6258 redef fun n_annotations=(node)
6259 do
6260 _n_annotations = node
6261 if node != null then node.parent = self
6262 end
6263
6264
6265 redef fun visit_all(v: Visitor)
6266 do
6267 v.enter_visit(_n_kwtrue)
6268 v.enter_visit(_n_annotations)
6269 end
6270 end
6271 redef class AFalseExpr
6272 init init_afalseexpr (
6273 n_kwfalse: nullable TKwfalse,
6274 n_annotations: nullable AAnnotations
6275 )
6276 do
6277 _n_kwfalse = n_kwfalse.as(not null)
6278 n_kwfalse.parent = self
6279 _n_annotations = n_annotations
6280 if n_annotations != null then n_annotations.parent = self
6281 end
6282
6283 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6284 do
6285 if _n_kwfalse == old_child then
6286 n_kwfalse = new_child.as(TKwfalse)
6287 return
6288 end
6289 if _n_annotations == old_child then
6290 n_annotations = new_child.as(nullable AAnnotations)
6291 return
6292 end
6293 end
6294
6295 redef fun n_kwfalse=(node)
6296 do
6297 _n_kwfalse = node
6298 node.parent = self
6299 end
6300 redef fun n_annotations=(node)
6301 do
6302 _n_annotations = node
6303 if node != null then node.parent = self
6304 end
6305
6306
6307 redef fun visit_all(v: Visitor)
6308 do
6309 v.enter_visit(_n_kwfalse)
6310 v.enter_visit(_n_annotations)
6311 end
6312 end
6313 redef class ANullExpr
6314 init init_anullexpr (
6315 n_kwnull: nullable TKwnull,
6316 n_annotations: nullable AAnnotations
6317 )
6318 do
6319 _n_kwnull = n_kwnull.as(not null)
6320 n_kwnull.parent = self
6321 _n_annotations = n_annotations
6322 if n_annotations != null then n_annotations.parent = self
6323 end
6324
6325 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6326 do
6327 if _n_kwnull == old_child then
6328 n_kwnull = new_child.as(TKwnull)
6329 return
6330 end
6331 if _n_annotations == old_child then
6332 n_annotations = new_child.as(nullable AAnnotations)
6333 return
6334 end
6335 end
6336
6337 redef fun n_kwnull=(node)
6338 do
6339 _n_kwnull = node
6340 node.parent = self
6341 end
6342 redef fun n_annotations=(node)
6343 do
6344 _n_annotations = node
6345 if node != null then node.parent = self
6346 end
6347
6348
6349 redef fun visit_all(v: Visitor)
6350 do
6351 v.enter_visit(_n_kwnull)
6352 v.enter_visit(_n_annotations)
6353 end
6354 end
6355 redef class ADecIntExpr
6356 init init_adecintexpr (
6357 n_number: nullable TNumber,
6358 n_annotations: nullable AAnnotations
6359 )
6360 do
6361 _n_number = n_number.as(not null)
6362 n_number.parent = self
6363 _n_annotations = n_annotations
6364 if n_annotations != null then n_annotations.parent = self
6365 end
6366
6367 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6368 do
6369 if _n_number == old_child then
6370 n_number = new_child.as(TNumber)
6371 return
6372 end
6373 if _n_annotations == old_child then
6374 n_annotations = new_child.as(nullable AAnnotations)
6375 return
6376 end
6377 end
6378
6379 redef fun n_number=(node)
6380 do
6381 _n_number = node
6382 node.parent = self
6383 end
6384 redef fun n_annotations=(node)
6385 do
6386 _n_annotations = node
6387 if node != null then node.parent = self
6388 end
6389
6390
6391 redef fun visit_all(v: Visitor)
6392 do
6393 v.enter_visit(_n_number)
6394 v.enter_visit(_n_annotations)
6395 end
6396 end
6397 redef class AHexIntExpr
6398 init init_ahexintexpr (
6399 n_hex_number: nullable THexNumber,
6400 n_annotations: nullable AAnnotations
6401 )
6402 do
6403 _n_hex_number = n_hex_number.as(not null)
6404 n_hex_number.parent = self
6405 _n_annotations = n_annotations
6406 if n_annotations != null then n_annotations.parent = self
6407 end
6408
6409 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6410 do
6411 if _n_hex_number == old_child then
6412 n_hex_number = new_child.as(THexNumber)
6413 return
6414 end
6415 if _n_annotations == old_child then
6416 n_annotations = new_child.as(nullable AAnnotations)
6417 return
6418 end
6419 end
6420
6421 redef fun n_hex_number=(node)
6422 do
6423 _n_hex_number = node
6424 node.parent = self
6425 end
6426 redef fun n_annotations=(node)
6427 do
6428 _n_annotations = node
6429 if node != null then node.parent = self
6430 end
6431
6432
6433 redef fun visit_all(v: Visitor)
6434 do
6435 v.enter_visit(_n_hex_number)
6436 v.enter_visit(_n_annotations)
6437 end
6438 end
6439 redef class ABinIntExpr
6440 init init_abinintexpr (
6441 n_bin_number: nullable TBinNumber,
6442 n_annotations: nullable AAnnotations
6443 )
6444 do
6445 _n_bin_number = n_bin_number.as(not null)
6446 n_bin_number.parent = self
6447 _n_annotations = n_annotations
6448 if n_annotations != null then n_annotations.parent = self
6449 end
6450
6451 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6452 do
6453 if _n_bin_number == old_child then
6454 n_bin_number = new_child.as(TBinNumber)
6455 return
6456 end
6457 if _n_annotations == old_child then
6458 n_annotations = new_child.as(nullable AAnnotations)
6459 return
6460 end
6461 end
6462
6463 redef fun n_bin_number=(node)
6464 do
6465 _n_bin_number = node
6466 node.parent = self
6467 end
6468 redef fun n_annotations=(node)
6469 do
6470 _n_annotations = node
6471 if node != null then node.parent = self
6472 end
6473
6474
6475 redef fun visit_all(v: Visitor)
6476 do
6477 v.enter_visit(_n_bin_number)
6478 v.enter_visit(_n_annotations)
6479 end
6480 end
6481 redef class AOctIntExpr
6482 init init_aoctintexpr (
6483 n_oct_number: nullable TOctNumber,
6484 n_annotations: nullable AAnnotations
6485 )
6486 do
6487 _n_oct_number = n_oct_number.as(not null)
6488 n_oct_number.parent = self
6489 _n_annotations = n_annotations
6490 if n_annotations != null then n_annotations.parent = self
6491 end
6492
6493 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6494 do
6495 if _n_oct_number == old_child then
6496 n_oct_number = new_child.as(TOctNumber)
6497 return
6498 end
6499 if _n_annotations == old_child then
6500 n_annotations = new_child.as(nullable AAnnotations)
6501 return
6502 end
6503 end
6504
6505 redef fun n_oct_number=(node)
6506 do
6507 _n_oct_number = node
6508 node.parent = self
6509 end
6510 redef fun n_annotations=(node)
6511 do
6512 _n_annotations = node
6513 if node != null then node.parent = self
6514 end
6515
6516
6517 redef fun visit_all(v: Visitor)
6518 do
6519 v.enter_visit(_n_oct_number)
6520 v.enter_visit(_n_annotations)
6521 end
6522 end
6523 redef class AFloatExpr
6524 init init_afloatexpr (
6525 n_float: nullable TFloat,
6526 n_annotations: nullable AAnnotations
6527 )
6528 do
6529 _n_float = n_float.as(not null)
6530 n_float.parent = self
6531 _n_annotations = n_annotations
6532 if n_annotations != null then n_annotations.parent = self
6533 end
6534
6535 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6536 do
6537 if _n_float == old_child then
6538 n_float = new_child.as(TFloat)
6539 return
6540 end
6541 if _n_annotations == old_child then
6542 n_annotations = new_child.as(nullable AAnnotations)
6543 return
6544 end
6545 end
6546
6547 redef fun n_float=(node)
6548 do
6549 _n_float = node
6550 node.parent = self
6551 end
6552 redef fun n_annotations=(node)
6553 do
6554 _n_annotations = node
6555 if node != null then node.parent = self
6556 end
6557
6558
6559 redef fun visit_all(v: Visitor)
6560 do
6561 v.enter_visit(_n_float)
6562 v.enter_visit(_n_annotations)
6563 end
6564 end
6565 redef class ACharExpr
6566 init init_acharexpr (
6567 n_char: nullable TChar,
6568 n_annotations: nullable AAnnotations
6569 )
6570 do
6571 _n_char = n_char.as(not null)
6572 n_char.parent = self
6573 _n_annotations = n_annotations
6574 if n_annotations != null then n_annotations.parent = self
6575 end
6576
6577 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6578 do
6579 if _n_char == old_child then
6580 n_char = new_child.as(TChar)
6581 return
6582 end
6583 if _n_annotations == old_child then
6584 n_annotations = new_child.as(nullable AAnnotations)
6585 return
6586 end
6587 end
6588
6589 redef fun n_char=(node)
6590 do
6591 _n_char = node
6592 node.parent = self
6593 end
6594 redef fun n_annotations=(node)
6595 do
6596 _n_annotations = node
6597 if node != null then node.parent = self
6598 end
6599
6600
6601 redef fun visit_all(v: Visitor)
6602 do
6603 v.enter_visit(_n_char)
6604 v.enter_visit(_n_annotations)
6605 end
6606 end
6607 redef class AStringExpr
6608 init init_astringexpr (
6609 n_string: nullable TString,
6610 n_annotations: nullable AAnnotations
6611 )
6612 do
6613 _n_string = n_string.as(not null)
6614 n_string.parent = self
6615 _n_annotations = n_annotations
6616 if n_annotations != null then n_annotations.parent = self
6617 end
6618
6619 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6620 do
6621 if _n_string == old_child then
6622 n_string = new_child.as(TString)
6623 return
6624 end
6625 if _n_annotations == old_child then
6626 n_annotations = new_child.as(nullable AAnnotations)
6627 return
6628 end
6629 end
6630
6631 redef fun n_string=(node)
6632 do
6633 _n_string = node
6634 node.parent = self
6635 end
6636 redef fun n_annotations=(node)
6637 do
6638 _n_annotations = node
6639 if node != null then node.parent = self
6640 end
6641
6642
6643 redef fun visit_all(v: Visitor)
6644 do
6645 v.enter_visit(_n_string)
6646 v.enter_visit(_n_annotations)
6647 end
6648 end
6649 redef class AStartStringExpr
6650 init init_astartstringexpr (
6651 n_string: nullable TStartString
6652 )
6653 do
6654 _n_string = n_string.as(not null)
6655 n_string.parent = self
6656 end
6657
6658 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6659 do
6660 if _n_string == old_child then
6661 n_string = new_child.as(TStartString)
6662 return
6663 end
6664 end
6665
6666 redef fun n_string=(node)
6667 do
6668 _n_string = node
6669 node.parent = self
6670 end
6671
6672
6673 redef fun visit_all(v: Visitor)
6674 do
6675 v.enter_visit(_n_string)
6676 end
6677 end
6678 redef class AMidStringExpr
6679 init init_amidstringexpr (
6680 n_string: nullable TMidString
6681 )
6682 do
6683 _n_string = n_string.as(not null)
6684 n_string.parent = self
6685 end
6686
6687 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6688 do
6689 if _n_string == old_child then
6690 n_string = new_child.as(TMidString)
6691 return
6692 end
6693 end
6694
6695 redef fun n_string=(node)
6696 do
6697 _n_string = node
6698 node.parent = self
6699 end
6700
6701
6702 redef fun visit_all(v: Visitor)
6703 do
6704 v.enter_visit(_n_string)
6705 end
6706 end
6707 redef class AEndStringExpr
6708 init init_aendstringexpr (
6709 n_string: nullable TEndString
6710 )
6711 do
6712 _n_string = n_string.as(not null)
6713 n_string.parent = self
6714 end
6715
6716 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6717 do
6718 if _n_string == old_child then
6719 n_string = new_child.as(TEndString)
6720 return
6721 end
6722 end
6723
6724 redef fun n_string=(node)
6725 do
6726 _n_string = node
6727 node.parent = self
6728 end
6729
6730
6731 redef fun visit_all(v: Visitor)
6732 do
6733 v.enter_visit(_n_string)
6734 end
6735 end
6736 redef class ASuperstringExpr
6737 init init_asuperstringexpr (
6738 n_exprs: Collection[Object], # Should be Collection[AExpr]
6739 n_annotations: nullable AAnnotations
6740 )
6741 do
6742 self.n_exprs.unsafe_add_all(n_exprs)
6743 _n_annotations = n_annotations
6744 if n_annotations != null then n_annotations.parent = self
6745 end
6746
6747 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6748 do
6749 if n_exprs.replace_child(old_child, new_child) then return
6750 if _n_annotations == old_child then
6751 n_annotations = new_child.as(nullable AAnnotations)
6752 return
6753 end
6754 end
6755
6756 redef fun n_annotations=(node)
6757 do
6758 _n_annotations = node
6759 if node != null then node.parent = self
6760 end
6761
6762
6763 redef fun visit_all(v: Visitor)
6764 do
6765 n_exprs.visit_all(v)
6766 v.enter_visit(_n_annotations)
6767 end
6768 end
6769 redef class AParExpr
6770 init init_aparexpr (
6771 n_opar: nullable TOpar,
6772 n_expr: nullable AExpr,
6773 n_cpar: nullable TCpar,
6774 n_annotations: nullable AAnnotations
6775 )
6776 do
6777 _n_opar = n_opar.as(not null)
6778 n_opar.parent = self
6779 _n_expr = n_expr.as(not null)
6780 n_expr.parent = self
6781 _n_cpar = n_cpar.as(not null)
6782 n_cpar.parent = self
6783 _n_annotations = n_annotations
6784 if n_annotations != null then n_annotations.parent = self
6785 end
6786
6787 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6788 do
6789 if _n_opar == old_child then
6790 n_opar = new_child.as(TOpar)
6791 return
6792 end
6793 if _n_expr == old_child then
6794 n_expr = new_child.as(AExpr)
6795 return
6796 end
6797 if _n_cpar == old_child then
6798 n_cpar = new_child.as(TCpar)
6799 return
6800 end
6801 if _n_annotations == old_child then
6802 n_annotations = new_child.as(nullable AAnnotations)
6803 return
6804 end
6805 end
6806
6807 redef fun n_opar=(node)
6808 do
6809 _n_opar = node
6810 node.parent = self
6811 end
6812 redef fun n_expr=(node)
6813 do
6814 _n_expr = node
6815 node.parent = self
6816 end
6817 redef fun n_cpar=(node)
6818 do
6819 _n_cpar = node
6820 node.parent = self
6821 end
6822 redef fun n_annotations=(node)
6823 do
6824 _n_annotations = node
6825 if node != null then node.parent = self
6826 end
6827
6828
6829 redef fun visit_all(v: Visitor)
6830 do
6831 v.enter_visit(_n_opar)
6832 v.enter_visit(_n_expr)
6833 v.enter_visit(_n_cpar)
6834 v.enter_visit(_n_annotations)
6835 end
6836 end
6837 redef class AAsCastExpr
6838 init init_aascastexpr (
6839 n_expr: nullable AExpr,
6840 n_kwas: nullable TKwas,
6841 n_opar: nullable TOpar,
6842 n_type: nullable AType,
6843 n_cpar: nullable TCpar
6844 )
6845 do
6846 _n_expr = n_expr.as(not null)
6847 n_expr.parent = self
6848 _n_kwas = n_kwas.as(not null)
6849 n_kwas.parent = self
6850 _n_opar = n_opar
6851 if n_opar != null then n_opar.parent = self
6852 _n_type = n_type.as(not null)
6853 n_type.parent = self
6854 _n_cpar = n_cpar
6855 if n_cpar != null then n_cpar.parent = self
6856 end
6857
6858 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6859 do
6860 if _n_expr == old_child then
6861 n_expr = new_child.as(AExpr)
6862 return
6863 end
6864 if _n_kwas == old_child then
6865 n_kwas = new_child.as(TKwas)
6866 return
6867 end
6868 if _n_opar == old_child then
6869 n_opar = new_child.as(nullable TOpar)
6870 return
6871 end
6872 if _n_type == old_child then
6873 n_type = new_child.as(AType)
6874 return
6875 end
6876 if _n_cpar == old_child then
6877 n_cpar = new_child.as(nullable TCpar)
6878 return
6879 end
6880 end
6881
6882 redef fun n_expr=(node)
6883 do
6884 _n_expr = node
6885 node.parent = self
6886 end
6887 redef fun n_kwas=(node)
6888 do
6889 _n_kwas = node
6890 node.parent = self
6891 end
6892 redef fun n_opar=(node)
6893 do
6894 _n_opar = node
6895 if node != null then node.parent = self
6896 end
6897 redef fun n_type=(node)
6898 do
6899 _n_type = node
6900 node.parent = self
6901 end
6902 redef fun n_cpar=(node)
6903 do
6904 _n_cpar = node
6905 if node != null then node.parent = self
6906 end
6907
6908
6909 redef fun visit_all(v: Visitor)
6910 do
6911 v.enter_visit(_n_expr)
6912 v.enter_visit(_n_kwas)
6913 v.enter_visit(_n_opar)
6914 v.enter_visit(_n_type)
6915 v.enter_visit(_n_cpar)
6916 end
6917 end
6918 redef class AAsNotnullExpr
6919 init init_aasnotnullexpr (
6920 n_expr: nullable AExpr,
6921 n_kwas: nullable TKwas,
6922 n_opar: nullable TOpar,
6923 n_kwnot: nullable TKwnot,
6924 n_kwnull: nullable TKwnull,
6925 n_cpar: nullable TCpar
6926 )
6927 do
6928 _n_expr = n_expr.as(not null)
6929 n_expr.parent = self
6930 _n_kwas = n_kwas.as(not null)
6931 n_kwas.parent = self
6932 _n_opar = n_opar
6933 if n_opar != null then n_opar.parent = self
6934 _n_kwnot = n_kwnot.as(not null)
6935 n_kwnot.parent = self
6936 _n_kwnull = n_kwnull.as(not null)
6937 n_kwnull.parent = self
6938 _n_cpar = n_cpar
6939 if n_cpar != null then n_cpar.parent = self
6940 end
6941
6942 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6943 do
6944 if _n_expr == old_child then
6945 n_expr = new_child.as(AExpr)
6946 return
6947 end
6948 if _n_kwas == old_child then
6949 n_kwas = new_child.as(TKwas)
6950 return
6951 end
6952 if _n_opar == old_child then
6953 n_opar = new_child.as(nullable TOpar)
6954 return
6955 end
6956 if _n_kwnot == old_child then
6957 n_kwnot = new_child.as(TKwnot)
6958 return
6959 end
6960 if _n_kwnull == old_child then
6961 n_kwnull = new_child.as(TKwnull)
6962 return
6963 end
6964 if _n_cpar == old_child then
6965 n_cpar = new_child.as(nullable TCpar)
6966 return
6967 end
6968 end
6969
6970 redef fun n_expr=(node)
6971 do
6972 _n_expr = node
6973 node.parent = self
6974 end
6975 redef fun n_kwas=(node)
6976 do
6977 _n_kwas = node
6978 node.parent = self
6979 end
6980 redef fun n_opar=(node)
6981 do
6982 _n_opar = node
6983 if node != null then node.parent = self
6984 end
6985 redef fun n_kwnot=(node)
6986 do
6987 _n_kwnot = node
6988 node.parent = self
6989 end
6990 redef fun n_kwnull=(node)
6991 do
6992 _n_kwnull = node
6993 node.parent = self
6994 end
6995 redef fun n_cpar=(node)
6996 do
6997 _n_cpar = node
6998 if node != null then node.parent = self
6999 end
7000
7001
7002 redef fun visit_all(v: Visitor)
7003 do
7004 v.enter_visit(_n_expr)
7005 v.enter_visit(_n_kwas)
7006 v.enter_visit(_n_opar)
7007 v.enter_visit(_n_kwnot)
7008 v.enter_visit(_n_kwnull)
7009 v.enter_visit(_n_cpar)
7010 end
7011 end
7012 redef class AIssetAttrExpr
7013 init init_aissetattrexpr (
7014 n_kwisset: nullable TKwisset,
7015 n_expr: nullable AExpr,
7016 n_id: nullable TAttrid
7017 )
7018 do
7019 _n_kwisset = n_kwisset.as(not null)
7020 n_kwisset.parent = self
7021 _n_expr = n_expr.as(not null)
7022 n_expr.parent = self
7023 _n_id = n_id.as(not null)
7024 n_id.parent = self
7025 end
7026
7027 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7028 do
7029 if _n_kwisset == old_child then
7030 n_kwisset = new_child.as(TKwisset)
7031 return
7032 end
7033 if _n_expr == old_child then
7034 n_expr = new_child.as(AExpr)
7035 return
7036 end
7037 if _n_id == old_child then
7038 n_id = new_child.as(TAttrid)
7039 return
7040 end
7041 end
7042
7043 redef fun n_kwisset=(node)
7044 do
7045 _n_kwisset = node
7046 node.parent = self
7047 end
7048 redef fun n_expr=(node)
7049 do
7050 _n_expr = node
7051 node.parent = self
7052 end
7053 redef fun n_id=(node)
7054 do
7055 _n_id = node
7056 node.parent = self
7057 end
7058
7059
7060 redef fun visit_all(v: Visitor)
7061 do
7062 v.enter_visit(_n_kwisset)
7063 v.enter_visit(_n_expr)
7064 v.enter_visit(_n_id)
7065 end
7066 end
7067 redef class ADebugTypeExpr
7068 init init_adebugtypeexpr (
7069 n_kwdebug: nullable TKwdebug,
7070 n_kwtype: nullable TKwtype,
7071 n_expr: nullable AExpr,
7072 n_type: nullable AType
7073 )
7074 do
7075 _n_kwdebug = n_kwdebug.as(not null)
7076 n_kwdebug.parent = self
7077 _n_kwtype = n_kwtype.as(not null)
7078 n_kwtype.parent = self
7079 _n_expr = n_expr.as(not null)
7080 n_expr.parent = self
7081 _n_type = n_type.as(not null)
7082 n_type.parent = self
7083 end
7084
7085 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7086 do
7087 if _n_kwdebug == old_child then
7088 n_kwdebug = new_child.as(TKwdebug)
7089 return
7090 end
7091 if _n_kwtype == old_child then
7092 n_kwtype = new_child.as(TKwtype)
7093 return
7094 end
7095 if _n_expr == old_child then
7096 n_expr = new_child.as(AExpr)
7097 return
7098 end
7099 if _n_type == old_child then
7100 n_type = new_child.as(AType)
7101 return
7102 end
7103 end
7104
7105 redef fun n_kwdebug=(node)
7106 do
7107 _n_kwdebug = node
7108 node.parent = self
7109 end
7110 redef fun n_kwtype=(node)
7111 do
7112 _n_kwtype = node
7113 node.parent = self
7114 end
7115 redef fun n_expr=(node)
7116 do
7117 _n_expr = node
7118 node.parent = self
7119 end
7120 redef fun n_type=(node)
7121 do
7122 _n_type = node
7123 node.parent = self
7124 end
7125
7126
7127 redef fun visit_all(v: Visitor)
7128 do
7129 v.enter_visit(_n_kwdebug)
7130 v.enter_visit(_n_kwtype)
7131 v.enter_visit(_n_expr)
7132 v.enter_visit(_n_type)
7133 end
7134 end
7135 redef class AVarargExpr
7136 init init_avarargexpr (
7137 n_expr: nullable AExpr,
7138 n_dotdotdot: nullable TDotdotdot
7139 )
7140 do
7141 _n_expr = n_expr.as(not null)
7142 n_expr.parent = self
7143 _n_dotdotdot = n_dotdotdot.as(not null)
7144 n_dotdotdot.parent = self
7145 end
7146
7147 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7148 do
7149 if _n_expr == old_child then
7150 n_expr = new_child.as(AExpr)
7151 return
7152 end
7153 if _n_dotdotdot == old_child then
7154 n_dotdotdot = new_child.as(TDotdotdot)
7155 return
7156 end
7157 end
7158
7159 redef fun n_expr=(node)
7160 do
7161 _n_expr = node
7162 node.parent = self
7163 end
7164 redef fun n_dotdotdot=(node)
7165 do
7166 _n_dotdotdot = node
7167 node.parent = self
7168 end
7169
7170
7171 redef fun visit_all(v: Visitor)
7172 do
7173 v.enter_visit(_n_expr)
7174 v.enter_visit(_n_dotdotdot)
7175 end
7176 end
7177 redef class ANamedargExpr
7178 init init_anamedargexpr (
7179 n_id: nullable TId,
7180 n_assign: nullable TAssign,
7181 n_expr: nullable AExpr
7182 )
7183 do
7184 _n_id = n_id.as(not null)
7185 n_id.parent = self
7186 _n_assign = n_assign.as(not null)
7187 n_assign.parent = self
7188 _n_expr = n_expr.as(not null)
7189 n_expr.parent = self
7190 end
7191
7192 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7193 do
7194 if _n_id == old_child then
7195 n_id = new_child.as(TId)
7196 return
7197 end
7198 if _n_assign == old_child then
7199 n_assign = new_child.as(TAssign)
7200 return
7201 end
7202 if _n_expr == old_child then
7203 n_expr = new_child.as(AExpr)
7204 return
7205 end
7206 end
7207
7208 redef fun n_id=(node)
7209 do
7210 _n_id = node
7211 node.parent = self
7212 end
7213 redef fun n_assign=(node)
7214 do
7215 _n_assign = node
7216 node.parent = self
7217 end
7218 redef fun n_expr=(node)
7219 do
7220 _n_expr = node
7221 node.parent = self
7222 end
7223
7224
7225 redef fun visit_all(v: Visitor)
7226 do
7227 v.enter_visit(_n_id)
7228 v.enter_visit(_n_assign)
7229 v.enter_visit(_n_expr)
7230 end
7231 end
7232 redef class ATypeExpr
7233 init init_atypeexpr (
7234 n_type: nullable AType
7235 )
7236 do
7237 _n_type = n_type.as(not null)
7238 n_type.parent = self
7239 end
7240
7241 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7242 do
7243 if _n_type == old_child then
7244 n_type = new_child.as(AType)
7245 return
7246 end
7247 end
7248
7249 redef fun n_type=(node)
7250 do
7251 _n_type = node
7252 node.parent = self
7253 end
7254
7255
7256 redef fun visit_all(v: Visitor)
7257 do
7258 v.enter_visit(_n_type)
7259 end
7260 end
7261 redef class AMethidExpr
7262 init init_amethidexpr (
7263 n_expr: nullable AExpr,
7264 n_id: nullable AMethid
7265 )
7266 do
7267 _n_expr = n_expr.as(not null)
7268 n_expr.parent = self
7269 _n_id = n_id.as(not null)
7270 n_id.parent = self
7271 end
7272
7273 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7274 do
7275 if _n_expr == old_child then
7276 n_expr = new_child.as(AExpr)
7277 return
7278 end
7279 if _n_id == old_child then
7280 n_id = new_child.as(AMethid)
7281 return
7282 end
7283 end
7284
7285 redef fun n_expr=(node)
7286 do
7287 _n_expr = node
7288 node.parent = self
7289 end
7290 redef fun n_id=(node)
7291 do
7292 _n_id = node
7293 node.parent = self
7294 end
7295
7296
7297 redef fun visit_all(v: Visitor)
7298 do
7299 v.enter_visit(_n_expr)
7300 v.enter_visit(_n_id)
7301 end
7302 end
7303 redef class AAtExpr
7304 init init_aatexpr (
7305 n_annotations: nullable AAnnotations
7306 )
7307 do
7308 _n_annotations = n_annotations.as(not null)
7309 n_annotations.parent = self
7310 end
7311
7312 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7313 do
7314 if _n_annotations == old_child then
7315 n_annotations = new_child.as(AAnnotations)
7316 return
7317 end
7318 end
7319
7320 redef fun n_annotations=(node)
7321 do
7322 _n_annotations = node
7323 node.parent = self
7324 end
7325
7326
7327 redef fun visit_all(v: Visitor)
7328 do
7329 v.enter_visit(_n_annotations)
7330 end
7331 end
7332 redef class AManyExpr
7333 init init_amanyexpr (
7334 n_exprs: Collection[Object] # Should be Collection[AExpr]
7335 )
7336 do
7337 self.n_exprs.unsafe_add_all(n_exprs)
7338 end
7339
7340 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7341 do
7342 if n_exprs.replace_child(old_child, new_child) then return
7343 end
7344
7345
7346
7347 redef fun visit_all(v: Visitor)
7348 do
7349 n_exprs.visit_all(v)
7350 end
7351 end
7352 redef class AListExprs
7353 init init_alistexprs (
7354 n_exprs: Collection[Object] # Should be Collection[AExpr]
7355 )
7356 do
7357 self.n_exprs.unsafe_add_all(n_exprs)
7358 end
7359
7360 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7361 do
7362 if n_exprs.replace_child(old_child, new_child) then return
7363 end
7364
7365
7366
7367 redef fun visit_all(v: Visitor)
7368 do
7369 n_exprs.visit_all(v)
7370 end
7371 end
7372 redef class AParExprs
7373 init init_aparexprs (
7374 n_opar: nullable TOpar,
7375 n_exprs: Collection[Object], # Should be Collection[AExpr]
7376 n_cpar: nullable TCpar
7377 )
7378 do
7379 _n_opar = n_opar.as(not null)
7380 n_opar.parent = self
7381 self.n_exprs.unsafe_add_all(n_exprs)
7382 _n_cpar = n_cpar.as(not null)
7383 n_cpar.parent = self
7384 end
7385
7386 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7387 do
7388 if _n_opar == old_child then
7389 n_opar = new_child.as(TOpar)
7390 return
7391 end
7392 if n_exprs.replace_child(old_child, new_child) then return
7393 if _n_cpar == old_child then
7394 n_cpar = new_child.as(TCpar)
7395 return
7396 end
7397 end
7398
7399 redef fun n_opar=(node)
7400 do
7401 _n_opar = node
7402 node.parent = self
7403 end
7404 redef fun n_cpar=(node)
7405 do
7406 _n_cpar = node
7407 node.parent = self
7408 end
7409
7410
7411 redef fun visit_all(v: Visitor)
7412 do
7413 v.enter_visit(_n_opar)
7414 n_exprs.visit_all(v)
7415 v.enter_visit(_n_cpar)
7416 end
7417 end
7418 redef class ABraExprs
7419 init init_abraexprs (
7420 n_obra: nullable TObra,
7421 n_exprs: Collection[Object], # Should be Collection[AExpr]
7422 n_cbra: nullable TCbra
7423 )
7424 do
7425 _n_obra = n_obra.as(not null)
7426 n_obra.parent = self
7427 self.n_exprs.unsafe_add_all(n_exprs)
7428 _n_cbra = n_cbra.as(not null)
7429 n_cbra.parent = self
7430 end
7431
7432 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7433 do
7434 if _n_obra == old_child then
7435 n_obra = new_child.as(TObra)
7436 return
7437 end
7438 if n_exprs.replace_child(old_child, new_child) then return
7439 if _n_cbra == old_child then
7440 n_cbra = new_child.as(TCbra)
7441 return
7442 end
7443 end
7444
7445 redef fun n_obra=(node)
7446 do
7447 _n_obra = node
7448 node.parent = self
7449 end
7450 redef fun n_cbra=(node)
7451 do
7452 _n_cbra = node
7453 node.parent = self
7454 end
7455
7456
7457 redef fun visit_all(v: Visitor)
7458 do
7459 v.enter_visit(_n_obra)
7460 n_exprs.visit_all(v)
7461 v.enter_visit(_n_cbra)
7462 end
7463 end
7464 redef class APlusAssignOp
7465 init init_aplusassignop (
7466 n_op: nullable TPluseq
7467 )
7468 do
7469 _n_op = n_op.as(not null)
7470 n_op.parent = self
7471 end
7472
7473 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7474 do
7475 if _n_op == old_child then
7476 n_op = new_child.as(TPluseq)
7477 return
7478 end
7479 end
7480
7481 redef fun n_op=(node)
7482 do
7483 _n_op = node
7484 node.parent = self
7485 end
7486
7487
7488 redef fun visit_all(v: Visitor)
7489 do
7490 v.enter_visit(_n_op)
7491 end
7492 end
7493 redef class AMinusAssignOp
7494 init init_aminusassignop (
7495 n_op: nullable TMinuseq
7496 )
7497 do
7498 _n_op = n_op.as(not null)
7499 n_op.parent = self
7500 end
7501
7502 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7503 do
7504 if _n_op == old_child then
7505 n_op = new_child.as(TMinuseq)
7506 return
7507 end
7508 end
7509
7510 redef fun n_op=(node)
7511 do
7512 _n_op = node
7513 node.parent = self
7514 end
7515
7516
7517 redef fun visit_all(v: Visitor)
7518 do
7519 v.enter_visit(_n_op)
7520 end
7521 end
7522 redef class AStarAssignOp
7523 init init_astarassignop (
7524 n_op: nullable TStareq
7525 )
7526 do
7527 _n_op = n_op.as(not null)
7528 n_op.parent = self
7529 end
7530
7531 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7532 do
7533 if _n_op == old_child then
7534 n_op = new_child.as(TStareq)
7535 return
7536 end
7537 end
7538
7539 redef fun n_op=(node)
7540 do
7541 _n_op = node
7542 node.parent = self
7543 end
7544
7545
7546 redef fun visit_all(v: Visitor)
7547 do
7548 v.enter_visit(_n_op)
7549 end
7550 end
7551 redef class ASlashAssignOp
7552 init init_aslashassignop (
7553 n_op: nullable TSlasheq
7554 )
7555 do
7556 _n_op = n_op.as(not null)
7557 n_op.parent = self
7558 end
7559
7560 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7561 do
7562 if _n_op == old_child then
7563 n_op = new_child.as(TSlasheq)
7564 return
7565 end
7566 end
7567
7568 redef fun n_op=(node)
7569 do
7570 _n_op = node
7571 node.parent = self
7572 end
7573
7574
7575 redef fun visit_all(v: Visitor)
7576 do
7577 v.enter_visit(_n_op)
7578 end
7579 end
7580 redef class APercentAssignOp
7581 init init_apercentassignop (
7582 n_op: nullable TPercenteq
7583 )
7584 do
7585 _n_op = n_op.as(not null)
7586 n_op.parent = self
7587 end
7588
7589 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7590 do
7591 if _n_op == old_child then
7592 n_op = new_child.as(TPercenteq)
7593 return
7594 end
7595 end
7596
7597 redef fun n_op=(node)
7598 do
7599 _n_op = node
7600 node.parent = self
7601 end
7602
7603
7604 redef fun visit_all(v: Visitor)
7605 do
7606 v.enter_visit(_n_op)
7607 end
7608 end
7609 redef class AStarstarAssignOp
7610 init init_astarstarassignop (
7611 n_op: nullable TStarstareq
7612 )
7613 do
7614 _n_op = n_op.as(not null)
7615 n_op.parent = self
7616 end
7617
7618 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7619 do
7620 if _n_op == old_child then
7621 n_op = new_child.as(TStarstareq)
7622 return
7623 end
7624 end
7625
7626 redef fun n_op=(node)
7627 do
7628 _n_op = node
7629 node.parent = self
7630 end
7631
7632
7633 redef fun visit_all(v: Visitor)
7634 do
7635 v.enter_visit(_n_op)
7636 end
7637 end
7638 redef class APipeAssignOp
7639 init init_apipeassignop (
7640 n_op: nullable TPipeeq
7641 )
7642 do
7643 _n_op = n_op.as(not null)
7644 n_op.parent = self
7645 end
7646
7647 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7648 do
7649 if _n_op == old_child then
7650 n_op = new_child.as(TPipeeq)
7651 return
7652 end
7653 end
7654
7655 redef fun n_op=(node)
7656 do
7657 _n_op = node
7658 node.parent = self
7659 end
7660
7661
7662 redef fun visit_all(v: Visitor)
7663 do
7664 v.enter_visit(_n_op)
7665 end
7666 end
7667 redef class ACaretAssignOp
7668 init init_acaretassignop (
7669 n_op: nullable TCareteq
7670 )
7671 do
7672 _n_op = n_op.as(not null)
7673 n_op.parent = self
7674 end
7675
7676 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7677 do
7678 if _n_op == old_child then
7679 n_op = new_child.as(TCareteq)
7680 return
7681 end
7682 end
7683
7684 redef fun n_op=(node)
7685 do
7686 _n_op = node
7687 node.parent = self
7688 end
7689
7690
7691 redef fun visit_all(v: Visitor)
7692 do
7693 v.enter_visit(_n_op)
7694 end
7695 end
7696 redef class AAmpAssignOp
7697 init init_aampassignop (
7698 n_op: nullable TAmpeq
7699 )
7700 do
7701 _n_op = n_op.as(not null)
7702 n_op.parent = self
7703 end
7704
7705 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7706 do
7707 if _n_op == old_child then
7708 n_op = new_child.as(TAmpeq)
7709 return
7710 end
7711 end
7712
7713 redef fun n_op=(node)
7714 do
7715 _n_op = node
7716 node.parent = self
7717 end
7718
7719
7720 redef fun visit_all(v: Visitor)
7721 do
7722 v.enter_visit(_n_op)
7723 end
7724 end
7725 redef class ALlAssignOp
7726 init init_allassignop (
7727 n_op: nullable TLleq
7728 )
7729 do
7730 _n_op = n_op.as(not null)
7731 n_op.parent = self
7732 end
7733
7734 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7735 do
7736 if _n_op == old_child then
7737 n_op = new_child.as(TLleq)
7738 return
7739 end
7740 end
7741
7742 redef fun n_op=(node)
7743 do
7744 _n_op = node
7745 node.parent = self
7746 end
7747
7748
7749 redef fun visit_all(v: Visitor)
7750 do
7751 v.enter_visit(_n_op)
7752 end
7753 end
7754 redef class AGgAssignOp
7755 init init_aggassignop (
7756 n_op: nullable TGgeq
7757 )
7758 do
7759 _n_op = n_op.as(not null)
7760 n_op.parent = self
7761 end
7762
7763 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7764 do
7765 if _n_op == old_child then
7766 n_op = new_child.as(TGgeq)
7767 return
7768 end
7769 end
7770
7771 redef fun n_op=(node)
7772 do
7773 _n_op = node
7774 node.parent = self
7775 end
7776
7777
7778 redef fun visit_all(v: Visitor)
7779 do
7780 v.enter_visit(_n_op)
7781 end
7782 end
7783 redef class AModuleName
7784 init init_amodulename (
7785 n_quad: nullable TQuad,
7786 n_path: Collection[Object], # Should be Collection[TId]
7787 n_id: nullable TId
7788 )
7789 do
7790 _n_quad = n_quad
7791 if n_quad != null then n_quad.parent = self
7792 self.n_path.unsafe_add_all(n_path)
7793 _n_id = n_id.as(not null)
7794 n_id.parent = self
7795 end
7796
7797 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7798 do
7799 if _n_quad == old_child then
7800 n_quad = new_child.as(nullable TQuad)
7801 return
7802 end
7803 if n_path.replace_child(old_child, new_child) then return
7804 if _n_id == old_child then
7805 n_id = new_child.as(TId)
7806 return
7807 end
7808 end
7809
7810 redef fun n_quad=(node)
7811 do
7812 _n_quad = node
7813 if node != null then node.parent = self
7814 end
7815 redef fun n_id=(node)
7816 do
7817 _n_id = node
7818 node.parent = self
7819 end
7820
7821
7822 redef fun visit_all(v: Visitor)
7823 do
7824 v.enter_visit(_n_quad)
7825 n_path.visit_all(v)
7826 v.enter_visit(_n_id)
7827 end
7828 end
7829 redef class AExternCalls
7830 init init_aexterncalls (
7831 n_kwimport: nullable TKwimport,
7832 n_extern_calls: Collection[Object] # Should be Collection[AExternCall]
7833 )
7834 do
7835 _n_kwimport = n_kwimport.as(not null)
7836 n_kwimport.parent = self
7837 self.n_extern_calls.unsafe_add_all(n_extern_calls)
7838 end
7839
7840 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7841 do
7842 if _n_kwimport == old_child then
7843 n_kwimport = new_child.as(TKwimport)
7844 return
7845 end
7846 if n_extern_calls.replace_child(old_child, new_child) then return
7847 end
7848
7849 redef fun n_kwimport=(node)
7850 do
7851 _n_kwimport = node
7852 node.parent = self
7853 end
7854
7855
7856 redef fun visit_all(v: Visitor)
7857 do
7858 v.enter_visit(_n_kwimport)
7859 n_extern_calls.visit_all(v)
7860 end
7861 end
7862 redef class AExternCall
7863 init init_aexterncall
7864 do
7865 end
7866
7867 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7868 do
7869 end
7870
7871
7872
7873 redef fun visit_all(v: Visitor)
7874 do
7875 end
7876 end
7877 redef class ASuperExternCall
7878 init init_asuperexterncall (
7879 n_kwsuper: nullable TKwsuper
7880 )
7881 do
7882 _n_kwsuper = n_kwsuper.as(not null)
7883 n_kwsuper.parent = self
7884 end
7885
7886 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7887 do
7888 if _n_kwsuper == old_child then
7889 n_kwsuper = new_child.as(TKwsuper)
7890 return
7891 end
7892 end
7893
7894 redef fun n_kwsuper=(node)
7895 do
7896 _n_kwsuper = node
7897 node.parent = self
7898 end
7899
7900
7901 redef fun visit_all(v: Visitor)
7902 do
7903 v.enter_visit(_n_kwsuper)
7904 end
7905 end
7906 redef class ALocalPropExternCall
7907 init init_alocalpropexterncall (
7908 n_methid: nullable AMethid
7909 )
7910 do
7911 _n_methid = n_methid.as(not null)
7912 n_methid.parent = self
7913 end
7914
7915 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7916 do
7917 if _n_methid == old_child then
7918 n_methid = new_child.as(AMethid)
7919 return
7920 end
7921 end
7922
7923 redef fun n_methid=(node)
7924 do
7925 _n_methid = node
7926 node.parent = self
7927 end
7928
7929
7930 redef fun visit_all(v: Visitor)
7931 do
7932 v.enter_visit(_n_methid)
7933 end
7934 end
7935 redef class AFullPropExternCall
7936 init init_afullpropexterncall (
7937 n_type: nullable AType,
7938 n_dot: nullable TDot,
7939 n_methid: nullable AMethid
7940 )
7941 do
7942 _n_type = n_type.as(not null)
7943 n_type.parent = self
7944 _n_dot = n_dot
7945 if n_dot != null then n_dot.parent = self
7946 _n_methid = n_methid.as(not null)
7947 n_methid.parent = self
7948 end
7949
7950 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7951 do
7952 if _n_type == old_child then
7953 n_type = new_child.as(AType)
7954 return
7955 end
7956 if _n_dot == old_child then
7957 n_dot = new_child.as(nullable TDot)
7958 return
7959 end
7960 if _n_methid == old_child then
7961 n_methid = new_child.as(AMethid)
7962 return
7963 end
7964 end
7965
7966 redef fun n_type=(node)
7967 do
7968 _n_type = node
7969 node.parent = self
7970 end
7971 redef fun n_dot=(node)
7972 do
7973 _n_dot = node
7974 if node != null then node.parent = self
7975 end
7976 redef fun n_methid=(node)
7977 do
7978 _n_methid = node
7979 node.parent = self
7980 end
7981
7982
7983 redef fun visit_all(v: Visitor)
7984 do
7985 v.enter_visit(_n_type)
7986 v.enter_visit(_n_dot)
7987 v.enter_visit(_n_methid)
7988 end
7989 end
7990 redef class AInitPropExternCall
7991 init init_ainitpropexterncall (
7992 n_type: nullable AType
7993 )
7994 do
7995 _n_type = n_type.as(not null)
7996 n_type.parent = self
7997 end
7998
7999 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8000 do
8001 if _n_type == old_child then
8002 n_type = new_child.as(AType)
8003 return
8004 end
8005 end
8006
8007 redef fun n_type=(node)
8008 do
8009 _n_type = node
8010 node.parent = self
8011 end
8012
8013
8014 redef fun visit_all(v: Visitor)
8015 do
8016 v.enter_visit(_n_type)
8017 end
8018 end
8019 redef class ACastAsExternCall
8020 init init_acastasexterncall (
8021 n_from_type: nullable AType,
8022 n_dot: nullable TDot,
8023 n_kwas: nullable TKwas,
8024 n_to_type: nullable AType
8025 )
8026 do
8027 _n_from_type = n_from_type.as(not null)
8028 n_from_type.parent = self
8029 _n_dot = n_dot
8030 if n_dot != null then n_dot.parent = self
8031 _n_kwas = n_kwas.as(not null)
8032 n_kwas.parent = self
8033 _n_to_type = n_to_type.as(not null)
8034 n_to_type.parent = self
8035 end
8036
8037 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8038 do
8039 if _n_from_type == old_child then
8040 n_from_type = new_child.as(AType)
8041 return
8042 end
8043 if _n_dot == old_child then
8044 n_dot = new_child.as(nullable TDot)
8045 return
8046 end
8047 if _n_kwas == old_child then
8048 n_kwas = new_child.as(TKwas)
8049 return
8050 end
8051 if _n_to_type == old_child then
8052 n_to_type = new_child.as(AType)
8053 return
8054 end
8055 end
8056
8057 redef fun n_from_type=(node)
8058 do
8059 _n_from_type = node
8060 node.parent = self
8061 end
8062 redef fun n_dot=(node)
8063 do
8064 _n_dot = node
8065 if node != null then node.parent = self
8066 end
8067 redef fun n_kwas=(node)
8068 do
8069 _n_kwas = node
8070 node.parent = self
8071 end
8072 redef fun n_to_type=(node)
8073 do
8074 _n_to_type = node
8075 node.parent = self
8076 end
8077
8078
8079 redef fun visit_all(v: Visitor)
8080 do
8081 v.enter_visit(_n_from_type)
8082 v.enter_visit(_n_dot)
8083 v.enter_visit(_n_kwas)
8084 v.enter_visit(_n_to_type)
8085 end
8086 end
8087 redef class AAsNullableExternCall
8088 init init_aasnullableexterncall (
8089 n_type: nullable AType,
8090 n_kwas: nullable TKwas,
8091 n_kwnullable: nullable TKwnullable
8092 )
8093 do
8094 _n_type = n_type.as(not null)
8095 n_type.parent = self
8096 _n_kwas = n_kwas.as(not null)
8097 n_kwas.parent = self
8098 _n_kwnullable = n_kwnullable.as(not null)
8099 n_kwnullable.parent = self
8100 end
8101
8102 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8103 do
8104 if _n_type == old_child then
8105 n_type = new_child.as(AType)
8106 return
8107 end
8108 if _n_kwas == old_child then
8109 n_kwas = new_child.as(TKwas)
8110 return
8111 end
8112 if _n_kwnullable == old_child then
8113 n_kwnullable = new_child.as(TKwnullable)
8114 return
8115 end
8116 end
8117
8118 redef fun n_type=(node)
8119 do
8120 _n_type = node
8121 node.parent = self
8122 end
8123 redef fun n_kwas=(node)
8124 do
8125 _n_kwas = node
8126 node.parent = self
8127 end
8128 redef fun n_kwnullable=(node)
8129 do
8130 _n_kwnullable = node
8131 node.parent = self
8132 end
8133
8134
8135 redef fun visit_all(v: Visitor)
8136 do
8137 v.enter_visit(_n_type)
8138 v.enter_visit(_n_kwas)
8139 v.enter_visit(_n_kwnullable)
8140 end
8141 end
8142 redef class AAsNotNullableExternCall
8143 init init_aasnotnullableexterncall (
8144 n_type: nullable AType,
8145 n_kwas: nullable TKwas,
8146 n_kwnot: nullable TKwnot,
8147 n_kwnullable: nullable TKwnullable
8148 )
8149 do
8150 _n_type = n_type.as(not null)
8151 n_type.parent = self
8152 _n_kwas = n_kwas.as(not null)
8153 n_kwas.parent = self
8154 _n_kwnot = n_kwnot.as(not null)
8155 n_kwnot.parent = self
8156 _n_kwnullable = n_kwnullable.as(not null)
8157 n_kwnullable.parent = self
8158 end
8159
8160 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8161 do
8162 if _n_type == old_child then
8163 n_type = new_child.as(AType)
8164 return
8165 end
8166 if _n_kwas == old_child then
8167 n_kwas = new_child.as(TKwas)
8168 return
8169 end
8170 if _n_kwnot == old_child then
8171 n_kwnot = new_child.as(TKwnot)
8172 return
8173 end
8174 if _n_kwnullable == old_child then
8175 n_kwnullable = new_child.as(TKwnullable)
8176 return
8177 end
8178 end
8179
8180 redef fun n_type=(node)
8181 do
8182 _n_type = node
8183 node.parent = self
8184 end
8185 redef fun n_kwas=(node)
8186 do
8187 _n_kwas = node
8188 node.parent = self
8189 end
8190 redef fun n_kwnot=(node)
8191 do
8192 _n_kwnot = node
8193 node.parent = self
8194 end
8195 redef fun n_kwnullable=(node)
8196 do
8197 _n_kwnullable = node
8198 node.parent = self
8199 end
8200
8201
8202 redef fun visit_all(v: Visitor)
8203 do
8204 v.enter_visit(_n_type)
8205 v.enter_visit(_n_kwas)
8206 v.enter_visit(_n_kwnot)
8207 v.enter_visit(_n_kwnullable)
8208 end
8209 end
8210 redef class AInLanguage
8211 init init_ainlanguage (
8212 n_kwin: nullable TKwin,
8213 n_string: nullable TString
8214 )
8215 do
8216 _n_kwin = n_kwin.as(not null)
8217 n_kwin.parent = self
8218 _n_string = n_string.as(not null)
8219 n_string.parent = self
8220 end
8221
8222 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8223 do
8224 if _n_kwin == old_child then
8225 n_kwin = new_child.as(TKwin)
8226 return
8227 end
8228 if _n_string == old_child then
8229 n_string = new_child.as(TString)
8230 return
8231 end
8232 end
8233
8234 redef fun n_kwin=(node)
8235 do
8236 _n_kwin = node
8237 node.parent = self
8238 end
8239 redef fun n_string=(node)
8240 do
8241 _n_string = node
8242 node.parent = self
8243 end
8244
8245
8246 redef fun visit_all(v: Visitor)
8247 do
8248 v.enter_visit(_n_kwin)
8249 v.enter_visit(_n_string)
8250 end
8251 end
8252 redef class AExternCodeBlock
8253 init init_aexterncodeblock (
8254 n_in_language: nullable AInLanguage,
8255 n_extern_code_segment: nullable TExternCodeSegment
8256 )
8257 do
8258 _n_in_language = n_in_language
8259 if n_in_language != null then n_in_language.parent = self
8260 _n_extern_code_segment = n_extern_code_segment.as(not null)
8261 n_extern_code_segment.parent = self
8262 end
8263
8264 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8265 do
8266 if _n_in_language == old_child then
8267 n_in_language = new_child.as(nullable AInLanguage)
8268 return
8269 end
8270 if _n_extern_code_segment == old_child then
8271 n_extern_code_segment = new_child.as(TExternCodeSegment)
8272 return
8273 end
8274 end
8275
8276 redef fun n_in_language=(node)
8277 do
8278 _n_in_language = node
8279 if node != null then node.parent = self
8280 end
8281 redef fun n_extern_code_segment=(node)
8282 do
8283 _n_extern_code_segment = node
8284 node.parent = self
8285 end
8286
8287
8288 redef fun visit_all(v: Visitor)
8289 do
8290 v.enter_visit(_n_in_language)
8291 v.enter_visit(_n_extern_code_segment)
8292 end
8293 end
8294 redef class AQualified
8295 init init_aqualified (
8296 n_id: Collection[Object], # Should be Collection[TId]
8297 n_classid: nullable TClassid
8298 )
8299 do
8300 self.n_id.unsafe_add_all(n_id)
8301 _n_classid = n_classid
8302 if n_classid != null then n_classid.parent = self
8303 end
8304
8305 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8306 do
8307 if n_id.replace_child(old_child, new_child) then return
8308 if _n_classid == old_child then
8309 n_classid = new_child.as(nullable TClassid)
8310 return
8311 end
8312 end
8313
8314 redef fun n_classid=(node)
8315 do
8316 _n_classid = node
8317 if node != null then node.parent = self
8318 end
8319
8320
8321 redef fun visit_all(v: Visitor)
8322 do
8323 n_id.visit_all(v)
8324 v.enter_visit(_n_classid)
8325 end
8326 end
8327 redef class ADoc
8328 init init_adoc (
8329 n_comment: Collection[Object] # Should be Collection[TComment]
8330 )
8331 do
8332 self.n_comment.unsafe_add_all(n_comment)
8333 end
8334
8335 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8336 do
8337 if n_comment.replace_child(old_child, new_child) then return
8338 end
8339
8340
8341
8342 redef fun visit_all(v: Visitor)
8343 do
8344 n_comment.visit_all(v)
8345 end
8346 end
8347 redef class AAnnotations
8348 init init_aannotations (
8349 n_kwis: nullable TKwis,
8350 n_at: nullable TAt,
8351 n_opar: nullable TOpar,
8352 n_items: Collection[Object], # Should be Collection[AAnnotation]
8353 n_cpar: nullable TCpar,
8354 n_kwend: nullable TKwend
8355 )
8356 do
8357 _n_kwis = n_kwis
8358 if n_kwis != null then n_kwis.parent = self
8359 _n_at = n_at
8360 if n_at != null then n_at.parent = self
8361 _n_opar = n_opar
8362 if n_opar != null then n_opar.parent = self
8363 self.n_items.unsafe_add_all(n_items)
8364 _n_cpar = n_cpar
8365 if n_cpar != null then n_cpar.parent = self
8366 _n_kwend = n_kwend
8367 if n_kwend != null then n_kwend.parent = self
8368 end
8369
8370 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8371 do
8372 if _n_kwis == old_child then
8373 n_kwis = new_child.as(nullable TKwis)
8374 return
8375 end
8376 if _n_at == old_child then
8377 n_at = new_child.as(nullable TAt)
8378 return
8379 end
8380 if _n_opar == old_child then
8381 n_opar = new_child.as(nullable TOpar)
8382 return
8383 end
8384 if n_items.replace_child(old_child, new_child) then return
8385 if _n_cpar == old_child then
8386 n_cpar = new_child.as(nullable TCpar)
8387 return
8388 end
8389 if _n_kwend == old_child then
8390 n_kwend = new_child.as(nullable TKwend)
8391 return
8392 end
8393 end
8394
8395 redef fun n_kwis=(node)
8396 do
8397 _n_kwis = node
8398 if node != null then node.parent = self
8399 end
8400 redef fun n_at=(node)
8401 do
8402 _n_at = node
8403 if node != null then node.parent = self
8404 end
8405 redef fun n_opar=(node)
8406 do
8407 _n_opar = node
8408 if node != null then node.parent = self
8409 end
8410 redef fun n_cpar=(node)
8411 do
8412 _n_cpar = node
8413 if node != null then node.parent = self
8414 end
8415 redef fun n_kwend=(node)
8416 do
8417 _n_kwend = node
8418 if node != null then node.parent = self
8419 end
8420
8421
8422 redef fun visit_all(v: Visitor)
8423 do
8424 v.enter_visit(_n_kwis)
8425 v.enter_visit(_n_at)
8426 v.enter_visit(_n_opar)
8427 n_items.visit_all(v)
8428 v.enter_visit(_n_cpar)
8429 v.enter_visit(_n_kwend)
8430 end
8431 end
8432 redef class AAnnotation
8433 init init_aannotation (
8434 n_doc: nullable ADoc,
8435 n_kwredef: nullable TKwredef,
8436 n_visibility: nullable AVisibility,
8437 n_atid: nullable AAtid,
8438 n_opar: nullable TOpar,
8439 n_args: Collection[Object], # Should be Collection[AExpr]
8440 n_cpar: nullable TCpar,
8441 n_annotations: nullable AAnnotations
8442 )
8443 do
8444 _n_doc = n_doc
8445 if n_doc != null then n_doc.parent = self
8446 _n_kwredef = n_kwredef
8447 if n_kwredef != null then n_kwredef.parent = self
8448 _n_visibility = n_visibility
8449 if n_visibility != null then n_visibility.parent = self
8450 _n_atid = n_atid.as(not null)
8451 n_atid.parent = self
8452 _n_opar = n_opar
8453 if n_opar != null then n_opar.parent = self
8454 self.n_args.unsafe_add_all(n_args)
8455 _n_cpar = n_cpar
8456 if n_cpar != null then n_cpar.parent = self
8457 _n_annotations = n_annotations
8458 if n_annotations != null then n_annotations.parent = self
8459 end
8460
8461 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8462 do
8463 if _n_doc == old_child then
8464 n_doc = new_child.as(nullable ADoc)
8465 return
8466 end
8467 if _n_kwredef == old_child then
8468 n_kwredef = new_child.as(nullable TKwredef)
8469 return
8470 end
8471 if _n_visibility == old_child then
8472 n_visibility = new_child.as(nullable AVisibility)
8473 return
8474 end
8475 if _n_atid == old_child then
8476 n_atid = new_child.as(AAtid)
8477 return
8478 end
8479 if _n_opar == old_child then
8480 n_opar = new_child.as(nullable TOpar)
8481 return
8482 end
8483 if n_args.replace_child(old_child, new_child) then return
8484 if _n_cpar == old_child then
8485 n_cpar = new_child.as(nullable TCpar)
8486 return
8487 end
8488 if _n_annotations == old_child then
8489 n_annotations = new_child.as(nullable AAnnotations)
8490 return
8491 end
8492 end
8493
8494 redef fun n_doc=(node)
8495 do
8496 _n_doc = node
8497 if node != null then node.parent = self
8498 end
8499 redef fun n_kwredef=(node)
8500 do
8501 _n_kwredef = node
8502 if node != null then node.parent = self
8503 end
8504 redef fun n_visibility=(node)
8505 do
8506 _n_visibility = node
8507 if node != null then node.parent = self
8508 end
8509 redef fun n_atid=(node)
8510 do
8511 _n_atid = node
8512 node.parent = self
8513 end
8514 redef fun n_opar=(node)
8515 do
8516 _n_opar = node
8517 if node != null then node.parent = self
8518 end
8519 redef fun n_cpar=(node)
8520 do
8521 _n_cpar = node
8522 if node != null then node.parent = self
8523 end
8524 redef fun n_annotations=(node)
8525 do
8526 _n_annotations = node
8527 if node != null then node.parent = self
8528 end
8529
8530
8531 redef fun visit_all(v: Visitor)
8532 do
8533 v.enter_visit(_n_doc)
8534 v.enter_visit(_n_kwredef)
8535 v.enter_visit(_n_visibility)
8536 v.enter_visit(_n_atid)
8537 v.enter_visit(_n_opar)
8538 n_args.visit_all(v)
8539 v.enter_visit(_n_cpar)
8540 v.enter_visit(_n_annotations)
8541 end
8542 end
8543 redef class AIdAtid
8544 init init_aidatid (
8545 n_id: nullable TId
8546 )
8547 do
8548 _n_id = n_id.as(not null)
8549 n_id.parent = self
8550 end
8551
8552 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8553 do
8554 if _n_id == old_child then
8555 n_id = new_child.as(TId)
8556 return
8557 end
8558 end
8559
8560 redef fun n_id=(node)
8561 do
8562 _n_id = node
8563 node.parent = self
8564 end
8565
8566
8567 redef fun visit_all(v: Visitor)
8568 do
8569 v.enter_visit(_n_id)
8570 end
8571 end
8572 redef class AKwexternAtid
8573 init init_akwexternatid (
8574 n_id: nullable TKwextern
8575 )
8576 do
8577 _n_id = n_id.as(not null)
8578 n_id.parent = self
8579 end
8580
8581 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8582 do
8583 if _n_id == old_child then
8584 n_id = new_child.as(TKwextern)
8585 return
8586 end
8587 end
8588
8589 redef fun n_id=(node)
8590 do
8591 _n_id = node
8592 node.parent = self
8593 end
8594
8595
8596 redef fun visit_all(v: Visitor)
8597 do
8598 v.enter_visit(_n_id)
8599 end
8600 end
8601 redef class AKwabstractAtid
8602 init init_akwabstractatid (
8603 n_id: nullable TKwabstract
8604 )
8605 do
8606 _n_id = n_id.as(not null)
8607 n_id.parent = self
8608 end
8609
8610 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8611 do
8612 if _n_id == old_child then
8613 n_id = new_child.as(TKwabstract)
8614 return
8615 end
8616 end
8617
8618 redef fun n_id=(node)
8619 do
8620 _n_id = node
8621 node.parent = self
8622 end
8623
8624
8625 redef fun visit_all(v: Visitor)
8626 do
8627 v.enter_visit(_n_id)
8628 end
8629 end
8630 redef class AKwimportAtid
8631 init init_akwimportatid (
8632 n_id: nullable TKwimport
8633 )
8634 do
8635 _n_id = n_id.as(not null)
8636 n_id.parent = self
8637 end
8638
8639 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8640 do
8641 if _n_id == old_child then
8642 n_id = new_child.as(TKwimport)
8643 return
8644 end
8645 end
8646
8647 redef fun n_id=(node)
8648 do
8649 _n_id = node
8650 node.parent = self
8651 end
8652
8653
8654 redef fun visit_all(v: Visitor)
8655 do
8656 v.enter_visit(_n_id)
8657 end
8658 end
8659
8660 redef class Start
8661 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8662 do
8663 if _n_base == old_child then
8664 if new_child == null then
8665 else
8666 new_child.parent = self
8667 assert new_child isa AModule
8668 _n_base = new_child
8669 end
8670 old_child.parent = null
8671 return
8672 end
8673 end
8674
8675 redef fun visit_all(v: Visitor)
8676 do
8677 if _n_base != null then
8678 v.enter_visit(_n_base.as(not null))
8679 end
8680 v.enter_visit(_n_eof)
8681 end
8682 end