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