parser: regenerate with safe call `x?.foo`
[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 ACallAssignExpr
5437 init init_acallassignexpr (
5438 n_expr: nullable AExpr,
5439 n_qid: nullable AQid,
5440 n_args: nullable AExprs,
5441 n_assign: nullable TAssign,
5442 n_value: nullable AExpr
5443 )
5444 do
5445 _n_expr = n_expr.as(not null)
5446 n_expr.parent = self
5447 _n_qid = n_qid.as(not null)
5448 n_qid.parent = self
5449 _n_args = n_args.as(not null)
5450 n_args.parent = self
5451 _n_assign = n_assign.as(not null)
5452 n_assign.parent = self
5453 _n_value = n_value.as(not null)
5454 n_value.parent = self
5455 end
5456
5457 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5458 do
5459 if _n_expr == old_child then
5460 n_expr = new_child.as(AExpr)
5461 return
5462 end
5463 if _n_qid == old_child then
5464 n_qid = new_child.as(AQid)
5465 return
5466 end
5467 if _n_args == old_child then
5468 n_args = new_child.as(AExprs)
5469 return
5470 end
5471 if _n_assign == old_child then
5472 n_assign = new_child.as(TAssign)
5473 return
5474 end
5475 if _n_value == old_child then
5476 n_value = new_child.as(AExpr)
5477 return
5478 end
5479 end
5480
5481 redef fun n_expr=(node)
5482 do
5483 _n_expr = node
5484 node.parent = self
5485 end
5486 redef fun n_qid=(node)
5487 do
5488 _n_qid = node
5489 node.parent = self
5490 end
5491 redef fun n_args=(node)
5492 do
5493 _n_args = node
5494 node.parent = self
5495 end
5496 redef fun n_assign=(node)
5497 do
5498 _n_assign = node
5499 node.parent = self
5500 end
5501 redef fun n_value=(node)
5502 do
5503 _n_value = node
5504 node.parent = self
5505 end
5506
5507
5508 redef fun visit_all(v: Visitor)
5509 do
5510 v.enter_visit(_n_expr)
5511 v.enter_visit(_n_qid)
5512 v.enter_visit(_n_args)
5513 v.enter_visit(_n_assign)
5514 v.enter_visit(_n_value)
5515 end
5516 end
5517 redef class ACallReassignExpr
5518 init init_acallreassignexpr (
5519 n_expr: nullable AExpr,
5520 n_qid: nullable AQid,
5521 n_args: nullable AExprs,
5522 n_assign_op: nullable AAssignOp,
5523 n_value: nullable AExpr
5524 )
5525 do
5526 _n_expr = n_expr.as(not null)
5527 n_expr.parent = self
5528 _n_qid = n_qid.as(not null)
5529 n_qid.parent = self
5530 _n_args = n_args.as(not null)
5531 n_args.parent = self
5532 _n_assign_op = n_assign_op.as(not null)
5533 n_assign_op.parent = self
5534 _n_value = n_value.as(not null)
5535 n_value.parent = self
5536 end
5537
5538 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5539 do
5540 if _n_expr == old_child then
5541 n_expr = new_child.as(AExpr)
5542 return
5543 end
5544 if _n_qid == old_child then
5545 n_qid = new_child.as(AQid)
5546 return
5547 end
5548 if _n_args == old_child then
5549 n_args = new_child.as(AExprs)
5550 return
5551 end
5552 if _n_assign_op == old_child then
5553 n_assign_op = new_child.as(AAssignOp)
5554 return
5555 end
5556 if _n_value == old_child then
5557 n_value = new_child.as(AExpr)
5558 return
5559 end
5560 end
5561
5562 redef fun n_expr=(node)
5563 do
5564 _n_expr = node
5565 node.parent = self
5566 end
5567 redef fun n_qid=(node)
5568 do
5569 _n_qid = node
5570 node.parent = self
5571 end
5572 redef fun n_args=(node)
5573 do
5574 _n_args = node
5575 node.parent = self
5576 end
5577 redef fun n_assign_op=(node)
5578 do
5579 _n_assign_op = node
5580 node.parent = self
5581 end
5582 redef fun n_value=(node)
5583 do
5584 _n_value = node
5585 node.parent = self
5586 end
5587
5588
5589 redef fun visit_all(v: Visitor)
5590 do
5591 v.enter_visit(_n_expr)
5592 v.enter_visit(_n_qid)
5593 v.enter_visit(_n_args)
5594 v.enter_visit(_n_assign_op)
5595 v.enter_visit(_n_value)
5596 end
5597 end
5598 redef class ASuperExpr
5599 init init_asuperexpr (
5600 n_qualified: nullable AQualified,
5601 n_kwsuper: nullable TKwsuper,
5602 n_args: nullable AExprs
5603 )
5604 do
5605 _n_qualified = n_qualified
5606 if n_qualified != null then n_qualified.parent = self
5607 _n_kwsuper = n_kwsuper.as(not null)
5608 n_kwsuper.parent = self
5609 _n_args = n_args.as(not null)
5610 n_args.parent = self
5611 end
5612
5613 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5614 do
5615 if _n_qualified == old_child then
5616 n_qualified = new_child.as(nullable AQualified)
5617 return
5618 end
5619 if _n_kwsuper == old_child then
5620 n_kwsuper = new_child.as(TKwsuper)
5621 return
5622 end
5623 if _n_args == old_child then
5624 n_args = new_child.as(AExprs)
5625 return
5626 end
5627 end
5628
5629 redef fun n_qualified=(node)
5630 do
5631 _n_qualified = node
5632 if node != null then node.parent = self
5633 end
5634 redef fun n_kwsuper=(node)
5635 do
5636 _n_kwsuper = node
5637 node.parent = self
5638 end
5639 redef fun n_args=(node)
5640 do
5641 _n_args = node
5642 node.parent = self
5643 end
5644
5645
5646 redef fun visit_all(v: Visitor)
5647 do
5648 v.enter_visit(_n_qualified)
5649 v.enter_visit(_n_kwsuper)
5650 v.enter_visit(_n_args)
5651 end
5652 end
5653 redef class AInitExpr
5654 init init_ainitexpr (
5655 n_expr: nullable AExpr,
5656 n_kwinit: nullable TKwinit,
5657 n_args: nullable AExprs
5658 )
5659 do
5660 _n_expr = n_expr.as(not null)
5661 n_expr.parent = self
5662 _n_kwinit = n_kwinit.as(not null)
5663 n_kwinit.parent = self
5664 _n_args = n_args.as(not null)
5665 n_args.parent = self
5666 end
5667
5668 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5669 do
5670 if _n_expr == old_child then
5671 n_expr = new_child.as(AExpr)
5672 return
5673 end
5674 if _n_kwinit == old_child then
5675 n_kwinit = new_child.as(TKwinit)
5676 return
5677 end
5678 if _n_args == old_child then
5679 n_args = new_child.as(AExprs)
5680 return
5681 end
5682 end
5683
5684 redef fun n_expr=(node)
5685 do
5686 _n_expr = node
5687 node.parent = self
5688 end
5689 redef fun n_kwinit=(node)
5690 do
5691 _n_kwinit = node
5692 node.parent = self
5693 end
5694 redef fun n_args=(node)
5695 do
5696 _n_args = node
5697 node.parent = self
5698 end
5699
5700
5701 redef fun visit_all(v: Visitor)
5702 do
5703 v.enter_visit(_n_expr)
5704 v.enter_visit(_n_kwinit)
5705 v.enter_visit(_n_args)
5706 end
5707 end
5708 redef class ABraExpr
5709 init init_abraexpr (
5710 n_expr: nullable AExpr,
5711 n_args: nullable AExprs
5712 )
5713 do
5714 _n_expr = n_expr.as(not null)
5715 n_expr.parent = self
5716 _n_args = n_args.as(not null)
5717 n_args.parent = self
5718 end
5719
5720 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5721 do
5722 if _n_expr == old_child then
5723 n_expr = new_child.as(AExpr)
5724 return
5725 end
5726 if _n_args == old_child then
5727 n_args = new_child.as(AExprs)
5728 return
5729 end
5730 end
5731
5732 redef fun n_expr=(node)
5733 do
5734 _n_expr = node
5735 node.parent = self
5736 end
5737 redef fun n_args=(node)
5738 do
5739 _n_args = node
5740 node.parent = self
5741 end
5742
5743
5744 redef fun visit_all(v: Visitor)
5745 do
5746 v.enter_visit(_n_expr)
5747 v.enter_visit(_n_args)
5748 end
5749 end
5750 redef class ABraAssignExpr
5751 init init_abraassignexpr (
5752 n_expr: nullable AExpr,
5753 n_args: nullable AExprs,
5754 n_assign: nullable TAssign,
5755 n_value: nullable AExpr
5756 )
5757 do
5758 _n_expr = n_expr.as(not null)
5759 n_expr.parent = self
5760 _n_args = n_args.as(not null)
5761 n_args.parent = self
5762 _n_assign = n_assign.as(not null)
5763 n_assign.parent = self
5764 _n_value = n_value.as(not null)
5765 n_value.parent = self
5766 end
5767
5768 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5769 do
5770 if _n_expr == old_child then
5771 n_expr = new_child.as(AExpr)
5772 return
5773 end
5774 if _n_args == old_child then
5775 n_args = new_child.as(AExprs)
5776 return
5777 end
5778 if _n_assign == old_child then
5779 n_assign = new_child.as(TAssign)
5780 return
5781 end
5782 if _n_value == old_child then
5783 n_value = new_child.as(AExpr)
5784 return
5785 end
5786 end
5787
5788 redef fun n_expr=(node)
5789 do
5790 _n_expr = node
5791 node.parent = self
5792 end
5793 redef fun n_args=(node)
5794 do
5795 _n_args = node
5796 node.parent = self
5797 end
5798 redef fun n_assign=(node)
5799 do
5800 _n_assign = node
5801 node.parent = self
5802 end
5803 redef fun n_value=(node)
5804 do
5805 _n_value = node
5806 node.parent = self
5807 end
5808
5809
5810 redef fun visit_all(v: Visitor)
5811 do
5812 v.enter_visit(_n_expr)
5813 v.enter_visit(_n_args)
5814 v.enter_visit(_n_assign)
5815 v.enter_visit(_n_value)
5816 end
5817 end
5818 redef class ABraReassignExpr
5819 init init_abrareassignexpr (
5820 n_expr: nullable AExpr,
5821 n_args: nullable AExprs,
5822 n_assign_op: nullable AAssignOp,
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_op = n_assign_op.as(not null)
5831 n_assign_op.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_op == old_child then
5847 n_assign_op = new_child.as(AAssignOp)
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_op=(node)
5867 do
5868 _n_assign_op = 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_op)
5883 v.enter_visit(_n_value)
5884 end
5885 end
5886 redef class AVarExpr
5887 init init_avarexpr (
5888 n_id: nullable TId
5889 )
5890 do
5891 _n_id = n_id.as(not null)
5892 n_id.parent = self
5893 end
5894
5895 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5896 do
5897 if _n_id == old_child then
5898 n_id = new_child.as(TId)
5899 return
5900 end
5901 end
5902
5903 redef fun n_id=(node)
5904 do
5905 _n_id = node
5906 node.parent = self
5907 end
5908
5909
5910 redef fun visit_all(v: Visitor)
5911 do
5912 v.enter_visit(_n_id)
5913 end
5914 end
5915 redef class AVarAssignExpr
5916 init init_avarassignexpr (
5917 n_id: nullable TId,
5918 n_assign: nullable TAssign,
5919 n_value: nullable AExpr
5920 )
5921 do
5922 _n_id = n_id.as(not null)
5923 n_id.parent = self
5924 _n_assign = n_assign.as(not null)
5925 n_assign.parent = self
5926 _n_value = n_value.as(not null)
5927 n_value.parent = self
5928 end
5929
5930 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5931 do
5932 if _n_id == old_child then
5933 n_id = new_child.as(TId)
5934 return
5935 end
5936 if _n_assign == old_child then
5937 n_assign = new_child.as(TAssign)
5938 return
5939 end
5940 if _n_value == old_child then
5941 n_value = new_child.as(AExpr)
5942 return
5943 end
5944 end
5945
5946 redef fun n_id=(node)
5947 do
5948 _n_id = node
5949 node.parent = self
5950 end
5951 redef fun n_assign=(node)
5952 do
5953 _n_assign = node
5954 node.parent = self
5955 end
5956 redef fun n_value=(node)
5957 do
5958 _n_value = node
5959 node.parent = self
5960 end
5961
5962
5963 redef fun visit_all(v: Visitor)
5964 do
5965 v.enter_visit(_n_id)
5966 v.enter_visit(_n_assign)
5967 v.enter_visit(_n_value)
5968 end
5969 end
5970 redef class AVarReassignExpr
5971 init init_avarreassignexpr (
5972 n_id: nullable TId,
5973 n_assign_op: nullable AAssignOp,
5974 n_value: nullable AExpr
5975 )
5976 do
5977 _n_id = n_id.as(not null)
5978 n_id.parent = self
5979 _n_assign_op = n_assign_op.as(not null)
5980 n_assign_op.parent = self
5981 _n_value = n_value.as(not null)
5982 n_value.parent = self
5983 end
5984
5985 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5986 do
5987 if _n_id == old_child then
5988 n_id = new_child.as(TId)
5989 return
5990 end
5991 if _n_assign_op == old_child then
5992 n_assign_op = new_child.as(AAssignOp)
5993 return
5994 end
5995 if _n_value == old_child then
5996 n_value = new_child.as(AExpr)
5997 return
5998 end
5999 end
6000
6001 redef fun n_id=(node)
6002 do
6003 _n_id = node
6004 node.parent = self
6005 end
6006 redef fun n_assign_op=(node)
6007 do
6008 _n_assign_op = node
6009 node.parent = self
6010 end
6011 redef fun n_value=(node)
6012 do
6013 _n_value = node
6014 node.parent = self
6015 end
6016
6017
6018 redef fun visit_all(v: Visitor)
6019 do
6020 v.enter_visit(_n_id)
6021 v.enter_visit(_n_assign_op)
6022 v.enter_visit(_n_value)
6023 end
6024 end
6025 redef class ARangeExpr
6026 init init_arangeexpr (
6027 n_expr: nullable AExpr,
6028 n_expr2: nullable AExpr,
6029 n_annotations: nullable AAnnotations
6030 )
6031 do
6032 _n_expr = n_expr.as(not null)
6033 n_expr.parent = self
6034 _n_expr2 = n_expr2.as(not null)
6035 n_expr2.parent = self
6036 _n_annotations = n_annotations
6037 if n_annotations != null then n_annotations.parent = self
6038 end
6039
6040 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6041 do
6042 if _n_expr == old_child then
6043 n_expr = new_child.as(AExpr)
6044 return
6045 end
6046 if _n_expr2 == old_child then
6047 n_expr2 = new_child.as(AExpr)
6048 return
6049 end
6050 if _n_annotations == old_child then
6051 n_annotations = new_child.as(nullable AAnnotations)
6052 return
6053 end
6054 end
6055
6056 redef fun n_expr=(node)
6057 do
6058 _n_expr = node
6059 node.parent = self
6060 end
6061 redef fun n_expr2=(node)
6062 do
6063 _n_expr2 = node
6064 node.parent = self
6065 end
6066 redef fun n_annotations=(node)
6067 do
6068 _n_annotations = node
6069 if node != null then node.parent = self
6070 end
6071
6072
6073 redef fun visit_all(v: Visitor)
6074 do
6075 v.enter_visit(_n_expr)
6076 v.enter_visit(_n_expr2)
6077 v.enter_visit(_n_annotations)
6078 end
6079 end
6080 redef class ACrangeExpr
6081 init init_acrangeexpr (
6082 n_obra: nullable TObra,
6083 n_expr: nullable AExpr,
6084 n_dotdot: nullable TDotdot,
6085 n_expr2: nullable AExpr,
6086 n_cbra: nullable TCbra,
6087 n_annotations: nullable AAnnotations
6088 )
6089 do
6090 _n_obra = n_obra.as(not null)
6091 n_obra.parent = self
6092 _n_expr = n_expr.as(not null)
6093 n_expr.parent = self
6094 _n_dotdot = n_dotdot.as(not null)
6095 n_dotdot.parent = self
6096 _n_expr2 = n_expr2.as(not null)
6097 n_expr2.parent = self
6098 _n_cbra = n_cbra.as(not null)
6099 n_cbra.parent = self
6100 _n_annotations = n_annotations
6101 if n_annotations != null then n_annotations.parent = self
6102 end
6103
6104 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6105 do
6106 if _n_obra == old_child then
6107 n_obra = new_child.as(TObra)
6108 return
6109 end
6110 if _n_expr == old_child then
6111 n_expr = new_child.as(AExpr)
6112 return
6113 end
6114 if _n_dotdot == old_child then
6115 n_dotdot = new_child.as(TDotdot)
6116 return
6117 end
6118 if _n_expr2 == old_child then
6119 n_expr2 = new_child.as(AExpr)
6120 return
6121 end
6122 if _n_cbra == old_child then
6123 n_cbra = new_child.as(TCbra)
6124 return
6125 end
6126 if _n_annotations == old_child then
6127 n_annotations = new_child.as(nullable AAnnotations)
6128 return
6129 end
6130 end
6131
6132 redef fun n_obra=(node)
6133 do
6134 _n_obra = node
6135 node.parent = self
6136 end
6137 redef fun n_expr=(node)
6138 do
6139 _n_expr = node
6140 node.parent = self
6141 end
6142 redef fun n_dotdot=(node)
6143 do
6144 _n_dotdot = node
6145 node.parent = self
6146 end
6147 redef fun n_expr2=(node)
6148 do
6149 _n_expr2 = node
6150 node.parent = self
6151 end
6152 redef fun n_cbra=(node)
6153 do
6154 _n_cbra = node
6155 node.parent = self
6156 end
6157 redef fun n_annotations=(node)
6158 do
6159 _n_annotations = node
6160 if node != null then node.parent = self
6161 end
6162
6163
6164 redef fun visit_all(v: Visitor)
6165 do
6166 v.enter_visit(_n_obra)
6167 v.enter_visit(_n_expr)
6168 v.enter_visit(_n_dotdot)
6169 v.enter_visit(_n_expr2)
6170 v.enter_visit(_n_cbra)
6171 v.enter_visit(_n_annotations)
6172 end
6173 end
6174 redef class AOrangeExpr
6175 init init_aorangeexpr (
6176 n_obra: nullable TObra,
6177 n_expr: nullable AExpr,
6178 n_dotdot: nullable TDotdot,
6179 n_expr2: nullable AExpr,
6180 n_cbra: nullable TObra,
6181 n_annotations: nullable AAnnotations
6182 )
6183 do
6184 _n_obra = n_obra.as(not null)
6185 n_obra.parent = self
6186 _n_expr = n_expr.as(not null)
6187 n_expr.parent = self
6188 _n_dotdot = n_dotdot.as(not null)
6189 n_dotdot.parent = self
6190 _n_expr2 = n_expr2.as(not null)
6191 n_expr2.parent = self
6192 _n_cbra = n_cbra.as(not null)
6193 n_cbra.parent = self
6194 _n_annotations = n_annotations
6195 if n_annotations != null then n_annotations.parent = self
6196 end
6197
6198 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6199 do
6200 if _n_obra == old_child then
6201 n_obra = new_child.as(TObra)
6202 return
6203 end
6204 if _n_expr == old_child then
6205 n_expr = new_child.as(AExpr)
6206 return
6207 end
6208 if _n_dotdot == old_child then
6209 n_dotdot = new_child.as(TDotdot)
6210 return
6211 end
6212 if _n_expr2 == old_child then
6213 n_expr2 = new_child.as(AExpr)
6214 return
6215 end
6216 if _n_cbra == old_child then
6217 n_cbra = new_child.as(TObra)
6218 return
6219 end
6220 if _n_annotations == old_child then
6221 n_annotations = new_child.as(nullable AAnnotations)
6222 return
6223 end
6224 end
6225
6226 redef fun n_obra=(node)
6227 do
6228 _n_obra = node
6229 node.parent = self
6230 end
6231 redef fun n_expr=(node)
6232 do
6233 _n_expr = node
6234 node.parent = self
6235 end
6236 redef fun n_dotdot=(node)
6237 do
6238 _n_dotdot = node
6239 node.parent = self
6240 end
6241 redef fun n_expr2=(node)
6242 do
6243 _n_expr2 = node
6244 node.parent = self
6245 end
6246 redef fun n_cbra=(node)
6247 do
6248 _n_cbra = node
6249 node.parent = self
6250 end
6251 redef fun n_annotations=(node)
6252 do
6253 _n_annotations = node
6254 if node != null then node.parent = self
6255 end
6256
6257
6258 redef fun visit_all(v: Visitor)
6259 do
6260 v.enter_visit(_n_obra)
6261 v.enter_visit(_n_expr)
6262 v.enter_visit(_n_dotdot)
6263 v.enter_visit(_n_expr2)
6264 v.enter_visit(_n_cbra)
6265 v.enter_visit(_n_annotations)
6266 end
6267 end
6268 redef class AArrayExpr
6269 init init_aarrayexpr (
6270 n_obra: nullable TObra,
6271 n_exprs: Collection[Object], # Should be Collection[AExpr]
6272 n_type: nullable AType,
6273 n_cbra: nullable TCbra,
6274 n_annotations: nullable AAnnotations
6275 )
6276 do
6277 _n_obra = n_obra.as(not null)
6278 n_obra.parent = self
6279 self.n_exprs.unsafe_add_all(n_exprs)
6280 _n_type = n_type
6281 if n_type != null then n_type.parent = self
6282 _n_cbra = n_cbra.as(not null)
6283 n_cbra.parent = self
6284 _n_annotations = n_annotations
6285 if n_annotations != null then n_annotations.parent = self
6286 end
6287
6288 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6289 do
6290 if _n_obra == old_child then
6291 n_obra = new_child.as(TObra)
6292 return
6293 end
6294 if n_exprs.replace_child(old_child, new_child) then return
6295 if _n_type == old_child then
6296 n_type = new_child.as(nullable AType)
6297 return
6298 end
6299 if _n_cbra == old_child then
6300 n_cbra = new_child.as(TCbra)
6301 return
6302 end
6303 if _n_annotations == old_child then
6304 n_annotations = new_child.as(nullable AAnnotations)
6305 return
6306 end
6307 end
6308
6309 redef fun n_obra=(node)
6310 do
6311 _n_obra = node
6312 node.parent = self
6313 end
6314 redef fun n_type=(node)
6315 do
6316 _n_type = node
6317 if node != null then node.parent = self
6318 end
6319 redef fun n_cbra=(node)
6320 do
6321 _n_cbra = node
6322 node.parent = self
6323 end
6324 redef fun n_annotations=(node)
6325 do
6326 _n_annotations = node
6327 if node != null then node.parent = self
6328 end
6329
6330
6331 redef fun visit_all(v: Visitor)
6332 do
6333 v.enter_visit(_n_obra)
6334 n_exprs.visit_all(v)
6335 v.enter_visit(_n_type)
6336 v.enter_visit(_n_cbra)
6337 v.enter_visit(_n_annotations)
6338 end
6339 end
6340 redef class ASelfExpr
6341 init init_aselfexpr (
6342 n_kwself: nullable TKwself,
6343 n_annotations: nullable AAnnotations
6344 )
6345 do
6346 _n_kwself = n_kwself.as(not null)
6347 n_kwself.parent = self
6348 _n_annotations = n_annotations
6349 if n_annotations != null then n_annotations.parent = self
6350 end
6351
6352 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6353 do
6354 if _n_kwself == old_child then
6355 n_kwself = new_child.as(TKwself)
6356 return
6357 end
6358 if _n_annotations == old_child then
6359 n_annotations = new_child.as(nullable AAnnotations)
6360 return
6361 end
6362 end
6363
6364 redef fun n_kwself=(node)
6365 do
6366 _n_kwself = node
6367 node.parent = self
6368 end
6369 redef fun n_annotations=(node)
6370 do
6371 _n_annotations = node
6372 if node != null then node.parent = self
6373 end
6374
6375
6376 redef fun visit_all(v: Visitor)
6377 do
6378 v.enter_visit(_n_kwself)
6379 v.enter_visit(_n_annotations)
6380 end
6381 end
6382 redef class AImplicitSelfExpr
6383 init init_aimplicitselfexpr
6384 do
6385 end
6386
6387 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6388 do
6389 end
6390
6391
6392
6393 redef fun visit_all(v: Visitor)
6394 do
6395 end
6396 end
6397 redef class ATrueExpr
6398 init init_atrueexpr (
6399 n_kwtrue: nullable TKwtrue,
6400 n_annotations: nullable AAnnotations
6401 )
6402 do
6403 _n_kwtrue = n_kwtrue.as(not null)
6404 n_kwtrue.parent = self
6405 _n_annotations = n_annotations
6406 if n_annotations != null then n_annotations.parent = self
6407 end
6408
6409 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6410 do
6411 if _n_kwtrue == old_child then
6412 n_kwtrue = new_child.as(TKwtrue)
6413 return
6414 end
6415 if _n_annotations == old_child then
6416 n_annotations = new_child.as(nullable AAnnotations)
6417 return
6418 end
6419 end
6420
6421 redef fun n_kwtrue=(node)
6422 do
6423 _n_kwtrue = node
6424 node.parent = self
6425 end
6426 redef fun n_annotations=(node)
6427 do
6428 _n_annotations = node
6429 if node != null then node.parent = self
6430 end
6431
6432
6433 redef fun visit_all(v: Visitor)
6434 do
6435 v.enter_visit(_n_kwtrue)
6436 v.enter_visit(_n_annotations)
6437 end
6438 end
6439 redef class AFalseExpr
6440 init init_afalseexpr (
6441 n_kwfalse: nullable TKwfalse,
6442 n_annotations: nullable AAnnotations
6443 )
6444 do
6445 _n_kwfalse = n_kwfalse.as(not null)
6446 n_kwfalse.parent = self
6447 _n_annotations = n_annotations
6448 if n_annotations != null then n_annotations.parent = self
6449 end
6450
6451 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6452 do
6453 if _n_kwfalse == old_child then
6454 n_kwfalse = new_child.as(TKwfalse)
6455 return
6456 end
6457 if _n_annotations == old_child then
6458 n_annotations = new_child.as(nullable AAnnotations)
6459 return
6460 end
6461 end
6462
6463 redef fun n_kwfalse=(node)
6464 do
6465 _n_kwfalse = node
6466 node.parent = self
6467 end
6468 redef fun n_annotations=(node)
6469 do
6470 _n_annotations = node
6471 if node != null then node.parent = self
6472 end
6473
6474
6475 redef fun visit_all(v: Visitor)
6476 do
6477 v.enter_visit(_n_kwfalse)
6478 v.enter_visit(_n_annotations)
6479 end
6480 end
6481 redef class ANullExpr
6482 init init_anullexpr (
6483 n_kwnull: nullable TKwnull,
6484 n_annotations: nullable AAnnotations
6485 )
6486 do
6487 _n_kwnull = n_kwnull.as(not null)
6488 n_kwnull.parent = self
6489 _n_annotations = n_annotations
6490 if n_annotations != null then n_annotations.parent = self
6491 end
6492
6493 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6494 do
6495 if _n_kwnull == old_child then
6496 n_kwnull = new_child.as(TKwnull)
6497 return
6498 end
6499 if _n_annotations == old_child then
6500 n_annotations = new_child.as(nullable AAnnotations)
6501 return
6502 end
6503 end
6504
6505 redef fun n_kwnull=(node)
6506 do
6507 _n_kwnull = node
6508 node.parent = self
6509 end
6510 redef fun n_annotations=(node)
6511 do
6512 _n_annotations = node
6513 if node != null then node.parent = self
6514 end
6515
6516
6517 redef fun visit_all(v: Visitor)
6518 do
6519 v.enter_visit(_n_kwnull)
6520 v.enter_visit(_n_annotations)
6521 end
6522 end
6523 redef class AIntegerExpr
6524 init init_aintegerexpr (
6525 n_integer: nullable TInteger,
6526 n_annotations: nullable AAnnotations
6527 )
6528 do
6529 _n_integer = n_integer.as(not null)
6530 n_integer.parent = self
6531 _n_annotations = n_annotations
6532 if n_annotations != null then n_annotations.parent = self
6533 end
6534
6535 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6536 do
6537 if _n_integer == old_child then
6538 n_integer = new_child.as(TInteger)
6539 return
6540 end
6541 if _n_annotations == old_child then
6542 n_annotations = new_child.as(nullable AAnnotations)
6543 return
6544 end
6545 end
6546
6547 redef fun n_integer=(node)
6548 do
6549 _n_integer = node
6550 node.parent = self
6551 end
6552 redef fun n_annotations=(node)
6553 do
6554 _n_annotations = node
6555 if node != null then node.parent = self
6556 end
6557
6558
6559 redef fun visit_all(v: Visitor)
6560 do
6561 v.enter_visit(_n_integer)
6562 v.enter_visit(_n_annotations)
6563 end
6564 end
6565 redef class AFloatExpr
6566 init init_afloatexpr (
6567 n_float: nullable TFloat,
6568 n_annotations: nullable AAnnotations
6569 )
6570 do
6571 _n_float = n_float.as(not null)
6572 n_float.parent = self
6573 _n_annotations = n_annotations
6574 if n_annotations != null then n_annotations.parent = self
6575 end
6576
6577 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6578 do
6579 if _n_float == old_child then
6580 n_float = new_child.as(TFloat)
6581 return
6582 end
6583 if _n_annotations == old_child then
6584 n_annotations = new_child.as(nullable AAnnotations)
6585 return
6586 end
6587 end
6588
6589 redef fun n_float=(node)
6590 do
6591 _n_float = node
6592 node.parent = self
6593 end
6594 redef fun n_annotations=(node)
6595 do
6596 _n_annotations = node
6597 if node != null then node.parent = self
6598 end
6599
6600
6601 redef fun visit_all(v: Visitor)
6602 do
6603 v.enter_visit(_n_float)
6604 v.enter_visit(_n_annotations)
6605 end
6606 end
6607 redef class ACharExpr
6608 init init_acharexpr (
6609 n_char: nullable TChar,
6610 n_annotations: nullable AAnnotations
6611 )
6612 do
6613 _n_char = n_char.as(not null)
6614 n_char.parent = self
6615 _n_annotations = n_annotations
6616 if n_annotations != null then n_annotations.parent = self
6617 end
6618
6619 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6620 do
6621 if _n_char == old_child then
6622 n_char = new_child.as(TChar)
6623 return
6624 end
6625 if _n_annotations == old_child then
6626 n_annotations = new_child.as(nullable AAnnotations)
6627 return
6628 end
6629 end
6630
6631 redef fun n_char=(node)
6632 do
6633 _n_char = node
6634 node.parent = self
6635 end
6636 redef fun n_annotations=(node)
6637 do
6638 _n_annotations = node
6639 if node != null then node.parent = self
6640 end
6641
6642
6643 redef fun visit_all(v: Visitor)
6644 do
6645 v.enter_visit(_n_char)
6646 v.enter_visit(_n_annotations)
6647 end
6648 end
6649 redef class AStringExpr
6650 init init_astringexpr (
6651 n_string: nullable TString,
6652 n_annotations: nullable AAnnotations
6653 )
6654 do
6655 _n_string = n_string.as(not null)
6656 n_string.parent = self
6657 _n_annotations = n_annotations
6658 if n_annotations != null then n_annotations.parent = self
6659 end
6660
6661 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6662 do
6663 if _n_string == old_child then
6664 n_string = new_child.as(TString)
6665 return
6666 end
6667 if _n_annotations == old_child then
6668 n_annotations = new_child.as(nullable AAnnotations)
6669 return
6670 end
6671 end
6672
6673 redef fun n_string=(node)
6674 do
6675 _n_string = node
6676 node.parent = self
6677 end
6678 redef fun n_annotations=(node)
6679 do
6680 _n_annotations = node
6681 if node != null then node.parent = self
6682 end
6683
6684
6685 redef fun visit_all(v: Visitor)
6686 do
6687 v.enter_visit(_n_string)
6688 v.enter_visit(_n_annotations)
6689 end
6690 end
6691 redef class AStartStringExpr
6692 init init_astartstringexpr (
6693 n_string: nullable TStartString
6694 )
6695 do
6696 _n_string = n_string.as(not null)
6697 n_string.parent = self
6698 end
6699
6700 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6701 do
6702 if _n_string == old_child then
6703 n_string = new_child.as(TStartString)
6704 return
6705 end
6706 end
6707
6708 redef fun n_string=(node)
6709 do
6710 _n_string = node
6711 node.parent = self
6712 end
6713
6714
6715 redef fun visit_all(v: Visitor)
6716 do
6717 v.enter_visit(_n_string)
6718 end
6719 end
6720 redef class AMidStringExpr
6721 init init_amidstringexpr (
6722 n_string: nullable TMidString
6723 )
6724 do
6725 _n_string = n_string.as(not null)
6726 n_string.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(TMidString)
6733 return
6734 end
6735 end
6736
6737 redef fun n_string=(node)
6738 do
6739 _n_string = node
6740 node.parent = self
6741 end
6742
6743
6744 redef fun visit_all(v: Visitor)
6745 do
6746 v.enter_visit(_n_string)
6747 end
6748 end
6749 redef class AEndStringExpr
6750 init init_aendstringexpr (
6751 n_string: nullable TEndString
6752 )
6753 do
6754 _n_string = n_string.as(not null)
6755 n_string.parent = self
6756 end
6757
6758 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6759 do
6760 if _n_string == old_child then
6761 n_string = new_child.as(TEndString)
6762 return
6763 end
6764 end
6765
6766 redef fun n_string=(node)
6767 do
6768 _n_string = node
6769 node.parent = self
6770 end
6771
6772
6773 redef fun visit_all(v: Visitor)
6774 do
6775 v.enter_visit(_n_string)
6776 end
6777 end
6778 redef class ASuperstringExpr
6779 init init_asuperstringexpr (
6780 n_exprs: Collection[Object], # Should be Collection[AExpr]
6781 n_annotations: nullable AAnnotations
6782 )
6783 do
6784 self.n_exprs.unsafe_add_all(n_exprs)
6785 _n_annotations = n_annotations
6786 if n_annotations != null then n_annotations.parent = self
6787 end
6788
6789 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6790 do
6791 if n_exprs.replace_child(old_child, new_child) then return
6792 if _n_annotations == old_child then
6793 n_annotations = new_child.as(nullable AAnnotations)
6794 return
6795 end
6796 end
6797
6798 redef fun n_annotations=(node)
6799 do
6800 _n_annotations = node
6801 if node != null then node.parent = self
6802 end
6803
6804
6805 redef fun visit_all(v: Visitor)
6806 do
6807 n_exprs.visit_all(v)
6808 v.enter_visit(_n_annotations)
6809 end
6810 end
6811 redef class AParExpr
6812 init init_aparexpr (
6813 n_opar: nullable TOpar,
6814 n_expr: nullable AExpr,
6815 n_cpar: nullable TCpar,
6816 n_annotations: nullable AAnnotations
6817 )
6818 do
6819 _n_opar = n_opar.as(not null)
6820 n_opar.parent = self
6821 _n_expr = n_expr.as(not null)
6822 n_expr.parent = self
6823 _n_cpar = n_cpar.as(not null)
6824 n_cpar.parent = self
6825 _n_annotations = n_annotations
6826 if n_annotations != null then n_annotations.parent = self
6827 end
6828
6829 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6830 do
6831 if _n_opar == old_child then
6832 n_opar = new_child.as(TOpar)
6833 return
6834 end
6835 if _n_expr == old_child then
6836 n_expr = new_child.as(AExpr)
6837 return
6838 end
6839 if _n_cpar == old_child then
6840 n_cpar = new_child.as(TCpar)
6841 return
6842 end
6843 if _n_annotations == old_child then
6844 n_annotations = new_child.as(nullable AAnnotations)
6845 return
6846 end
6847 end
6848
6849 redef fun n_opar=(node)
6850 do
6851 _n_opar = node
6852 node.parent = self
6853 end
6854 redef fun n_expr=(node)
6855 do
6856 _n_expr = node
6857 node.parent = self
6858 end
6859 redef fun n_cpar=(node)
6860 do
6861 _n_cpar = node
6862 node.parent = self
6863 end
6864 redef fun n_annotations=(node)
6865 do
6866 _n_annotations = node
6867 if node != null then node.parent = self
6868 end
6869
6870
6871 redef fun visit_all(v: Visitor)
6872 do
6873 v.enter_visit(_n_opar)
6874 v.enter_visit(_n_expr)
6875 v.enter_visit(_n_cpar)
6876 v.enter_visit(_n_annotations)
6877 end
6878 end
6879 redef class AAsCastExpr
6880 init init_aascastexpr (
6881 n_expr: nullable AExpr,
6882 n_kwas: nullable TKwas,
6883 n_opar: nullable TOpar,
6884 n_type: nullable AType,
6885 n_cpar: nullable TCpar
6886 )
6887 do
6888 _n_expr = n_expr.as(not null)
6889 n_expr.parent = self
6890 _n_kwas = n_kwas.as(not null)
6891 n_kwas.parent = self
6892 _n_opar = n_opar
6893 if n_opar != null then n_opar.parent = self
6894 _n_type = n_type.as(not null)
6895 n_type.parent = self
6896 _n_cpar = n_cpar
6897 if n_cpar != null then n_cpar.parent = self
6898 end
6899
6900 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6901 do
6902 if _n_expr == old_child then
6903 n_expr = new_child.as(AExpr)
6904 return
6905 end
6906 if _n_kwas == old_child then
6907 n_kwas = new_child.as(TKwas)
6908 return
6909 end
6910 if _n_opar == old_child then
6911 n_opar = new_child.as(nullable TOpar)
6912 return
6913 end
6914 if _n_type == old_child then
6915 n_type = new_child.as(AType)
6916 return
6917 end
6918 if _n_cpar == old_child then
6919 n_cpar = new_child.as(nullable TCpar)
6920 return
6921 end
6922 end
6923
6924 redef fun n_expr=(node)
6925 do
6926 _n_expr = node
6927 node.parent = self
6928 end
6929 redef fun n_kwas=(node)
6930 do
6931 _n_kwas = node
6932 node.parent = self
6933 end
6934 redef fun n_opar=(node)
6935 do
6936 _n_opar = node
6937 if node != null then node.parent = self
6938 end
6939 redef fun n_type=(node)
6940 do
6941 _n_type = node
6942 node.parent = self
6943 end
6944 redef fun n_cpar=(node)
6945 do
6946 _n_cpar = node
6947 if node != null then node.parent = self
6948 end
6949
6950
6951 redef fun visit_all(v: Visitor)
6952 do
6953 v.enter_visit(_n_expr)
6954 v.enter_visit(_n_kwas)
6955 v.enter_visit(_n_opar)
6956 v.enter_visit(_n_type)
6957 v.enter_visit(_n_cpar)
6958 end
6959 end
6960 redef class AAsNotnullExpr
6961 init init_aasnotnullexpr (
6962 n_expr: nullable AExpr,
6963 n_kwas: nullable TKwas,
6964 n_opar: nullable TOpar,
6965 n_kwnot: nullable TKwnot,
6966 n_kwnull: nullable TKwnull,
6967 n_cpar: nullable TCpar
6968 )
6969 do
6970 _n_expr = n_expr.as(not null)
6971 n_expr.parent = self
6972 _n_kwas = n_kwas.as(not null)
6973 n_kwas.parent = self
6974 _n_opar = n_opar
6975 if n_opar != null then n_opar.parent = self
6976 _n_kwnot = n_kwnot.as(not null)
6977 n_kwnot.parent = self
6978 _n_kwnull = n_kwnull.as(not null)
6979 n_kwnull.parent = self
6980 _n_cpar = n_cpar
6981 if n_cpar != null then n_cpar.parent = self
6982 end
6983
6984 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6985 do
6986 if _n_expr == old_child then
6987 n_expr = new_child.as(AExpr)
6988 return
6989 end
6990 if _n_kwas == old_child then
6991 n_kwas = new_child.as(TKwas)
6992 return
6993 end
6994 if _n_opar == old_child then
6995 n_opar = new_child.as(nullable TOpar)
6996 return
6997 end
6998 if _n_kwnot == old_child then
6999 n_kwnot = new_child.as(TKwnot)
7000 return
7001 end
7002 if _n_kwnull == old_child then
7003 n_kwnull = new_child.as(TKwnull)
7004 return
7005 end
7006 if _n_cpar == old_child then
7007 n_cpar = new_child.as(nullable TCpar)
7008 return
7009 end
7010 end
7011
7012 redef fun n_expr=(node)
7013 do
7014 _n_expr = node
7015 node.parent = self
7016 end
7017 redef fun n_kwas=(node)
7018 do
7019 _n_kwas = node
7020 node.parent = self
7021 end
7022 redef fun n_opar=(node)
7023 do
7024 _n_opar = node
7025 if node != null then node.parent = self
7026 end
7027 redef fun n_kwnot=(node)
7028 do
7029 _n_kwnot = node
7030 node.parent = self
7031 end
7032 redef fun n_kwnull=(node)
7033 do
7034 _n_kwnull = node
7035 node.parent = self
7036 end
7037 redef fun n_cpar=(node)
7038 do
7039 _n_cpar = node
7040 if node != null then node.parent = self
7041 end
7042
7043
7044 redef fun visit_all(v: Visitor)
7045 do
7046 v.enter_visit(_n_expr)
7047 v.enter_visit(_n_kwas)
7048 v.enter_visit(_n_opar)
7049 v.enter_visit(_n_kwnot)
7050 v.enter_visit(_n_kwnull)
7051 v.enter_visit(_n_cpar)
7052 end
7053 end
7054 redef class AIssetAttrExpr
7055 init init_aissetattrexpr (
7056 n_kwisset: nullable TKwisset,
7057 n_expr: nullable AExpr,
7058 n_id: nullable TAttrid
7059 )
7060 do
7061 _n_kwisset = n_kwisset.as(not null)
7062 n_kwisset.parent = self
7063 _n_expr = n_expr.as(not null)
7064 n_expr.parent = self
7065 _n_id = n_id.as(not null)
7066 n_id.parent = self
7067 end
7068
7069 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7070 do
7071 if _n_kwisset == old_child then
7072 n_kwisset = new_child.as(TKwisset)
7073 return
7074 end
7075 if _n_expr == old_child then
7076 n_expr = new_child.as(AExpr)
7077 return
7078 end
7079 if _n_id == old_child then
7080 n_id = new_child.as(TAttrid)
7081 return
7082 end
7083 end
7084
7085 redef fun n_kwisset=(node)
7086 do
7087 _n_kwisset = node
7088 node.parent = self
7089 end
7090 redef fun n_expr=(node)
7091 do
7092 _n_expr = node
7093 node.parent = self
7094 end
7095 redef fun n_id=(node)
7096 do
7097 _n_id = node
7098 node.parent = self
7099 end
7100
7101
7102 redef fun visit_all(v: Visitor)
7103 do
7104 v.enter_visit(_n_kwisset)
7105 v.enter_visit(_n_expr)
7106 v.enter_visit(_n_id)
7107 end
7108 end
7109 redef class ADebugTypeExpr
7110 init init_adebugtypeexpr (
7111 n_kwdebug: nullable TKwdebug,
7112 n_kwtype: nullable TKwtype,
7113 n_expr: nullable AExpr,
7114 n_type: nullable AType
7115 )
7116 do
7117 _n_kwdebug = n_kwdebug.as(not null)
7118 n_kwdebug.parent = self
7119 _n_kwtype = n_kwtype.as(not null)
7120 n_kwtype.parent = self
7121 _n_expr = n_expr.as(not null)
7122 n_expr.parent = self
7123 _n_type = n_type.as(not null)
7124 n_type.parent = self
7125 end
7126
7127 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7128 do
7129 if _n_kwdebug == old_child then
7130 n_kwdebug = new_child.as(TKwdebug)
7131 return
7132 end
7133 if _n_kwtype == old_child then
7134 n_kwtype = new_child.as(TKwtype)
7135 return
7136 end
7137 if _n_expr == old_child then
7138 n_expr = new_child.as(AExpr)
7139 return
7140 end
7141 if _n_type == old_child then
7142 n_type = new_child.as(AType)
7143 return
7144 end
7145 end
7146
7147 redef fun n_kwdebug=(node)
7148 do
7149 _n_kwdebug = node
7150 node.parent = self
7151 end
7152 redef fun n_kwtype=(node)
7153 do
7154 _n_kwtype = node
7155 node.parent = self
7156 end
7157 redef fun n_expr=(node)
7158 do
7159 _n_expr = node
7160 node.parent = self
7161 end
7162 redef fun n_type=(node)
7163 do
7164 _n_type = node
7165 node.parent = self
7166 end
7167
7168
7169 redef fun visit_all(v: Visitor)
7170 do
7171 v.enter_visit(_n_kwdebug)
7172 v.enter_visit(_n_kwtype)
7173 v.enter_visit(_n_expr)
7174 v.enter_visit(_n_type)
7175 end
7176 end
7177 redef class AVarargExpr
7178 init init_avarargexpr (
7179 n_expr: nullable AExpr,
7180 n_dotdotdot: nullable TDotdotdot
7181 )
7182 do
7183 _n_expr = n_expr.as(not null)
7184 n_expr.parent = self
7185 _n_dotdotdot = n_dotdotdot.as(not null)
7186 n_dotdotdot.parent = self
7187 end
7188
7189 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7190 do
7191 if _n_expr == old_child then
7192 n_expr = new_child.as(AExpr)
7193 return
7194 end
7195 if _n_dotdotdot == old_child then
7196 n_dotdotdot = new_child.as(TDotdotdot)
7197 return
7198 end
7199 end
7200
7201 redef fun n_expr=(node)
7202 do
7203 _n_expr = node
7204 node.parent = self
7205 end
7206 redef fun n_dotdotdot=(node)
7207 do
7208 _n_dotdotdot = node
7209 node.parent = self
7210 end
7211
7212
7213 redef fun visit_all(v: Visitor)
7214 do
7215 v.enter_visit(_n_expr)
7216 v.enter_visit(_n_dotdotdot)
7217 end
7218 end
7219 redef class ANamedargExpr
7220 init init_anamedargexpr (
7221 n_id: nullable TId,
7222 n_assign: nullable TAssign,
7223 n_expr: nullable AExpr
7224 )
7225 do
7226 _n_id = n_id.as(not null)
7227 n_id.parent = self
7228 _n_assign = n_assign.as(not null)
7229 n_assign.parent = self
7230 _n_expr = n_expr.as(not null)
7231 n_expr.parent = self
7232 end
7233
7234 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7235 do
7236 if _n_id == old_child then
7237 n_id = new_child.as(TId)
7238 return
7239 end
7240 if _n_assign == old_child then
7241 n_assign = new_child.as(TAssign)
7242 return
7243 end
7244 if _n_expr == old_child then
7245 n_expr = new_child.as(AExpr)
7246 return
7247 end
7248 end
7249
7250 redef fun n_id=(node)
7251 do
7252 _n_id = node
7253 node.parent = self
7254 end
7255 redef fun n_assign=(node)
7256 do
7257 _n_assign = node
7258 node.parent = self
7259 end
7260 redef fun n_expr=(node)
7261 do
7262 _n_expr = node
7263 node.parent = self
7264 end
7265
7266
7267 redef fun visit_all(v: Visitor)
7268 do
7269 v.enter_visit(_n_id)
7270 v.enter_visit(_n_assign)
7271 v.enter_visit(_n_expr)
7272 end
7273 end
7274 redef class ASafeExpr
7275 init init_asafeexpr (
7276 n_expr: nullable AExpr,
7277 n_quest: nullable TQuest
7278 )
7279 do
7280 _n_expr = n_expr.as(not null)
7281 n_expr.parent = self
7282 _n_quest = n_quest.as(not null)
7283 n_quest.parent = self
7284 end
7285
7286 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7287 do
7288 if _n_expr == old_child then
7289 n_expr = new_child.as(AExpr)
7290 return
7291 end
7292 if _n_quest == old_child then
7293 n_quest = new_child.as(TQuest)
7294 return
7295 end
7296 end
7297
7298 redef fun n_expr=(node)
7299 do
7300 _n_expr = node
7301 node.parent = self
7302 end
7303 redef fun n_quest=(node)
7304 do
7305 _n_quest = node
7306 node.parent = self
7307 end
7308
7309
7310 redef fun visit_all(v: Visitor)
7311 do
7312 v.enter_visit(_n_expr)
7313 v.enter_visit(_n_quest)
7314 end
7315 end
7316 redef class ATypeExpr
7317 init init_atypeexpr (
7318 n_type: nullable AType
7319 )
7320 do
7321 _n_type = n_type.as(not null)
7322 n_type.parent = self
7323 end
7324
7325 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7326 do
7327 if _n_type == old_child then
7328 n_type = new_child.as(AType)
7329 return
7330 end
7331 end
7332
7333 redef fun n_type=(node)
7334 do
7335 _n_type = node
7336 node.parent = self
7337 end
7338
7339
7340 redef fun visit_all(v: Visitor)
7341 do
7342 v.enter_visit(_n_type)
7343 end
7344 end
7345 redef class AMethidExpr
7346 init init_amethidexpr (
7347 n_expr: nullable AExpr,
7348 n_id: nullable AMethid
7349 )
7350 do
7351 _n_expr = n_expr.as(not null)
7352 n_expr.parent = self
7353 _n_id = n_id.as(not null)
7354 n_id.parent = self
7355 end
7356
7357 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7358 do
7359 if _n_expr == old_child then
7360 n_expr = new_child.as(AExpr)
7361 return
7362 end
7363 if _n_id == old_child then
7364 n_id = new_child.as(AMethid)
7365 return
7366 end
7367 end
7368
7369 redef fun n_expr=(node)
7370 do
7371 _n_expr = node
7372 node.parent = self
7373 end
7374 redef fun n_id=(node)
7375 do
7376 _n_id = node
7377 node.parent = self
7378 end
7379
7380
7381 redef fun visit_all(v: Visitor)
7382 do
7383 v.enter_visit(_n_expr)
7384 v.enter_visit(_n_id)
7385 end
7386 end
7387 redef class AAtExpr
7388 init init_aatexpr (
7389 n_annotations: nullable AAnnotations
7390 )
7391 do
7392 _n_annotations = n_annotations.as(not null)
7393 n_annotations.parent = self
7394 end
7395
7396 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7397 do
7398 if _n_annotations == old_child then
7399 n_annotations = new_child.as(AAnnotations)
7400 return
7401 end
7402 end
7403
7404 redef fun n_annotations=(node)
7405 do
7406 _n_annotations = node
7407 node.parent = self
7408 end
7409
7410
7411 redef fun visit_all(v: Visitor)
7412 do
7413 v.enter_visit(_n_annotations)
7414 end
7415 end
7416 redef class AManyExpr
7417 init init_amanyexpr (
7418 n_exprs: Collection[Object] # Should be Collection[AExpr]
7419 )
7420 do
7421 self.n_exprs.unsafe_add_all(n_exprs)
7422 end
7423
7424 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7425 do
7426 if n_exprs.replace_child(old_child, new_child) then return
7427 end
7428
7429
7430
7431 redef fun visit_all(v: Visitor)
7432 do
7433 n_exprs.visit_all(v)
7434 end
7435 end
7436 redef class AListExprs
7437 init init_alistexprs (
7438 n_exprs: Collection[Object] # Should be Collection[AExpr]
7439 )
7440 do
7441 self.n_exprs.unsafe_add_all(n_exprs)
7442 end
7443
7444 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7445 do
7446 if n_exprs.replace_child(old_child, new_child) then return
7447 end
7448
7449
7450
7451 redef fun visit_all(v: Visitor)
7452 do
7453 n_exprs.visit_all(v)
7454 end
7455 end
7456 redef class AParExprs
7457 init init_aparexprs (
7458 n_opar: nullable TOpar,
7459 n_exprs: Collection[Object], # Should be Collection[AExpr]
7460 n_cpar: nullable TCpar
7461 )
7462 do
7463 _n_opar = n_opar.as(not null)
7464 n_opar.parent = self
7465 self.n_exprs.unsafe_add_all(n_exprs)
7466 _n_cpar = n_cpar.as(not null)
7467 n_cpar.parent = self
7468 end
7469
7470 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7471 do
7472 if _n_opar == old_child then
7473 n_opar = new_child.as(TOpar)
7474 return
7475 end
7476 if n_exprs.replace_child(old_child, new_child) then return
7477 if _n_cpar == old_child then
7478 n_cpar = new_child.as(TCpar)
7479 return
7480 end
7481 end
7482
7483 redef fun n_opar=(node)
7484 do
7485 _n_opar = node
7486 node.parent = self
7487 end
7488 redef fun n_cpar=(node)
7489 do
7490 _n_cpar = node
7491 node.parent = self
7492 end
7493
7494
7495 redef fun visit_all(v: Visitor)
7496 do
7497 v.enter_visit(_n_opar)
7498 n_exprs.visit_all(v)
7499 v.enter_visit(_n_cpar)
7500 end
7501 end
7502 redef class ABraExprs
7503 init init_abraexprs (
7504 n_obra: nullable TObra,
7505 n_exprs: Collection[Object], # Should be Collection[AExpr]
7506 n_cbra: nullable TCbra
7507 )
7508 do
7509 _n_obra = n_obra.as(not null)
7510 n_obra.parent = self
7511 self.n_exprs.unsafe_add_all(n_exprs)
7512 _n_cbra = n_cbra.as(not null)
7513 n_cbra.parent = self
7514 end
7515
7516 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7517 do
7518 if _n_obra == old_child then
7519 n_obra = new_child.as(TObra)
7520 return
7521 end
7522 if n_exprs.replace_child(old_child, new_child) then return
7523 if _n_cbra == old_child then
7524 n_cbra = new_child.as(TCbra)
7525 return
7526 end
7527 end
7528
7529 redef fun n_obra=(node)
7530 do
7531 _n_obra = node
7532 node.parent = self
7533 end
7534 redef fun n_cbra=(node)
7535 do
7536 _n_cbra = node
7537 node.parent = self
7538 end
7539
7540
7541 redef fun visit_all(v: Visitor)
7542 do
7543 v.enter_visit(_n_obra)
7544 n_exprs.visit_all(v)
7545 v.enter_visit(_n_cbra)
7546 end
7547 end
7548 redef class APlusAssignOp
7549 init init_aplusassignop (
7550 n_op: nullable TPluseq
7551 )
7552 do
7553 _n_op = n_op.as(not null)
7554 n_op.parent = self
7555 end
7556
7557 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7558 do
7559 if _n_op == old_child then
7560 n_op = new_child.as(TPluseq)
7561 return
7562 end
7563 end
7564
7565 redef fun n_op=(node)
7566 do
7567 _n_op = node
7568 node.parent = self
7569 end
7570
7571
7572 redef fun visit_all(v: Visitor)
7573 do
7574 v.enter_visit(_n_op)
7575 end
7576 end
7577 redef class AMinusAssignOp
7578 init init_aminusassignop (
7579 n_op: nullable TMinuseq
7580 )
7581 do
7582 _n_op = n_op.as(not null)
7583 n_op.parent = self
7584 end
7585
7586 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7587 do
7588 if _n_op == old_child then
7589 n_op = new_child.as(TMinuseq)
7590 return
7591 end
7592 end
7593
7594 redef fun n_op=(node)
7595 do
7596 _n_op = node
7597 node.parent = self
7598 end
7599
7600
7601 redef fun visit_all(v: Visitor)
7602 do
7603 v.enter_visit(_n_op)
7604 end
7605 end
7606 redef class AStarAssignOp
7607 init init_astarassignop (
7608 n_op: nullable TStareq
7609 )
7610 do
7611 _n_op = n_op.as(not null)
7612 n_op.parent = self
7613 end
7614
7615 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7616 do
7617 if _n_op == old_child then
7618 n_op = new_child.as(TStareq)
7619 return
7620 end
7621 end
7622
7623 redef fun n_op=(node)
7624 do
7625 _n_op = node
7626 node.parent = self
7627 end
7628
7629
7630 redef fun visit_all(v: Visitor)
7631 do
7632 v.enter_visit(_n_op)
7633 end
7634 end
7635 redef class ASlashAssignOp
7636 init init_aslashassignop (
7637 n_op: nullable TSlasheq
7638 )
7639 do
7640 _n_op = n_op.as(not null)
7641 n_op.parent = self
7642 end
7643
7644 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7645 do
7646 if _n_op == old_child then
7647 n_op = new_child.as(TSlasheq)
7648 return
7649 end
7650 end
7651
7652 redef fun n_op=(node)
7653 do
7654 _n_op = node
7655 node.parent = self
7656 end
7657
7658
7659 redef fun visit_all(v: Visitor)
7660 do
7661 v.enter_visit(_n_op)
7662 end
7663 end
7664 redef class APercentAssignOp
7665 init init_apercentassignop (
7666 n_op: nullable TPercenteq
7667 )
7668 do
7669 _n_op = n_op.as(not null)
7670 n_op.parent = self
7671 end
7672
7673 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7674 do
7675 if _n_op == old_child then
7676 n_op = new_child.as(TPercenteq)
7677 return
7678 end
7679 end
7680
7681 redef fun n_op=(node)
7682 do
7683 _n_op = node
7684 node.parent = self
7685 end
7686
7687
7688 redef fun visit_all(v: Visitor)
7689 do
7690 v.enter_visit(_n_op)
7691 end
7692 end
7693 redef class AStarstarAssignOp
7694 init init_astarstarassignop (
7695 n_op: nullable TStarstareq
7696 )
7697 do
7698 _n_op = n_op.as(not null)
7699 n_op.parent = self
7700 end
7701
7702 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7703 do
7704 if _n_op == old_child then
7705 n_op = new_child.as(TStarstareq)
7706 return
7707 end
7708 end
7709
7710 redef fun n_op=(node)
7711 do
7712 _n_op = node
7713 node.parent = self
7714 end
7715
7716
7717 redef fun visit_all(v: Visitor)
7718 do
7719 v.enter_visit(_n_op)
7720 end
7721 end
7722 redef class APipeAssignOp
7723 init init_apipeassignop (
7724 n_op: nullable TPipeeq
7725 )
7726 do
7727 _n_op = n_op.as(not null)
7728 n_op.parent = self
7729 end
7730
7731 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7732 do
7733 if _n_op == old_child then
7734 n_op = new_child.as(TPipeeq)
7735 return
7736 end
7737 end
7738
7739 redef fun n_op=(node)
7740 do
7741 _n_op = node
7742 node.parent = self
7743 end
7744
7745
7746 redef fun visit_all(v: Visitor)
7747 do
7748 v.enter_visit(_n_op)
7749 end
7750 end
7751 redef class ACaretAssignOp
7752 init init_acaretassignop (
7753 n_op: nullable TCareteq
7754 )
7755 do
7756 _n_op = n_op.as(not null)
7757 n_op.parent = self
7758 end
7759
7760 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7761 do
7762 if _n_op == old_child then
7763 n_op = new_child.as(TCareteq)
7764 return
7765 end
7766 end
7767
7768 redef fun n_op=(node)
7769 do
7770 _n_op = node
7771 node.parent = self
7772 end
7773
7774
7775 redef fun visit_all(v: Visitor)
7776 do
7777 v.enter_visit(_n_op)
7778 end
7779 end
7780 redef class AAmpAssignOp
7781 init init_aampassignop (
7782 n_op: nullable TAmpeq
7783 )
7784 do
7785 _n_op = n_op.as(not null)
7786 n_op.parent = self
7787 end
7788
7789 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7790 do
7791 if _n_op == old_child then
7792 n_op = new_child.as(TAmpeq)
7793 return
7794 end
7795 end
7796
7797 redef fun n_op=(node)
7798 do
7799 _n_op = node
7800 node.parent = self
7801 end
7802
7803
7804 redef fun visit_all(v: Visitor)
7805 do
7806 v.enter_visit(_n_op)
7807 end
7808 end
7809 redef class ALlAssignOp
7810 init init_allassignop (
7811 n_op: nullable TLleq
7812 )
7813 do
7814 _n_op = n_op.as(not null)
7815 n_op.parent = self
7816 end
7817
7818 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7819 do
7820 if _n_op == old_child then
7821 n_op = new_child.as(TLleq)
7822 return
7823 end
7824 end
7825
7826 redef fun n_op=(node)
7827 do
7828 _n_op = node
7829 node.parent = self
7830 end
7831
7832
7833 redef fun visit_all(v: Visitor)
7834 do
7835 v.enter_visit(_n_op)
7836 end
7837 end
7838 redef class AGgAssignOp
7839 init init_aggassignop (
7840 n_op: nullable TGgeq
7841 )
7842 do
7843 _n_op = n_op.as(not null)
7844 n_op.parent = self
7845 end
7846
7847 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7848 do
7849 if _n_op == old_child then
7850 n_op = new_child.as(TGgeq)
7851 return
7852 end
7853 end
7854
7855 redef fun n_op=(node)
7856 do
7857 _n_op = node
7858 node.parent = self
7859 end
7860
7861
7862 redef fun visit_all(v: Visitor)
7863 do
7864 v.enter_visit(_n_op)
7865 end
7866 end
7867 redef class AForGroup
7868 init init_aforgroup (
7869 n_ids: Collection[Object], # Should be Collection[TId]
7870 n_kwin: nullable TKwin,
7871 n_expr: nullable AExpr
7872 )
7873 do
7874 self.n_ids.unsafe_add_all(n_ids)
7875 _n_kwin = n_kwin.as(not null)
7876 n_kwin.parent = self
7877 _n_expr = n_expr.as(not null)
7878 n_expr.parent = self
7879 end
7880
7881 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7882 do
7883 if n_ids.replace_child(old_child, new_child) then return
7884 if _n_kwin == old_child then
7885 n_kwin = new_child.as(TKwin)
7886 return
7887 end
7888 if _n_expr == old_child then
7889 n_expr = new_child.as(AExpr)
7890 return
7891 end
7892 end
7893
7894 redef fun n_kwin=(node)
7895 do
7896 _n_kwin = node
7897 node.parent = self
7898 end
7899 redef fun n_expr=(node)
7900 do
7901 _n_expr = node
7902 node.parent = self
7903 end
7904
7905
7906 redef fun visit_all(v: Visitor)
7907 do
7908 n_ids.visit_all(v)
7909 v.enter_visit(_n_kwin)
7910 v.enter_visit(_n_expr)
7911 end
7912 end
7913 redef class AModuleName
7914 init init_amodulename (
7915 n_quad: nullable TQuad,
7916 n_path: Collection[Object], # Should be Collection[TId]
7917 n_id: nullable TId
7918 )
7919 do
7920 _n_quad = n_quad
7921 if n_quad != null then n_quad.parent = self
7922 self.n_path.unsafe_add_all(n_path)
7923 _n_id = n_id.as(not null)
7924 n_id.parent = self
7925 end
7926
7927 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7928 do
7929 if _n_quad == old_child then
7930 n_quad = new_child.as(nullable TQuad)
7931 return
7932 end
7933 if n_path.replace_child(old_child, new_child) then return
7934 if _n_id == old_child then
7935 n_id = new_child.as(TId)
7936 return
7937 end
7938 end
7939
7940 redef fun n_quad=(node)
7941 do
7942 _n_quad = node
7943 if node != null then node.parent = self
7944 end
7945 redef fun n_id=(node)
7946 do
7947 _n_id = node
7948 node.parent = self
7949 end
7950
7951
7952 redef fun visit_all(v: Visitor)
7953 do
7954 v.enter_visit(_n_quad)
7955 n_path.visit_all(v)
7956 v.enter_visit(_n_id)
7957 end
7958 end
7959 redef class AExternCalls
7960 init init_aexterncalls (
7961 n_kwimport: nullable TKwimport,
7962 n_extern_calls: Collection[Object] # Should be Collection[AExternCall]
7963 )
7964 do
7965 _n_kwimport = n_kwimport.as(not null)
7966 n_kwimport.parent = self
7967 self.n_extern_calls.unsafe_add_all(n_extern_calls)
7968 end
7969
7970 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7971 do
7972 if _n_kwimport == old_child then
7973 n_kwimport = new_child.as(TKwimport)
7974 return
7975 end
7976 if n_extern_calls.replace_child(old_child, new_child) then return
7977 end
7978
7979 redef fun n_kwimport=(node)
7980 do
7981 _n_kwimport = node
7982 node.parent = self
7983 end
7984
7985
7986 redef fun visit_all(v: Visitor)
7987 do
7988 v.enter_visit(_n_kwimport)
7989 n_extern_calls.visit_all(v)
7990 end
7991 end
7992 redef class AExternCall
7993 init init_aexterncall
7994 do
7995 end
7996
7997 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7998 do
7999 end
8000
8001
8002
8003 redef fun visit_all(v: Visitor)
8004 do
8005 end
8006 end
8007 redef class ASuperExternCall
8008 init init_asuperexterncall (
8009 n_kwsuper: nullable TKwsuper
8010 )
8011 do
8012 _n_kwsuper = n_kwsuper.as(not null)
8013 n_kwsuper.parent = self
8014 end
8015
8016 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8017 do
8018 if _n_kwsuper == old_child then
8019 n_kwsuper = new_child.as(TKwsuper)
8020 return
8021 end
8022 end
8023
8024 redef fun n_kwsuper=(node)
8025 do
8026 _n_kwsuper = node
8027 node.parent = self
8028 end
8029
8030
8031 redef fun visit_all(v: Visitor)
8032 do
8033 v.enter_visit(_n_kwsuper)
8034 end
8035 end
8036 redef class ALocalPropExternCall
8037 init init_alocalpropexterncall (
8038 n_methid: nullable AMethid
8039 )
8040 do
8041 _n_methid = n_methid.as(not null)
8042 n_methid.parent = self
8043 end
8044
8045 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8046 do
8047 if _n_methid == old_child then
8048 n_methid = new_child.as(AMethid)
8049 return
8050 end
8051 end
8052
8053 redef fun n_methid=(node)
8054 do
8055 _n_methid = node
8056 node.parent = self
8057 end
8058
8059
8060 redef fun visit_all(v: Visitor)
8061 do
8062 v.enter_visit(_n_methid)
8063 end
8064 end
8065 redef class AFullPropExternCall
8066 init init_afullpropexterncall (
8067 n_type: nullable AType,
8068 n_dot: nullable TDot,
8069 n_methid: nullable AMethid
8070 )
8071 do
8072 _n_type = n_type.as(not null)
8073 n_type.parent = self
8074 _n_dot = n_dot
8075 if n_dot != null then n_dot.parent = self
8076 _n_methid = n_methid.as(not null)
8077 n_methid.parent = self
8078 end
8079
8080 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8081 do
8082 if _n_type == old_child then
8083 n_type = new_child.as(AType)
8084 return
8085 end
8086 if _n_dot == old_child then
8087 n_dot = new_child.as(nullable TDot)
8088 return
8089 end
8090 if _n_methid == old_child then
8091 n_methid = new_child.as(AMethid)
8092 return
8093 end
8094 end
8095
8096 redef fun n_type=(node)
8097 do
8098 _n_type = node
8099 node.parent = self
8100 end
8101 redef fun n_dot=(node)
8102 do
8103 _n_dot = node
8104 if node != null then node.parent = self
8105 end
8106 redef fun n_methid=(node)
8107 do
8108 _n_methid = node
8109 node.parent = self
8110 end
8111
8112
8113 redef fun visit_all(v: Visitor)
8114 do
8115 v.enter_visit(_n_type)
8116 v.enter_visit(_n_dot)
8117 v.enter_visit(_n_methid)
8118 end
8119 end
8120 redef class AInitPropExternCall
8121 init init_ainitpropexterncall (
8122 n_type: nullable AType
8123 )
8124 do
8125 _n_type = n_type.as(not null)
8126 n_type.parent = self
8127 end
8128
8129 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8130 do
8131 if _n_type == old_child then
8132 n_type = new_child.as(AType)
8133 return
8134 end
8135 end
8136
8137 redef fun n_type=(node)
8138 do
8139 _n_type = node
8140 node.parent = self
8141 end
8142
8143
8144 redef fun visit_all(v: Visitor)
8145 do
8146 v.enter_visit(_n_type)
8147 end
8148 end
8149 redef class ACastAsExternCall
8150 init init_acastasexterncall (
8151 n_from_type: nullable AType,
8152 n_dot: nullable TDot,
8153 n_kwas: nullable TKwas,
8154 n_to_type: nullable AType
8155 )
8156 do
8157 _n_from_type = n_from_type.as(not null)
8158 n_from_type.parent = self
8159 _n_dot = n_dot
8160 if n_dot != null then n_dot.parent = self
8161 _n_kwas = n_kwas.as(not null)
8162 n_kwas.parent = self
8163 _n_to_type = n_to_type.as(not null)
8164 n_to_type.parent = self
8165 end
8166
8167 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8168 do
8169 if _n_from_type == old_child then
8170 n_from_type = new_child.as(AType)
8171 return
8172 end
8173 if _n_dot == old_child then
8174 n_dot = new_child.as(nullable TDot)
8175 return
8176 end
8177 if _n_kwas == old_child then
8178 n_kwas = new_child.as(TKwas)
8179 return
8180 end
8181 if _n_to_type == old_child then
8182 n_to_type = new_child.as(AType)
8183 return
8184 end
8185 end
8186
8187 redef fun n_from_type=(node)
8188 do
8189 _n_from_type = node
8190 node.parent = self
8191 end
8192 redef fun n_dot=(node)
8193 do
8194 _n_dot = node
8195 if node != null then node.parent = self
8196 end
8197 redef fun n_kwas=(node)
8198 do
8199 _n_kwas = node
8200 node.parent = self
8201 end
8202 redef fun n_to_type=(node)
8203 do
8204 _n_to_type = node
8205 node.parent = self
8206 end
8207
8208
8209 redef fun visit_all(v: Visitor)
8210 do
8211 v.enter_visit(_n_from_type)
8212 v.enter_visit(_n_dot)
8213 v.enter_visit(_n_kwas)
8214 v.enter_visit(_n_to_type)
8215 end
8216 end
8217 redef class AAsNullableExternCall
8218 init init_aasnullableexterncall (
8219 n_type: nullable AType,
8220 n_kwas: nullable TKwas,
8221 n_kwnullable: nullable TKwnullable
8222 )
8223 do
8224 _n_type = n_type.as(not null)
8225 n_type.parent = self
8226 _n_kwas = n_kwas.as(not null)
8227 n_kwas.parent = self
8228 _n_kwnullable = n_kwnullable.as(not null)
8229 n_kwnullable.parent = self
8230 end
8231
8232 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8233 do
8234 if _n_type == old_child then
8235 n_type = new_child.as(AType)
8236 return
8237 end
8238 if _n_kwas == old_child then
8239 n_kwas = new_child.as(TKwas)
8240 return
8241 end
8242 if _n_kwnullable == old_child then
8243 n_kwnullable = new_child.as(TKwnullable)
8244 return
8245 end
8246 end
8247
8248 redef fun n_type=(node)
8249 do
8250 _n_type = node
8251 node.parent = self
8252 end
8253 redef fun n_kwas=(node)
8254 do
8255 _n_kwas = node
8256 node.parent = self
8257 end
8258 redef fun n_kwnullable=(node)
8259 do
8260 _n_kwnullable = node
8261 node.parent = self
8262 end
8263
8264
8265 redef fun visit_all(v: Visitor)
8266 do
8267 v.enter_visit(_n_type)
8268 v.enter_visit(_n_kwas)
8269 v.enter_visit(_n_kwnullable)
8270 end
8271 end
8272 redef class AAsNotNullableExternCall
8273 init init_aasnotnullableexterncall (
8274 n_type: nullable AType,
8275 n_kwas: nullable TKwas,
8276 n_kwnot: nullable TKwnot,
8277 n_kwnullable: nullable TKwnullable
8278 )
8279 do
8280 _n_type = n_type.as(not null)
8281 n_type.parent = self
8282 _n_kwas = n_kwas.as(not null)
8283 n_kwas.parent = self
8284 _n_kwnot = n_kwnot.as(not null)
8285 n_kwnot.parent = self
8286 _n_kwnullable = n_kwnullable.as(not null)
8287 n_kwnullable.parent = self
8288 end
8289
8290 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8291 do
8292 if _n_type == old_child then
8293 n_type = new_child.as(AType)
8294 return
8295 end
8296 if _n_kwas == old_child then
8297 n_kwas = new_child.as(TKwas)
8298 return
8299 end
8300 if _n_kwnot == old_child then
8301 n_kwnot = new_child.as(TKwnot)
8302 return
8303 end
8304 if _n_kwnullable == old_child then
8305 n_kwnullable = new_child.as(TKwnullable)
8306 return
8307 end
8308 end
8309
8310 redef fun n_type=(node)
8311 do
8312 _n_type = node
8313 node.parent = self
8314 end
8315 redef fun n_kwas=(node)
8316 do
8317 _n_kwas = node
8318 node.parent = self
8319 end
8320 redef fun n_kwnot=(node)
8321 do
8322 _n_kwnot = node
8323 node.parent = self
8324 end
8325 redef fun n_kwnullable=(node)
8326 do
8327 _n_kwnullable = node
8328 node.parent = self
8329 end
8330
8331
8332 redef fun visit_all(v: Visitor)
8333 do
8334 v.enter_visit(_n_type)
8335 v.enter_visit(_n_kwas)
8336 v.enter_visit(_n_kwnot)
8337 v.enter_visit(_n_kwnullable)
8338 end
8339 end
8340 redef class AInLanguage
8341 init init_ainlanguage (
8342 n_kwin: nullable TKwin,
8343 n_string: nullable TString
8344 )
8345 do
8346 _n_kwin = n_kwin.as(not null)
8347 n_kwin.parent = self
8348 _n_string = n_string.as(not null)
8349 n_string.parent = self
8350 end
8351
8352 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8353 do
8354 if _n_kwin == old_child then
8355 n_kwin = new_child.as(TKwin)
8356 return
8357 end
8358 if _n_string == old_child then
8359 n_string = new_child.as(TString)
8360 return
8361 end
8362 end
8363
8364 redef fun n_kwin=(node)
8365 do
8366 _n_kwin = node
8367 node.parent = self
8368 end
8369 redef fun n_string=(node)
8370 do
8371 _n_string = node
8372 node.parent = self
8373 end
8374
8375
8376 redef fun visit_all(v: Visitor)
8377 do
8378 v.enter_visit(_n_kwin)
8379 v.enter_visit(_n_string)
8380 end
8381 end
8382 redef class AExternCodeBlock
8383 init init_aexterncodeblock (
8384 n_in_language: nullable AInLanguage,
8385 n_extern_code_segment: nullable TExternCodeSegment
8386 )
8387 do
8388 _n_in_language = n_in_language
8389 if n_in_language != null then n_in_language.parent = self
8390 _n_extern_code_segment = n_extern_code_segment.as(not null)
8391 n_extern_code_segment.parent = self
8392 end
8393
8394 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8395 do
8396 if _n_in_language == old_child then
8397 n_in_language = new_child.as(nullable AInLanguage)
8398 return
8399 end
8400 if _n_extern_code_segment == old_child then
8401 n_extern_code_segment = new_child.as(TExternCodeSegment)
8402 return
8403 end
8404 end
8405
8406 redef fun n_in_language=(node)
8407 do
8408 _n_in_language = node
8409 if node != null then node.parent = self
8410 end
8411 redef fun n_extern_code_segment=(node)
8412 do
8413 _n_extern_code_segment = node
8414 node.parent = self
8415 end
8416
8417
8418 redef fun visit_all(v: Visitor)
8419 do
8420 v.enter_visit(_n_in_language)
8421 v.enter_visit(_n_extern_code_segment)
8422 end
8423 end
8424 redef class AQualified
8425 init init_aqualified (
8426 n_id: Collection[Object], # Should be Collection[TId]
8427 n_classid: nullable TClassid
8428 )
8429 do
8430 self.n_id.unsafe_add_all(n_id)
8431 _n_classid = n_classid
8432 if n_classid != null then n_classid.parent = self
8433 end
8434
8435 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8436 do
8437 if n_id.replace_child(old_child, new_child) then return
8438 if _n_classid == old_child then
8439 n_classid = new_child.as(nullable TClassid)
8440 return
8441 end
8442 end
8443
8444 redef fun n_classid=(node)
8445 do
8446 _n_classid = node
8447 if node != null then node.parent = self
8448 end
8449
8450
8451 redef fun visit_all(v: Visitor)
8452 do
8453 n_id.visit_all(v)
8454 v.enter_visit(_n_classid)
8455 end
8456 end
8457 redef class ADoc
8458 init init_adoc (
8459 n_comment: Collection[Object] # Should be Collection[TComment]
8460 )
8461 do
8462 self.n_comment.unsafe_add_all(n_comment)
8463 end
8464
8465 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8466 do
8467 if n_comment.replace_child(old_child, new_child) then return
8468 end
8469
8470
8471
8472 redef fun visit_all(v: Visitor)
8473 do
8474 n_comment.visit_all(v)
8475 end
8476 end
8477 redef class AAnnotations
8478 init init_aannotations (
8479 n_kwis: nullable TKwis,
8480 n_at: nullable TAt,
8481 n_opar: nullable TOpar,
8482 n_items: Collection[Object], # Should be Collection[AAnnotation]
8483 n_cpar: nullable TCpar,
8484 n_kwend: nullable TKwend
8485 )
8486 do
8487 _n_kwis = n_kwis
8488 if n_kwis != null then n_kwis.parent = self
8489 _n_at = n_at
8490 if n_at != null then n_at.parent = self
8491 _n_opar = n_opar
8492 if n_opar != null then n_opar.parent = self
8493 self.n_items.unsafe_add_all(n_items)
8494 _n_cpar = n_cpar
8495 if n_cpar != null then n_cpar.parent = self
8496 _n_kwend = n_kwend
8497 if n_kwend != null then n_kwend.parent = self
8498 end
8499
8500 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8501 do
8502 if _n_kwis == old_child then
8503 n_kwis = new_child.as(nullable TKwis)
8504 return
8505 end
8506 if _n_at == old_child then
8507 n_at = new_child.as(nullable TAt)
8508 return
8509 end
8510 if _n_opar == old_child then
8511 n_opar = new_child.as(nullable TOpar)
8512 return
8513 end
8514 if n_items.replace_child(old_child, new_child) then return
8515 if _n_cpar == old_child then
8516 n_cpar = new_child.as(nullable TCpar)
8517 return
8518 end
8519 if _n_kwend == old_child then
8520 n_kwend = new_child.as(nullable TKwend)
8521 return
8522 end
8523 end
8524
8525 redef fun n_kwis=(node)
8526 do
8527 _n_kwis = node
8528 if node != null then node.parent = self
8529 end
8530 redef fun n_at=(node)
8531 do
8532 _n_at = node
8533 if node != null then node.parent = self
8534 end
8535 redef fun n_opar=(node)
8536 do
8537 _n_opar = node
8538 if node != null then node.parent = self
8539 end
8540 redef fun n_cpar=(node)
8541 do
8542 _n_cpar = node
8543 if node != null then node.parent = self
8544 end
8545 redef fun n_kwend=(node)
8546 do
8547 _n_kwend = node
8548 if node != null then node.parent = self
8549 end
8550
8551
8552 redef fun visit_all(v: Visitor)
8553 do
8554 v.enter_visit(_n_kwis)
8555 v.enter_visit(_n_at)
8556 v.enter_visit(_n_opar)
8557 n_items.visit_all(v)
8558 v.enter_visit(_n_cpar)
8559 v.enter_visit(_n_kwend)
8560 end
8561 end
8562 redef class AAnnotation
8563 init init_aannotation (
8564 n_doc: nullable ADoc,
8565 n_kwredef: nullable TKwredef,
8566 n_visibility: nullable AVisibility,
8567 n_atid: nullable AAtid,
8568 n_opar: nullable TOpar,
8569 n_args: Collection[Object], # Should be Collection[AExpr]
8570 n_cpar: nullable TCpar,
8571 n_annotations: nullable AAnnotations
8572 )
8573 do
8574 _n_doc = n_doc
8575 if n_doc != null then n_doc.parent = self
8576 _n_kwredef = n_kwredef
8577 if n_kwredef != null then n_kwredef.parent = self
8578 _n_visibility = n_visibility
8579 if n_visibility != null then n_visibility.parent = self
8580 _n_atid = n_atid.as(not null)
8581 n_atid.parent = self
8582 _n_opar = n_opar
8583 if n_opar != null then n_opar.parent = self
8584 self.n_args.unsafe_add_all(n_args)
8585 _n_cpar = n_cpar
8586 if n_cpar != null then n_cpar.parent = self
8587 _n_annotations = n_annotations
8588 if n_annotations != null then n_annotations.parent = self
8589 end
8590
8591 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8592 do
8593 if _n_doc == old_child then
8594 n_doc = new_child.as(nullable ADoc)
8595 return
8596 end
8597 if _n_kwredef == old_child then
8598 n_kwredef = new_child.as(nullable TKwredef)
8599 return
8600 end
8601 if _n_visibility == old_child then
8602 n_visibility = new_child.as(nullable AVisibility)
8603 return
8604 end
8605 if _n_atid == old_child then
8606 n_atid = new_child.as(AAtid)
8607 return
8608 end
8609 if _n_opar == old_child then
8610 n_opar = new_child.as(nullable TOpar)
8611 return
8612 end
8613 if n_args.replace_child(old_child, new_child) then return
8614 if _n_cpar == old_child then
8615 n_cpar = new_child.as(nullable TCpar)
8616 return
8617 end
8618 if _n_annotations == old_child then
8619 n_annotations = new_child.as(nullable AAnnotations)
8620 return
8621 end
8622 end
8623
8624 redef fun n_doc=(node)
8625 do
8626 _n_doc = node
8627 if node != null then node.parent = self
8628 end
8629 redef fun n_kwredef=(node)
8630 do
8631 _n_kwredef = node
8632 if node != null then node.parent = self
8633 end
8634 redef fun n_visibility=(node)
8635 do
8636 _n_visibility = node
8637 if node != null then node.parent = self
8638 end
8639 redef fun n_atid=(node)
8640 do
8641 _n_atid = node
8642 node.parent = self
8643 end
8644 redef fun n_opar=(node)
8645 do
8646 _n_opar = node
8647 if node != null then node.parent = self
8648 end
8649 redef fun n_cpar=(node)
8650 do
8651 _n_cpar = node
8652 if node != null then node.parent = self
8653 end
8654 redef fun n_annotations=(node)
8655 do
8656 _n_annotations = node
8657 if node != null then node.parent = self
8658 end
8659
8660
8661 redef fun visit_all(v: Visitor)
8662 do
8663 v.enter_visit(_n_doc)
8664 v.enter_visit(_n_kwredef)
8665 v.enter_visit(_n_visibility)
8666 v.enter_visit(_n_atid)
8667 v.enter_visit(_n_opar)
8668 n_args.visit_all(v)
8669 v.enter_visit(_n_cpar)
8670 v.enter_visit(_n_annotations)
8671 end
8672 end
8673 redef class AIdAtid
8674 init init_aidatid (
8675 n_id: nullable TId
8676 )
8677 do
8678 _n_id = n_id.as(not null)
8679 n_id.parent = self
8680 end
8681
8682 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8683 do
8684 if _n_id == old_child then
8685 n_id = new_child.as(TId)
8686 return
8687 end
8688 end
8689
8690 redef fun n_id=(node)
8691 do
8692 _n_id = node
8693 node.parent = self
8694 end
8695
8696
8697 redef fun visit_all(v: Visitor)
8698 do
8699 v.enter_visit(_n_id)
8700 end
8701 end
8702 redef class AKwexternAtid
8703 init init_akwexternatid (
8704 n_id: nullable TKwextern
8705 )
8706 do
8707 _n_id = n_id.as(not null)
8708 n_id.parent = self
8709 end
8710
8711 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8712 do
8713 if _n_id == old_child then
8714 n_id = new_child.as(TKwextern)
8715 return
8716 end
8717 end
8718
8719 redef fun n_id=(node)
8720 do
8721 _n_id = node
8722 node.parent = self
8723 end
8724
8725
8726 redef fun visit_all(v: Visitor)
8727 do
8728 v.enter_visit(_n_id)
8729 end
8730 end
8731 redef class AKwabstractAtid
8732 init init_akwabstractatid (
8733 n_id: nullable TKwabstract
8734 )
8735 do
8736 _n_id = n_id.as(not null)
8737 n_id.parent = self
8738 end
8739
8740 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8741 do
8742 if _n_id == old_child then
8743 n_id = new_child.as(TKwabstract)
8744 return
8745 end
8746 end
8747
8748 redef fun n_id=(node)
8749 do
8750 _n_id = node
8751 node.parent = self
8752 end
8753
8754
8755 redef fun visit_all(v: Visitor)
8756 do
8757 v.enter_visit(_n_id)
8758 end
8759 end
8760 redef class AKwimportAtid
8761 init init_akwimportatid (
8762 n_id: nullable TKwimport
8763 )
8764 do
8765 _n_id = n_id.as(not null)
8766 n_id.parent = self
8767 end
8768
8769 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8770 do
8771 if _n_id == old_child then
8772 n_id = new_child.as(TKwimport)
8773 return
8774 end
8775 end
8776
8777 redef fun n_id=(node)
8778 do
8779 _n_id = node
8780 node.parent = self
8781 end
8782
8783
8784 redef fun visit_all(v: Visitor)
8785 do
8786 v.enter_visit(_n_id)
8787 end
8788 end
8789
8790 redef class Start
8791 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8792 do
8793 if _n_base == old_child then
8794 if new_child == null then
8795 else
8796 new_child.parent = self
8797 assert new_child isa AModule
8798 _n_base = new_child
8799 end
8800 old_child.parent = null
8801 return
8802 end
8803 end
8804
8805 redef fun visit_all(v: Visitor)
8806 do
8807 if _n_base != null then
8808 v.enter_visit(_n_base.as(not null))
8809 end
8810 v.enter_visit(_n_eof)
8811 end
8812 end