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