parser: regenerate with callrefs
[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 AParExpr
6880 init init_aparexpr (
6881 n_opar: nullable TOpar,
6882 n_expr: nullable AExpr,
6883 n_cpar: nullable TCpar,
6884 n_annotations: nullable AAnnotations
6885 )
6886 do
6887 _n_opar = n_opar.as(not null)
6888 n_opar.parent = self
6889 _n_expr = n_expr.as(not null)
6890 n_expr.parent = self
6891 _n_cpar = n_cpar.as(not null)
6892 n_cpar.parent = self
6893 _n_annotations = n_annotations
6894 if n_annotations != null then n_annotations.parent = self
6895 end
6896
6897 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6898 do
6899 if _n_opar == old_child then
6900 n_opar = new_child.as(TOpar)
6901 return
6902 end
6903 if _n_expr == old_child then
6904 n_expr = new_child.as(AExpr)
6905 return
6906 end
6907 if _n_cpar == old_child then
6908 n_cpar = new_child.as(TCpar)
6909 return
6910 end
6911 if _n_annotations == old_child then
6912 n_annotations = new_child.as(nullable AAnnotations)
6913 return
6914 end
6915 end
6916
6917 redef fun n_opar=(node)
6918 do
6919 _n_opar = node
6920 node.parent = self
6921 end
6922 redef fun n_expr=(node)
6923 do
6924 _n_expr = node
6925 node.parent = self
6926 end
6927 redef fun n_cpar=(node)
6928 do
6929 _n_cpar = node
6930 node.parent = self
6931 end
6932 redef fun n_annotations=(node)
6933 do
6934 _n_annotations = node
6935 if node != null then node.parent = self
6936 end
6937
6938
6939 redef fun visit_all(v: Visitor)
6940 do
6941 v.enter_visit(_n_opar)
6942 v.enter_visit(_n_expr)
6943 v.enter_visit(_n_cpar)
6944 v.enter_visit(_n_annotations)
6945 end
6946 end
6947 redef class AAsCastExpr
6948 init init_aascastexpr (
6949 n_expr: nullable AExpr,
6950 n_kwas: nullable TKwas,
6951 n_opar: nullable TOpar,
6952 n_type: nullable AType,
6953 n_cpar: nullable TCpar
6954 )
6955 do
6956 _n_expr = n_expr.as(not null)
6957 n_expr.parent = self
6958 _n_kwas = n_kwas.as(not null)
6959 n_kwas.parent = self
6960 _n_opar = n_opar
6961 if n_opar != null then n_opar.parent = self
6962 _n_type = n_type.as(not null)
6963 n_type.parent = self
6964 _n_cpar = n_cpar
6965 if n_cpar != null then n_cpar.parent = self
6966 end
6967
6968 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6969 do
6970 if _n_expr == old_child then
6971 n_expr = new_child.as(AExpr)
6972 return
6973 end
6974 if _n_kwas == old_child then
6975 n_kwas = new_child.as(TKwas)
6976 return
6977 end
6978 if _n_opar == old_child then
6979 n_opar = new_child.as(nullable TOpar)
6980 return
6981 end
6982 if _n_type == old_child then
6983 n_type = new_child.as(AType)
6984 return
6985 end
6986 if _n_cpar == old_child then
6987 n_cpar = new_child.as(nullable TCpar)
6988 return
6989 end
6990 end
6991
6992 redef fun n_expr=(node)
6993 do
6994 _n_expr = node
6995 node.parent = self
6996 end
6997 redef fun n_kwas=(node)
6998 do
6999 _n_kwas = node
7000 node.parent = self
7001 end
7002 redef fun n_opar=(node)
7003 do
7004 _n_opar = node
7005 if node != null then node.parent = self
7006 end
7007 redef fun n_type=(node)
7008 do
7009 _n_type = node
7010 node.parent = self
7011 end
7012 redef fun n_cpar=(node)
7013 do
7014 _n_cpar = node
7015 if node != null then node.parent = self
7016 end
7017
7018
7019 redef fun visit_all(v: Visitor)
7020 do
7021 v.enter_visit(_n_expr)
7022 v.enter_visit(_n_kwas)
7023 v.enter_visit(_n_opar)
7024 v.enter_visit(_n_type)
7025 v.enter_visit(_n_cpar)
7026 end
7027 end
7028 redef class AAsNotnullExpr
7029 init init_aasnotnullexpr (
7030 n_expr: nullable AExpr,
7031 n_kwas: nullable TKwas,
7032 n_opar: nullable TOpar,
7033 n_kwnot: nullable TKwnot,
7034 n_kwnull: nullable TKwnull,
7035 n_cpar: nullable TCpar
7036 )
7037 do
7038 _n_expr = n_expr.as(not null)
7039 n_expr.parent = self
7040 _n_kwas = n_kwas.as(not null)
7041 n_kwas.parent = self
7042 _n_opar = n_opar
7043 if n_opar != null then n_opar.parent = self
7044 _n_kwnot = n_kwnot.as(not null)
7045 n_kwnot.parent = self
7046 _n_kwnull = n_kwnull.as(not null)
7047 n_kwnull.parent = self
7048 _n_cpar = n_cpar
7049 if n_cpar != null then n_cpar.parent = self
7050 end
7051
7052 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7053 do
7054 if _n_expr == old_child then
7055 n_expr = new_child.as(AExpr)
7056 return
7057 end
7058 if _n_kwas == old_child then
7059 n_kwas = new_child.as(TKwas)
7060 return
7061 end
7062 if _n_opar == old_child then
7063 n_opar = new_child.as(nullable TOpar)
7064 return
7065 end
7066 if _n_kwnot == old_child then
7067 n_kwnot = new_child.as(TKwnot)
7068 return
7069 end
7070 if _n_kwnull == old_child then
7071 n_kwnull = new_child.as(TKwnull)
7072 return
7073 end
7074 if _n_cpar == old_child then
7075 n_cpar = new_child.as(nullable TCpar)
7076 return
7077 end
7078 end
7079
7080 redef fun n_expr=(node)
7081 do
7082 _n_expr = node
7083 node.parent = self
7084 end
7085 redef fun n_kwas=(node)
7086 do
7087 _n_kwas = node
7088 node.parent = self
7089 end
7090 redef fun n_opar=(node)
7091 do
7092 _n_opar = node
7093 if node != null then node.parent = self
7094 end
7095 redef fun n_kwnot=(node)
7096 do
7097 _n_kwnot = node
7098 node.parent = self
7099 end
7100 redef fun n_kwnull=(node)
7101 do
7102 _n_kwnull = node
7103 node.parent = self
7104 end
7105 redef fun n_cpar=(node)
7106 do
7107 _n_cpar = node
7108 if node != null then node.parent = self
7109 end
7110
7111
7112 redef fun visit_all(v: Visitor)
7113 do
7114 v.enter_visit(_n_expr)
7115 v.enter_visit(_n_kwas)
7116 v.enter_visit(_n_opar)
7117 v.enter_visit(_n_kwnot)
7118 v.enter_visit(_n_kwnull)
7119 v.enter_visit(_n_cpar)
7120 end
7121 end
7122 redef class AIssetAttrExpr
7123 init init_aissetattrexpr (
7124 n_kwisset: nullable TKwisset,
7125 n_expr: nullable AExpr,
7126 n_id: nullable TAttrid
7127 )
7128 do
7129 _n_kwisset = n_kwisset.as(not null)
7130 n_kwisset.parent = self
7131 _n_expr = n_expr.as(not null)
7132 n_expr.parent = self
7133 _n_id = n_id.as(not null)
7134 n_id.parent = self
7135 end
7136
7137 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7138 do
7139 if _n_kwisset == old_child then
7140 n_kwisset = new_child.as(TKwisset)
7141 return
7142 end
7143 if _n_expr == old_child then
7144 n_expr = new_child.as(AExpr)
7145 return
7146 end
7147 if _n_id == old_child then
7148 n_id = new_child.as(TAttrid)
7149 return
7150 end
7151 end
7152
7153 redef fun n_kwisset=(node)
7154 do
7155 _n_kwisset = node
7156 node.parent = self
7157 end
7158 redef fun n_expr=(node)
7159 do
7160 _n_expr = node
7161 node.parent = self
7162 end
7163 redef fun n_id=(node)
7164 do
7165 _n_id = node
7166 node.parent = self
7167 end
7168
7169
7170 redef fun visit_all(v: Visitor)
7171 do
7172 v.enter_visit(_n_kwisset)
7173 v.enter_visit(_n_expr)
7174 v.enter_visit(_n_id)
7175 end
7176 end
7177 redef class ADebugTypeExpr
7178 init init_adebugtypeexpr (
7179 n_kwdebug: nullable TKwdebug,
7180 n_kwtype: nullable TKwtype,
7181 n_expr: nullable AExpr,
7182 n_type: nullable AType
7183 )
7184 do
7185 _n_kwdebug = n_kwdebug.as(not null)
7186 n_kwdebug.parent = self
7187 _n_kwtype = n_kwtype.as(not null)
7188 n_kwtype.parent = self
7189 _n_expr = n_expr.as(not null)
7190 n_expr.parent = self
7191 _n_type = n_type.as(not null)
7192 n_type.parent = self
7193 end
7194
7195 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7196 do
7197 if _n_kwdebug == old_child then
7198 n_kwdebug = new_child.as(TKwdebug)
7199 return
7200 end
7201 if _n_kwtype == old_child then
7202 n_kwtype = new_child.as(TKwtype)
7203 return
7204 end
7205 if _n_expr == old_child then
7206 n_expr = new_child.as(AExpr)
7207 return
7208 end
7209 if _n_type == old_child then
7210 n_type = new_child.as(AType)
7211 return
7212 end
7213 end
7214
7215 redef fun n_kwdebug=(node)
7216 do
7217 _n_kwdebug = node
7218 node.parent = self
7219 end
7220 redef fun n_kwtype=(node)
7221 do
7222 _n_kwtype = node
7223 node.parent = self
7224 end
7225 redef fun n_expr=(node)
7226 do
7227 _n_expr = node
7228 node.parent = self
7229 end
7230 redef fun n_type=(node)
7231 do
7232 _n_type = node
7233 node.parent = self
7234 end
7235
7236
7237 redef fun visit_all(v: Visitor)
7238 do
7239 v.enter_visit(_n_kwdebug)
7240 v.enter_visit(_n_kwtype)
7241 v.enter_visit(_n_expr)
7242 v.enter_visit(_n_type)
7243 end
7244 end
7245 redef class AVarargExpr
7246 init init_avarargexpr (
7247 n_expr: nullable AExpr,
7248 n_dotdotdot: nullable TDotdotdot
7249 )
7250 do
7251 _n_expr = n_expr.as(not null)
7252 n_expr.parent = self
7253 _n_dotdotdot = n_dotdotdot.as(not null)
7254 n_dotdotdot.parent = self
7255 end
7256
7257 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7258 do
7259 if _n_expr == old_child then
7260 n_expr = new_child.as(AExpr)
7261 return
7262 end
7263 if _n_dotdotdot == old_child then
7264 n_dotdotdot = new_child.as(TDotdotdot)
7265 return
7266 end
7267 end
7268
7269 redef fun n_expr=(node)
7270 do
7271 _n_expr = node
7272 node.parent = self
7273 end
7274 redef fun n_dotdotdot=(node)
7275 do
7276 _n_dotdotdot = node
7277 node.parent = self
7278 end
7279
7280
7281 redef fun visit_all(v: Visitor)
7282 do
7283 v.enter_visit(_n_expr)
7284 v.enter_visit(_n_dotdotdot)
7285 end
7286 end
7287 redef class ANamedargExpr
7288 init init_anamedargexpr (
7289 n_id: nullable TId,
7290 n_assign: nullable TAssign,
7291 n_expr: nullable AExpr
7292 )
7293 do
7294 _n_id = n_id.as(not null)
7295 n_id.parent = self
7296 _n_assign = n_assign.as(not null)
7297 n_assign.parent = self
7298 _n_expr = n_expr.as(not null)
7299 n_expr.parent = self
7300 end
7301
7302 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7303 do
7304 if _n_id == old_child then
7305 n_id = new_child.as(TId)
7306 return
7307 end
7308 if _n_assign == old_child then
7309 n_assign = new_child.as(TAssign)
7310 return
7311 end
7312 if _n_expr == old_child then
7313 n_expr = new_child.as(AExpr)
7314 return
7315 end
7316 end
7317
7318 redef fun n_id=(node)
7319 do
7320 _n_id = node
7321 node.parent = self
7322 end
7323 redef fun n_assign=(node)
7324 do
7325 _n_assign = node
7326 node.parent = self
7327 end
7328 redef fun n_expr=(node)
7329 do
7330 _n_expr = node
7331 node.parent = self
7332 end
7333
7334
7335 redef fun visit_all(v: Visitor)
7336 do
7337 v.enter_visit(_n_id)
7338 v.enter_visit(_n_assign)
7339 v.enter_visit(_n_expr)
7340 end
7341 end
7342 redef class ASafeExpr
7343 init init_asafeexpr (
7344 n_expr: nullable AExpr,
7345 n_quest: nullable TQuest
7346 )
7347 do
7348 _n_expr = n_expr.as(not null)
7349 n_expr.parent = self
7350 _n_quest = n_quest.as(not null)
7351 n_quest.parent = self
7352 end
7353
7354 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7355 do
7356 if _n_expr == old_child then
7357 n_expr = new_child.as(AExpr)
7358 return
7359 end
7360 if _n_quest == old_child then
7361 n_quest = new_child.as(TQuest)
7362 return
7363 end
7364 end
7365
7366 redef fun n_expr=(node)
7367 do
7368 _n_expr = node
7369 node.parent = self
7370 end
7371 redef fun n_quest=(node)
7372 do
7373 _n_quest = node
7374 node.parent = self
7375 end
7376
7377
7378 redef fun visit_all(v: Visitor)
7379 do
7380 v.enter_visit(_n_expr)
7381 v.enter_visit(_n_quest)
7382 end
7383 end
7384 redef class ATypeExpr
7385 init init_atypeexpr (
7386 n_type: nullable AType
7387 )
7388 do
7389 _n_type = n_type.as(not null)
7390 n_type.parent = self
7391 end
7392
7393 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7394 do
7395 if _n_type == old_child then
7396 n_type = new_child.as(AType)
7397 return
7398 end
7399 end
7400
7401 redef fun n_type=(node)
7402 do
7403 _n_type = node
7404 node.parent = self
7405 end
7406
7407
7408 redef fun visit_all(v: Visitor)
7409 do
7410 v.enter_visit(_n_type)
7411 end
7412 end
7413 redef class AMethidExpr
7414 init init_amethidexpr (
7415 n_expr: nullable AExpr,
7416 n_id: nullable AMethid
7417 )
7418 do
7419 _n_expr = n_expr.as(not null)
7420 n_expr.parent = self
7421 _n_id = n_id.as(not null)
7422 n_id.parent = self
7423 end
7424
7425 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7426 do
7427 if _n_expr == old_child then
7428 n_expr = new_child.as(AExpr)
7429 return
7430 end
7431 if _n_id == old_child then
7432 n_id = new_child.as(AMethid)
7433 return
7434 end
7435 end
7436
7437 redef fun n_expr=(node)
7438 do
7439 _n_expr = node
7440 node.parent = self
7441 end
7442 redef fun n_id=(node)
7443 do
7444 _n_id = node
7445 node.parent = self
7446 end
7447
7448
7449 redef fun visit_all(v: Visitor)
7450 do
7451 v.enter_visit(_n_expr)
7452 v.enter_visit(_n_id)
7453 end
7454 end
7455 redef class AAtExpr
7456 init init_aatexpr (
7457 n_annotations: nullable AAnnotations
7458 )
7459 do
7460 _n_annotations = n_annotations.as(not null)
7461 n_annotations.parent = self
7462 end
7463
7464 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7465 do
7466 if _n_annotations == old_child then
7467 n_annotations = new_child.as(AAnnotations)
7468 return
7469 end
7470 end
7471
7472 redef fun n_annotations=(node)
7473 do
7474 _n_annotations = node
7475 node.parent = self
7476 end
7477
7478
7479 redef fun visit_all(v: Visitor)
7480 do
7481 v.enter_visit(_n_annotations)
7482 end
7483 end
7484 redef class AManyExpr
7485 init init_amanyexpr (
7486 n_exprs: Collection[Object] # Should be Collection[AExpr]
7487 )
7488 do
7489 self.n_exprs.unsafe_add_all(n_exprs)
7490 end
7491
7492 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7493 do
7494 if n_exprs.replace_child(old_child, new_child) then return
7495 end
7496
7497
7498
7499 redef fun visit_all(v: Visitor)
7500 do
7501 n_exprs.visit_all(v)
7502 end
7503 end
7504 redef class AListExprs
7505 init init_alistexprs (
7506 n_exprs: Collection[Object] # Should be Collection[AExpr]
7507 )
7508 do
7509 self.n_exprs.unsafe_add_all(n_exprs)
7510 end
7511
7512 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7513 do
7514 if n_exprs.replace_child(old_child, new_child) then return
7515 end
7516
7517
7518
7519 redef fun visit_all(v: Visitor)
7520 do
7521 n_exprs.visit_all(v)
7522 end
7523 end
7524 redef class AParExprs
7525 init init_aparexprs (
7526 n_opar: nullable TOpar,
7527 n_exprs: Collection[Object], # Should be Collection[AExpr]
7528 n_cpar: nullable TCpar
7529 )
7530 do
7531 _n_opar = n_opar.as(not null)
7532 n_opar.parent = self
7533 self.n_exprs.unsafe_add_all(n_exprs)
7534 _n_cpar = n_cpar.as(not null)
7535 n_cpar.parent = self
7536 end
7537
7538 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7539 do
7540 if _n_opar == old_child then
7541 n_opar = new_child.as(TOpar)
7542 return
7543 end
7544 if n_exprs.replace_child(old_child, new_child) then return
7545 if _n_cpar == old_child then
7546 n_cpar = new_child.as(TCpar)
7547 return
7548 end
7549 end
7550
7551 redef fun n_opar=(node)
7552 do
7553 _n_opar = node
7554 node.parent = self
7555 end
7556 redef fun n_cpar=(node)
7557 do
7558 _n_cpar = node
7559 node.parent = self
7560 end
7561
7562
7563 redef fun visit_all(v: Visitor)
7564 do
7565 v.enter_visit(_n_opar)
7566 n_exprs.visit_all(v)
7567 v.enter_visit(_n_cpar)
7568 end
7569 end
7570 redef class ABraExprs
7571 init init_abraexprs (
7572 n_obra: nullable TObra,
7573 n_exprs: Collection[Object], # Should be Collection[AExpr]
7574 n_cbra: nullable TCbra
7575 )
7576 do
7577 _n_obra = n_obra.as(not null)
7578 n_obra.parent = self
7579 self.n_exprs.unsafe_add_all(n_exprs)
7580 _n_cbra = n_cbra.as(not null)
7581 n_cbra.parent = self
7582 end
7583
7584 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7585 do
7586 if _n_obra == old_child then
7587 n_obra = new_child.as(TObra)
7588 return
7589 end
7590 if n_exprs.replace_child(old_child, new_child) then return
7591 if _n_cbra == old_child then
7592 n_cbra = new_child.as(TCbra)
7593 return
7594 end
7595 end
7596
7597 redef fun n_obra=(node)
7598 do
7599 _n_obra = node
7600 node.parent = self
7601 end
7602 redef fun n_cbra=(node)
7603 do
7604 _n_cbra = node
7605 node.parent = self
7606 end
7607
7608
7609 redef fun visit_all(v: Visitor)
7610 do
7611 v.enter_visit(_n_obra)
7612 n_exprs.visit_all(v)
7613 v.enter_visit(_n_cbra)
7614 end
7615 end
7616 redef class APlusAssignOp
7617 init init_aplusassignop (
7618 n_op: nullable TPluseq
7619 )
7620 do
7621 _n_op = n_op.as(not null)
7622 n_op.parent = self
7623 end
7624
7625 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7626 do
7627 if _n_op == old_child then
7628 n_op = new_child.as(TPluseq)
7629 return
7630 end
7631 end
7632
7633 redef fun n_op=(node)
7634 do
7635 _n_op = node
7636 node.parent = self
7637 end
7638
7639
7640 redef fun visit_all(v: Visitor)
7641 do
7642 v.enter_visit(_n_op)
7643 end
7644 end
7645 redef class AMinusAssignOp
7646 init init_aminusassignop (
7647 n_op: nullable TMinuseq
7648 )
7649 do
7650 _n_op = n_op.as(not null)
7651 n_op.parent = self
7652 end
7653
7654 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7655 do
7656 if _n_op == old_child then
7657 n_op = new_child.as(TMinuseq)
7658 return
7659 end
7660 end
7661
7662 redef fun n_op=(node)
7663 do
7664 _n_op = node
7665 node.parent = self
7666 end
7667
7668
7669 redef fun visit_all(v: Visitor)
7670 do
7671 v.enter_visit(_n_op)
7672 end
7673 end
7674 redef class AStarAssignOp
7675 init init_astarassignop (
7676 n_op: nullable TStareq
7677 )
7678 do
7679 _n_op = n_op.as(not null)
7680 n_op.parent = self
7681 end
7682
7683 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7684 do
7685 if _n_op == old_child then
7686 n_op = new_child.as(TStareq)
7687 return
7688 end
7689 end
7690
7691 redef fun n_op=(node)
7692 do
7693 _n_op = node
7694 node.parent = self
7695 end
7696
7697
7698 redef fun visit_all(v: Visitor)
7699 do
7700 v.enter_visit(_n_op)
7701 end
7702 end
7703 redef class ASlashAssignOp
7704 init init_aslashassignop (
7705 n_op: nullable TSlasheq
7706 )
7707 do
7708 _n_op = n_op.as(not null)
7709 n_op.parent = self
7710 end
7711
7712 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7713 do
7714 if _n_op == old_child then
7715 n_op = new_child.as(TSlasheq)
7716 return
7717 end
7718 end
7719
7720 redef fun n_op=(node)
7721 do
7722 _n_op = node
7723 node.parent = self
7724 end
7725
7726
7727 redef fun visit_all(v: Visitor)
7728 do
7729 v.enter_visit(_n_op)
7730 end
7731 end
7732 redef class APercentAssignOp
7733 init init_apercentassignop (
7734 n_op: nullable TPercenteq
7735 )
7736 do
7737 _n_op = n_op.as(not null)
7738 n_op.parent = self
7739 end
7740
7741 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7742 do
7743 if _n_op == old_child then
7744 n_op = new_child.as(TPercenteq)
7745 return
7746 end
7747 end
7748
7749 redef fun n_op=(node)
7750 do
7751 _n_op = node
7752 node.parent = self
7753 end
7754
7755
7756 redef fun visit_all(v: Visitor)
7757 do
7758 v.enter_visit(_n_op)
7759 end
7760 end
7761 redef class AStarstarAssignOp
7762 init init_astarstarassignop (
7763 n_op: nullable TStarstareq
7764 )
7765 do
7766 _n_op = n_op.as(not null)
7767 n_op.parent = self
7768 end
7769
7770 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7771 do
7772 if _n_op == old_child then
7773 n_op = new_child.as(TStarstareq)
7774 return
7775 end
7776 end
7777
7778 redef fun n_op=(node)
7779 do
7780 _n_op = node
7781 node.parent = self
7782 end
7783
7784
7785 redef fun visit_all(v: Visitor)
7786 do
7787 v.enter_visit(_n_op)
7788 end
7789 end
7790 redef class APipeAssignOp
7791 init init_apipeassignop (
7792 n_op: nullable TPipeeq
7793 )
7794 do
7795 _n_op = n_op.as(not null)
7796 n_op.parent = self
7797 end
7798
7799 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7800 do
7801 if _n_op == old_child then
7802 n_op = new_child.as(TPipeeq)
7803 return
7804 end
7805 end
7806
7807 redef fun n_op=(node)
7808 do
7809 _n_op = node
7810 node.parent = self
7811 end
7812
7813
7814 redef fun visit_all(v: Visitor)
7815 do
7816 v.enter_visit(_n_op)
7817 end
7818 end
7819 redef class ACaretAssignOp
7820 init init_acaretassignop (
7821 n_op: nullable TCareteq
7822 )
7823 do
7824 _n_op = n_op.as(not null)
7825 n_op.parent = self
7826 end
7827
7828 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7829 do
7830 if _n_op == old_child then
7831 n_op = new_child.as(TCareteq)
7832 return
7833 end
7834 end
7835
7836 redef fun n_op=(node)
7837 do
7838 _n_op = node
7839 node.parent = self
7840 end
7841
7842
7843 redef fun visit_all(v: Visitor)
7844 do
7845 v.enter_visit(_n_op)
7846 end
7847 end
7848 redef class AAmpAssignOp
7849 init init_aampassignop (
7850 n_op: nullable TAmpeq
7851 )
7852 do
7853 _n_op = n_op.as(not null)
7854 n_op.parent = self
7855 end
7856
7857 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7858 do
7859 if _n_op == old_child then
7860 n_op = new_child.as(TAmpeq)
7861 return
7862 end
7863 end
7864
7865 redef fun n_op=(node)
7866 do
7867 _n_op = node
7868 node.parent = self
7869 end
7870
7871
7872 redef fun visit_all(v: Visitor)
7873 do
7874 v.enter_visit(_n_op)
7875 end
7876 end
7877 redef class ALlAssignOp
7878 init init_allassignop (
7879 n_op: nullable TLleq
7880 )
7881 do
7882 _n_op = n_op.as(not null)
7883 n_op.parent = self
7884 end
7885
7886 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7887 do
7888 if _n_op == old_child then
7889 n_op = new_child.as(TLleq)
7890 return
7891 end
7892 end
7893
7894 redef fun n_op=(node)
7895 do
7896 _n_op = node
7897 node.parent = self
7898 end
7899
7900
7901 redef fun visit_all(v: Visitor)
7902 do
7903 v.enter_visit(_n_op)
7904 end
7905 end
7906 redef class AGgAssignOp
7907 init init_aggassignop (
7908 n_op: nullable TGgeq
7909 )
7910 do
7911 _n_op = n_op.as(not null)
7912 n_op.parent = self
7913 end
7914
7915 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7916 do
7917 if _n_op == old_child then
7918 n_op = new_child.as(TGgeq)
7919 return
7920 end
7921 end
7922
7923 redef fun n_op=(node)
7924 do
7925 _n_op = node
7926 node.parent = self
7927 end
7928
7929
7930 redef fun visit_all(v: Visitor)
7931 do
7932 v.enter_visit(_n_op)
7933 end
7934 end
7935 redef class AForGroup
7936 init init_aforgroup (
7937 n_ids: Collection[Object], # Should be Collection[TId]
7938 n_kwin: nullable TKwin,
7939 n_expr: nullable AExpr
7940 )
7941 do
7942 self.n_ids.unsafe_add_all(n_ids)
7943 _n_kwin = n_kwin.as(not null)
7944 n_kwin.parent = self
7945 _n_expr = n_expr.as(not null)
7946 n_expr.parent = self
7947 end
7948
7949 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7950 do
7951 if n_ids.replace_child(old_child, new_child) then return
7952 if _n_kwin == old_child then
7953 n_kwin = new_child.as(TKwin)
7954 return
7955 end
7956 if _n_expr == old_child then
7957 n_expr = new_child.as(AExpr)
7958 return
7959 end
7960 end
7961
7962 redef fun n_kwin=(node)
7963 do
7964 _n_kwin = node
7965 node.parent = self
7966 end
7967 redef fun n_expr=(node)
7968 do
7969 _n_expr = node
7970 node.parent = self
7971 end
7972
7973
7974 redef fun visit_all(v: Visitor)
7975 do
7976 n_ids.visit_all(v)
7977 v.enter_visit(_n_kwin)
7978 v.enter_visit(_n_expr)
7979 end
7980 end
7981 redef class AModuleName
7982 init init_amodulename (
7983 n_quad: nullable TQuad,
7984 n_path: Collection[Object], # Should be Collection[TId]
7985 n_id: nullable TId
7986 )
7987 do
7988 _n_quad = n_quad
7989 if n_quad != null then n_quad.parent = self
7990 self.n_path.unsafe_add_all(n_path)
7991 _n_id = n_id.as(not null)
7992 n_id.parent = self
7993 end
7994
7995 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7996 do
7997 if _n_quad == old_child then
7998 n_quad = new_child.as(nullable TQuad)
7999 return
8000 end
8001 if n_path.replace_child(old_child, new_child) then return
8002 if _n_id == old_child then
8003 n_id = new_child.as(TId)
8004 return
8005 end
8006 end
8007
8008 redef fun n_quad=(node)
8009 do
8010 _n_quad = node
8011 if node != null then node.parent = self
8012 end
8013 redef fun n_id=(node)
8014 do
8015 _n_id = node
8016 node.parent = self
8017 end
8018
8019
8020 redef fun visit_all(v: Visitor)
8021 do
8022 v.enter_visit(_n_quad)
8023 n_path.visit_all(v)
8024 v.enter_visit(_n_id)
8025 end
8026 end
8027 redef class AExternCalls
8028 init init_aexterncalls (
8029 n_kwimport: nullable TKwimport,
8030 n_extern_calls: Collection[Object] # Should be Collection[AExternCall]
8031 )
8032 do
8033 _n_kwimport = n_kwimport.as(not null)
8034 n_kwimport.parent = self
8035 self.n_extern_calls.unsafe_add_all(n_extern_calls)
8036 end
8037
8038 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8039 do
8040 if _n_kwimport == old_child then
8041 n_kwimport = new_child.as(TKwimport)
8042 return
8043 end
8044 if n_extern_calls.replace_child(old_child, new_child) then return
8045 end
8046
8047 redef fun n_kwimport=(node)
8048 do
8049 _n_kwimport = node
8050 node.parent = self
8051 end
8052
8053
8054 redef fun visit_all(v: Visitor)
8055 do
8056 v.enter_visit(_n_kwimport)
8057 n_extern_calls.visit_all(v)
8058 end
8059 end
8060 redef class AExternCall
8061 init init_aexterncall
8062 do
8063 end
8064
8065 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8066 do
8067 end
8068
8069
8070
8071 redef fun visit_all(v: Visitor)
8072 do
8073 end
8074 end
8075 redef class ASuperExternCall
8076 init init_asuperexterncall (
8077 n_kwsuper: nullable TKwsuper
8078 )
8079 do
8080 _n_kwsuper = n_kwsuper.as(not null)
8081 n_kwsuper.parent = self
8082 end
8083
8084 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8085 do
8086 if _n_kwsuper == old_child then
8087 n_kwsuper = new_child.as(TKwsuper)
8088 return
8089 end
8090 end
8091
8092 redef fun n_kwsuper=(node)
8093 do
8094 _n_kwsuper = node
8095 node.parent = self
8096 end
8097
8098
8099 redef fun visit_all(v: Visitor)
8100 do
8101 v.enter_visit(_n_kwsuper)
8102 end
8103 end
8104 redef class ALocalPropExternCall
8105 init init_alocalpropexterncall (
8106 n_methid: nullable AMethid
8107 )
8108 do
8109 _n_methid = n_methid.as(not null)
8110 n_methid.parent = self
8111 end
8112
8113 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8114 do
8115 if _n_methid == old_child then
8116 n_methid = new_child.as(AMethid)
8117 return
8118 end
8119 end
8120
8121 redef fun n_methid=(node)
8122 do
8123 _n_methid = node
8124 node.parent = self
8125 end
8126
8127
8128 redef fun visit_all(v: Visitor)
8129 do
8130 v.enter_visit(_n_methid)
8131 end
8132 end
8133 redef class AFullPropExternCall
8134 init init_afullpropexterncall (
8135 n_type: nullable AType,
8136 n_dot: nullable TDot,
8137 n_methid: nullable AMethid
8138 )
8139 do
8140 _n_type = n_type.as(not null)
8141 n_type.parent = self
8142 _n_dot = n_dot
8143 if n_dot != null then n_dot.parent = self
8144 _n_methid = n_methid.as(not null)
8145 n_methid.parent = self
8146 end
8147
8148 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8149 do
8150 if _n_type == old_child then
8151 n_type = new_child.as(AType)
8152 return
8153 end
8154 if _n_dot == old_child then
8155 n_dot = new_child.as(nullable TDot)
8156 return
8157 end
8158 if _n_methid == old_child then
8159 n_methid = new_child.as(AMethid)
8160 return
8161 end
8162 end
8163
8164 redef fun n_type=(node)
8165 do
8166 _n_type = node
8167 node.parent = self
8168 end
8169 redef fun n_dot=(node)
8170 do
8171 _n_dot = node
8172 if node != null then node.parent = self
8173 end
8174 redef fun n_methid=(node)
8175 do
8176 _n_methid = node
8177 node.parent = self
8178 end
8179
8180
8181 redef fun visit_all(v: Visitor)
8182 do
8183 v.enter_visit(_n_type)
8184 v.enter_visit(_n_dot)
8185 v.enter_visit(_n_methid)
8186 end
8187 end
8188 redef class AInitPropExternCall
8189 init init_ainitpropexterncall (
8190 n_type: nullable AType
8191 )
8192 do
8193 _n_type = n_type.as(not null)
8194 n_type.parent = self
8195 end
8196
8197 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8198 do
8199 if _n_type == old_child then
8200 n_type = new_child.as(AType)
8201 return
8202 end
8203 end
8204
8205 redef fun n_type=(node)
8206 do
8207 _n_type = node
8208 node.parent = self
8209 end
8210
8211
8212 redef fun visit_all(v: Visitor)
8213 do
8214 v.enter_visit(_n_type)
8215 end
8216 end
8217 redef class ACastAsExternCall
8218 init init_acastasexterncall (
8219 n_from_type: nullable AType,
8220 n_dot: nullable TDot,
8221 n_kwas: nullable TKwas,
8222 n_to_type: nullable AType
8223 )
8224 do
8225 _n_from_type = n_from_type.as(not null)
8226 n_from_type.parent = self
8227 _n_dot = n_dot
8228 if n_dot != null then n_dot.parent = self
8229 _n_kwas = n_kwas.as(not null)
8230 n_kwas.parent = self
8231 _n_to_type = n_to_type.as(not null)
8232 n_to_type.parent = self
8233 end
8234
8235 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8236 do
8237 if _n_from_type == old_child then
8238 n_from_type = new_child.as(AType)
8239 return
8240 end
8241 if _n_dot == old_child then
8242 n_dot = new_child.as(nullable TDot)
8243 return
8244 end
8245 if _n_kwas == old_child then
8246 n_kwas = new_child.as(TKwas)
8247 return
8248 end
8249 if _n_to_type == old_child then
8250 n_to_type = new_child.as(AType)
8251 return
8252 end
8253 end
8254
8255 redef fun n_from_type=(node)
8256 do
8257 _n_from_type = node
8258 node.parent = self
8259 end
8260 redef fun n_dot=(node)
8261 do
8262 _n_dot = node
8263 if node != null then node.parent = self
8264 end
8265 redef fun n_kwas=(node)
8266 do
8267 _n_kwas = node
8268 node.parent = self
8269 end
8270 redef fun n_to_type=(node)
8271 do
8272 _n_to_type = node
8273 node.parent = self
8274 end
8275
8276
8277 redef fun visit_all(v: Visitor)
8278 do
8279 v.enter_visit(_n_from_type)
8280 v.enter_visit(_n_dot)
8281 v.enter_visit(_n_kwas)
8282 v.enter_visit(_n_to_type)
8283 end
8284 end
8285 redef class AAsNullableExternCall
8286 init init_aasnullableexterncall (
8287 n_type: nullable AType,
8288 n_kwas: nullable TKwas,
8289 n_kwnullable: nullable TKwnullable
8290 )
8291 do
8292 _n_type = n_type.as(not null)
8293 n_type.parent = self
8294 _n_kwas = n_kwas.as(not null)
8295 n_kwas.parent = self
8296 _n_kwnullable = n_kwnullable.as(not null)
8297 n_kwnullable.parent = self
8298 end
8299
8300 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8301 do
8302 if _n_type == old_child then
8303 n_type = new_child.as(AType)
8304 return
8305 end
8306 if _n_kwas == old_child then
8307 n_kwas = new_child.as(TKwas)
8308 return
8309 end
8310 if _n_kwnullable == old_child then
8311 n_kwnullable = new_child.as(TKwnullable)
8312 return
8313 end
8314 end
8315
8316 redef fun n_type=(node)
8317 do
8318 _n_type = node
8319 node.parent = self
8320 end
8321 redef fun n_kwas=(node)
8322 do
8323 _n_kwas = node
8324 node.parent = self
8325 end
8326 redef fun n_kwnullable=(node)
8327 do
8328 _n_kwnullable = node
8329 node.parent = self
8330 end
8331
8332
8333 redef fun visit_all(v: Visitor)
8334 do
8335 v.enter_visit(_n_type)
8336 v.enter_visit(_n_kwas)
8337 v.enter_visit(_n_kwnullable)
8338 end
8339 end
8340 redef class AAsNotNullableExternCall
8341 init init_aasnotnullableexterncall (
8342 n_type: nullable AType,
8343 n_kwas: nullable TKwas,
8344 n_kwnot: nullable TKwnot,
8345 n_kwnullable: nullable TKwnullable
8346 )
8347 do
8348 _n_type = n_type.as(not null)
8349 n_type.parent = self
8350 _n_kwas = n_kwas.as(not null)
8351 n_kwas.parent = self
8352 _n_kwnot = n_kwnot.as(not null)
8353 n_kwnot.parent = self
8354 _n_kwnullable = n_kwnullable.as(not null)
8355 n_kwnullable.parent = self
8356 end
8357
8358 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8359 do
8360 if _n_type == old_child then
8361 n_type = new_child.as(AType)
8362 return
8363 end
8364 if _n_kwas == old_child then
8365 n_kwas = new_child.as(TKwas)
8366 return
8367 end
8368 if _n_kwnot == old_child then
8369 n_kwnot = new_child.as(TKwnot)
8370 return
8371 end
8372 if _n_kwnullable == old_child then
8373 n_kwnullable = new_child.as(TKwnullable)
8374 return
8375 end
8376 end
8377
8378 redef fun n_type=(node)
8379 do
8380 _n_type = node
8381 node.parent = self
8382 end
8383 redef fun n_kwas=(node)
8384 do
8385 _n_kwas = node
8386 node.parent = self
8387 end
8388 redef fun n_kwnot=(node)
8389 do
8390 _n_kwnot = node
8391 node.parent = self
8392 end
8393 redef fun n_kwnullable=(node)
8394 do
8395 _n_kwnullable = node
8396 node.parent = self
8397 end
8398
8399
8400 redef fun visit_all(v: Visitor)
8401 do
8402 v.enter_visit(_n_type)
8403 v.enter_visit(_n_kwas)
8404 v.enter_visit(_n_kwnot)
8405 v.enter_visit(_n_kwnullable)
8406 end
8407 end
8408 redef class AInLanguage
8409 init init_ainlanguage (
8410 n_kwin: nullable TKwin,
8411 n_string: nullable TString
8412 )
8413 do
8414 _n_kwin = n_kwin.as(not null)
8415 n_kwin.parent = self
8416 _n_string = n_string.as(not null)
8417 n_string.parent = self
8418 end
8419
8420 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8421 do
8422 if _n_kwin == old_child then
8423 n_kwin = new_child.as(TKwin)
8424 return
8425 end
8426 if _n_string == old_child then
8427 n_string = new_child.as(TString)
8428 return
8429 end
8430 end
8431
8432 redef fun n_kwin=(node)
8433 do
8434 _n_kwin = node
8435 node.parent = self
8436 end
8437 redef fun n_string=(node)
8438 do
8439 _n_string = node
8440 node.parent = self
8441 end
8442
8443
8444 redef fun visit_all(v: Visitor)
8445 do
8446 v.enter_visit(_n_kwin)
8447 v.enter_visit(_n_string)
8448 end
8449 end
8450 redef class AExternCodeBlock
8451 init init_aexterncodeblock (
8452 n_in_language: nullable AInLanguage,
8453 n_extern_code_segment: nullable TExternCodeSegment
8454 )
8455 do
8456 _n_in_language = n_in_language
8457 if n_in_language != null then n_in_language.parent = self
8458 _n_extern_code_segment = n_extern_code_segment.as(not null)
8459 n_extern_code_segment.parent = self
8460 end
8461
8462 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8463 do
8464 if _n_in_language == old_child then
8465 n_in_language = new_child.as(nullable AInLanguage)
8466 return
8467 end
8468 if _n_extern_code_segment == old_child then
8469 n_extern_code_segment = new_child.as(TExternCodeSegment)
8470 return
8471 end
8472 end
8473
8474 redef fun n_in_language=(node)
8475 do
8476 _n_in_language = node
8477 if node != null then node.parent = self
8478 end
8479 redef fun n_extern_code_segment=(node)
8480 do
8481 _n_extern_code_segment = node
8482 node.parent = self
8483 end
8484
8485
8486 redef fun visit_all(v: Visitor)
8487 do
8488 v.enter_visit(_n_in_language)
8489 v.enter_visit(_n_extern_code_segment)
8490 end
8491 end
8492 redef class AQualified
8493 init init_aqualified (
8494 n_id: Collection[Object], # Should be Collection[TId]
8495 n_classid: nullable TClassid
8496 )
8497 do
8498 self.n_id.unsafe_add_all(n_id)
8499 _n_classid = n_classid
8500 if n_classid != null then n_classid.parent = self
8501 end
8502
8503 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8504 do
8505 if n_id.replace_child(old_child, new_child) then return
8506 if _n_classid == old_child then
8507 n_classid = new_child.as(nullable TClassid)
8508 return
8509 end
8510 end
8511
8512 redef fun n_classid=(node)
8513 do
8514 _n_classid = node
8515 if node != null then node.parent = self
8516 end
8517
8518
8519 redef fun visit_all(v: Visitor)
8520 do
8521 n_id.visit_all(v)
8522 v.enter_visit(_n_classid)
8523 end
8524 end
8525 redef class ADoc
8526 init init_adoc (
8527 n_comment: Collection[Object] # Should be Collection[TComment]
8528 )
8529 do
8530 self.n_comment.unsafe_add_all(n_comment)
8531 end
8532
8533 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8534 do
8535 if n_comment.replace_child(old_child, new_child) then return
8536 end
8537
8538
8539
8540 redef fun visit_all(v: Visitor)
8541 do
8542 n_comment.visit_all(v)
8543 end
8544 end
8545 redef class AAnnotations
8546 init init_aannotations (
8547 n_kwis: nullable TKwis,
8548 n_at: nullable TAt,
8549 n_opar: nullable TOpar,
8550 n_items: Collection[Object], # Should be Collection[AAnnotation]
8551 n_cpar: nullable TCpar,
8552 n_kwend: nullable TKwend
8553 )
8554 do
8555 _n_kwis = n_kwis
8556 if n_kwis != null then n_kwis.parent = self
8557 _n_at = n_at
8558 if n_at != null then n_at.parent = self
8559 _n_opar = n_opar
8560 if n_opar != null then n_opar.parent = self
8561 self.n_items.unsafe_add_all(n_items)
8562 _n_cpar = n_cpar
8563 if n_cpar != null then n_cpar.parent = self
8564 _n_kwend = n_kwend
8565 if n_kwend != null then n_kwend.parent = self
8566 end
8567
8568 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8569 do
8570 if _n_kwis == old_child then
8571 n_kwis = new_child.as(nullable TKwis)
8572 return
8573 end
8574 if _n_at == old_child then
8575 n_at = new_child.as(nullable TAt)
8576 return
8577 end
8578 if _n_opar == old_child then
8579 n_opar = new_child.as(nullable TOpar)
8580 return
8581 end
8582 if n_items.replace_child(old_child, new_child) then return
8583 if _n_cpar == old_child then
8584 n_cpar = new_child.as(nullable TCpar)
8585 return
8586 end
8587 if _n_kwend == old_child then
8588 n_kwend = new_child.as(nullable TKwend)
8589 return
8590 end
8591 end
8592
8593 redef fun n_kwis=(node)
8594 do
8595 _n_kwis = node
8596 if node != null then node.parent = self
8597 end
8598 redef fun n_at=(node)
8599 do
8600 _n_at = node
8601 if node != null then node.parent = self
8602 end
8603 redef fun n_opar=(node)
8604 do
8605 _n_opar = node
8606 if node != null then node.parent = self
8607 end
8608 redef fun n_cpar=(node)
8609 do
8610 _n_cpar = node
8611 if node != null then node.parent = self
8612 end
8613 redef fun n_kwend=(node)
8614 do
8615 _n_kwend = node
8616 if node != null then node.parent = self
8617 end
8618
8619
8620 redef fun visit_all(v: Visitor)
8621 do
8622 v.enter_visit(_n_kwis)
8623 v.enter_visit(_n_at)
8624 v.enter_visit(_n_opar)
8625 n_items.visit_all(v)
8626 v.enter_visit(_n_cpar)
8627 v.enter_visit(_n_kwend)
8628 end
8629 end
8630 redef class AAnnotation
8631 init init_aannotation (
8632 n_doc: nullable ADoc,
8633 n_kwredef: nullable TKwredef,
8634 n_visibility: nullable AVisibility,
8635 n_atid: nullable AAtid,
8636 n_opar: nullable TOpar,
8637 n_args: Collection[Object], # Should be Collection[AExpr]
8638 n_cpar: nullable TCpar,
8639 n_annotations: nullable AAnnotations
8640 )
8641 do
8642 _n_doc = n_doc
8643 if n_doc != null then n_doc.parent = self
8644 _n_kwredef = n_kwredef
8645 if n_kwredef != null then n_kwredef.parent = self
8646 _n_visibility = n_visibility
8647 if n_visibility != null then n_visibility.parent = self
8648 _n_atid = n_atid.as(not null)
8649 n_atid.parent = self
8650 _n_opar = n_opar
8651 if n_opar != null then n_opar.parent = self
8652 self.n_args.unsafe_add_all(n_args)
8653 _n_cpar = n_cpar
8654 if n_cpar != null then n_cpar.parent = self
8655 _n_annotations = n_annotations
8656 if n_annotations != null then n_annotations.parent = self
8657 end
8658
8659 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8660 do
8661 if _n_doc == old_child then
8662 n_doc = new_child.as(nullable ADoc)
8663 return
8664 end
8665 if _n_kwredef == old_child then
8666 n_kwredef = new_child.as(nullable TKwredef)
8667 return
8668 end
8669 if _n_visibility == old_child then
8670 n_visibility = new_child.as(nullable AVisibility)
8671 return
8672 end
8673 if _n_atid == old_child then
8674 n_atid = new_child.as(AAtid)
8675 return
8676 end
8677 if _n_opar == old_child then
8678 n_opar = new_child.as(nullable TOpar)
8679 return
8680 end
8681 if n_args.replace_child(old_child, new_child) then return
8682 if _n_cpar == old_child then
8683 n_cpar = new_child.as(nullable TCpar)
8684 return
8685 end
8686 if _n_annotations == old_child then
8687 n_annotations = new_child.as(nullable AAnnotations)
8688 return
8689 end
8690 end
8691
8692 redef fun n_doc=(node)
8693 do
8694 _n_doc = node
8695 if node != null then node.parent = self
8696 end
8697 redef fun n_kwredef=(node)
8698 do
8699 _n_kwredef = node
8700 if node != null then node.parent = self
8701 end
8702 redef fun n_visibility=(node)
8703 do
8704 _n_visibility = node
8705 if node != null then node.parent = self
8706 end
8707 redef fun n_atid=(node)
8708 do
8709 _n_atid = node
8710 node.parent = self
8711 end
8712 redef fun n_opar=(node)
8713 do
8714 _n_opar = node
8715 if node != null then node.parent = self
8716 end
8717 redef fun n_cpar=(node)
8718 do
8719 _n_cpar = node
8720 if node != null then node.parent = self
8721 end
8722 redef fun n_annotations=(node)
8723 do
8724 _n_annotations = node
8725 if node != null then node.parent = self
8726 end
8727
8728
8729 redef fun visit_all(v: Visitor)
8730 do
8731 v.enter_visit(_n_doc)
8732 v.enter_visit(_n_kwredef)
8733 v.enter_visit(_n_visibility)
8734 v.enter_visit(_n_atid)
8735 v.enter_visit(_n_opar)
8736 n_args.visit_all(v)
8737 v.enter_visit(_n_cpar)
8738 v.enter_visit(_n_annotations)
8739 end
8740 end
8741 redef class AIdAtid
8742 init init_aidatid (
8743 n_id: nullable TId
8744 )
8745 do
8746 _n_id = n_id.as(not null)
8747 n_id.parent = self
8748 end
8749
8750 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8751 do
8752 if _n_id == old_child then
8753 n_id = new_child.as(TId)
8754 return
8755 end
8756 end
8757
8758 redef fun n_id=(node)
8759 do
8760 _n_id = node
8761 node.parent = self
8762 end
8763
8764
8765 redef fun visit_all(v: Visitor)
8766 do
8767 v.enter_visit(_n_id)
8768 end
8769 end
8770 redef class AKwexternAtid
8771 init init_akwexternatid (
8772 n_id: nullable TKwextern
8773 )
8774 do
8775 _n_id = n_id.as(not null)
8776 n_id.parent = self
8777 end
8778
8779 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8780 do
8781 if _n_id == old_child then
8782 n_id = new_child.as(TKwextern)
8783 return
8784 end
8785 end
8786
8787 redef fun n_id=(node)
8788 do
8789 _n_id = node
8790 node.parent = self
8791 end
8792
8793
8794 redef fun visit_all(v: Visitor)
8795 do
8796 v.enter_visit(_n_id)
8797 end
8798 end
8799 redef class AKwabstractAtid
8800 init init_akwabstractatid (
8801 n_id: nullable TKwabstract
8802 )
8803 do
8804 _n_id = n_id.as(not null)
8805 n_id.parent = self
8806 end
8807
8808 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8809 do
8810 if _n_id == old_child then
8811 n_id = new_child.as(TKwabstract)
8812 return
8813 end
8814 end
8815
8816 redef fun n_id=(node)
8817 do
8818 _n_id = node
8819 node.parent = self
8820 end
8821
8822
8823 redef fun visit_all(v: Visitor)
8824 do
8825 v.enter_visit(_n_id)
8826 end
8827 end
8828 redef class AKwimportAtid
8829 init init_akwimportatid (
8830 n_id: nullable TKwimport
8831 )
8832 do
8833 _n_id = n_id.as(not null)
8834 n_id.parent = self
8835 end
8836
8837 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8838 do
8839 if _n_id == old_child then
8840 n_id = new_child.as(TKwimport)
8841 return
8842 end
8843 end
8844
8845 redef fun n_id=(node)
8846 do
8847 _n_id = node
8848 node.parent = self
8849 end
8850
8851
8852 redef fun visit_all(v: Visitor)
8853 do
8854 v.enter_visit(_n_id)
8855 end
8856 end
8857
8858 redef class Start
8859 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8860 do
8861 if _n_base == old_child then
8862 if new_child == null then
8863 else
8864 new_child.parent = self
8865 assert new_child isa AModule
8866 _n_base = new_child
8867 end
8868 old_child.parent = null
8869 return
8870 end
8871 end
8872
8873 redef fun visit_all(v: Visitor)
8874 do
8875 if _n_base != null then
8876 v.enter_visit(_n_base.as(not null))
8877 end
8878 v.enter_visit(_n_eof)
8879 end
8880 end