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