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