Merge: Parallelization phase introduction
[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.as(not null)
2298 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(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 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 AAssertExpr
2975 init init_aassertexpr (
2976 n_kwassert: nullable TKwassert,
2977 n_id: nullable TId,
2978 n_expr: nullable AExpr,
2979 n_else: nullable AExpr
2980 )
2981 do
2982 _n_kwassert = n_kwassert.as(not null)
2983 n_kwassert.parent = self
2984 _n_id = n_id
2985 if n_id != null then n_id.parent = self
2986 _n_expr = n_expr.as(not null)
2987 n_expr.parent = self
2988 _n_else = n_else
2989 if n_else != null then n_else.parent = self
2990 end
2991
2992 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2993 do
2994 if _n_kwassert == old_child then
2995 n_kwassert = new_child.as(TKwassert)
2996 return
2997 end
2998 if _n_id == old_child then
2999 n_id = new_child.as(nullable TId)
3000 return
3001 end
3002 if _n_expr == old_child then
3003 n_expr = new_child.as(AExpr)
3004 return
3005 end
3006 if _n_else == old_child then
3007 n_else = new_child.as(nullable AExpr)
3008 return
3009 end
3010 end
3011
3012 redef fun n_kwassert=(node)
3013 do
3014 _n_kwassert = node
3015 node.parent = self
3016 end
3017 redef fun n_id=(node)
3018 do
3019 _n_id = node
3020 if node != null then node.parent = self
3021 end
3022 redef fun n_expr=(node)
3023 do
3024 _n_expr = node
3025 node.parent = self
3026 end
3027 redef fun n_else=(node)
3028 do
3029 _n_else = node
3030 if node != null then node.parent = self
3031 end
3032
3033
3034 redef fun visit_all(v: Visitor)
3035 do
3036 v.enter_visit(_n_kwassert)
3037 v.enter_visit(_n_id)
3038 v.enter_visit(_n_expr)
3039 v.enter_visit(_n_else)
3040 end
3041 end
3042 redef class AOnceExpr
3043 init init_aonceexpr (
3044 n_kwonce: nullable TKwonce,
3045 n_expr: nullable AExpr
3046 )
3047 do
3048 _n_kwonce = n_kwonce.as(not null)
3049 n_kwonce.parent = self
3050 _n_expr = n_expr.as(not null)
3051 n_expr.parent = self
3052 end
3053
3054 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3055 do
3056 if _n_kwonce == old_child then
3057 n_kwonce = new_child.as(TKwonce)
3058 return
3059 end
3060 if _n_expr == old_child then
3061 n_expr = new_child.as(AExpr)
3062 return
3063 end
3064 end
3065
3066 redef fun n_kwonce=(node)
3067 do
3068 _n_kwonce = node
3069 node.parent = self
3070 end
3071 redef fun n_expr=(node)
3072 do
3073 _n_expr = node
3074 node.parent = self
3075 end
3076
3077
3078 redef fun visit_all(v: Visitor)
3079 do
3080 v.enter_visit(_n_kwonce)
3081 v.enter_visit(_n_expr)
3082 end
3083 end
3084 redef class ASendExpr
3085 init init_asendexpr (
3086 n_expr: nullable AExpr
3087 )
3088 do
3089 _n_expr = n_expr.as(not null)
3090 n_expr.parent = self
3091 end
3092
3093 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3094 do
3095 if _n_expr == old_child then
3096 n_expr = new_child.as(AExpr)
3097 return
3098 end
3099 end
3100
3101 redef fun n_expr=(node)
3102 do
3103 _n_expr = node
3104 node.parent = self
3105 end
3106
3107
3108 redef fun visit_all(v: Visitor)
3109 do
3110 v.enter_visit(_n_expr)
3111 end
3112 end
3113 redef class ABinopExpr
3114 init init_abinopexpr (
3115 n_expr: nullable AExpr,
3116 n_expr2: nullable AExpr
3117 )
3118 do
3119 _n_expr = n_expr.as(not null)
3120 n_expr.parent = self
3121 _n_expr2 = n_expr2.as(not null)
3122 n_expr2.parent = self
3123 end
3124
3125 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3126 do
3127 if _n_expr == old_child then
3128 n_expr = new_child.as(AExpr)
3129 return
3130 end
3131 if _n_expr2 == old_child then
3132 n_expr2 = new_child.as(AExpr)
3133 return
3134 end
3135 end
3136
3137 redef fun n_expr=(node)
3138 do
3139 _n_expr = node
3140 node.parent = self
3141 end
3142 redef fun n_expr2=(node)
3143 do
3144 _n_expr2 = node
3145 node.parent = self
3146 end
3147
3148
3149 redef fun visit_all(v: Visitor)
3150 do
3151 v.enter_visit(_n_expr)
3152 v.enter_visit(_n_expr2)
3153 end
3154 end
3155 redef class AOrExpr
3156 init init_aorexpr (
3157 n_expr: nullable AExpr,
3158 n_expr2: nullable AExpr
3159 )
3160 do
3161 _n_expr = n_expr.as(not null)
3162 n_expr.parent = self
3163 _n_expr2 = n_expr2.as(not null)
3164 n_expr2.parent = self
3165 end
3166
3167 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3168 do
3169 if _n_expr == old_child then
3170 n_expr = new_child.as(AExpr)
3171 return
3172 end
3173 if _n_expr2 == old_child then
3174 n_expr2 = new_child.as(AExpr)
3175 return
3176 end
3177 end
3178
3179 redef fun n_expr=(node)
3180 do
3181 _n_expr = node
3182 node.parent = self
3183 end
3184 redef fun n_expr2=(node)
3185 do
3186 _n_expr2 = node
3187 node.parent = self
3188 end
3189
3190
3191 redef fun visit_all(v: Visitor)
3192 do
3193 v.enter_visit(_n_expr)
3194 v.enter_visit(_n_expr2)
3195 end
3196 end
3197 redef class AAndExpr
3198 init init_aandexpr (
3199 n_expr: nullable AExpr,
3200 n_expr2: nullable AExpr
3201 )
3202 do
3203 _n_expr = n_expr.as(not null)
3204 n_expr.parent = self
3205 _n_expr2 = n_expr2.as(not null)
3206 n_expr2.parent = self
3207 end
3208
3209 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3210 do
3211 if _n_expr == old_child then
3212 n_expr = new_child.as(AExpr)
3213 return
3214 end
3215 if _n_expr2 == old_child then
3216 n_expr2 = new_child.as(AExpr)
3217 return
3218 end
3219 end
3220
3221 redef fun n_expr=(node)
3222 do
3223 _n_expr = node
3224 node.parent = self
3225 end
3226 redef fun n_expr2=(node)
3227 do
3228 _n_expr2 = node
3229 node.parent = self
3230 end
3231
3232
3233 redef fun visit_all(v: Visitor)
3234 do
3235 v.enter_visit(_n_expr)
3236 v.enter_visit(_n_expr2)
3237 end
3238 end
3239 redef class AOrElseExpr
3240 init init_aorelseexpr (
3241 n_expr: nullable AExpr,
3242 n_expr2: nullable AExpr
3243 )
3244 do
3245 _n_expr = n_expr.as(not null)
3246 n_expr.parent = self
3247 _n_expr2 = n_expr2.as(not null)
3248 n_expr2.parent = self
3249 end
3250
3251 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3252 do
3253 if _n_expr == old_child then
3254 n_expr = new_child.as(AExpr)
3255 return
3256 end
3257 if _n_expr2 == old_child then
3258 n_expr2 = new_child.as(AExpr)
3259 return
3260 end
3261 end
3262
3263 redef fun n_expr=(node)
3264 do
3265 _n_expr = node
3266 node.parent = self
3267 end
3268 redef fun n_expr2=(node)
3269 do
3270 _n_expr2 = node
3271 node.parent = self
3272 end
3273
3274
3275 redef fun visit_all(v: Visitor)
3276 do
3277 v.enter_visit(_n_expr)
3278 v.enter_visit(_n_expr2)
3279 end
3280 end
3281 redef class AImpliesExpr
3282 init init_aimpliesexpr (
3283 n_expr: nullable AExpr,
3284 n_expr2: nullable AExpr
3285 )
3286 do
3287 _n_expr = n_expr.as(not null)
3288 n_expr.parent = self
3289 _n_expr2 = n_expr2.as(not null)
3290 n_expr2.parent = self
3291 end
3292
3293 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3294 do
3295 if _n_expr == old_child then
3296 n_expr = new_child.as(AExpr)
3297 return
3298 end
3299 if _n_expr2 == old_child then
3300 n_expr2 = new_child.as(AExpr)
3301 return
3302 end
3303 end
3304
3305 redef fun n_expr=(node)
3306 do
3307 _n_expr = node
3308 node.parent = self
3309 end
3310 redef fun n_expr2=(node)
3311 do
3312 _n_expr2 = node
3313 node.parent = self
3314 end
3315
3316
3317 redef fun visit_all(v: Visitor)
3318 do
3319 v.enter_visit(_n_expr)
3320 v.enter_visit(_n_expr2)
3321 end
3322 end
3323 redef class ANotExpr
3324 init init_anotexpr (
3325 n_kwnot: nullable TKwnot,
3326 n_expr: nullable AExpr
3327 )
3328 do
3329 _n_kwnot = n_kwnot.as(not null)
3330 n_kwnot.parent = self
3331 _n_expr = n_expr.as(not null)
3332 n_expr.parent = self
3333 end
3334
3335 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3336 do
3337 if _n_kwnot == old_child then
3338 n_kwnot = new_child.as(TKwnot)
3339 return
3340 end
3341 if _n_expr == old_child then
3342 n_expr = new_child.as(AExpr)
3343 return
3344 end
3345 end
3346
3347 redef fun n_kwnot=(node)
3348 do
3349 _n_kwnot = node
3350 node.parent = self
3351 end
3352 redef fun n_expr=(node)
3353 do
3354 _n_expr = node
3355 node.parent = self
3356 end
3357
3358
3359 redef fun visit_all(v: Visitor)
3360 do
3361 v.enter_visit(_n_kwnot)
3362 v.enter_visit(_n_expr)
3363 end
3364 end
3365 redef class AEqExpr
3366 init init_aeqexpr (
3367 n_expr: nullable AExpr,
3368 n_expr2: nullable AExpr
3369 )
3370 do
3371 _n_expr = n_expr.as(not null)
3372 n_expr.parent = self
3373 _n_expr2 = n_expr2.as(not null)
3374 n_expr2.parent = self
3375 end
3376
3377 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3378 do
3379 if _n_expr == old_child then
3380 n_expr = new_child.as(AExpr)
3381 return
3382 end
3383 if _n_expr2 == old_child then
3384 n_expr2 = new_child.as(AExpr)
3385 return
3386 end
3387 end
3388
3389 redef fun n_expr=(node)
3390 do
3391 _n_expr = node
3392 node.parent = self
3393 end
3394 redef fun n_expr2=(node)
3395 do
3396 _n_expr2 = node
3397 node.parent = self
3398 end
3399
3400
3401 redef fun visit_all(v: Visitor)
3402 do
3403 v.enter_visit(_n_expr)
3404 v.enter_visit(_n_expr2)
3405 end
3406 end
3407 redef class ANeExpr
3408 init init_aneexpr (
3409 n_expr: nullable AExpr,
3410 n_expr2: nullable AExpr
3411 )
3412 do
3413 _n_expr = n_expr.as(not null)
3414 n_expr.parent = self
3415 _n_expr2 = n_expr2.as(not null)
3416 n_expr2.parent = self
3417 end
3418
3419 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3420 do
3421 if _n_expr == old_child then
3422 n_expr = new_child.as(AExpr)
3423 return
3424 end
3425 if _n_expr2 == old_child then
3426 n_expr2 = new_child.as(AExpr)
3427 return
3428 end
3429 end
3430
3431 redef fun n_expr=(node)
3432 do
3433 _n_expr = node
3434 node.parent = self
3435 end
3436 redef fun n_expr2=(node)
3437 do
3438 _n_expr2 = node
3439 node.parent = self
3440 end
3441
3442
3443 redef fun visit_all(v: Visitor)
3444 do
3445 v.enter_visit(_n_expr)
3446 v.enter_visit(_n_expr2)
3447 end
3448 end
3449 redef class ALtExpr
3450 init init_altexpr (
3451 n_expr: nullable AExpr,
3452 n_expr2: nullable AExpr
3453 )
3454 do
3455 _n_expr = n_expr.as(not null)
3456 n_expr.parent = self
3457 _n_expr2 = n_expr2.as(not null)
3458 n_expr2.parent = self
3459 end
3460
3461 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3462 do
3463 if _n_expr == old_child then
3464 n_expr = new_child.as(AExpr)
3465 return
3466 end
3467 if _n_expr2 == old_child then
3468 n_expr2 = new_child.as(AExpr)
3469 return
3470 end
3471 end
3472
3473 redef fun n_expr=(node)
3474 do
3475 _n_expr = node
3476 node.parent = self
3477 end
3478 redef fun n_expr2=(node)
3479 do
3480 _n_expr2 = node
3481 node.parent = self
3482 end
3483
3484
3485 redef fun visit_all(v: Visitor)
3486 do
3487 v.enter_visit(_n_expr)
3488 v.enter_visit(_n_expr2)
3489 end
3490 end
3491 redef class ALeExpr
3492 init init_aleexpr (
3493 n_expr: nullable AExpr,
3494 n_expr2: nullable AExpr
3495 )
3496 do
3497 _n_expr = n_expr.as(not null)
3498 n_expr.parent = self
3499 _n_expr2 = n_expr2.as(not null)
3500 n_expr2.parent = self
3501 end
3502
3503 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3504 do
3505 if _n_expr == old_child then
3506 n_expr = new_child.as(AExpr)
3507 return
3508 end
3509 if _n_expr2 == old_child then
3510 n_expr2 = new_child.as(AExpr)
3511 return
3512 end
3513 end
3514
3515 redef fun n_expr=(node)
3516 do
3517 _n_expr = node
3518 node.parent = self
3519 end
3520 redef fun n_expr2=(node)
3521 do
3522 _n_expr2 = node
3523 node.parent = self
3524 end
3525
3526
3527 redef fun visit_all(v: Visitor)
3528 do
3529 v.enter_visit(_n_expr)
3530 v.enter_visit(_n_expr2)
3531 end
3532 end
3533 redef class ALlExpr
3534 init init_allexpr (
3535 n_expr: nullable AExpr,
3536 n_expr2: nullable AExpr
3537 )
3538 do
3539 _n_expr = n_expr.as(not null)
3540 n_expr.parent = self
3541 _n_expr2 = n_expr2.as(not null)
3542 n_expr2.parent = self
3543 end
3544
3545 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3546 do
3547 if _n_expr == old_child then
3548 n_expr = new_child.as(AExpr)
3549 return
3550 end
3551 if _n_expr2 == old_child then
3552 n_expr2 = new_child.as(AExpr)
3553 return
3554 end
3555 end
3556
3557 redef fun n_expr=(node)
3558 do
3559 _n_expr = node
3560 node.parent = self
3561 end
3562 redef fun n_expr2=(node)
3563 do
3564 _n_expr2 = node
3565 node.parent = self
3566 end
3567
3568
3569 redef fun visit_all(v: Visitor)
3570 do
3571 v.enter_visit(_n_expr)
3572 v.enter_visit(_n_expr2)
3573 end
3574 end
3575 redef class AGtExpr
3576 init init_agtexpr (
3577 n_expr: nullable AExpr,
3578 n_expr2: nullable AExpr
3579 )
3580 do
3581 _n_expr = n_expr.as(not null)
3582 n_expr.parent = self
3583 _n_expr2 = n_expr2.as(not null)
3584 n_expr2.parent = self
3585 end
3586
3587 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3588 do
3589 if _n_expr == old_child then
3590 n_expr = new_child.as(AExpr)
3591 return
3592 end
3593 if _n_expr2 == old_child then
3594 n_expr2 = new_child.as(AExpr)
3595 return
3596 end
3597 end
3598
3599 redef fun n_expr=(node)
3600 do
3601 _n_expr = node
3602 node.parent = self
3603 end
3604 redef fun n_expr2=(node)
3605 do
3606 _n_expr2 = node
3607 node.parent = self
3608 end
3609
3610
3611 redef fun visit_all(v: Visitor)
3612 do
3613 v.enter_visit(_n_expr)
3614 v.enter_visit(_n_expr2)
3615 end
3616 end
3617 redef class AGeExpr
3618 init init_ageexpr (
3619 n_expr: nullable AExpr,
3620 n_expr2: nullable AExpr
3621 )
3622 do
3623 _n_expr = n_expr.as(not null)
3624 n_expr.parent = self
3625 _n_expr2 = n_expr2.as(not null)
3626 n_expr2.parent = self
3627 end
3628
3629 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3630 do
3631 if _n_expr == old_child then
3632 n_expr = new_child.as(AExpr)
3633 return
3634 end
3635 if _n_expr2 == old_child then
3636 n_expr2 = new_child.as(AExpr)
3637 return
3638 end
3639 end
3640
3641 redef fun n_expr=(node)
3642 do
3643 _n_expr = node
3644 node.parent = self
3645 end
3646 redef fun n_expr2=(node)
3647 do
3648 _n_expr2 = node
3649 node.parent = self
3650 end
3651
3652
3653 redef fun visit_all(v: Visitor)
3654 do
3655 v.enter_visit(_n_expr)
3656 v.enter_visit(_n_expr2)
3657 end
3658 end
3659 redef class AGgExpr
3660 init init_aggexpr (
3661 n_expr: nullable AExpr,
3662 n_expr2: nullable AExpr
3663 )
3664 do
3665 _n_expr = n_expr.as(not null)
3666 n_expr.parent = self
3667 _n_expr2 = n_expr2.as(not null)
3668 n_expr2.parent = self
3669 end
3670
3671 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3672 do
3673 if _n_expr == old_child then
3674 n_expr = new_child.as(AExpr)
3675 return
3676 end
3677 if _n_expr2 == old_child then
3678 n_expr2 = new_child.as(AExpr)
3679 return
3680 end
3681 end
3682
3683 redef fun n_expr=(node)
3684 do
3685 _n_expr = node
3686 node.parent = self
3687 end
3688 redef fun n_expr2=(node)
3689 do
3690 _n_expr2 = node
3691 node.parent = self
3692 end
3693
3694
3695 redef fun visit_all(v: Visitor)
3696 do
3697 v.enter_visit(_n_expr)
3698 v.enter_visit(_n_expr2)
3699 end
3700 end
3701 redef class AIsaExpr
3702 init init_aisaexpr (
3703 n_expr: nullable AExpr,
3704 n_type: nullable AType
3705 )
3706 do
3707 _n_expr = n_expr.as(not null)
3708 n_expr.parent = self
3709 _n_type = n_type.as(not null)
3710 n_type.parent = self
3711 end
3712
3713 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3714 do
3715 if _n_expr == old_child then
3716 n_expr = new_child.as(AExpr)
3717 return
3718 end
3719 if _n_type == old_child then
3720 n_type = new_child.as(AType)
3721 return
3722 end
3723 end
3724
3725 redef fun n_expr=(node)
3726 do
3727 _n_expr = node
3728 node.parent = self
3729 end
3730 redef fun n_type=(node)
3731 do
3732 _n_type = node
3733 node.parent = self
3734 end
3735
3736
3737 redef fun visit_all(v: Visitor)
3738 do
3739 v.enter_visit(_n_expr)
3740 v.enter_visit(_n_type)
3741 end
3742 end
3743 redef class APlusExpr
3744 init init_aplusexpr (
3745 n_expr: nullable AExpr,
3746 n_expr2: nullable AExpr
3747 )
3748 do
3749 _n_expr = n_expr.as(not null)
3750 n_expr.parent = self
3751 _n_expr2 = n_expr2.as(not null)
3752 n_expr2.parent = self
3753 end
3754
3755 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3756 do
3757 if _n_expr == old_child then
3758 n_expr = new_child.as(AExpr)
3759 return
3760 end
3761 if _n_expr2 == old_child then
3762 n_expr2 = new_child.as(AExpr)
3763 return
3764 end
3765 end
3766
3767 redef fun n_expr=(node)
3768 do
3769 _n_expr = node
3770 node.parent = self
3771 end
3772 redef fun n_expr2=(node)
3773 do
3774 _n_expr2 = node
3775 node.parent = self
3776 end
3777
3778
3779 redef fun visit_all(v: Visitor)
3780 do
3781 v.enter_visit(_n_expr)
3782 v.enter_visit(_n_expr2)
3783 end
3784 end
3785 redef class AMinusExpr
3786 init init_aminusexpr (
3787 n_expr: nullable AExpr,
3788 n_expr2: nullable AExpr
3789 )
3790 do
3791 _n_expr = n_expr.as(not null)
3792 n_expr.parent = self
3793 _n_expr2 = n_expr2.as(not null)
3794 n_expr2.parent = self
3795 end
3796
3797 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3798 do
3799 if _n_expr == old_child then
3800 n_expr = new_child.as(AExpr)
3801 return
3802 end
3803 if _n_expr2 == old_child then
3804 n_expr2 = new_child.as(AExpr)
3805 return
3806 end
3807 end
3808
3809 redef fun n_expr=(node)
3810 do
3811 _n_expr = node
3812 node.parent = self
3813 end
3814 redef fun n_expr2=(node)
3815 do
3816 _n_expr2 = node
3817 node.parent = self
3818 end
3819
3820
3821 redef fun visit_all(v: Visitor)
3822 do
3823 v.enter_visit(_n_expr)
3824 v.enter_visit(_n_expr2)
3825 end
3826 end
3827 redef class AStarshipExpr
3828 init init_astarshipexpr (
3829 n_expr: nullable AExpr,
3830 n_expr2: nullable AExpr
3831 )
3832 do
3833 _n_expr = n_expr.as(not null)
3834 n_expr.parent = self
3835 _n_expr2 = n_expr2.as(not null)
3836 n_expr2.parent = self
3837 end
3838
3839 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3840 do
3841 if _n_expr == old_child then
3842 n_expr = new_child.as(AExpr)
3843 return
3844 end
3845 if _n_expr2 == old_child then
3846 n_expr2 = new_child.as(AExpr)
3847 return
3848 end
3849 end
3850
3851 redef fun n_expr=(node)
3852 do
3853 _n_expr = node
3854 node.parent = self
3855 end
3856 redef fun n_expr2=(node)
3857 do
3858 _n_expr2 = node
3859 node.parent = self
3860 end
3861
3862
3863 redef fun visit_all(v: Visitor)
3864 do
3865 v.enter_visit(_n_expr)
3866 v.enter_visit(_n_expr2)
3867 end
3868 end
3869 redef class AStarExpr
3870 init init_astarexpr (
3871 n_expr: nullable AExpr,
3872 n_expr2: nullable AExpr
3873 )
3874 do
3875 _n_expr = n_expr.as(not null)
3876 n_expr.parent = self
3877 _n_expr2 = n_expr2.as(not null)
3878 n_expr2.parent = self
3879 end
3880
3881 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3882 do
3883 if _n_expr == old_child then
3884 n_expr = new_child.as(AExpr)
3885 return
3886 end
3887 if _n_expr2 == old_child then
3888 n_expr2 = new_child.as(AExpr)
3889 return
3890 end
3891 end
3892
3893 redef fun n_expr=(node)
3894 do
3895 _n_expr = node
3896 node.parent = self
3897 end
3898 redef fun n_expr2=(node)
3899 do
3900 _n_expr2 = node
3901 node.parent = self
3902 end
3903
3904
3905 redef fun visit_all(v: Visitor)
3906 do
3907 v.enter_visit(_n_expr)
3908 v.enter_visit(_n_expr2)
3909 end
3910 end
3911 redef class AStarstarExpr
3912 init init_astarstarexpr (
3913 n_expr: nullable AExpr,
3914 n_expr2: nullable AExpr
3915 )
3916 do
3917 _n_expr = n_expr.as(not null)
3918 n_expr.parent = self
3919 _n_expr2 = n_expr2.as(not null)
3920 n_expr2.parent = self
3921 end
3922
3923 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3924 do
3925 if _n_expr == old_child then
3926 n_expr = new_child.as(AExpr)
3927 return
3928 end
3929 if _n_expr2 == old_child then
3930 n_expr2 = new_child.as(AExpr)
3931 return
3932 end
3933 end
3934
3935 redef fun n_expr=(node)
3936 do
3937 _n_expr = node
3938 node.parent = self
3939 end
3940 redef fun n_expr2=(node)
3941 do
3942 _n_expr2 = node
3943 node.parent = self
3944 end
3945
3946
3947 redef fun visit_all(v: Visitor)
3948 do
3949 v.enter_visit(_n_expr)
3950 v.enter_visit(_n_expr2)
3951 end
3952 end
3953 redef class ASlashExpr
3954 init init_aslashexpr (
3955 n_expr: nullable AExpr,
3956 n_expr2: nullable AExpr
3957 )
3958 do
3959 _n_expr = n_expr.as(not null)
3960 n_expr.parent = self
3961 _n_expr2 = n_expr2.as(not null)
3962 n_expr2.parent = self
3963 end
3964
3965 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3966 do
3967 if _n_expr == old_child then
3968 n_expr = new_child.as(AExpr)
3969 return
3970 end
3971 if _n_expr2 == old_child then
3972 n_expr2 = new_child.as(AExpr)
3973 return
3974 end
3975 end
3976
3977 redef fun n_expr=(node)
3978 do
3979 _n_expr = node
3980 node.parent = self
3981 end
3982 redef fun n_expr2=(node)
3983 do
3984 _n_expr2 = node
3985 node.parent = self
3986 end
3987
3988
3989 redef fun visit_all(v: Visitor)
3990 do
3991 v.enter_visit(_n_expr)
3992 v.enter_visit(_n_expr2)
3993 end
3994 end
3995 redef class APercentExpr
3996 init init_apercentexpr (
3997 n_expr: nullable AExpr,
3998 n_expr2: nullable AExpr
3999 )
4000 do
4001 _n_expr = n_expr.as(not null)
4002 n_expr.parent = self
4003 _n_expr2 = n_expr2.as(not null)
4004 n_expr2.parent = self
4005 end
4006
4007 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4008 do
4009 if _n_expr == old_child then
4010 n_expr = new_child.as(AExpr)
4011 return
4012 end
4013 if _n_expr2 == old_child then
4014 n_expr2 = new_child.as(AExpr)
4015 return
4016 end
4017 end
4018
4019 redef fun n_expr=(node)
4020 do
4021 _n_expr = node
4022 node.parent = self
4023 end
4024 redef fun n_expr2=(node)
4025 do
4026 _n_expr2 = node
4027 node.parent = self
4028 end
4029
4030
4031 redef fun visit_all(v: Visitor)
4032 do
4033 v.enter_visit(_n_expr)
4034 v.enter_visit(_n_expr2)
4035 end
4036 end
4037 redef class AUminusExpr
4038 init init_auminusexpr (
4039 n_minus: nullable TMinus,
4040 n_expr: nullable AExpr
4041 )
4042 do
4043 _n_minus = n_minus.as(not null)
4044 n_minus.parent = self
4045 _n_expr = n_expr.as(not null)
4046 n_expr.parent = self
4047 end
4048
4049 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4050 do
4051 if _n_minus == old_child then
4052 n_minus = new_child.as(TMinus)
4053 return
4054 end
4055 if _n_expr == old_child then
4056 n_expr = new_child.as(AExpr)
4057 return
4058 end
4059 end
4060
4061 redef fun n_minus=(node)
4062 do
4063 _n_minus = node
4064 node.parent = self
4065 end
4066 redef fun n_expr=(node)
4067 do
4068 _n_expr = node
4069 node.parent = self
4070 end
4071
4072
4073 redef fun visit_all(v: Visitor)
4074 do
4075 v.enter_visit(_n_minus)
4076 v.enter_visit(_n_expr)
4077 end
4078 end
4079 redef class ANewExpr
4080 init init_anewexpr (
4081 n_kwnew: nullable TKwnew,
4082 n_type: nullable AType,
4083 n_id: nullable TId,
4084 n_args: nullable AExprs
4085 )
4086 do
4087 _n_kwnew = n_kwnew.as(not null)
4088 n_kwnew.parent = self
4089 _n_type = n_type.as(not null)
4090 n_type.parent = self
4091 _n_id = n_id
4092 if n_id != null then n_id.parent = self
4093 _n_args = n_args.as(not null)
4094 n_args.parent = self
4095 end
4096
4097 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4098 do
4099 if _n_kwnew == old_child then
4100 n_kwnew = new_child.as(TKwnew)
4101 return
4102 end
4103 if _n_type == old_child then
4104 n_type = new_child.as(AType)
4105 return
4106 end
4107 if _n_id == old_child then
4108 n_id = new_child.as(nullable TId)
4109 return
4110 end
4111 if _n_args == old_child then
4112 n_args = new_child.as(AExprs)
4113 return
4114 end
4115 end
4116
4117 redef fun n_kwnew=(node)
4118 do
4119 _n_kwnew = node
4120 node.parent = self
4121 end
4122 redef fun n_type=(node)
4123 do
4124 _n_type = node
4125 node.parent = self
4126 end
4127 redef fun n_id=(node)
4128 do
4129 _n_id = node
4130 if node != null then node.parent = self
4131 end
4132 redef fun n_args=(node)
4133 do
4134 _n_args = node
4135 node.parent = self
4136 end
4137
4138
4139 redef fun visit_all(v: Visitor)
4140 do
4141 v.enter_visit(_n_kwnew)
4142 v.enter_visit(_n_type)
4143 v.enter_visit(_n_id)
4144 v.enter_visit(_n_args)
4145 end
4146 end
4147 redef class AAttrExpr
4148 init init_aattrexpr (
4149 n_expr: nullable AExpr,
4150 n_id: nullable TAttrid
4151 )
4152 do
4153 _n_expr = n_expr.as(not null)
4154 n_expr.parent = self
4155 _n_id = n_id.as(not null)
4156 n_id.parent = self
4157 end
4158
4159 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4160 do
4161 if _n_expr == old_child then
4162 n_expr = new_child.as(AExpr)
4163 return
4164 end
4165 if _n_id == old_child then
4166 n_id = new_child.as(TAttrid)
4167 return
4168 end
4169 end
4170
4171 redef fun n_expr=(node)
4172 do
4173 _n_expr = node
4174 node.parent = self
4175 end
4176 redef fun n_id=(node)
4177 do
4178 _n_id = node
4179 node.parent = self
4180 end
4181
4182
4183 redef fun visit_all(v: Visitor)
4184 do
4185 v.enter_visit(_n_expr)
4186 v.enter_visit(_n_id)
4187 end
4188 end
4189 redef class AAttrAssignExpr
4190 init init_aattrassignexpr (
4191 n_expr: nullable AExpr,
4192 n_id: nullable TAttrid,
4193 n_assign: nullable TAssign,
4194 n_value: nullable AExpr
4195 )
4196 do
4197 _n_expr = n_expr.as(not null)
4198 n_expr.parent = self
4199 _n_id = n_id.as(not null)
4200 n_id.parent = self
4201 _n_assign = n_assign.as(not null)
4202 n_assign.parent = self
4203 _n_value = n_value.as(not null)
4204 n_value.parent = self
4205 end
4206
4207 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4208 do
4209 if _n_expr == old_child then
4210 n_expr = new_child.as(AExpr)
4211 return
4212 end
4213 if _n_id == old_child then
4214 n_id = new_child.as(TAttrid)
4215 return
4216 end
4217 if _n_assign == old_child then
4218 n_assign = new_child.as(TAssign)
4219 return
4220 end
4221 if _n_value == old_child then
4222 n_value = new_child.as(AExpr)
4223 return
4224 end
4225 end
4226
4227 redef fun n_expr=(node)
4228 do
4229 _n_expr = node
4230 node.parent = self
4231 end
4232 redef fun n_id=(node)
4233 do
4234 _n_id = node
4235 node.parent = self
4236 end
4237 redef fun n_assign=(node)
4238 do
4239 _n_assign = node
4240 node.parent = self
4241 end
4242 redef fun n_value=(node)
4243 do
4244 _n_value = node
4245 node.parent = self
4246 end
4247
4248
4249 redef fun visit_all(v: Visitor)
4250 do
4251 v.enter_visit(_n_expr)
4252 v.enter_visit(_n_id)
4253 v.enter_visit(_n_assign)
4254 v.enter_visit(_n_value)
4255 end
4256 end
4257 redef class AAttrReassignExpr
4258 init init_aattrreassignexpr (
4259 n_expr: nullable AExpr,
4260 n_id: nullable TAttrid,
4261 n_assign_op: nullable AAssignOp,
4262 n_value: nullable AExpr
4263 )
4264 do
4265 _n_expr = n_expr.as(not null)
4266 n_expr.parent = self
4267 _n_id = n_id.as(not null)
4268 n_id.parent = self
4269 _n_assign_op = n_assign_op.as(not null)
4270 n_assign_op.parent = self
4271 _n_value = n_value.as(not null)
4272 n_value.parent = self
4273 end
4274
4275 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4276 do
4277 if _n_expr == old_child then
4278 n_expr = new_child.as(AExpr)
4279 return
4280 end
4281 if _n_id == old_child then
4282 n_id = new_child.as(TAttrid)
4283 return
4284 end
4285 if _n_assign_op == old_child then
4286 n_assign_op = new_child.as(AAssignOp)
4287 return
4288 end
4289 if _n_value == old_child then
4290 n_value = new_child.as(AExpr)
4291 return
4292 end
4293 end
4294
4295 redef fun n_expr=(node)
4296 do
4297 _n_expr = node
4298 node.parent = self
4299 end
4300 redef fun n_id=(node)
4301 do
4302 _n_id = node
4303 node.parent = self
4304 end
4305 redef fun n_assign_op=(node)
4306 do
4307 _n_assign_op = node
4308 node.parent = self
4309 end
4310 redef fun n_value=(node)
4311 do
4312 _n_value = node
4313 node.parent = self
4314 end
4315
4316
4317 redef fun visit_all(v: Visitor)
4318 do
4319 v.enter_visit(_n_expr)
4320 v.enter_visit(_n_id)
4321 v.enter_visit(_n_assign_op)
4322 v.enter_visit(_n_value)
4323 end
4324 end
4325 redef class ACallExpr
4326 init init_acallexpr (
4327 n_expr: nullable AExpr,
4328 n_id: nullable TId,
4329 n_args: nullable AExprs
4330 )
4331 do
4332 _n_expr = n_expr.as(not null)
4333 n_expr.parent = self
4334 _n_id = n_id.as(not null)
4335 n_id.parent = self
4336 _n_args = n_args.as(not null)
4337 n_args.parent = self
4338 end
4339
4340 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4341 do
4342 if _n_expr == old_child then
4343 n_expr = new_child.as(AExpr)
4344 return
4345 end
4346 if _n_id == old_child then
4347 n_id = new_child.as(TId)
4348 return
4349 end
4350 if _n_args == old_child then
4351 n_args = new_child.as(AExprs)
4352 return
4353 end
4354 end
4355
4356 redef fun n_expr=(node)
4357 do
4358 _n_expr = node
4359 node.parent = self
4360 end
4361 redef fun n_id=(node)
4362 do
4363 _n_id = node
4364 node.parent = self
4365 end
4366 redef fun n_args=(node)
4367 do
4368 _n_args = node
4369 node.parent = self
4370 end
4371
4372
4373 redef fun visit_all(v: Visitor)
4374 do
4375 v.enter_visit(_n_expr)
4376 v.enter_visit(_n_id)
4377 v.enter_visit(_n_args)
4378 end
4379 end
4380 redef class ACallAssignExpr
4381 init init_acallassignexpr (
4382 n_expr: nullable AExpr,
4383 n_id: nullable TId,
4384 n_args: nullable AExprs,
4385 n_assign: nullable TAssign,
4386 n_value: nullable AExpr
4387 )
4388 do
4389 _n_expr = n_expr.as(not null)
4390 n_expr.parent = self
4391 _n_id = n_id.as(not null)
4392 n_id.parent = self
4393 _n_args = n_args.as(not null)
4394 n_args.parent = self
4395 _n_assign = n_assign.as(not null)
4396 n_assign.parent = self
4397 _n_value = n_value.as(not null)
4398 n_value.parent = self
4399 end
4400
4401 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4402 do
4403 if _n_expr == old_child then
4404 n_expr = new_child.as(AExpr)
4405 return
4406 end
4407 if _n_id == old_child then
4408 n_id = new_child.as(TId)
4409 return
4410 end
4411 if _n_args == old_child then
4412 n_args = new_child.as(AExprs)
4413 return
4414 end
4415 if _n_assign == old_child then
4416 n_assign = new_child.as(TAssign)
4417 return
4418 end
4419 if _n_value == old_child then
4420 n_value = new_child.as(AExpr)
4421 return
4422 end
4423 end
4424
4425 redef fun n_expr=(node)
4426 do
4427 _n_expr = node
4428 node.parent = self
4429 end
4430 redef fun n_id=(node)
4431 do
4432 _n_id = node
4433 node.parent = self
4434 end
4435 redef fun n_args=(node)
4436 do
4437 _n_args = node
4438 node.parent = self
4439 end
4440 redef fun n_assign=(node)
4441 do
4442 _n_assign = node
4443 node.parent = self
4444 end
4445 redef fun n_value=(node)
4446 do
4447 _n_value = node
4448 node.parent = self
4449 end
4450
4451
4452 redef fun visit_all(v: Visitor)
4453 do
4454 v.enter_visit(_n_expr)
4455 v.enter_visit(_n_id)
4456 v.enter_visit(_n_args)
4457 v.enter_visit(_n_assign)
4458 v.enter_visit(_n_value)
4459 end
4460 end
4461 redef class ACallReassignExpr
4462 init init_acallreassignexpr (
4463 n_expr: nullable AExpr,
4464 n_id: nullable TId,
4465 n_args: nullable AExprs,
4466 n_assign_op: nullable AAssignOp,
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_op = n_assign_op.as(not null)
4477 n_assign_op.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_op == old_child then
4497 n_assign_op = new_child.as(AAssignOp)
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_op=(node)
4522 do
4523 _n_assign_op = 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_op)
4539 v.enter_visit(_n_value)
4540 end
4541 end
4542 redef class ASuperExpr
4543 init init_asuperexpr (
4544 n_qualified: nullable AQualified,
4545 n_kwsuper: nullable TKwsuper,
4546 n_args: nullable AExprs
4547 )
4548 do
4549 _n_qualified = n_qualified
4550 if n_qualified != null then n_qualified.parent = self
4551 _n_kwsuper = n_kwsuper.as(not null)
4552 n_kwsuper.parent = self
4553 _n_args = n_args.as(not null)
4554 n_args.parent = self
4555 end
4556
4557 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4558 do
4559 if _n_qualified == old_child then
4560 n_qualified = new_child.as(nullable AQualified)
4561 return
4562 end
4563 if _n_kwsuper == old_child then
4564 n_kwsuper = new_child.as(TKwsuper)
4565 return
4566 end
4567 if _n_args == old_child then
4568 n_args = new_child.as(AExprs)
4569 return
4570 end
4571 end
4572
4573 redef fun n_qualified=(node)
4574 do
4575 _n_qualified = node
4576 if node != null then node.parent = self
4577 end
4578 redef fun n_kwsuper=(node)
4579 do
4580 _n_kwsuper = node
4581 node.parent = self
4582 end
4583 redef fun n_args=(node)
4584 do
4585 _n_args = node
4586 node.parent = self
4587 end
4588
4589
4590 redef fun visit_all(v: Visitor)
4591 do
4592 v.enter_visit(_n_qualified)
4593 v.enter_visit(_n_kwsuper)
4594 v.enter_visit(_n_args)
4595 end
4596 end
4597 redef class AInitExpr
4598 init init_ainitexpr (
4599 n_expr: nullable AExpr,
4600 n_kwinit: nullable TKwinit,
4601 n_args: nullable AExprs
4602 )
4603 do
4604 _n_expr = n_expr.as(not null)
4605 n_expr.parent = self
4606 _n_kwinit = n_kwinit.as(not null)
4607 n_kwinit.parent = self
4608 _n_args = n_args.as(not null)
4609 n_args.parent = self
4610 end
4611
4612 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4613 do
4614 if _n_expr == old_child then
4615 n_expr = new_child.as(AExpr)
4616 return
4617 end
4618 if _n_kwinit == old_child then
4619 n_kwinit = new_child.as(TKwinit)
4620 return
4621 end
4622 if _n_args == old_child then
4623 n_args = new_child.as(AExprs)
4624 return
4625 end
4626 end
4627
4628 redef fun n_expr=(node)
4629 do
4630 _n_expr = node
4631 node.parent = self
4632 end
4633 redef fun n_kwinit=(node)
4634 do
4635 _n_kwinit = node
4636 node.parent = self
4637 end
4638 redef fun n_args=(node)
4639 do
4640 _n_args = node
4641 node.parent = self
4642 end
4643
4644
4645 redef fun visit_all(v: Visitor)
4646 do
4647 v.enter_visit(_n_expr)
4648 v.enter_visit(_n_kwinit)
4649 v.enter_visit(_n_args)
4650 end
4651 end
4652 redef class ABraExpr
4653 init init_abraexpr (
4654 n_expr: nullable AExpr,
4655 n_args: nullable AExprs
4656 )
4657 do
4658 _n_expr = n_expr.as(not null)
4659 n_expr.parent = self
4660 _n_args = n_args.as(not null)
4661 n_args.parent = self
4662 end
4663
4664 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4665 do
4666 if _n_expr == old_child then
4667 n_expr = new_child.as(AExpr)
4668 return
4669 end
4670 if _n_args == old_child then
4671 n_args = new_child.as(AExprs)
4672 return
4673 end
4674 end
4675
4676 redef fun n_expr=(node)
4677 do
4678 _n_expr = node
4679 node.parent = self
4680 end
4681 redef fun n_args=(node)
4682 do
4683 _n_args = node
4684 node.parent = self
4685 end
4686
4687
4688 redef fun visit_all(v: Visitor)
4689 do
4690 v.enter_visit(_n_expr)
4691 v.enter_visit(_n_args)
4692 end
4693 end
4694 redef class ABraAssignExpr
4695 init init_abraassignexpr (
4696 n_expr: nullable AExpr,
4697 n_args: nullable AExprs,
4698 n_assign: nullable TAssign,
4699 n_value: nullable AExpr
4700 )
4701 do
4702 _n_expr = n_expr.as(not null)
4703 n_expr.parent = self
4704 _n_args = n_args.as(not null)
4705 n_args.parent = self
4706 _n_assign = n_assign.as(not null)
4707 n_assign.parent = self
4708 _n_value = n_value.as(not null)
4709 n_value.parent = self
4710 end
4711
4712 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4713 do
4714 if _n_expr == old_child then
4715 n_expr = new_child.as(AExpr)
4716 return
4717 end
4718 if _n_args == old_child then
4719 n_args = new_child.as(AExprs)
4720 return
4721 end
4722 if _n_assign == old_child then
4723 n_assign = new_child.as(TAssign)
4724 return
4725 end
4726 if _n_value == old_child then
4727 n_value = new_child.as(AExpr)
4728 return
4729 end
4730 end
4731
4732 redef fun n_expr=(node)
4733 do
4734 _n_expr = node
4735 node.parent = self
4736 end
4737 redef fun n_args=(node)
4738 do
4739 _n_args = node
4740 node.parent = self
4741 end
4742 redef fun n_assign=(node)
4743 do
4744 _n_assign = node
4745 node.parent = self
4746 end
4747 redef fun n_value=(node)
4748 do
4749 _n_value = node
4750 node.parent = self
4751 end
4752
4753
4754 redef fun visit_all(v: Visitor)
4755 do
4756 v.enter_visit(_n_expr)
4757 v.enter_visit(_n_args)
4758 v.enter_visit(_n_assign)
4759 v.enter_visit(_n_value)
4760 end
4761 end
4762 redef class ABraReassignExpr
4763 init init_abrareassignexpr (
4764 n_expr: nullable AExpr,
4765 n_args: nullable AExprs,
4766 n_assign_op: nullable AAssignOp,
4767 n_value: nullable AExpr
4768 )
4769 do
4770 _n_expr = n_expr.as(not null)
4771 n_expr.parent = self
4772 _n_args = n_args.as(not null)
4773 n_args.parent = self
4774 _n_assign_op = n_assign_op.as(not null)
4775 n_assign_op.parent = self
4776 _n_value = n_value.as(not null)
4777 n_value.parent = self
4778 end
4779
4780 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4781 do
4782 if _n_expr == old_child then
4783 n_expr = new_child.as(AExpr)
4784 return
4785 end
4786 if _n_args == old_child then
4787 n_args = new_child.as(AExprs)
4788 return
4789 end
4790 if _n_assign_op == old_child then
4791 n_assign_op = new_child.as(AAssignOp)
4792 return
4793 end
4794 if _n_value == old_child then
4795 n_value = new_child.as(AExpr)
4796 return
4797 end
4798 end
4799
4800 redef fun n_expr=(node)
4801 do
4802 _n_expr = node
4803 node.parent = self
4804 end
4805 redef fun n_args=(node)
4806 do
4807 _n_args = node
4808 node.parent = self
4809 end
4810 redef fun n_assign_op=(node)
4811 do
4812 _n_assign_op = node
4813 node.parent = self
4814 end
4815 redef fun n_value=(node)
4816 do
4817 _n_value = node
4818 node.parent = self
4819 end
4820
4821
4822 redef fun visit_all(v: Visitor)
4823 do
4824 v.enter_visit(_n_expr)
4825 v.enter_visit(_n_args)
4826 v.enter_visit(_n_assign_op)
4827 v.enter_visit(_n_value)
4828 end
4829 end
4830 redef class AVarExpr
4831 init init_avarexpr (
4832 n_id: nullable TId
4833 )
4834 do
4835 _n_id = n_id.as(not null)
4836 n_id.parent = self
4837 end
4838
4839 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4840 do
4841 if _n_id == old_child then
4842 n_id = new_child.as(TId)
4843 return
4844 end
4845 end
4846
4847 redef fun n_id=(node)
4848 do
4849 _n_id = node
4850 node.parent = self
4851 end
4852
4853
4854 redef fun visit_all(v: Visitor)
4855 do
4856 v.enter_visit(_n_id)
4857 end
4858 end
4859 redef class AVarAssignExpr
4860 init init_avarassignexpr (
4861 n_id: nullable TId,
4862 n_assign: nullable TAssign,
4863 n_value: nullable AExpr
4864 )
4865 do
4866 _n_id = n_id.as(not null)
4867 n_id.parent = self
4868 _n_assign = n_assign.as(not null)
4869 n_assign.parent = self
4870 _n_value = n_value.as(not null)
4871 n_value.parent = self
4872 end
4873
4874 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4875 do
4876 if _n_id == old_child then
4877 n_id = new_child.as(TId)
4878 return
4879 end
4880 if _n_assign == old_child then
4881 n_assign = new_child.as(TAssign)
4882 return
4883 end
4884 if _n_value == old_child then
4885 n_value = new_child.as(AExpr)
4886 return
4887 end
4888 end
4889
4890 redef fun n_id=(node)
4891 do
4892 _n_id = node
4893 node.parent = self
4894 end
4895 redef fun n_assign=(node)
4896 do
4897 _n_assign = node
4898 node.parent = self
4899 end
4900 redef fun n_value=(node)
4901 do
4902 _n_value = node
4903 node.parent = self
4904 end
4905
4906
4907 redef fun visit_all(v: Visitor)
4908 do
4909 v.enter_visit(_n_id)
4910 v.enter_visit(_n_assign)
4911 v.enter_visit(_n_value)
4912 end
4913 end
4914 redef class AVarReassignExpr
4915 init init_avarreassignexpr (
4916 n_id: nullable TId,
4917 n_assign_op: nullable AAssignOp,
4918 n_value: nullable AExpr
4919 )
4920 do
4921 _n_id = n_id.as(not null)
4922 n_id.parent = self
4923 _n_assign_op = n_assign_op.as(not null)
4924 n_assign_op.parent = self
4925 _n_value = n_value.as(not null)
4926 n_value.parent = self
4927 end
4928
4929 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4930 do
4931 if _n_id == old_child then
4932 n_id = new_child.as(TId)
4933 return
4934 end
4935 if _n_assign_op == old_child then
4936 n_assign_op = new_child.as(AAssignOp)
4937 return
4938 end
4939 if _n_value == old_child then
4940 n_value = new_child.as(AExpr)
4941 return
4942 end
4943 end
4944
4945 redef fun n_id=(node)
4946 do
4947 _n_id = node
4948 node.parent = self
4949 end
4950 redef fun n_assign_op=(node)
4951 do
4952 _n_assign_op = node
4953 node.parent = self
4954 end
4955 redef fun n_value=(node)
4956 do
4957 _n_value = node
4958 node.parent = self
4959 end
4960
4961
4962 redef fun visit_all(v: Visitor)
4963 do
4964 v.enter_visit(_n_id)
4965 v.enter_visit(_n_assign_op)
4966 v.enter_visit(_n_value)
4967 end
4968 end
4969 redef class ARangeExpr
4970 init init_arangeexpr (
4971 n_expr: nullable AExpr,
4972 n_expr2: nullable AExpr,
4973 n_annotations: nullable AAnnotations
4974 )
4975 do
4976 _n_expr = n_expr.as(not null)
4977 n_expr.parent = self
4978 _n_expr2 = n_expr2.as(not null)
4979 n_expr2.parent = self
4980 _n_annotations = n_annotations
4981 if n_annotations != null then n_annotations.parent = self
4982 end
4983
4984 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4985 do
4986 if _n_expr == old_child then
4987 n_expr = new_child.as(AExpr)
4988 return
4989 end
4990 if _n_expr2 == old_child then
4991 n_expr2 = new_child.as(AExpr)
4992 return
4993 end
4994 if _n_annotations == old_child then
4995 n_annotations = new_child.as(nullable AAnnotations)
4996 return
4997 end
4998 end
4999
5000 redef fun n_expr=(node)
5001 do
5002 _n_expr = node
5003 node.parent = self
5004 end
5005 redef fun n_expr2=(node)
5006 do
5007 _n_expr2 = node
5008 node.parent = self
5009 end
5010 redef fun n_annotations=(node)
5011 do
5012 _n_annotations = node
5013 if node != null then node.parent = self
5014 end
5015
5016
5017 redef fun visit_all(v: Visitor)
5018 do
5019 v.enter_visit(_n_expr)
5020 v.enter_visit(_n_expr2)
5021 v.enter_visit(_n_annotations)
5022 end
5023 end
5024 redef class ACrangeExpr
5025 init init_acrangeexpr (
5026 n_obra: nullable TObra,
5027 n_expr: nullable AExpr,
5028 n_expr2: nullable AExpr,
5029 n_cbra: nullable TCbra,
5030 n_annotations: nullable AAnnotations
5031 )
5032 do
5033 _n_obra = n_obra.as(not null)
5034 n_obra.parent = self
5035 _n_expr = n_expr.as(not null)
5036 n_expr.parent = self
5037 _n_expr2 = n_expr2.as(not null)
5038 n_expr2.parent = self
5039 _n_cbra = n_cbra.as(not null)
5040 n_cbra.parent = self
5041 _n_annotations = n_annotations
5042 if n_annotations != null then n_annotations.parent = self
5043 end
5044
5045 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5046 do
5047 if _n_obra == old_child then
5048 n_obra = new_child.as(TObra)
5049 return
5050 end
5051 if _n_expr == old_child then
5052 n_expr = new_child.as(AExpr)
5053 return
5054 end
5055 if _n_expr2 == old_child then
5056 n_expr2 = new_child.as(AExpr)
5057 return
5058 end
5059 if _n_cbra == old_child then
5060 n_cbra = new_child.as(TCbra)
5061 return
5062 end
5063 if _n_annotations == old_child then
5064 n_annotations = new_child.as(nullable AAnnotations)
5065 return
5066 end
5067 end
5068
5069 redef fun n_obra=(node)
5070 do
5071 _n_obra = node
5072 node.parent = self
5073 end
5074 redef fun n_expr=(node)
5075 do
5076 _n_expr = node
5077 node.parent = self
5078 end
5079 redef fun n_expr2=(node)
5080 do
5081 _n_expr2 = node
5082 node.parent = self
5083 end
5084 redef fun n_cbra=(node)
5085 do
5086 _n_cbra = node
5087 node.parent = self
5088 end
5089 redef fun n_annotations=(node)
5090 do
5091 _n_annotations = node
5092 if node != null then node.parent = self
5093 end
5094
5095
5096 redef fun visit_all(v: Visitor)
5097 do
5098 v.enter_visit(_n_obra)
5099 v.enter_visit(_n_expr)
5100 v.enter_visit(_n_expr2)
5101 v.enter_visit(_n_cbra)
5102 v.enter_visit(_n_annotations)
5103 end
5104 end
5105 redef class AOrangeExpr
5106 init init_aorangeexpr (
5107 n_obra: nullable TObra,
5108 n_expr: nullable AExpr,
5109 n_expr2: nullable AExpr,
5110 n_cbra: nullable TObra,
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(TObra)
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 AArrayExpr
5187 init init_aarrayexpr (
5188 n_obra: nullable TObra,
5189 n_exprs: Collection[Object], # Should be Collection[AExpr]
5190 n_type: nullable AType,
5191 n_cbra: nullable TCbra,
5192 n_annotations: nullable AAnnotations
5193 )
5194 do
5195 _n_obra = n_obra.as(not null)
5196 n_obra.parent = self
5197 self.n_exprs.unsafe_add_all(n_exprs)
5198 _n_type = n_type
5199 if n_type != null then n_type.parent = self
5200 _n_cbra = n_cbra.as(not null)
5201 n_cbra.parent = self
5202 _n_annotations = n_annotations
5203 if n_annotations != null then n_annotations.parent = self
5204 end
5205
5206 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5207 do
5208 if _n_obra == old_child then
5209 n_obra = new_child.as(TObra)
5210 return
5211 end
5212 if n_exprs.replace_child(old_child, new_child) then return
5213 if _n_type == old_child then
5214 n_type = new_child.as(nullable AType)
5215 return
5216 end
5217 if _n_cbra == old_child then
5218 n_cbra = new_child.as(TCbra)
5219 return
5220 end
5221 if _n_annotations == old_child then
5222 n_annotations = new_child.as(nullable AAnnotations)
5223 return
5224 end
5225 end
5226
5227 redef fun n_obra=(node)
5228 do
5229 _n_obra = node
5230 node.parent = self
5231 end
5232 redef fun n_type=(node)
5233 do
5234 _n_type = node
5235 if node != null then node.parent = self
5236 end
5237 redef fun n_cbra=(node)
5238 do
5239 _n_cbra = node
5240 node.parent = self
5241 end
5242 redef fun n_annotations=(node)
5243 do
5244 _n_annotations = node
5245 if node != null then node.parent = self
5246 end
5247
5248
5249 redef fun visit_all(v: Visitor)
5250 do
5251 v.enter_visit(_n_obra)
5252 n_exprs.visit_all(v)
5253 v.enter_visit(_n_type)
5254 v.enter_visit(_n_cbra)
5255 v.enter_visit(_n_annotations)
5256 end
5257 end
5258 redef class ASelfExpr
5259 init init_aselfexpr (
5260 n_kwself: nullable TKwself,
5261 n_annotations: nullable AAnnotations
5262 )
5263 do
5264 _n_kwself = n_kwself.as(not null)
5265 n_kwself.parent = self
5266 _n_annotations = n_annotations
5267 if n_annotations != null then n_annotations.parent = self
5268 end
5269
5270 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5271 do
5272 if _n_kwself == old_child then
5273 n_kwself = new_child.as(TKwself)
5274 return
5275 end
5276 if _n_annotations == old_child then
5277 n_annotations = new_child.as(nullable AAnnotations)
5278 return
5279 end
5280 end
5281
5282 redef fun n_kwself=(node)
5283 do
5284 _n_kwself = node
5285 node.parent = self
5286 end
5287 redef fun n_annotations=(node)
5288 do
5289 _n_annotations = node
5290 if node != null then node.parent = self
5291 end
5292
5293
5294 redef fun visit_all(v: Visitor)
5295 do
5296 v.enter_visit(_n_kwself)
5297 v.enter_visit(_n_annotations)
5298 end
5299 end
5300 redef class AImplicitSelfExpr
5301 init init_aimplicitselfexpr
5302 do
5303 end
5304
5305 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5306 do
5307 end
5308
5309
5310
5311 redef fun visit_all(v: Visitor)
5312 do
5313 end
5314 end
5315 redef class ATrueExpr
5316 init init_atrueexpr (
5317 n_kwtrue: nullable TKwtrue,
5318 n_annotations: nullable AAnnotations
5319 )
5320 do
5321 _n_kwtrue = n_kwtrue.as(not null)
5322 n_kwtrue.parent = self
5323 _n_annotations = n_annotations
5324 if n_annotations != null then n_annotations.parent = self
5325 end
5326
5327 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5328 do
5329 if _n_kwtrue == old_child then
5330 n_kwtrue = new_child.as(TKwtrue)
5331 return
5332 end
5333 if _n_annotations == old_child then
5334 n_annotations = new_child.as(nullable AAnnotations)
5335 return
5336 end
5337 end
5338
5339 redef fun n_kwtrue=(node)
5340 do
5341 _n_kwtrue = node
5342 node.parent = self
5343 end
5344 redef fun n_annotations=(node)
5345 do
5346 _n_annotations = node
5347 if node != null then node.parent = self
5348 end
5349
5350
5351 redef fun visit_all(v: Visitor)
5352 do
5353 v.enter_visit(_n_kwtrue)
5354 v.enter_visit(_n_annotations)
5355 end
5356 end
5357 redef class AFalseExpr
5358 init init_afalseexpr (
5359 n_kwfalse: nullable TKwfalse,
5360 n_annotations: nullable AAnnotations
5361 )
5362 do
5363 _n_kwfalse = n_kwfalse.as(not null)
5364 n_kwfalse.parent = self
5365 _n_annotations = n_annotations
5366 if n_annotations != null then n_annotations.parent = self
5367 end
5368
5369 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5370 do
5371 if _n_kwfalse == old_child then
5372 n_kwfalse = new_child.as(TKwfalse)
5373 return
5374 end
5375 if _n_annotations == old_child then
5376 n_annotations = new_child.as(nullable AAnnotations)
5377 return
5378 end
5379 end
5380
5381 redef fun n_kwfalse=(node)
5382 do
5383 _n_kwfalse = node
5384 node.parent = self
5385 end
5386 redef fun n_annotations=(node)
5387 do
5388 _n_annotations = node
5389 if node != null then node.parent = self
5390 end
5391
5392
5393 redef fun visit_all(v: Visitor)
5394 do
5395 v.enter_visit(_n_kwfalse)
5396 v.enter_visit(_n_annotations)
5397 end
5398 end
5399 redef class ANullExpr
5400 init init_anullexpr (
5401 n_kwnull: nullable TKwnull,
5402 n_annotations: nullable AAnnotations
5403 )
5404 do
5405 _n_kwnull = n_kwnull.as(not null)
5406 n_kwnull.parent = self
5407 _n_annotations = n_annotations
5408 if n_annotations != null then n_annotations.parent = self
5409 end
5410
5411 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5412 do
5413 if _n_kwnull == old_child then
5414 n_kwnull = new_child.as(TKwnull)
5415 return
5416 end
5417 if _n_annotations == old_child then
5418 n_annotations = new_child.as(nullable AAnnotations)
5419 return
5420 end
5421 end
5422
5423 redef fun n_kwnull=(node)
5424 do
5425 _n_kwnull = node
5426 node.parent = self
5427 end
5428 redef fun n_annotations=(node)
5429 do
5430 _n_annotations = node
5431 if node != null then node.parent = self
5432 end
5433
5434
5435 redef fun visit_all(v: Visitor)
5436 do
5437 v.enter_visit(_n_kwnull)
5438 v.enter_visit(_n_annotations)
5439 end
5440 end
5441 redef class ADecIntExpr
5442 init init_adecintexpr (
5443 n_number: nullable TNumber,
5444 n_annotations: nullable AAnnotations
5445 )
5446 do
5447 _n_number = n_number.as(not null)
5448 n_number.parent = self
5449 _n_annotations = n_annotations
5450 if n_annotations != null then n_annotations.parent = self
5451 end
5452
5453 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5454 do
5455 if _n_number == old_child then
5456 n_number = new_child.as(TNumber)
5457 return
5458 end
5459 if _n_annotations == old_child then
5460 n_annotations = new_child.as(nullable AAnnotations)
5461 return
5462 end
5463 end
5464
5465 redef fun n_number=(node)
5466 do
5467 _n_number = node
5468 node.parent = self
5469 end
5470 redef fun n_annotations=(node)
5471 do
5472 _n_annotations = node
5473 if node != null then node.parent = self
5474 end
5475
5476
5477 redef fun visit_all(v: Visitor)
5478 do
5479 v.enter_visit(_n_number)
5480 v.enter_visit(_n_annotations)
5481 end
5482 end
5483 redef class AHexIntExpr
5484 init init_ahexintexpr (
5485 n_hex_number: nullable THexNumber,
5486 n_annotations: nullable AAnnotations
5487 )
5488 do
5489 _n_hex_number = n_hex_number.as(not null)
5490 n_hex_number.parent = self
5491 _n_annotations = n_annotations
5492 if n_annotations != null then n_annotations.parent = self
5493 end
5494
5495 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5496 do
5497 if _n_hex_number == old_child then
5498 n_hex_number = new_child.as(THexNumber)
5499 return
5500 end
5501 if _n_annotations == old_child then
5502 n_annotations = new_child.as(nullable AAnnotations)
5503 return
5504 end
5505 end
5506
5507 redef fun n_hex_number=(node)
5508 do
5509 _n_hex_number = node
5510 node.parent = self
5511 end
5512 redef fun n_annotations=(node)
5513 do
5514 _n_annotations = node
5515 if node != null then node.parent = self
5516 end
5517
5518
5519 redef fun visit_all(v: Visitor)
5520 do
5521 v.enter_visit(_n_hex_number)
5522 v.enter_visit(_n_annotations)
5523 end
5524 end
5525 redef class AFloatExpr
5526 init init_afloatexpr (
5527 n_float: nullable TFloat,
5528 n_annotations: nullable AAnnotations
5529 )
5530 do
5531 _n_float = n_float.as(not null)
5532 n_float.parent = self
5533 _n_annotations = n_annotations
5534 if n_annotations != null then n_annotations.parent = self
5535 end
5536
5537 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5538 do
5539 if _n_float == old_child then
5540 n_float = new_child.as(TFloat)
5541 return
5542 end
5543 if _n_annotations == old_child then
5544 n_annotations = new_child.as(nullable AAnnotations)
5545 return
5546 end
5547 end
5548
5549 redef fun n_float=(node)
5550 do
5551 _n_float = node
5552 node.parent = self
5553 end
5554 redef fun n_annotations=(node)
5555 do
5556 _n_annotations = node
5557 if node != null then node.parent = self
5558 end
5559
5560
5561 redef fun visit_all(v: Visitor)
5562 do
5563 v.enter_visit(_n_float)
5564 v.enter_visit(_n_annotations)
5565 end
5566 end
5567 redef class ACharExpr
5568 init init_acharexpr (
5569 n_char: nullable TChar,
5570 n_annotations: nullable AAnnotations
5571 )
5572 do
5573 _n_char = n_char.as(not null)
5574 n_char.parent = self
5575 _n_annotations = n_annotations
5576 if n_annotations != null then n_annotations.parent = self
5577 end
5578
5579 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5580 do
5581 if _n_char == old_child then
5582 n_char = new_child.as(TChar)
5583 return
5584 end
5585 if _n_annotations == old_child then
5586 n_annotations = new_child.as(nullable AAnnotations)
5587 return
5588 end
5589 end
5590
5591 redef fun n_char=(node)
5592 do
5593 _n_char = node
5594 node.parent = self
5595 end
5596 redef fun n_annotations=(node)
5597 do
5598 _n_annotations = node
5599 if node != null then node.parent = self
5600 end
5601
5602
5603 redef fun visit_all(v: Visitor)
5604 do
5605 v.enter_visit(_n_char)
5606 v.enter_visit(_n_annotations)
5607 end
5608 end
5609 redef class AStringExpr
5610 init init_astringexpr (
5611 n_string: nullable TString,
5612 n_annotations: nullable AAnnotations
5613 )
5614 do
5615 _n_string = n_string.as(not null)
5616 n_string.parent = self
5617 _n_annotations = n_annotations
5618 if n_annotations != null then n_annotations.parent = self
5619 end
5620
5621 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5622 do
5623 if _n_string == old_child then
5624 n_string = new_child.as(TString)
5625 return
5626 end
5627 if _n_annotations == old_child then
5628 n_annotations = new_child.as(nullable AAnnotations)
5629 return
5630 end
5631 end
5632
5633 redef fun n_string=(node)
5634 do
5635 _n_string = node
5636 node.parent = self
5637 end
5638 redef fun n_annotations=(node)
5639 do
5640 _n_annotations = node
5641 if node != null then node.parent = self
5642 end
5643
5644
5645 redef fun visit_all(v: Visitor)
5646 do
5647 v.enter_visit(_n_string)
5648 v.enter_visit(_n_annotations)
5649 end
5650 end
5651 redef class AStartStringExpr
5652 init init_astartstringexpr (
5653 n_string: nullable TStartString
5654 )
5655 do
5656 _n_string = n_string.as(not null)
5657 n_string.parent = self
5658 end
5659
5660 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5661 do
5662 if _n_string == old_child then
5663 n_string = new_child.as(TStartString)
5664 return
5665 end
5666 end
5667
5668 redef fun n_string=(node)
5669 do
5670 _n_string = node
5671 node.parent = self
5672 end
5673
5674
5675 redef fun visit_all(v: Visitor)
5676 do
5677 v.enter_visit(_n_string)
5678 end
5679 end
5680 redef class AMidStringExpr
5681 init init_amidstringexpr (
5682 n_string: nullable TMidString
5683 )
5684 do
5685 _n_string = n_string.as(not null)
5686 n_string.parent = self
5687 end
5688
5689 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5690 do
5691 if _n_string == old_child then
5692 n_string = new_child.as(TMidString)
5693 return
5694 end
5695 end
5696
5697 redef fun n_string=(node)
5698 do
5699 _n_string = node
5700 node.parent = self
5701 end
5702
5703
5704 redef fun visit_all(v: Visitor)
5705 do
5706 v.enter_visit(_n_string)
5707 end
5708 end
5709 redef class AEndStringExpr
5710 init init_aendstringexpr (
5711 n_string: nullable TEndString
5712 )
5713 do
5714 _n_string = n_string.as(not null)
5715 n_string.parent = self
5716 end
5717
5718 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5719 do
5720 if _n_string == old_child then
5721 n_string = new_child.as(TEndString)
5722 return
5723 end
5724 end
5725
5726 redef fun n_string=(node)
5727 do
5728 _n_string = node
5729 node.parent = self
5730 end
5731
5732
5733 redef fun visit_all(v: Visitor)
5734 do
5735 v.enter_visit(_n_string)
5736 end
5737 end
5738 redef class ASuperstringExpr
5739 init init_asuperstringexpr (
5740 n_exprs: Collection[Object], # Should be Collection[AExpr]
5741 n_annotations: nullable AAnnotations
5742 )
5743 do
5744 self.n_exprs.unsafe_add_all(n_exprs)
5745 _n_annotations = n_annotations
5746 if n_annotations != null then n_annotations.parent = self
5747 end
5748
5749 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5750 do
5751 if n_exprs.replace_child(old_child, new_child) then return
5752 if _n_annotations == old_child then
5753 n_annotations = new_child.as(nullable AAnnotations)
5754 return
5755 end
5756 end
5757
5758 redef fun n_annotations=(node)
5759 do
5760 _n_annotations = node
5761 if node != null then node.parent = self
5762 end
5763
5764
5765 redef fun visit_all(v: Visitor)
5766 do
5767 n_exprs.visit_all(v)
5768 v.enter_visit(_n_annotations)
5769 end
5770 end
5771 redef class AParExpr
5772 init init_aparexpr (
5773 n_opar: nullable TOpar,
5774 n_expr: nullable AExpr,
5775 n_cpar: nullable TCpar,
5776 n_annotations: nullable AAnnotations
5777 )
5778 do
5779 _n_opar = n_opar.as(not null)
5780 n_opar.parent = self
5781 _n_expr = n_expr.as(not null)
5782 n_expr.parent = self
5783 _n_cpar = n_cpar.as(not null)
5784 n_cpar.parent = self
5785 _n_annotations = n_annotations
5786 if n_annotations != null then n_annotations.parent = self
5787 end
5788
5789 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5790 do
5791 if _n_opar == old_child then
5792 n_opar = new_child.as(TOpar)
5793 return
5794 end
5795 if _n_expr == old_child then
5796 n_expr = new_child.as(AExpr)
5797 return
5798 end
5799 if _n_cpar == old_child then
5800 n_cpar = new_child.as(TCpar)
5801 return
5802 end
5803 if _n_annotations == old_child then
5804 n_annotations = new_child.as(nullable AAnnotations)
5805 return
5806 end
5807 end
5808
5809 redef fun n_opar=(node)
5810 do
5811 _n_opar = node
5812 node.parent = self
5813 end
5814 redef fun n_expr=(node)
5815 do
5816 _n_expr = node
5817 node.parent = self
5818 end
5819 redef fun n_cpar=(node)
5820 do
5821 _n_cpar = node
5822 node.parent = self
5823 end
5824 redef fun n_annotations=(node)
5825 do
5826 _n_annotations = node
5827 if node != null then node.parent = self
5828 end
5829
5830
5831 redef fun visit_all(v: Visitor)
5832 do
5833 v.enter_visit(_n_opar)
5834 v.enter_visit(_n_expr)
5835 v.enter_visit(_n_cpar)
5836 v.enter_visit(_n_annotations)
5837 end
5838 end
5839 redef class AAsCastExpr
5840 init init_aascastexpr (
5841 n_expr: nullable AExpr,
5842 n_kwas: nullable TKwas,
5843 n_opar: nullable TOpar,
5844 n_type: nullable AType,
5845 n_cpar: nullable TCpar
5846 )
5847 do
5848 _n_expr = n_expr.as(not null)
5849 n_expr.parent = self
5850 _n_kwas = n_kwas.as(not null)
5851 n_kwas.parent = self
5852 _n_opar = n_opar
5853 if n_opar != null then n_opar.parent = self
5854 _n_type = n_type.as(not null)
5855 n_type.parent = self
5856 _n_cpar = n_cpar
5857 if n_cpar != null then n_cpar.parent = self
5858 end
5859
5860 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5861 do
5862 if _n_expr == old_child then
5863 n_expr = new_child.as(AExpr)
5864 return
5865 end
5866 if _n_kwas == old_child then
5867 n_kwas = new_child.as(TKwas)
5868 return
5869 end
5870 if _n_opar == old_child then
5871 n_opar = new_child.as(nullable TOpar)
5872 return
5873 end
5874 if _n_type == old_child then
5875 n_type = new_child.as(AType)
5876 return
5877 end
5878 if _n_cpar == old_child then
5879 n_cpar = new_child.as(nullable TCpar)
5880 return
5881 end
5882 end
5883
5884 redef fun n_expr=(node)
5885 do
5886 _n_expr = node
5887 node.parent = self
5888 end
5889 redef fun n_kwas=(node)
5890 do
5891 _n_kwas = node
5892 node.parent = self
5893 end
5894 redef fun n_opar=(node)
5895 do
5896 _n_opar = node
5897 if node != null then node.parent = self
5898 end
5899 redef fun n_type=(node)
5900 do
5901 _n_type = node
5902 node.parent = self
5903 end
5904 redef fun n_cpar=(node)
5905 do
5906 _n_cpar = node
5907 if node != null then node.parent = self
5908 end
5909
5910
5911 redef fun visit_all(v: Visitor)
5912 do
5913 v.enter_visit(_n_expr)
5914 v.enter_visit(_n_kwas)
5915 v.enter_visit(_n_opar)
5916 v.enter_visit(_n_type)
5917 v.enter_visit(_n_cpar)
5918 end
5919 end
5920 redef class AAsNotnullExpr
5921 init init_aasnotnullexpr (
5922 n_expr: nullable AExpr,
5923 n_kwas: nullable TKwas,
5924 n_opar: nullable TOpar,
5925 n_kwnot: nullable TKwnot,
5926 n_kwnull: nullable TKwnull,
5927 n_cpar: nullable TCpar
5928 )
5929 do
5930 _n_expr = n_expr.as(not null)
5931 n_expr.parent = self
5932 _n_kwas = n_kwas.as(not null)
5933 n_kwas.parent = self
5934 _n_opar = n_opar
5935 if n_opar != null then n_opar.parent = self
5936 _n_kwnot = n_kwnot.as(not null)
5937 n_kwnot.parent = self
5938 _n_kwnull = n_kwnull.as(not null)
5939 n_kwnull.parent = self
5940 _n_cpar = n_cpar
5941 if n_cpar != null then n_cpar.parent = self
5942 end
5943
5944 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5945 do
5946 if _n_expr == old_child then
5947 n_expr = new_child.as(AExpr)
5948 return
5949 end
5950 if _n_kwas == old_child then
5951 n_kwas = new_child.as(TKwas)
5952 return
5953 end
5954 if _n_opar == old_child then
5955 n_opar = new_child.as(nullable TOpar)
5956 return
5957 end
5958 if _n_kwnot == old_child then
5959 n_kwnot = new_child.as(TKwnot)
5960 return
5961 end
5962 if _n_kwnull == old_child then
5963 n_kwnull = new_child.as(TKwnull)
5964 return
5965 end
5966 if _n_cpar == old_child then
5967 n_cpar = new_child.as(nullable TCpar)
5968 return
5969 end
5970 end
5971
5972 redef fun n_expr=(node)
5973 do
5974 _n_expr = node
5975 node.parent = self
5976 end
5977 redef fun n_kwas=(node)
5978 do
5979 _n_kwas = node
5980 node.parent = self
5981 end
5982 redef fun n_opar=(node)
5983 do
5984 _n_opar = node
5985 if node != null then node.parent = self
5986 end
5987 redef fun n_kwnot=(node)
5988 do
5989 _n_kwnot = node
5990 node.parent = self
5991 end
5992 redef fun n_kwnull=(node)
5993 do
5994 _n_kwnull = node
5995 node.parent = self
5996 end
5997 redef fun n_cpar=(node)
5998 do
5999 _n_cpar = node
6000 if node != null then node.parent = self
6001 end
6002
6003
6004 redef fun visit_all(v: Visitor)
6005 do
6006 v.enter_visit(_n_expr)
6007 v.enter_visit(_n_kwas)
6008 v.enter_visit(_n_opar)
6009 v.enter_visit(_n_kwnot)
6010 v.enter_visit(_n_kwnull)
6011 v.enter_visit(_n_cpar)
6012 end
6013 end
6014 redef class AIssetAttrExpr
6015 init init_aissetattrexpr (
6016 n_kwisset: nullable TKwisset,
6017 n_expr: nullable AExpr,
6018 n_id: nullable TAttrid
6019 )
6020 do
6021 _n_kwisset = n_kwisset.as(not null)
6022 n_kwisset.parent = self
6023 _n_expr = n_expr.as(not null)
6024 n_expr.parent = self
6025 _n_id = n_id.as(not null)
6026 n_id.parent = self
6027 end
6028
6029 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6030 do
6031 if _n_kwisset == old_child then
6032 n_kwisset = new_child.as(TKwisset)
6033 return
6034 end
6035 if _n_expr == old_child then
6036 n_expr = new_child.as(AExpr)
6037 return
6038 end
6039 if _n_id == old_child then
6040 n_id = new_child.as(TAttrid)
6041 return
6042 end
6043 end
6044
6045 redef fun n_kwisset=(node)
6046 do
6047 _n_kwisset = node
6048 node.parent = self
6049 end
6050 redef fun n_expr=(node)
6051 do
6052 _n_expr = node
6053 node.parent = self
6054 end
6055 redef fun n_id=(node)
6056 do
6057 _n_id = node
6058 node.parent = self
6059 end
6060
6061
6062 redef fun visit_all(v: Visitor)
6063 do
6064 v.enter_visit(_n_kwisset)
6065 v.enter_visit(_n_expr)
6066 v.enter_visit(_n_id)
6067 end
6068 end
6069 redef class ADebugTypeExpr
6070 init init_adebugtypeexpr (
6071 n_kwdebug: nullable TKwdebug,
6072 n_kwtype: nullable TKwtype,
6073 n_expr: nullable AExpr,
6074 n_type: nullable AType
6075 )
6076 do
6077 _n_kwdebug = n_kwdebug.as(not null)
6078 n_kwdebug.parent = self
6079 _n_kwtype = n_kwtype.as(not null)
6080 n_kwtype.parent = self
6081 _n_expr = n_expr.as(not null)
6082 n_expr.parent = self
6083 _n_type = n_type.as(not null)
6084 n_type.parent = self
6085 end
6086
6087 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6088 do
6089 if _n_kwdebug == old_child then
6090 n_kwdebug = new_child.as(TKwdebug)
6091 return
6092 end
6093 if _n_kwtype == old_child then
6094 n_kwtype = new_child.as(TKwtype)
6095 return
6096 end
6097 if _n_expr == old_child then
6098 n_expr = new_child.as(AExpr)
6099 return
6100 end
6101 if _n_type == old_child then
6102 n_type = new_child.as(AType)
6103 return
6104 end
6105 end
6106
6107 redef fun n_kwdebug=(node)
6108 do
6109 _n_kwdebug = node
6110 node.parent = self
6111 end
6112 redef fun n_kwtype=(node)
6113 do
6114 _n_kwtype = node
6115 node.parent = self
6116 end
6117 redef fun n_expr=(node)
6118 do
6119 _n_expr = node
6120 node.parent = self
6121 end
6122 redef fun n_type=(node)
6123 do
6124 _n_type = node
6125 node.parent = self
6126 end
6127
6128
6129 redef fun visit_all(v: Visitor)
6130 do
6131 v.enter_visit(_n_kwdebug)
6132 v.enter_visit(_n_kwtype)
6133 v.enter_visit(_n_expr)
6134 v.enter_visit(_n_type)
6135 end
6136 end
6137 redef class AVarargExpr
6138 init init_avarargexpr (
6139 n_expr: nullable AExpr,
6140 n_dotdotdot: nullable TDotdotdot
6141 )
6142 do
6143 _n_expr = n_expr.as(not null)
6144 n_expr.parent = self
6145 _n_dotdotdot = n_dotdotdot.as(not null)
6146 n_dotdotdot.parent = self
6147 end
6148
6149 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6150 do
6151 if _n_expr == old_child then
6152 n_expr = new_child.as(AExpr)
6153 return
6154 end
6155 if _n_dotdotdot == old_child then
6156 n_dotdotdot = new_child.as(TDotdotdot)
6157 return
6158 end
6159 end
6160
6161 redef fun n_expr=(node)
6162 do
6163 _n_expr = node
6164 node.parent = self
6165 end
6166 redef fun n_dotdotdot=(node)
6167 do
6168 _n_dotdotdot = node
6169 node.parent = self
6170 end
6171
6172
6173 redef fun visit_all(v: Visitor)
6174 do
6175 v.enter_visit(_n_expr)
6176 v.enter_visit(_n_dotdotdot)
6177 end
6178 end
6179 redef class ATypeExpr
6180 init init_atypeexpr (
6181 n_type: nullable AType
6182 )
6183 do
6184 _n_type = n_type.as(not null)
6185 n_type.parent = self
6186 end
6187
6188 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6189 do
6190 if _n_type == old_child then
6191 n_type = new_child.as(AType)
6192 return
6193 end
6194 end
6195
6196 redef fun n_type=(node)
6197 do
6198 _n_type = node
6199 node.parent = self
6200 end
6201
6202
6203 redef fun visit_all(v: Visitor)
6204 do
6205 v.enter_visit(_n_type)
6206 end
6207 end
6208 redef class AMethidExpr
6209 init init_amethidexpr (
6210 n_expr: nullable AExpr,
6211 n_id: nullable AMethid
6212 )
6213 do
6214 _n_expr = n_expr.as(not null)
6215 n_expr.parent = self
6216 _n_id = n_id.as(not null)
6217 n_id.parent = self
6218 end
6219
6220 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6221 do
6222 if _n_expr == old_child then
6223 n_expr = new_child.as(AExpr)
6224 return
6225 end
6226 if _n_id == old_child then
6227 n_id = new_child.as(AMethid)
6228 return
6229 end
6230 end
6231
6232 redef fun n_expr=(node)
6233 do
6234 _n_expr = node
6235 node.parent = self
6236 end
6237 redef fun n_id=(node)
6238 do
6239 _n_id = node
6240 node.parent = self
6241 end
6242
6243
6244 redef fun visit_all(v: Visitor)
6245 do
6246 v.enter_visit(_n_expr)
6247 v.enter_visit(_n_id)
6248 end
6249 end
6250 redef class AAtExpr
6251 init init_aatexpr (
6252 n_annotations: nullable AAnnotations
6253 )
6254 do
6255 _n_annotations = n_annotations.as(not null)
6256 n_annotations.parent = self
6257 end
6258
6259 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6260 do
6261 if _n_annotations == old_child then
6262 n_annotations = new_child.as(AAnnotations)
6263 return
6264 end
6265 end
6266
6267 redef fun n_annotations=(node)
6268 do
6269 _n_annotations = node
6270 node.parent = self
6271 end
6272
6273
6274 redef fun visit_all(v: Visitor)
6275 do
6276 v.enter_visit(_n_annotations)
6277 end
6278 end
6279 redef class AManyExpr
6280 init init_amanyexpr (
6281 n_exprs: Collection[Object] # Should be Collection[AExpr]
6282 )
6283 do
6284 self.n_exprs.unsafe_add_all(n_exprs)
6285 end
6286
6287 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6288 do
6289 if n_exprs.replace_child(old_child, new_child) then return
6290 end
6291
6292
6293
6294 redef fun visit_all(v: Visitor)
6295 do
6296 n_exprs.visit_all(v)
6297 end
6298 end
6299 redef class AListExprs
6300 init init_alistexprs (
6301 n_exprs: Collection[Object] # Should be Collection[AExpr]
6302 )
6303 do
6304 self.n_exprs.unsafe_add_all(n_exprs)
6305 end
6306
6307 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6308 do
6309 if n_exprs.replace_child(old_child, new_child) then return
6310 end
6311
6312
6313
6314 redef fun visit_all(v: Visitor)
6315 do
6316 n_exprs.visit_all(v)
6317 end
6318 end
6319 redef class AParExprs
6320 init init_aparexprs (
6321 n_opar: nullable TOpar,
6322 n_exprs: Collection[Object], # Should be Collection[AExpr]
6323 n_cpar: nullable TCpar
6324 )
6325 do
6326 _n_opar = n_opar.as(not null)
6327 n_opar.parent = self
6328 self.n_exprs.unsafe_add_all(n_exprs)
6329 _n_cpar = n_cpar.as(not null)
6330 n_cpar.parent = self
6331 end
6332
6333 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6334 do
6335 if _n_opar == old_child then
6336 n_opar = new_child.as(TOpar)
6337 return
6338 end
6339 if n_exprs.replace_child(old_child, new_child) then return
6340 if _n_cpar == old_child then
6341 n_cpar = new_child.as(TCpar)
6342 return
6343 end
6344 end
6345
6346 redef fun n_opar=(node)
6347 do
6348 _n_opar = node
6349 node.parent = self
6350 end
6351 redef fun n_cpar=(node)
6352 do
6353 _n_cpar = node
6354 node.parent = self
6355 end
6356
6357
6358 redef fun visit_all(v: Visitor)
6359 do
6360 v.enter_visit(_n_opar)
6361 n_exprs.visit_all(v)
6362 v.enter_visit(_n_cpar)
6363 end
6364 end
6365 redef class ABraExprs
6366 init init_abraexprs (
6367 n_obra: nullable TObra,
6368 n_exprs: Collection[Object], # Should be Collection[AExpr]
6369 n_cbra: nullable TCbra
6370 )
6371 do
6372 _n_obra = n_obra.as(not null)
6373 n_obra.parent = self
6374 self.n_exprs.unsafe_add_all(n_exprs)
6375 _n_cbra = n_cbra.as(not null)
6376 n_cbra.parent = self
6377 end
6378
6379 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6380 do
6381 if _n_obra == old_child then
6382 n_obra = new_child.as(TObra)
6383 return
6384 end
6385 if n_exprs.replace_child(old_child, new_child) then return
6386 if _n_cbra == old_child then
6387 n_cbra = new_child.as(TCbra)
6388 return
6389 end
6390 end
6391
6392 redef fun n_obra=(node)
6393 do
6394 _n_obra = node
6395 node.parent = self
6396 end
6397 redef fun n_cbra=(node)
6398 do
6399 _n_cbra = node
6400 node.parent = self
6401 end
6402
6403
6404 redef fun visit_all(v: Visitor)
6405 do
6406 v.enter_visit(_n_obra)
6407 n_exprs.visit_all(v)
6408 v.enter_visit(_n_cbra)
6409 end
6410 end
6411 redef class APlusAssignOp
6412 init init_aplusassignop (
6413 n_pluseq: nullable TPluseq
6414 )
6415 do
6416 _n_pluseq = n_pluseq.as(not null)
6417 n_pluseq.parent = self
6418 end
6419
6420 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6421 do
6422 if _n_pluseq == old_child then
6423 n_pluseq = new_child.as(TPluseq)
6424 return
6425 end
6426 end
6427
6428 redef fun n_pluseq=(node)
6429 do
6430 _n_pluseq = node
6431 node.parent = self
6432 end
6433
6434
6435 redef fun visit_all(v: Visitor)
6436 do
6437 v.enter_visit(_n_pluseq)
6438 end
6439 end
6440 redef class AMinusAssignOp
6441 init init_aminusassignop (
6442 n_minuseq: nullable TMinuseq
6443 )
6444 do
6445 _n_minuseq = n_minuseq.as(not null)
6446 n_minuseq.parent = self
6447 end
6448
6449 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6450 do
6451 if _n_minuseq == old_child then
6452 n_minuseq = new_child.as(TMinuseq)
6453 return
6454 end
6455 end
6456
6457 redef fun n_minuseq=(node)
6458 do
6459 _n_minuseq = node
6460 node.parent = self
6461 end
6462
6463
6464 redef fun visit_all(v: Visitor)
6465 do
6466 v.enter_visit(_n_minuseq)
6467 end
6468 end
6469 redef class AModuleName
6470 init init_amodulename (
6471 n_quad: nullable TQuad,
6472 n_path: Collection[Object], # Should be Collection[TId]
6473 n_id: nullable TId
6474 )
6475 do
6476 _n_quad = n_quad
6477 if n_quad != null then n_quad.parent = self
6478 self.n_path.unsafe_add_all(n_path)
6479 _n_id = n_id.as(not null)
6480 n_id.parent = self
6481 end
6482
6483 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6484 do
6485 if _n_quad == old_child then
6486 n_quad = new_child.as(nullable TQuad)
6487 return
6488 end
6489 if n_path.replace_child(old_child, new_child) then return
6490 if _n_id == old_child then
6491 n_id = new_child.as(TId)
6492 return
6493 end
6494 end
6495
6496 redef fun n_quad=(node)
6497 do
6498 _n_quad = node
6499 if node != null then node.parent = self
6500 end
6501 redef fun n_id=(node)
6502 do
6503 _n_id = node
6504 node.parent = self
6505 end
6506
6507
6508 redef fun visit_all(v: Visitor)
6509 do
6510 v.enter_visit(_n_quad)
6511 n_path.visit_all(v)
6512 v.enter_visit(_n_id)
6513 end
6514 end
6515 redef class AExternCalls
6516 init init_aexterncalls (
6517 n_kwimport: nullable TKwimport,
6518 n_extern_calls: Collection[Object] # Should be Collection[AExternCall]
6519 )
6520 do
6521 _n_kwimport = n_kwimport.as(not null)
6522 n_kwimport.parent = self
6523 self.n_extern_calls.unsafe_add_all(n_extern_calls)
6524 end
6525
6526 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6527 do
6528 if _n_kwimport == old_child then
6529 n_kwimport = new_child.as(TKwimport)
6530 return
6531 end
6532 if n_extern_calls.replace_child(old_child, new_child) then return
6533 end
6534
6535 redef fun n_kwimport=(node)
6536 do
6537 _n_kwimport = node
6538 node.parent = self
6539 end
6540
6541
6542 redef fun visit_all(v: Visitor)
6543 do
6544 v.enter_visit(_n_kwimport)
6545 n_extern_calls.visit_all(v)
6546 end
6547 end
6548 redef class AExternCall
6549 init init_aexterncall
6550 do
6551 end
6552
6553 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6554 do
6555 end
6556
6557
6558
6559 redef fun visit_all(v: Visitor)
6560 do
6561 end
6562 end
6563 redef class ASuperExternCall
6564 init init_asuperexterncall (
6565 n_kwsuper: nullable TKwsuper
6566 )
6567 do
6568 _n_kwsuper = n_kwsuper.as(not null)
6569 n_kwsuper.parent = self
6570 end
6571
6572 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6573 do
6574 if _n_kwsuper == old_child then
6575 n_kwsuper = new_child.as(TKwsuper)
6576 return
6577 end
6578 end
6579
6580 redef fun n_kwsuper=(node)
6581 do
6582 _n_kwsuper = node
6583 node.parent = self
6584 end
6585
6586
6587 redef fun visit_all(v: Visitor)
6588 do
6589 v.enter_visit(_n_kwsuper)
6590 end
6591 end
6592 redef class ALocalPropExternCall
6593 init init_alocalpropexterncall (
6594 n_methid: nullable AMethid
6595 )
6596 do
6597 _n_methid = n_methid.as(not null)
6598 n_methid.parent = self
6599 end
6600
6601 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6602 do
6603 if _n_methid == old_child then
6604 n_methid = new_child.as(AMethid)
6605 return
6606 end
6607 end
6608
6609 redef fun n_methid=(node)
6610 do
6611 _n_methid = node
6612 node.parent = self
6613 end
6614
6615
6616 redef fun visit_all(v: Visitor)
6617 do
6618 v.enter_visit(_n_methid)
6619 end
6620 end
6621 redef class AFullPropExternCall
6622 init init_afullpropexterncall (
6623 n_type: nullable AType,
6624 n_dot: nullable TDot,
6625 n_methid: nullable AMethid
6626 )
6627 do
6628 _n_type = n_type.as(not null)
6629 n_type.parent = self
6630 _n_dot = n_dot
6631 if n_dot != null then n_dot.parent = self
6632 _n_methid = n_methid.as(not null)
6633 n_methid.parent = self
6634 end
6635
6636 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6637 do
6638 if _n_type == old_child then
6639 n_type = new_child.as(AType)
6640 return
6641 end
6642 if _n_dot == old_child then
6643 n_dot = new_child.as(nullable TDot)
6644 return
6645 end
6646 if _n_methid == old_child then
6647 n_methid = new_child.as(AMethid)
6648 return
6649 end
6650 end
6651
6652 redef fun n_type=(node)
6653 do
6654 _n_type = node
6655 node.parent = self
6656 end
6657 redef fun n_dot=(node)
6658 do
6659 _n_dot = node
6660 if node != null then node.parent = self
6661 end
6662 redef fun n_methid=(node)
6663 do
6664 _n_methid = node
6665 node.parent = self
6666 end
6667
6668
6669 redef fun visit_all(v: Visitor)
6670 do
6671 v.enter_visit(_n_type)
6672 v.enter_visit(_n_dot)
6673 v.enter_visit(_n_methid)
6674 end
6675 end
6676 redef class AInitPropExternCall
6677 init init_ainitpropexterncall (
6678 n_type: nullable AType
6679 )
6680 do
6681 _n_type = n_type.as(not null)
6682 n_type.parent = self
6683 end
6684
6685 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6686 do
6687 if _n_type == old_child then
6688 n_type = new_child.as(AType)
6689 return
6690 end
6691 end
6692
6693 redef fun n_type=(node)
6694 do
6695 _n_type = node
6696 node.parent = self
6697 end
6698
6699
6700 redef fun visit_all(v: Visitor)
6701 do
6702 v.enter_visit(_n_type)
6703 end
6704 end
6705 redef class ACastAsExternCall
6706 init init_acastasexterncall (
6707 n_from_type: nullable AType,
6708 n_dot: nullable TDot,
6709 n_kwas: nullable TKwas,
6710 n_to_type: nullable AType
6711 )
6712 do
6713 _n_from_type = n_from_type.as(not null)
6714 n_from_type.parent = self
6715 _n_dot = n_dot
6716 if n_dot != null then n_dot.parent = self
6717 _n_kwas = n_kwas.as(not null)
6718 n_kwas.parent = self
6719 _n_to_type = n_to_type.as(not null)
6720 n_to_type.parent = self
6721 end
6722
6723 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6724 do
6725 if _n_from_type == old_child then
6726 n_from_type = new_child.as(AType)
6727 return
6728 end
6729 if _n_dot == old_child then
6730 n_dot = new_child.as(nullable TDot)
6731 return
6732 end
6733 if _n_kwas == old_child then
6734 n_kwas = new_child.as(TKwas)
6735 return
6736 end
6737 if _n_to_type == old_child then
6738 n_to_type = new_child.as(AType)
6739 return
6740 end
6741 end
6742
6743 redef fun n_from_type=(node)
6744 do
6745 _n_from_type = node
6746 node.parent = self
6747 end
6748 redef fun n_dot=(node)
6749 do
6750 _n_dot = node
6751 if node != null then node.parent = self
6752 end
6753 redef fun n_kwas=(node)
6754 do
6755 _n_kwas = node
6756 node.parent = self
6757 end
6758 redef fun n_to_type=(node)
6759 do
6760 _n_to_type = node
6761 node.parent = self
6762 end
6763
6764
6765 redef fun visit_all(v: Visitor)
6766 do
6767 v.enter_visit(_n_from_type)
6768 v.enter_visit(_n_dot)
6769 v.enter_visit(_n_kwas)
6770 v.enter_visit(_n_to_type)
6771 end
6772 end
6773 redef class AAsNullableExternCall
6774 init init_aasnullableexterncall (
6775 n_type: nullable AType,
6776 n_kwas: nullable TKwas,
6777 n_kwnullable: nullable TKwnullable
6778 )
6779 do
6780 _n_type = n_type.as(not null)
6781 n_type.parent = self
6782 _n_kwas = n_kwas.as(not null)
6783 n_kwas.parent = self
6784 _n_kwnullable = n_kwnullable.as(not null)
6785 n_kwnullable.parent = self
6786 end
6787
6788 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6789 do
6790 if _n_type == old_child then
6791 n_type = new_child.as(AType)
6792 return
6793 end
6794 if _n_kwas == old_child then
6795 n_kwas = new_child.as(TKwas)
6796 return
6797 end
6798 if _n_kwnullable == old_child then
6799 n_kwnullable = new_child.as(TKwnullable)
6800 return
6801 end
6802 end
6803
6804 redef fun n_type=(node)
6805 do
6806 _n_type = node
6807 node.parent = self
6808 end
6809 redef fun n_kwas=(node)
6810 do
6811 _n_kwas = node
6812 node.parent = self
6813 end
6814 redef fun n_kwnullable=(node)
6815 do
6816 _n_kwnullable = node
6817 node.parent = self
6818 end
6819
6820
6821 redef fun visit_all(v: Visitor)
6822 do
6823 v.enter_visit(_n_type)
6824 v.enter_visit(_n_kwas)
6825 v.enter_visit(_n_kwnullable)
6826 end
6827 end
6828 redef class AAsNotNullableExternCall
6829 init init_aasnotnullableexterncall (
6830 n_type: nullable AType,
6831 n_kwas: nullable TKwas,
6832 n_kwnot: nullable TKwnot,
6833 n_kwnullable: nullable TKwnullable
6834 )
6835 do
6836 _n_type = n_type.as(not null)
6837 n_type.parent = self
6838 _n_kwas = n_kwas.as(not null)
6839 n_kwas.parent = self
6840 _n_kwnot = n_kwnot.as(not null)
6841 n_kwnot.parent = self
6842 _n_kwnullable = n_kwnullable.as(not null)
6843 n_kwnullable.parent = self
6844 end
6845
6846 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6847 do
6848 if _n_type == old_child then
6849 n_type = new_child.as(AType)
6850 return
6851 end
6852 if _n_kwas == old_child then
6853 n_kwas = new_child.as(TKwas)
6854 return
6855 end
6856 if _n_kwnot == old_child then
6857 n_kwnot = new_child.as(TKwnot)
6858 return
6859 end
6860 if _n_kwnullable == old_child then
6861 n_kwnullable = new_child.as(TKwnullable)
6862 return
6863 end
6864 end
6865
6866 redef fun n_type=(node)
6867 do
6868 _n_type = node
6869 node.parent = self
6870 end
6871 redef fun n_kwas=(node)
6872 do
6873 _n_kwas = node
6874 node.parent = self
6875 end
6876 redef fun n_kwnot=(node)
6877 do
6878 _n_kwnot = node
6879 node.parent = self
6880 end
6881 redef fun n_kwnullable=(node)
6882 do
6883 _n_kwnullable = node
6884 node.parent = self
6885 end
6886
6887
6888 redef fun visit_all(v: Visitor)
6889 do
6890 v.enter_visit(_n_type)
6891 v.enter_visit(_n_kwas)
6892 v.enter_visit(_n_kwnot)
6893 v.enter_visit(_n_kwnullable)
6894 end
6895 end
6896 redef class AInLanguage
6897 init init_ainlanguage (
6898 n_kwin: nullable TKwin,
6899 n_string: nullable TString
6900 )
6901 do
6902 _n_kwin = n_kwin.as(not null)
6903 n_kwin.parent = self
6904 _n_string = n_string.as(not null)
6905 n_string.parent = self
6906 end
6907
6908 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6909 do
6910 if _n_kwin == old_child then
6911 n_kwin = new_child.as(TKwin)
6912 return
6913 end
6914 if _n_string == old_child then
6915 n_string = new_child.as(TString)
6916 return
6917 end
6918 end
6919
6920 redef fun n_kwin=(node)
6921 do
6922 _n_kwin = node
6923 node.parent = self
6924 end
6925 redef fun n_string=(node)
6926 do
6927 _n_string = node
6928 node.parent = self
6929 end
6930
6931
6932 redef fun visit_all(v: Visitor)
6933 do
6934 v.enter_visit(_n_kwin)
6935 v.enter_visit(_n_string)
6936 end
6937 end
6938 redef class AExternCodeBlock
6939 init init_aexterncodeblock (
6940 n_in_language: nullable AInLanguage,
6941 n_extern_code_segment: nullable TExternCodeSegment
6942 )
6943 do
6944 _n_in_language = n_in_language
6945 if n_in_language != null then n_in_language.parent = self
6946 _n_extern_code_segment = n_extern_code_segment.as(not null)
6947 n_extern_code_segment.parent = self
6948 end
6949
6950 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6951 do
6952 if _n_in_language == old_child then
6953 n_in_language = new_child.as(nullable AInLanguage)
6954 return
6955 end
6956 if _n_extern_code_segment == old_child then
6957 n_extern_code_segment = new_child.as(TExternCodeSegment)
6958 return
6959 end
6960 end
6961
6962 redef fun n_in_language=(node)
6963 do
6964 _n_in_language = node
6965 if node != null then node.parent = self
6966 end
6967 redef fun n_extern_code_segment=(node)
6968 do
6969 _n_extern_code_segment = node
6970 node.parent = self
6971 end
6972
6973
6974 redef fun visit_all(v: Visitor)
6975 do
6976 v.enter_visit(_n_in_language)
6977 v.enter_visit(_n_extern_code_segment)
6978 end
6979 end
6980 redef class AQualified
6981 init init_aqualified (
6982 n_id: Collection[Object], # Should be Collection[TId]
6983 n_classid: nullable TClassid
6984 )
6985 do
6986 self.n_id.unsafe_add_all(n_id)
6987 _n_classid = n_classid
6988 if n_classid != null then n_classid.parent = self
6989 end
6990
6991 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6992 do
6993 if n_id.replace_child(old_child, new_child) then return
6994 if _n_classid == old_child then
6995 n_classid = new_child.as(nullable TClassid)
6996 return
6997 end
6998 end
6999
7000 redef fun n_classid=(node)
7001 do
7002 _n_classid = node
7003 if node != null then node.parent = self
7004 end
7005
7006
7007 redef fun visit_all(v: Visitor)
7008 do
7009 n_id.visit_all(v)
7010 v.enter_visit(_n_classid)
7011 end
7012 end
7013 redef class ADoc
7014 init init_adoc (
7015 n_comment: Collection[Object] # Should be Collection[TComment]
7016 )
7017 do
7018 self.n_comment.unsafe_add_all(n_comment)
7019 end
7020
7021 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7022 do
7023 if n_comment.replace_child(old_child, new_child) then return
7024 end
7025
7026
7027
7028 redef fun visit_all(v: Visitor)
7029 do
7030 n_comment.visit_all(v)
7031 end
7032 end
7033 redef class AAnnotations
7034 init init_aannotations (
7035 n_at: nullable TAt,
7036 n_opar: nullable TOpar,
7037 n_items: Collection[Object], # Should be Collection[AAnnotation]
7038 n_cpar: nullable TCpar
7039 )
7040 do
7041 _n_at = n_at
7042 if n_at != null then n_at.parent = self
7043 _n_opar = n_opar
7044 if n_opar != null then n_opar.parent = self
7045 self.n_items.unsafe_add_all(n_items)
7046 _n_cpar = n_cpar
7047 if n_cpar != null then n_cpar.parent = self
7048 end
7049
7050 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7051 do
7052 if _n_at == old_child then
7053 n_at = new_child.as(nullable TAt)
7054 return
7055 end
7056 if _n_opar == old_child then
7057 n_opar = new_child.as(nullable TOpar)
7058 return
7059 end
7060 if n_items.replace_child(old_child, new_child) then return
7061 if _n_cpar == old_child then
7062 n_cpar = new_child.as(nullable TCpar)
7063 return
7064 end
7065 end
7066
7067 redef fun n_at=(node)
7068 do
7069 _n_at = node
7070 if node != null then node.parent = self
7071 end
7072 redef fun n_opar=(node)
7073 do
7074 _n_opar = node
7075 if node != null then node.parent = self
7076 end
7077 redef fun n_cpar=(node)
7078 do
7079 _n_cpar = node
7080 if node != null then node.parent = self
7081 end
7082
7083
7084 redef fun visit_all(v: Visitor)
7085 do
7086 v.enter_visit(_n_at)
7087 v.enter_visit(_n_opar)
7088 n_items.visit_all(v)
7089 v.enter_visit(_n_cpar)
7090 end
7091 end
7092 redef class AAnnotation
7093 init init_aannotation (
7094 n_doc: nullable ADoc,
7095 n_kwredef: nullable TKwredef,
7096 n_visibility: nullable AVisibility,
7097 n_atid: nullable AAtid,
7098 n_opar: nullable TOpar,
7099 n_args: Collection[Object], # Should be Collection[AExpr]
7100 n_cpar: nullable TCpar,
7101 n_annotations: nullable AAnnotations
7102 )
7103 do
7104 _n_doc = n_doc
7105 if n_doc != null then n_doc.parent = self
7106 _n_kwredef = n_kwredef
7107 if n_kwredef != null then n_kwredef.parent = self
7108 _n_visibility = n_visibility
7109 if n_visibility != null then n_visibility.parent = self
7110 _n_atid = n_atid.as(not null)
7111 n_atid.parent = self
7112 _n_opar = n_opar
7113 if n_opar != null then n_opar.parent = self
7114 self.n_args.unsafe_add_all(n_args)
7115 _n_cpar = n_cpar
7116 if n_cpar != null then n_cpar.parent = self
7117 _n_annotations = n_annotations
7118 if n_annotations != null then n_annotations.parent = self
7119 end
7120
7121 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7122 do
7123 if _n_doc == old_child then
7124 n_doc = new_child.as(nullable ADoc)
7125 return
7126 end
7127 if _n_kwredef == old_child then
7128 n_kwredef = new_child.as(nullable TKwredef)
7129 return
7130 end
7131 if _n_visibility == old_child then
7132 n_visibility = new_child.as(nullable AVisibility)
7133 return
7134 end
7135 if _n_atid == old_child then
7136 n_atid = new_child.as(AAtid)
7137 return
7138 end
7139 if _n_opar == old_child then
7140 n_opar = new_child.as(nullable TOpar)
7141 return
7142 end
7143 if n_args.replace_child(old_child, new_child) then return
7144 if _n_cpar == old_child then
7145 n_cpar = new_child.as(nullable TCpar)
7146 return
7147 end
7148 if _n_annotations == old_child then
7149 n_annotations = new_child.as(nullable AAnnotations)
7150 return
7151 end
7152 end
7153
7154 redef fun n_doc=(node)
7155 do
7156 _n_doc = node
7157 if node != null then node.parent = self
7158 end
7159 redef fun n_kwredef=(node)
7160 do
7161 _n_kwredef = node
7162 if node != null then node.parent = self
7163 end
7164 redef fun n_visibility=(node)
7165 do
7166 _n_visibility = node
7167 if node != null then node.parent = self
7168 end
7169 redef fun n_atid=(node)
7170 do
7171 _n_atid = node
7172 node.parent = self
7173 end
7174 redef fun n_opar=(node)
7175 do
7176 _n_opar = node
7177 if node != null then node.parent = self
7178 end
7179 redef fun n_cpar=(node)
7180 do
7181 _n_cpar = node
7182 if node != null then node.parent = self
7183 end
7184 redef fun n_annotations=(node)
7185 do
7186 _n_annotations = node
7187 if node != null then node.parent = self
7188 end
7189
7190
7191 redef fun visit_all(v: Visitor)
7192 do
7193 v.enter_visit(_n_doc)
7194 v.enter_visit(_n_kwredef)
7195 v.enter_visit(_n_visibility)
7196 v.enter_visit(_n_atid)
7197 v.enter_visit(_n_opar)
7198 n_args.visit_all(v)
7199 v.enter_visit(_n_cpar)
7200 v.enter_visit(_n_annotations)
7201 end
7202 end
7203 redef class AIdAtid
7204 init init_aidatid (
7205 n_id: nullable TId
7206 )
7207 do
7208 _n_id = n_id.as(not null)
7209 n_id.parent = self
7210 end
7211
7212 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7213 do
7214 if _n_id == old_child then
7215 n_id = new_child.as(TId)
7216 return
7217 end
7218 end
7219
7220 redef fun n_id=(node)
7221 do
7222 _n_id = node
7223 node.parent = self
7224 end
7225
7226
7227 redef fun visit_all(v: Visitor)
7228 do
7229 v.enter_visit(_n_id)
7230 end
7231 end
7232 redef class AKwexternAtid
7233 init init_akwexternatid (
7234 n_id: nullable TKwextern
7235 )
7236 do
7237 _n_id = n_id.as(not null)
7238 n_id.parent = self
7239 end
7240
7241 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7242 do
7243 if _n_id == old_child then
7244 n_id = new_child.as(TKwextern)
7245 return
7246 end
7247 end
7248
7249 redef fun n_id=(node)
7250 do
7251 _n_id = node
7252 node.parent = self
7253 end
7254
7255
7256 redef fun visit_all(v: Visitor)
7257 do
7258 v.enter_visit(_n_id)
7259 end
7260 end
7261 redef class AKwabstractAtid
7262 init init_akwabstractatid (
7263 n_id: nullable TKwabstract
7264 )
7265 do
7266 _n_id = n_id.as(not null)
7267 n_id.parent = self
7268 end
7269
7270 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7271 do
7272 if _n_id == old_child then
7273 n_id = new_child.as(TKwabstract)
7274 return
7275 end
7276 end
7277
7278 redef fun n_id=(node)
7279 do
7280 _n_id = node
7281 node.parent = self
7282 end
7283
7284
7285 redef fun visit_all(v: Visitor)
7286 do
7287 v.enter_visit(_n_id)
7288 end
7289 end
7290 redef class AKwimportAtid
7291 init init_akwimportatid (
7292 n_id: nullable TKwimport
7293 )
7294 do
7295 _n_id = n_id.as(not null)
7296 n_id.parent = self
7297 end
7298
7299 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7300 do
7301 if _n_id == old_child then
7302 n_id = new_child.as(TKwimport)
7303 return
7304 end
7305 end
7306
7307 redef fun n_id=(node)
7308 do
7309 _n_id = node
7310 node.parent = self
7311 end
7312
7313
7314 redef fun visit_all(v: Visitor)
7315 do
7316 v.enter_visit(_n_id)
7317 end
7318 end
7319
7320 redef class Start
7321 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7322 do
7323 if _n_base == old_child then
7324 if new_child == null then
7325 else
7326 new_child.parent = self
7327 assert new_child isa AModule
7328 _n_base = new_child
7329 end
7330 old_child.parent = null
7331 return
7332 end
7333 end
7334
7335 redef fun visit_all(v: Visitor)
7336 do
7337 if _n_base != null then
7338 v.enter_visit(_n_base.as(not null))
7339 end
7340 v.enter_visit(_n_eof)
7341 end
7342 end