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