parser: regenerate the parser
[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_exprs: nullable AExprs,
5043 n_annotations: nullable AAnnotations
5044 )
5045 do
5046 _n_exprs = n_exprs.as(not null)
5047 n_exprs.parent = self
5048 _n_annotations = n_annotations
5049 if n_annotations != null then n_annotations.parent = self
5050 end
5051
5052 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5053 do
5054 if _n_exprs == old_child then
5055 n_exprs = new_child.as(AExprs)
5056 return
5057 end
5058 if _n_annotations == old_child then
5059 n_annotations = new_child.as(nullable AAnnotations)
5060 return
5061 end
5062 end
5063
5064 redef fun n_exprs=(node)
5065 do
5066 _n_exprs = node
5067 node.parent = self
5068 end
5069 redef fun n_annotations=(node)
5070 do
5071 _n_annotations = node
5072 if node != null then node.parent = self
5073 end
5074
5075
5076 redef fun visit_all(v: Visitor)
5077 do
5078 v.enter_visit(_n_exprs)
5079 v.enter_visit(_n_annotations)
5080 end
5081 end
5082 redef class ASelfExpr
5083 init init_aselfexpr (
5084 n_kwself: nullable TKwself,
5085 n_annotations: nullable AAnnotations
5086 )
5087 do
5088 _n_kwself = n_kwself.as(not null)
5089 n_kwself.parent = self
5090 _n_annotations = n_annotations
5091 if n_annotations != null then n_annotations.parent = self
5092 end
5093
5094 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5095 do
5096 if _n_kwself == old_child then
5097 n_kwself = new_child.as(TKwself)
5098 return
5099 end
5100 if _n_annotations == old_child then
5101 n_annotations = new_child.as(nullable AAnnotations)
5102 return
5103 end
5104 end
5105
5106 redef fun n_kwself=(node)
5107 do
5108 _n_kwself = node
5109 node.parent = self
5110 end
5111 redef fun n_annotations=(node)
5112 do
5113 _n_annotations = node
5114 if node != null then node.parent = self
5115 end
5116
5117
5118 redef fun visit_all(v: Visitor)
5119 do
5120 v.enter_visit(_n_kwself)
5121 v.enter_visit(_n_annotations)
5122 end
5123 end
5124 redef class AImplicitSelfExpr
5125 init init_aimplicitselfexpr
5126 do
5127 end
5128
5129 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5130 do
5131 end
5132
5133
5134
5135 redef fun visit_all(v: Visitor)
5136 do
5137 end
5138 end
5139 redef class ATrueExpr
5140 init init_atrueexpr (
5141 n_kwtrue: nullable TKwtrue,
5142 n_annotations: nullable AAnnotations
5143 )
5144 do
5145 _n_kwtrue = n_kwtrue.as(not null)
5146 n_kwtrue.parent = self
5147 _n_annotations = n_annotations
5148 if n_annotations != null then n_annotations.parent = self
5149 end
5150
5151 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5152 do
5153 if _n_kwtrue == old_child then
5154 n_kwtrue = new_child.as(TKwtrue)
5155 return
5156 end
5157 if _n_annotations == old_child then
5158 n_annotations = new_child.as(nullable AAnnotations)
5159 return
5160 end
5161 end
5162
5163 redef fun n_kwtrue=(node)
5164 do
5165 _n_kwtrue = node
5166 node.parent = self
5167 end
5168 redef fun n_annotations=(node)
5169 do
5170 _n_annotations = node
5171 if node != null then node.parent = self
5172 end
5173
5174
5175 redef fun visit_all(v: Visitor)
5176 do
5177 v.enter_visit(_n_kwtrue)
5178 v.enter_visit(_n_annotations)
5179 end
5180 end
5181 redef class AFalseExpr
5182 init init_afalseexpr (
5183 n_kwfalse: nullable TKwfalse,
5184 n_annotations: nullable AAnnotations
5185 )
5186 do
5187 _n_kwfalse = n_kwfalse.as(not null)
5188 n_kwfalse.parent = self
5189 _n_annotations = n_annotations
5190 if n_annotations != null then n_annotations.parent = self
5191 end
5192
5193 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5194 do
5195 if _n_kwfalse == old_child then
5196 n_kwfalse = new_child.as(TKwfalse)
5197 return
5198 end
5199 if _n_annotations == old_child then
5200 n_annotations = new_child.as(nullable AAnnotations)
5201 return
5202 end
5203 end
5204
5205 redef fun n_kwfalse=(node)
5206 do
5207 _n_kwfalse = node
5208 node.parent = self
5209 end
5210 redef fun n_annotations=(node)
5211 do
5212 _n_annotations = node
5213 if node != null then node.parent = self
5214 end
5215
5216
5217 redef fun visit_all(v: Visitor)
5218 do
5219 v.enter_visit(_n_kwfalse)
5220 v.enter_visit(_n_annotations)
5221 end
5222 end
5223 redef class ANullExpr
5224 init init_anullexpr (
5225 n_kwnull: nullable TKwnull,
5226 n_annotations: nullable AAnnotations
5227 )
5228 do
5229 _n_kwnull = n_kwnull.as(not null)
5230 n_kwnull.parent = self
5231 _n_annotations = n_annotations
5232 if n_annotations != null then n_annotations.parent = self
5233 end
5234
5235 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5236 do
5237 if _n_kwnull == old_child then
5238 n_kwnull = new_child.as(TKwnull)
5239 return
5240 end
5241 if _n_annotations == old_child then
5242 n_annotations = new_child.as(nullable AAnnotations)
5243 return
5244 end
5245 end
5246
5247 redef fun n_kwnull=(node)
5248 do
5249 _n_kwnull = node
5250 node.parent = self
5251 end
5252 redef fun n_annotations=(node)
5253 do
5254 _n_annotations = node
5255 if node != null then node.parent = self
5256 end
5257
5258
5259 redef fun visit_all(v: Visitor)
5260 do
5261 v.enter_visit(_n_kwnull)
5262 v.enter_visit(_n_annotations)
5263 end
5264 end
5265 redef class ADecIntExpr
5266 init init_adecintexpr (
5267 n_number: nullable TNumber,
5268 n_annotations: nullable AAnnotations
5269 )
5270 do
5271 _n_number = n_number.as(not null)
5272 n_number.parent = self
5273 _n_annotations = n_annotations
5274 if n_annotations != null then n_annotations.parent = self
5275 end
5276
5277 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5278 do
5279 if _n_number == old_child then
5280 n_number = new_child.as(TNumber)
5281 return
5282 end
5283 if _n_annotations == old_child then
5284 n_annotations = new_child.as(nullable AAnnotations)
5285 return
5286 end
5287 end
5288
5289 redef fun n_number=(node)
5290 do
5291 _n_number = node
5292 node.parent = self
5293 end
5294 redef fun n_annotations=(node)
5295 do
5296 _n_annotations = node
5297 if node != null then node.parent = self
5298 end
5299
5300
5301 redef fun visit_all(v: Visitor)
5302 do
5303 v.enter_visit(_n_number)
5304 v.enter_visit(_n_annotations)
5305 end
5306 end
5307 redef class AHexIntExpr
5308 init init_ahexintexpr (
5309 n_hex_number: nullable THexNumber,
5310 n_annotations: nullable AAnnotations
5311 )
5312 do
5313 _n_hex_number = n_hex_number.as(not null)
5314 n_hex_number.parent = self
5315 _n_annotations = n_annotations
5316 if n_annotations != null then n_annotations.parent = self
5317 end
5318
5319 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5320 do
5321 if _n_hex_number == old_child then
5322 n_hex_number = new_child.as(THexNumber)
5323 return
5324 end
5325 if _n_annotations == old_child then
5326 n_annotations = new_child.as(nullable AAnnotations)
5327 return
5328 end
5329 end
5330
5331 redef fun n_hex_number=(node)
5332 do
5333 _n_hex_number = node
5334 node.parent = self
5335 end
5336 redef fun n_annotations=(node)
5337 do
5338 _n_annotations = node
5339 if node != null then node.parent = self
5340 end
5341
5342
5343 redef fun visit_all(v: Visitor)
5344 do
5345 v.enter_visit(_n_hex_number)
5346 v.enter_visit(_n_annotations)
5347 end
5348 end
5349 redef class AFloatExpr
5350 init init_afloatexpr (
5351 n_float: nullable TFloat,
5352 n_annotations: nullable AAnnotations
5353 )
5354 do
5355 _n_float = n_float.as(not null)
5356 n_float.parent = self
5357 _n_annotations = n_annotations
5358 if n_annotations != null then n_annotations.parent = self
5359 end
5360
5361 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5362 do
5363 if _n_float == old_child then
5364 n_float = new_child.as(TFloat)
5365 return
5366 end
5367 if _n_annotations == old_child then
5368 n_annotations = new_child.as(nullable AAnnotations)
5369 return
5370 end
5371 end
5372
5373 redef fun n_float=(node)
5374 do
5375 _n_float = node
5376 node.parent = self
5377 end
5378 redef fun n_annotations=(node)
5379 do
5380 _n_annotations = node
5381 if node != null then node.parent = self
5382 end
5383
5384
5385 redef fun visit_all(v: Visitor)
5386 do
5387 v.enter_visit(_n_float)
5388 v.enter_visit(_n_annotations)
5389 end
5390 end
5391 redef class ACharExpr
5392 init init_acharexpr (
5393 n_char: nullable TChar,
5394 n_annotations: nullable AAnnotations
5395 )
5396 do
5397 _n_char = n_char.as(not null)
5398 n_char.parent = self
5399 _n_annotations = n_annotations
5400 if n_annotations != null then n_annotations.parent = self
5401 end
5402
5403 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5404 do
5405 if _n_char == old_child then
5406 n_char = new_child.as(TChar)
5407 return
5408 end
5409 if _n_annotations == old_child then
5410 n_annotations = new_child.as(nullable AAnnotations)
5411 return
5412 end
5413 end
5414
5415 redef fun n_char=(node)
5416 do
5417 _n_char = node
5418 node.parent = self
5419 end
5420 redef fun n_annotations=(node)
5421 do
5422 _n_annotations = node
5423 if node != null then node.parent = self
5424 end
5425
5426
5427 redef fun visit_all(v: Visitor)
5428 do
5429 v.enter_visit(_n_char)
5430 v.enter_visit(_n_annotations)
5431 end
5432 end
5433 redef class AStringExpr
5434 init init_astringexpr (
5435 n_string: nullable TString,
5436 n_annotations: nullable AAnnotations
5437 )
5438 do
5439 _n_string = n_string.as(not null)
5440 n_string.parent = self
5441 _n_annotations = n_annotations
5442 if n_annotations != null then n_annotations.parent = self
5443 end
5444
5445 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5446 do
5447 if _n_string == old_child then
5448 n_string = new_child.as(TString)
5449 return
5450 end
5451 if _n_annotations == old_child then
5452 n_annotations = new_child.as(nullable AAnnotations)
5453 return
5454 end
5455 end
5456
5457 redef fun n_string=(node)
5458 do
5459 _n_string = node
5460 node.parent = self
5461 end
5462 redef fun n_annotations=(node)
5463 do
5464 _n_annotations = node
5465 if node != null then node.parent = self
5466 end
5467
5468
5469 redef fun visit_all(v: Visitor)
5470 do
5471 v.enter_visit(_n_string)
5472 v.enter_visit(_n_annotations)
5473 end
5474 end
5475 redef class AStartStringExpr
5476 init init_astartstringexpr (
5477 n_string: nullable TStartString
5478 )
5479 do
5480 _n_string = n_string.as(not null)
5481 n_string.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(TStartString)
5488 return
5489 end
5490 end
5491
5492 redef fun n_string=(node)
5493 do
5494 _n_string = node
5495 node.parent = self
5496 end
5497
5498
5499 redef fun visit_all(v: Visitor)
5500 do
5501 v.enter_visit(_n_string)
5502 end
5503 end
5504 redef class AMidStringExpr
5505 init init_amidstringexpr (
5506 n_string: nullable TMidString
5507 )
5508 do
5509 _n_string = n_string.as(not null)
5510 n_string.parent = self
5511 end
5512
5513 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5514 do
5515 if _n_string == old_child then
5516 n_string = new_child.as(TMidString)
5517 return
5518 end
5519 end
5520
5521 redef fun n_string=(node)
5522 do
5523 _n_string = node
5524 node.parent = self
5525 end
5526
5527
5528 redef fun visit_all(v: Visitor)
5529 do
5530 v.enter_visit(_n_string)
5531 end
5532 end
5533 redef class AEndStringExpr
5534 init init_aendstringexpr (
5535 n_string: nullable TEndString
5536 )
5537 do
5538 _n_string = n_string.as(not null)
5539 n_string.parent = self
5540 end
5541
5542 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5543 do
5544 if _n_string == old_child then
5545 n_string = new_child.as(TEndString)
5546 return
5547 end
5548 end
5549
5550 redef fun n_string=(node)
5551 do
5552 _n_string = node
5553 node.parent = self
5554 end
5555
5556
5557 redef fun visit_all(v: Visitor)
5558 do
5559 v.enter_visit(_n_string)
5560 end
5561 end
5562 redef class ASuperstringExpr
5563 init init_asuperstringexpr (
5564 n_exprs: Collection[Object], # Should be Collection[AExpr]
5565 n_annotations: nullable AAnnotations
5566 )
5567 do
5568 self.n_exprs.unsafe_add_all(n_exprs)
5569 _n_annotations = n_annotations
5570 if n_annotations != null then n_annotations.parent = self
5571 end
5572
5573 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5574 do
5575 if n_exprs.replace_child(old_child, new_child) then return
5576 if _n_annotations == old_child then
5577 n_annotations = new_child.as(nullable AAnnotations)
5578 return
5579 end
5580 end
5581
5582 redef fun n_annotations=(node)
5583 do
5584 _n_annotations = node
5585 if node != null then node.parent = self
5586 end
5587
5588
5589 redef fun visit_all(v: Visitor)
5590 do
5591 n_exprs.visit_all(v)
5592 v.enter_visit(_n_annotations)
5593 end
5594 end
5595 redef class AParExpr
5596 init init_aparexpr (
5597 n_opar: nullable TOpar,
5598 n_expr: nullable AExpr,
5599 n_cpar: nullable TCpar,
5600 n_annotations: nullable AAnnotations
5601 )
5602 do
5603 _n_opar = n_opar.as(not null)
5604 n_opar.parent = self
5605 _n_expr = n_expr.as(not null)
5606 n_expr.parent = self
5607 _n_cpar = n_cpar.as(not null)
5608 n_cpar.parent = self
5609 _n_annotations = n_annotations
5610 if n_annotations != null then n_annotations.parent = self
5611 end
5612
5613 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5614 do
5615 if _n_opar == old_child then
5616 n_opar = new_child.as(TOpar)
5617 return
5618 end
5619 if _n_expr == old_child then
5620 n_expr = new_child.as(AExpr)
5621 return
5622 end
5623 if _n_cpar == old_child then
5624 n_cpar = new_child.as(TCpar)
5625 return
5626 end
5627 if _n_annotations == old_child then
5628 n_annotations = new_child.as(nullable AAnnotations)
5629 return
5630 end
5631 end
5632
5633 redef fun n_opar=(node)
5634 do
5635 _n_opar = node
5636 node.parent = self
5637 end
5638 redef fun n_expr=(node)
5639 do
5640 _n_expr = node
5641 node.parent = self
5642 end
5643 redef fun n_cpar=(node)
5644 do
5645 _n_cpar = node
5646 node.parent = self
5647 end
5648 redef fun n_annotations=(node)
5649 do
5650 _n_annotations = node
5651 if node != null then node.parent = self
5652 end
5653
5654
5655 redef fun visit_all(v: Visitor)
5656 do
5657 v.enter_visit(_n_opar)
5658 v.enter_visit(_n_expr)
5659 v.enter_visit(_n_cpar)
5660 v.enter_visit(_n_annotations)
5661 end
5662 end
5663 redef class AAsCastExpr
5664 init init_aascastexpr (
5665 n_expr: nullable AExpr,
5666 n_kwas: nullable TKwas,
5667 n_opar: nullable TOpar,
5668 n_type: nullable AType,
5669 n_cpar: nullable TCpar
5670 )
5671 do
5672 _n_expr = n_expr.as(not null)
5673 n_expr.parent = self
5674 _n_kwas = n_kwas.as(not null)
5675 n_kwas.parent = self
5676 _n_opar = n_opar
5677 if n_opar != null then n_opar.parent = self
5678 _n_type = n_type.as(not null)
5679 n_type.parent = self
5680 _n_cpar = n_cpar
5681 if n_cpar != null then n_cpar.parent = self
5682 end
5683
5684 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5685 do
5686 if _n_expr == old_child then
5687 n_expr = new_child.as(AExpr)
5688 return
5689 end
5690 if _n_kwas == old_child then
5691 n_kwas = new_child.as(TKwas)
5692 return
5693 end
5694 if _n_opar == old_child then
5695 n_opar = new_child.as(nullable TOpar)
5696 return
5697 end
5698 if _n_type == old_child then
5699 n_type = new_child.as(AType)
5700 return
5701 end
5702 if _n_cpar == old_child then
5703 n_cpar = new_child.as(nullable TCpar)
5704 return
5705 end
5706 end
5707
5708 redef fun n_expr=(node)
5709 do
5710 _n_expr = node
5711 node.parent = self
5712 end
5713 redef fun n_kwas=(node)
5714 do
5715 _n_kwas = node
5716 node.parent = self
5717 end
5718 redef fun n_opar=(node)
5719 do
5720 _n_opar = node
5721 if node != null then node.parent = self
5722 end
5723 redef fun n_type=(node)
5724 do
5725 _n_type = node
5726 node.parent = self
5727 end
5728 redef fun n_cpar=(node)
5729 do
5730 _n_cpar = node
5731 if node != null then node.parent = self
5732 end
5733
5734
5735 redef fun visit_all(v: Visitor)
5736 do
5737 v.enter_visit(_n_expr)
5738 v.enter_visit(_n_kwas)
5739 v.enter_visit(_n_opar)
5740 v.enter_visit(_n_type)
5741 v.enter_visit(_n_cpar)
5742 end
5743 end
5744 redef class AAsNotnullExpr
5745 init init_aasnotnullexpr (
5746 n_expr: nullable AExpr,
5747 n_kwas: nullable TKwas,
5748 n_opar: nullable TOpar,
5749 n_kwnot: nullable TKwnot,
5750 n_kwnull: nullable TKwnull,
5751 n_cpar: nullable TCpar
5752 )
5753 do
5754 _n_expr = n_expr.as(not null)
5755 n_expr.parent = self
5756 _n_kwas = n_kwas.as(not null)
5757 n_kwas.parent = self
5758 _n_opar = n_opar
5759 if n_opar != null then n_opar.parent = self
5760 _n_kwnot = n_kwnot.as(not null)
5761 n_kwnot.parent = self
5762 _n_kwnull = n_kwnull.as(not null)
5763 n_kwnull.parent = self
5764 _n_cpar = n_cpar
5765 if n_cpar != null then n_cpar.parent = self
5766 end
5767
5768 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5769 do
5770 if _n_expr == old_child then
5771 n_expr = new_child.as(AExpr)
5772 return
5773 end
5774 if _n_kwas == old_child then
5775 n_kwas = new_child.as(TKwas)
5776 return
5777 end
5778 if _n_opar == old_child then
5779 n_opar = new_child.as(nullable TOpar)
5780 return
5781 end
5782 if _n_kwnot == old_child then
5783 n_kwnot = new_child.as(TKwnot)
5784 return
5785 end
5786 if _n_kwnull == old_child then
5787 n_kwnull = new_child.as(TKwnull)
5788 return
5789 end
5790 if _n_cpar == old_child then
5791 n_cpar = new_child.as(nullable TCpar)
5792 return
5793 end
5794 end
5795
5796 redef fun n_expr=(node)
5797 do
5798 _n_expr = node
5799 node.parent = self
5800 end
5801 redef fun n_kwas=(node)
5802 do
5803 _n_kwas = node
5804 node.parent = self
5805 end
5806 redef fun n_opar=(node)
5807 do
5808 _n_opar = node
5809 if node != null then node.parent = self
5810 end
5811 redef fun n_kwnot=(node)
5812 do
5813 _n_kwnot = node
5814 node.parent = self
5815 end
5816 redef fun n_kwnull=(node)
5817 do
5818 _n_kwnull = node
5819 node.parent = self
5820 end
5821 redef fun n_cpar=(node)
5822 do
5823 _n_cpar = node
5824 if node != null then node.parent = self
5825 end
5826
5827
5828 redef fun visit_all(v: Visitor)
5829 do
5830 v.enter_visit(_n_expr)
5831 v.enter_visit(_n_kwas)
5832 v.enter_visit(_n_opar)
5833 v.enter_visit(_n_kwnot)
5834 v.enter_visit(_n_kwnull)
5835 v.enter_visit(_n_cpar)
5836 end
5837 end
5838 redef class AIssetAttrExpr
5839 init init_aissetattrexpr (
5840 n_kwisset: nullable TKwisset,
5841 n_expr: nullable AExpr,
5842 n_id: nullable TAttrid
5843 )
5844 do
5845 _n_kwisset = n_kwisset.as(not null)
5846 n_kwisset.parent = self
5847 _n_expr = n_expr.as(not null)
5848 n_expr.parent = self
5849 _n_id = n_id.as(not null)
5850 n_id.parent = self
5851 end
5852
5853 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5854 do
5855 if _n_kwisset == old_child then
5856 n_kwisset = new_child.as(TKwisset)
5857 return
5858 end
5859 if _n_expr == old_child then
5860 n_expr = new_child.as(AExpr)
5861 return
5862 end
5863 if _n_id == old_child then
5864 n_id = new_child.as(TAttrid)
5865 return
5866 end
5867 end
5868
5869 redef fun n_kwisset=(node)
5870 do
5871 _n_kwisset = node
5872 node.parent = self
5873 end
5874 redef fun n_expr=(node)
5875 do
5876 _n_expr = node
5877 node.parent = self
5878 end
5879 redef fun n_id=(node)
5880 do
5881 _n_id = node
5882 node.parent = self
5883 end
5884
5885
5886 redef fun visit_all(v: Visitor)
5887 do
5888 v.enter_visit(_n_kwisset)
5889 v.enter_visit(_n_expr)
5890 v.enter_visit(_n_id)
5891 end
5892 end
5893 redef class ADebugTypeExpr
5894 init init_adebugtypeexpr (
5895 n_kwdebug: nullable TKwdebug,
5896 n_kwtype: nullable TKwtype,
5897 n_expr: nullable AExpr,
5898 n_type: nullable AType
5899 )
5900 do
5901 _n_kwdebug = n_kwdebug.as(not null)
5902 n_kwdebug.parent = self
5903 _n_kwtype = n_kwtype.as(not null)
5904 n_kwtype.parent = self
5905 _n_expr = n_expr.as(not null)
5906 n_expr.parent = self
5907 _n_type = n_type.as(not null)
5908 n_type.parent = self
5909 end
5910
5911 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5912 do
5913 if _n_kwdebug == old_child then
5914 n_kwdebug = new_child.as(TKwdebug)
5915 return
5916 end
5917 if _n_kwtype == old_child then
5918 n_kwtype = new_child.as(TKwtype)
5919 return
5920 end
5921 if _n_expr == old_child then
5922 n_expr = new_child.as(AExpr)
5923 return
5924 end
5925 if _n_type == old_child then
5926 n_type = new_child.as(AType)
5927 return
5928 end
5929 end
5930
5931 redef fun n_kwdebug=(node)
5932 do
5933 _n_kwdebug = node
5934 node.parent = self
5935 end
5936 redef fun n_kwtype=(node)
5937 do
5938 _n_kwtype = node
5939 node.parent = self
5940 end
5941 redef fun n_expr=(node)
5942 do
5943 _n_expr = node
5944 node.parent = self
5945 end
5946 redef fun n_type=(node)
5947 do
5948 _n_type = node
5949 node.parent = self
5950 end
5951
5952
5953 redef fun visit_all(v: Visitor)
5954 do
5955 v.enter_visit(_n_kwdebug)
5956 v.enter_visit(_n_kwtype)
5957 v.enter_visit(_n_expr)
5958 v.enter_visit(_n_type)
5959 end
5960 end
5961 redef class AVarargExpr
5962 init init_avarargexpr (
5963 n_expr: nullable AExpr,
5964 n_dotdotdot: nullable TDotdotdot
5965 )
5966 do
5967 _n_expr = n_expr.as(not null)
5968 n_expr.parent = self
5969 _n_dotdotdot = n_dotdotdot.as(not null)
5970 n_dotdotdot.parent = self
5971 end
5972
5973 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5974 do
5975 if _n_expr == old_child then
5976 n_expr = new_child.as(AExpr)
5977 return
5978 end
5979 if _n_dotdotdot == old_child then
5980 n_dotdotdot = new_child.as(TDotdotdot)
5981 return
5982 end
5983 end
5984
5985 redef fun n_expr=(node)
5986 do
5987 _n_expr = node
5988 node.parent = self
5989 end
5990 redef fun n_dotdotdot=(node)
5991 do
5992 _n_dotdotdot = node
5993 node.parent = self
5994 end
5995
5996
5997 redef fun visit_all(v: Visitor)
5998 do
5999 v.enter_visit(_n_expr)
6000 v.enter_visit(_n_dotdotdot)
6001 end
6002 end
6003 redef class AListExprs
6004 init init_alistexprs (
6005 n_exprs: Collection[Object] # Should be Collection[AExpr]
6006 )
6007 do
6008 self.n_exprs.unsafe_add_all(n_exprs)
6009 end
6010
6011 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6012 do
6013 if n_exprs.replace_child(old_child, new_child) then return
6014 end
6015
6016
6017
6018 redef fun visit_all(v: Visitor)
6019 do
6020 n_exprs.visit_all(v)
6021 end
6022 end
6023 redef class AParExprs
6024 init init_aparexprs (
6025 n_opar: nullable TOpar,
6026 n_exprs: Collection[Object], # Should be Collection[AExpr]
6027 n_cpar: nullable TCpar
6028 )
6029 do
6030 _n_opar = n_opar.as(not null)
6031 n_opar.parent = self
6032 self.n_exprs.unsafe_add_all(n_exprs)
6033 _n_cpar = n_cpar.as(not null)
6034 n_cpar.parent = self
6035 end
6036
6037 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6038 do
6039 if _n_opar == old_child then
6040 n_opar = new_child.as(TOpar)
6041 return
6042 end
6043 if n_exprs.replace_child(old_child, new_child) then return
6044 if _n_cpar == old_child then
6045 n_cpar = new_child.as(TCpar)
6046 return
6047 end
6048 end
6049
6050 redef fun n_opar=(node)
6051 do
6052 _n_opar = node
6053 node.parent = self
6054 end
6055 redef fun n_cpar=(node)
6056 do
6057 _n_cpar = node
6058 node.parent = self
6059 end
6060
6061
6062 redef fun visit_all(v: Visitor)
6063 do
6064 v.enter_visit(_n_opar)
6065 n_exprs.visit_all(v)
6066 v.enter_visit(_n_cpar)
6067 end
6068 end
6069 redef class ABraExprs
6070 init init_abraexprs (
6071 n_obra: nullable TObra,
6072 n_exprs: Collection[Object], # Should be Collection[AExpr]
6073 n_cbra: nullable TCbra
6074 )
6075 do
6076 _n_obra = n_obra.as(not null)
6077 n_obra.parent = self
6078 self.n_exprs.unsafe_add_all(n_exprs)
6079 _n_cbra = n_cbra.as(not null)
6080 n_cbra.parent = self
6081 end
6082
6083 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6084 do
6085 if _n_obra == old_child then
6086 n_obra = new_child.as(TObra)
6087 return
6088 end
6089 if n_exprs.replace_child(old_child, new_child) then return
6090 if _n_cbra == old_child then
6091 n_cbra = new_child.as(TCbra)
6092 return
6093 end
6094 end
6095
6096 redef fun n_obra=(node)
6097 do
6098 _n_obra = node
6099 node.parent = self
6100 end
6101 redef fun n_cbra=(node)
6102 do
6103 _n_cbra = node
6104 node.parent = self
6105 end
6106
6107
6108 redef fun visit_all(v: Visitor)
6109 do
6110 v.enter_visit(_n_obra)
6111 n_exprs.visit_all(v)
6112 v.enter_visit(_n_cbra)
6113 end
6114 end
6115 redef class APlusAssignOp
6116 init init_aplusassignop (
6117 n_pluseq: nullable TPluseq
6118 )
6119 do
6120 _n_pluseq = n_pluseq.as(not null)
6121 n_pluseq.parent = self
6122 end
6123
6124 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6125 do
6126 if _n_pluseq == old_child then
6127 n_pluseq = new_child.as(TPluseq)
6128 return
6129 end
6130 end
6131
6132 redef fun n_pluseq=(node)
6133 do
6134 _n_pluseq = node
6135 node.parent = self
6136 end
6137
6138
6139 redef fun visit_all(v: Visitor)
6140 do
6141 v.enter_visit(_n_pluseq)
6142 end
6143 end
6144 redef class AMinusAssignOp
6145 init init_aminusassignop (
6146 n_minuseq: nullable TMinuseq
6147 )
6148 do
6149 _n_minuseq = n_minuseq.as(not null)
6150 n_minuseq.parent = self
6151 end
6152
6153 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6154 do
6155 if _n_minuseq == old_child then
6156 n_minuseq = new_child.as(TMinuseq)
6157 return
6158 end
6159 end
6160
6161 redef fun n_minuseq=(node)
6162 do
6163 _n_minuseq = node
6164 node.parent = self
6165 end
6166
6167
6168 redef fun visit_all(v: Visitor)
6169 do
6170 v.enter_visit(_n_minuseq)
6171 end
6172 end
6173 redef class AModuleName
6174 init init_amodulename (
6175 n_quad: nullable TQuad,
6176 n_path: Collection[Object], # Should be Collection[TId]
6177 n_id: nullable TId
6178 )
6179 do
6180 _n_quad = n_quad
6181 if n_quad != null then n_quad.parent = self
6182 self.n_path.unsafe_add_all(n_path)
6183 _n_id = n_id.as(not null)
6184 n_id.parent = self
6185 end
6186
6187 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6188 do
6189 if _n_quad == old_child then
6190 n_quad = new_child.as(nullable TQuad)
6191 return
6192 end
6193 if n_path.replace_child(old_child, new_child) then return
6194 if _n_id == old_child then
6195 n_id = new_child.as(TId)
6196 return
6197 end
6198 end
6199
6200 redef fun n_quad=(node)
6201 do
6202 _n_quad = node
6203 if node != null then node.parent = self
6204 end
6205 redef fun n_id=(node)
6206 do
6207 _n_id = node
6208 node.parent = self
6209 end
6210
6211
6212 redef fun visit_all(v: Visitor)
6213 do
6214 v.enter_visit(_n_quad)
6215 n_path.visit_all(v)
6216 v.enter_visit(_n_id)
6217 end
6218 end
6219 redef class AExternCalls
6220 init init_aexterncalls (
6221 n_kwimport: nullable TKwimport,
6222 n_extern_calls: Collection[Object] # Should be Collection[AExternCall]
6223 )
6224 do
6225 _n_kwimport = n_kwimport.as(not null)
6226 n_kwimport.parent = self
6227 self.n_extern_calls.unsafe_add_all(n_extern_calls)
6228 end
6229
6230 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6231 do
6232 if _n_kwimport == old_child then
6233 n_kwimport = new_child.as(TKwimport)
6234 return
6235 end
6236 if n_extern_calls.replace_child(old_child, new_child) then return
6237 end
6238
6239 redef fun n_kwimport=(node)
6240 do
6241 _n_kwimport = node
6242 node.parent = self
6243 end
6244
6245
6246 redef fun visit_all(v: Visitor)
6247 do
6248 v.enter_visit(_n_kwimport)
6249 n_extern_calls.visit_all(v)
6250 end
6251 end
6252 redef class AExternCall
6253 init init_aexterncall
6254 do
6255 end
6256
6257 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6258 do
6259 end
6260
6261
6262
6263 redef fun visit_all(v: Visitor)
6264 do
6265 end
6266 end
6267 redef class ASuperExternCall
6268 init init_asuperexterncall (
6269 n_kwsuper: nullable TKwsuper
6270 )
6271 do
6272 _n_kwsuper = n_kwsuper.as(not null)
6273 n_kwsuper.parent = self
6274 end
6275
6276 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6277 do
6278 if _n_kwsuper == old_child then
6279 n_kwsuper = new_child.as(TKwsuper)
6280 return
6281 end
6282 end
6283
6284 redef fun n_kwsuper=(node)
6285 do
6286 _n_kwsuper = node
6287 node.parent = self
6288 end
6289
6290
6291 redef fun visit_all(v: Visitor)
6292 do
6293 v.enter_visit(_n_kwsuper)
6294 end
6295 end
6296 redef class ALocalPropExternCall
6297 init init_alocalpropexterncall (
6298 n_methid: nullable AMethid
6299 )
6300 do
6301 _n_methid = n_methid.as(not null)
6302 n_methid.parent = self
6303 end
6304
6305 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6306 do
6307 if _n_methid == old_child then
6308 n_methid = new_child.as(AMethid)
6309 return
6310 end
6311 end
6312
6313 redef fun n_methid=(node)
6314 do
6315 _n_methid = node
6316 node.parent = self
6317 end
6318
6319
6320 redef fun visit_all(v: Visitor)
6321 do
6322 v.enter_visit(_n_methid)
6323 end
6324 end
6325 redef class AFullPropExternCall
6326 init init_afullpropexterncall (
6327 n_type: nullable AType,
6328 n_dot: nullable TDot,
6329 n_methid: nullable AMethid
6330 )
6331 do
6332 _n_type = n_type.as(not null)
6333 n_type.parent = self
6334 _n_dot = n_dot
6335 if n_dot != null then n_dot.parent = self
6336 _n_methid = n_methid.as(not null)
6337 n_methid.parent = self
6338 end
6339
6340 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6341 do
6342 if _n_type == old_child then
6343 n_type = new_child.as(AType)
6344 return
6345 end
6346 if _n_dot == old_child then
6347 n_dot = new_child.as(nullable TDot)
6348 return
6349 end
6350 if _n_methid == old_child then
6351 n_methid = new_child.as(AMethid)
6352 return
6353 end
6354 end
6355
6356 redef fun n_type=(node)
6357 do
6358 _n_type = node
6359 node.parent = self
6360 end
6361 redef fun n_dot=(node)
6362 do
6363 _n_dot = node
6364 if node != null then node.parent = self
6365 end
6366 redef fun n_methid=(node)
6367 do
6368 _n_methid = node
6369 node.parent = self
6370 end
6371
6372
6373 redef fun visit_all(v: Visitor)
6374 do
6375 v.enter_visit(_n_type)
6376 v.enter_visit(_n_dot)
6377 v.enter_visit(_n_methid)
6378 end
6379 end
6380 redef class AInitPropExternCall
6381 init init_ainitpropexterncall (
6382 n_type: nullable AType
6383 )
6384 do
6385 _n_type = n_type.as(not null)
6386 n_type.parent = self
6387 end
6388
6389 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6390 do
6391 if _n_type == old_child then
6392 n_type = new_child.as(AType)
6393 return
6394 end
6395 end
6396
6397 redef fun n_type=(node)
6398 do
6399 _n_type = node
6400 node.parent = self
6401 end
6402
6403
6404 redef fun visit_all(v: Visitor)
6405 do
6406 v.enter_visit(_n_type)
6407 end
6408 end
6409 redef class ACastAsExternCall
6410 init init_acastasexterncall (
6411 n_from_type: nullable AType,
6412 n_dot: nullable TDot,
6413 n_kwas: nullable TKwas,
6414 n_to_type: nullable AType
6415 )
6416 do
6417 _n_from_type = n_from_type.as(not null)
6418 n_from_type.parent = self
6419 _n_dot = n_dot
6420 if n_dot != null then n_dot.parent = self
6421 _n_kwas = n_kwas.as(not null)
6422 n_kwas.parent = self
6423 _n_to_type = n_to_type.as(not null)
6424 n_to_type.parent = self
6425 end
6426
6427 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6428 do
6429 if _n_from_type == old_child then
6430 n_from_type = new_child.as(AType)
6431 return
6432 end
6433 if _n_dot == old_child then
6434 n_dot = new_child.as(nullable TDot)
6435 return
6436 end
6437 if _n_kwas == old_child then
6438 n_kwas = new_child.as(TKwas)
6439 return
6440 end
6441 if _n_to_type == old_child then
6442 n_to_type = new_child.as(AType)
6443 return
6444 end
6445 end
6446
6447 redef fun n_from_type=(node)
6448 do
6449 _n_from_type = node
6450 node.parent = self
6451 end
6452 redef fun n_dot=(node)
6453 do
6454 _n_dot = node
6455 if node != null then node.parent = self
6456 end
6457 redef fun n_kwas=(node)
6458 do
6459 _n_kwas = node
6460 node.parent = self
6461 end
6462 redef fun n_to_type=(node)
6463 do
6464 _n_to_type = node
6465 node.parent = self
6466 end
6467
6468
6469 redef fun visit_all(v: Visitor)
6470 do
6471 v.enter_visit(_n_from_type)
6472 v.enter_visit(_n_dot)
6473 v.enter_visit(_n_kwas)
6474 v.enter_visit(_n_to_type)
6475 end
6476 end
6477 redef class AAsNullableExternCall
6478 init init_aasnullableexterncall (
6479 n_type: nullable AType,
6480 n_kwas: nullable TKwas,
6481 n_kwnullable: nullable TKwnullable
6482 )
6483 do
6484 _n_type = n_type.as(not null)
6485 n_type.parent = self
6486 _n_kwas = n_kwas.as(not null)
6487 n_kwas.parent = self
6488 _n_kwnullable = n_kwnullable.as(not null)
6489 n_kwnullable.parent = self
6490 end
6491
6492 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6493 do
6494 if _n_type == old_child then
6495 n_type = new_child.as(AType)
6496 return
6497 end
6498 if _n_kwas == old_child then
6499 n_kwas = new_child.as(TKwas)
6500 return
6501 end
6502 if _n_kwnullable == old_child then
6503 n_kwnullable = new_child.as(TKwnullable)
6504 return
6505 end
6506 end
6507
6508 redef fun n_type=(node)
6509 do
6510 _n_type = node
6511 node.parent = self
6512 end
6513 redef fun n_kwas=(node)
6514 do
6515 _n_kwas = node
6516 node.parent = self
6517 end
6518 redef fun n_kwnullable=(node)
6519 do
6520 _n_kwnullable = node
6521 node.parent = self
6522 end
6523
6524
6525 redef fun visit_all(v: Visitor)
6526 do
6527 v.enter_visit(_n_type)
6528 v.enter_visit(_n_kwas)
6529 v.enter_visit(_n_kwnullable)
6530 end
6531 end
6532 redef class AAsNotNullableExternCall
6533 init init_aasnotnullableexterncall (
6534 n_type: nullable AType,
6535 n_kwas: nullable TKwas,
6536 n_kwnot: nullable TKwnot,
6537 n_kwnullable: nullable TKwnullable
6538 )
6539 do
6540 _n_type = n_type.as(not null)
6541 n_type.parent = self
6542 _n_kwas = n_kwas.as(not null)
6543 n_kwas.parent = self
6544 _n_kwnot = n_kwnot.as(not null)
6545 n_kwnot.parent = self
6546 _n_kwnullable = n_kwnullable.as(not null)
6547 n_kwnullable.parent = self
6548 end
6549
6550 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6551 do
6552 if _n_type == old_child then
6553 n_type = new_child.as(AType)
6554 return
6555 end
6556 if _n_kwas == old_child then
6557 n_kwas = new_child.as(TKwas)
6558 return
6559 end
6560 if _n_kwnot == old_child then
6561 n_kwnot = new_child.as(TKwnot)
6562 return
6563 end
6564 if _n_kwnullable == old_child then
6565 n_kwnullable = new_child.as(TKwnullable)
6566 return
6567 end
6568 end
6569
6570 redef fun n_type=(node)
6571 do
6572 _n_type = node
6573 node.parent = self
6574 end
6575 redef fun n_kwas=(node)
6576 do
6577 _n_kwas = node
6578 node.parent = self
6579 end
6580 redef fun n_kwnot=(node)
6581 do
6582 _n_kwnot = node
6583 node.parent = self
6584 end
6585 redef fun n_kwnullable=(node)
6586 do
6587 _n_kwnullable = node
6588 node.parent = self
6589 end
6590
6591
6592 redef fun visit_all(v: Visitor)
6593 do
6594 v.enter_visit(_n_type)
6595 v.enter_visit(_n_kwas)
6596 v.enter_visit(_n_kwnot)
6597 v.enter_visit(_n_kwnullable)
6598 end
6599 end
6600 redef class AInLanguage
6601 init init_ainlanguage (
6602 n_kwin: nullable TKwin,
6603 n_string: nullable TString
6604 )
6605 do
6606 _n_kwin = n_kwin.as(not null)
6607 n_kwin.parent = self
6608 _n_string = n_string.as(not null)
6609 n_string.parent = self
6610 end
6611
6612 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6613 do
6614 if _n_kwin == old_child then
6615 n_kwin = new_child.as(TKwin)
6616 return
6617 end
6618 if _n_string == old_child then
6619 n_string = new_child.as(TString)
6620 return
6621 end
6622 end
6623
6624 redef fun n_kwin=(node)
6625 do
6626 _n_kwin = node
6627 node.parent = self
6628 end
6629 redef fun n_string=(node)
6630 do
6631 _n_string = node
6632 node.parent = self
6633 end
6634
6635
6636 redef fun visit_all(v: Visitor)
6637 do
6638 v.enter_visit(_n_kwin)
6639 v.enter_visit(_n_string)
6640 end
6641 end
6642 redef class AExternCodeBlock
6643 init init_aexterncodeblock (
6644 n_in_language: nullable AInLanguage,
6645 n_extern_code_segment: nullable TExternCodeSegment
6646 )
6647 do
6648 _n_in_language = n_in_language
6649 if n_in_language != null then n_in_language.parent = self
6650 _n_extern_code_segment = n_extern_code_segment.as(not null)
6651 n_extern_code_segment.parent = self
6652 end
6653
6654 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6655 do
6656 if _n_in_language == old_child then
6657 n_in_language = new_child.as(nullable AInLanguage)
6658 return
6659 end
6660 if _n_extern_code_segment == old_child then
6661 n_extern_code_segment = new_child.as(TExternCodeSegment)
6662 return
6663 end
6664 end
6665
6666 redef fun n_in_language=(node)
6667 do
6668 _n_in_language = node
6669 if node != null then node.parent = self
6670 end
6671 redef fun n_extern_code_segment=(node)
6672 do
6673 _n_extern_code_segment = node
6674 node.parent = self
6675 end
6676
6677
6678 redef fun visit_all(v: Visitor)
6679 do
6680 v.enter_visit(_n_in_language)
6681 v.enter_visit(_n_extern_code_segment)
6682 end
6683 end
6684 redef class AQualified
6685 init init_aqualified (
6686 n_id: Collection[Object], # Should be Collection[TId]
6687 n_classid: nullable TClassid
6688 )
6689 do
6690 self.n_id.unsafe_add_all(n_id)
6691 _n_classid = n_classid
6692 if n_classid != null then n_classid.parent = self
6693 end
6694
6695 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6696 do
6697 if n_id.replace_child(old_child, new_child) then return
6698 if _n_classid == old_child then
6699 n_classid = new_child.as(nullable TClassid)
6700 return
6701 end
6702 end
6703
6704 redef fun n_classid=(node)
6705 do
6706 _n_classid = node
6707 if node != null then node.parent = self
6708 end
6709
6710
6711 redef fun visit_all(v: Visitor)
6712 do
6713 n_id.visit_all(v)
6714 v.enter_visit(_n_classid)
6715 end
6716 end
6717 redef class ADoc
6718 init init_adoc (
6719 n_comment: Collection[Object] # Should be Collection[TComment]
6720 )
6721 do
6722 self.n_comment.unsafe_add_all(n_comment)
6723 end
6724
6725 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6726 do
6727 if n_comment.replace_child(old_child, new_child) then return
6728 end
6729
6730
6731
6732 redef fun visit_all(v: Visitor)
6733 do
6734 n_comment.visit_all(v)
6735 end
6736 end
6737 redef class AAnnotations
6738 init init_aannotations (
6739 n_at: nullable TAt,
6740 n_opar: nullable TOpar,
6741 n_items: Collection[Object], # Should be Collection[AAnnotation]
6742 n_cpar: nullable TCpar
6743 )
6744 do
6745 _n_at = n_at
6746 if n_at != null then n_at.parent = self
6747 _n_opar = n_opar
6748 if n_opar != null then n_opar.parent = self
6749 self.n_items.unsafe_add_all(n_items)
6750 _n_cpar = n_cpar
6751 if n_cpar != null then n_cpar.parent = self
6752 end
6753
6754 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6755 do
6756 if _n_at == old_child then
6757 n_at = new_child.as(nullable TAt)
6758 return
6759 end
6760 if _n_opar == old_child then
6761 n_opar = new_child.as(nullable TOpar)
6762 return
6763 end
6764 if n_items.replace_child(old_child, new_child) then return
6765 if _n_cpar == old_child then
6766 n_cpar = new_child.as(nullable TCpar)
6767 return
6768 end
6769 end
6770
6771 redef fun n_at=(node)
6772 do
6773 _n_at = node
6774 if node != null then node.parent = self
6775 end
6776 redef fun n_opar=(node)
6777 do
6778 _n_opar = node
6779 if node != null then node.parent = self
6780 end
6781 redef fun n_cpar=(node)
6782 do
6783 _n_cpar = node
6784 if node != null then node.parent = self
6785 end
6786
6787
6788 redef fun visit_all(v: Visitor)
6789 do
6790 v.enter_visit(_n_at)
6791 v.enter_visit(_n_opar)
6792 n_items.visit_all(v)
6793 v.enter_visit(_n_cpar)
6794 end
6795 end
6796 redef class AAnnotation
6797 init init_aannotation (
6798 n_doc: nullable ADoc,
6799 n_kwredef: nullable TKwredef,
6800 n_visibility: nullable AVisibility,
6801 n_atid: nullable AAtid,
6802 n_opar: nullable TOpar,
6803 n_args: Collection[Object], # Should be Collection[AAtArg]
6804 n_cpar: nullable TCpar,
6805 n_annotations: nullable AAnnotations
6806 )
6807 do
6808 _n_doc = n_doc
6809 if n_doc != null then n_doc.parent = self
6810 _n_kwredef = n_kwredef
6811 if n_kwredef != null then n_kwredef.parent = self
6812 _n_visibility = n_visibility
6813 if n_visibility != null then n_visibility.parent = self
6814 _n_atid = n_atid.as(not null)
6815 n_atid.parent = self
6816 _n_opar = n_opar
6817 if n_opar != null then n_opar.parent = self
6818 self.n_args.unsafe_add_all(n_args)
6819 _n_cpar = n_cpar
6820 if n_cpar != null then n_cpar.parent = self
6821 _n_annotations = n_annotations
6822 if n_annotations != null then n_annotations.parent = self
6823 end
6824
6825 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6826 do
6827 if _n_doc == old_child then
6828 n_doc = new_child.as(nullable ADoc)
6829 return
6830 end
6831 if _n_kwredef == old_child then
6832 n_kwredef = new_child.as(nullable TKwredef)
6833 return
6834 end
6835 if _n_visibility == old_child then
6836 n_visibility = new_child.as(nullable AVisibility)
6837 return
6838 end
6839 if _n_atid == old_child then
6840 n_atid = new_child.as(AAtid)
6841 return
6842 end
6843 if _n_opar == old_child then
6844 n_opar = new_child.as(nullable TOpar)
6845 return
6846 end
6847 if n_args.replace_child(old_child, new_child) then return
6848 if _n_cpar == old_child then
6849 n_cpar = new_child.as(nullable TCpar)
6850 return
6851 end
6852 if _n_annotations == old_child then
6853 n_annotations = new_child.as(nullable AAnnotations)
6854 return
6855 end
6856 end
6857
6858 redef fun n_doc=(node)
6859 do
6860 _n_doc = node
6861 if node != null then node.parent = self
6862 end
6863 redef fun n_kwredef=(node)
6864 do
6865 _n_kwredef = node
6866 if node != null then node.parent = self
6867 end
6868 redef fun n_visibility=(node)
6869 do
6870 _n_visibility = node
6871 if node != null then node.parent = self
6872 end
6873 redef fun n_atid=(node)
6874 do
6875 _n_atid = node
6876 node.parent = self
6877 end
6878 redef fun n_opar=(node)
6879 do
6880 _n_opar = node
6881 if node != null then node.parent = self
6882 end
6883 redef fun n_cpar=(node)
6884 do
6885 _n_cpar = node
6886 if node != null then node.parent = self
6887 end
6888 redef fun n_annotations=(node)
6889 do
6890 _n_annotations = node
6891 if node != null then node.parent = self
6892 end
6893
6894
6895 redef fun visit_all(v: Visitor)
6896 do
6897 v.enter_visit(_n_doc)
6898 v.enter_visit(_n_kwredef)
6899 v.enter_visit(_n_visibility)
6900 v.enter_visit(_n_atid)
6901 v.enter_visit(_n_opar)
6902 n_args.visit_all(v)
6903 v.enter_visit(_n_cpar)
6904 v.enter_visit(_n_annotations)
6905 end
6906 end
6907 redef class ATypeAtArg
6908 init init_atypeatarg (
6909 n_type: nullable AType
6910 )
6911 do
6912 _n_type = n_type.as(not null)
6913 n_type.parent = self
6914 end
6915
6916 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6917 do
6918 if _n_type == old_child then
6919 n_type = new_child.as(AType)
6920 return
6921 end
6922 end
6923
6924 redef fun n_type=(node)
6925 do
6926 _n_type = node
6927 node.parent = self
6928 end
6929
6930
6931 redef fun visit_all(v: Visitor)
6932 do
6933 v.enter_visit(_n_type)
6934 end
6935 end
6936 redef class AExprAtArg
6937 init init_aexpratarg (
6938 n_expr: nullable AExpr
6939 )
6940 do
6941 _n_expr = n_expr.as(not null)
6942 n_expr.parent = self
6943 end
6944
6945 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6946 do
6947 if _n_expr == old_child then
6948 n_expr = new_child.as(AExpr)
6949 return
6950 end
6951 end
6952
6953 redef fun n_expr=(node)
6954 do
6955 _n_expr = node
6956 node.parent = self
6957 end
6958
6959
6960 redef fun visit_all(v: Visitor)
6961 do
6962 v.enter_visit(_n_expr)
6963 end
6964 end
6965 redef class AAtAtArg
6966 init init_aatatarg (
6967 n_annotations: nullable AAnnotations
6968 )
6969 do
6970 _n_annotations = n_annotations.as(not null)
6971 n_annotations.parent = self
6972 end
6973
6974 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6975 do
6976 if _n_annotations == old_child then
6977 n_annotations = new_child.as(AAnnotations)
6978 return
6979 end
6980 end
6981
6982 redef fun n_annotations=(node)
6983 do
6984 _n_annotations = node
6985 node.parent = self
6986 end
6987
6988
6989 redef fun visit_all(v: Visitor)
6990 do
6991 v.enter_visit(_n_annotations)
6992 end
6993 end
6994 redef class AIdAtid
6995 init init_aidatid (
6996 n_id: nullable TId
6997 )
6998 do
6999 _n_id = n_id.as(not null)
7000 n_id.parent = self
7001 end
7002
7003 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7004 do
7005 if _n_id == old_child then
7006 n_id = new_child.as(TId)
7007 return
7008 end
7009 end
7010
7011 redef fun n_id=(node)
7012 do
7013 _n_id = node
7014 node.parent = self
7015 end
7016
7017
7018 redef fun visit_all(v: Visitor)
7019 do
7020 v.enter_visit(_n_id)
7021 end
7022 end
7023 redef class AKwexternAtid
7024 init init_akwexternatid (
7025 n_id: nullable TKwextern
7026 )
7027 do
7028 _n_id = n_id.as(not null)
7029 n_id.parent = self
7030 end
7031
7032 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7033 do
7034 if _n_id == old_child then
7035 n_id = new_child.as(TKwextern)
7036 return
7037 end
7038 end
7039
7040 redef fun n_id=(node)
7041 do
7042 _n_id = node
7043 node.parent = self
7044 end
7045
7046
7047 redef fun visit_all(v: Visitor)
7048 do
7049 v.enter_visit(_n_id)
7050 end
7051 end
7052 redef class AKwabstractAtid
7053 init init_akwabstractatid (
7054 n_id: nullable TKwabstract
7055 )
7056 do
7057 _n_id = n_id.as(not null)
7058 n_id.parent = self
7059 end
7060
7061 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7062 do
7063 if _n_id == old_child then
7064 n_id = new_child.as(TKwabstract)
7065 return
7066 end
7067 end
7068
7069 redef fun n_id=(node)
7070 do
7071 _n_id = node
7072 node.parent = self
7073 end
7074
7075
7076 redef fun visit_all(v: Visitor)
7077 do
7078 v.enter_visit(_n_id)
7079 end
7080 end
7081 redef class AKwimportAtid
7082 init init_akwimportatid (
7083 n_id: nullable TKwimport
7084 )
7085 do
7086 _n_id = n_id.as(not null)
7087 n_id.parent = self
7088 end
7089
7090 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7091 do
7092 if _n_id == old_child then
7093 n_id = new_child.as(TKwimport)
7094 return
7095 end
7096 end
7097
7098 redef fun n_id=(node)
7099 do
7100 _n_id = node
7101 node.parent = self
7102 end
7103
7104
7105 redef fun visit_all(v: Visitor)
7106 do
7107 v.enter_visit(_n_id)
7108 end
7109 end
7110
7111 redef class Start
7112 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7113 do
7114 if _n_base == old_child then
7115 if new_child == null then
7116 else
7117 new_child.parent = self
7118 assert new_child isa AModule
7119 _n_base = new_child
7120 end
7121 old_child.parent = null
7122 return
7123 end
7124 end
7125
7126 redef fun visit_all(v: Visitor)
7127 do
7128 if _n_base != null then
7129 v.enter_visit(_n_base.as(not null))
7130 end
7131 v.enter_visit(_n_eof)
7132 end
7133 end