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