parser: regenerate
[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_op: nullable TPlus
1455 )
1456 do
1457 _n_op = n_op.as(not null)
1458 n_op.parent = self
1459 end
1460
1461 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1462 do
1463 if _n_op == old_child then
1464 n_op = new_child.as(TPlus)
1465 return
1466 end
1467 end
1468
1469 redef fun n_op=(node)
1470 do
1471 _n_op = node
1472 node.parent = self
1473 end
1474
1475
1476 redef fun visit_all(v: Visitor)
1477 do
1478 v.enter_visit(_n_op)
1479 end
1480 end
1481 redef class AMinusMethid
1482 init init_aminusmethid (
1483 n_op: nullable TMinus
1484 )
1485 do
1486 _n_op = n_op.as(not null)
1487 n_op.parent = self
1488 end
1489
1490 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1491 do
1492 if _n_op == old_child then
1493 n_op = new_child.as(TMinus)
1494 return
1495 end
1496 end
1497
1498 redef fun n_op=(node)
1499 do
1500 _n_op = node
1501 node.parent = self
1502 end
1503
1504
1505 redef fun visit_all(v: Visitor)
1506 do
1507 v.enter_visit(_n_op)
1508 end
1509 end
1510 redef class AStarMethid
1511 init init_astarmethid (
1512 n_op: nullable TStar
1513 )
1514 do
1515 _n_op = n_op.as(not null)
1516 n_op.parent = self
1517 end
1518
1519 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1520 do
1521 if _n_op == old_child then
1522 n_op = new_child.as(TStar)
1523 return
1524 end
1525 end
1526
1527 redef fun n_op=(node)
1528 do
1529 _n_op = node
1530 node.parent = self
1531 end
1532
1533
1534 redef fun visit_all(v: Visitor)
1535 do
1536 v.enter_visit(_n_op)
1537 end
1538 end
1539 redef class AStarstarMethid
1540 init init_astarstarmethid (
1541 n_op: nullable TStarstar
1542 )
1543 do
1544 _n_op = n_op.as(not null)
1545 n_op.parent = self
1546 end
1547
1548 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1549 do
1550 if _n_op == old_child then
1551 n_op = new_child.as(TStarstar)
1552 return
1553 end
1554 end
1555
1556 redef fun n_op=(node)
1557 do
1558 _n_op = node
1559 node.parent = self
1560 end
1561
1562
1563 redef fun visit_all(v: Visitor)
1564 do
1565 v.enter_visit(_n_op)
1566 end
1567 end
1568 redef class ASlashMethid
1569 init init_aslashmethid (
1570 n_op: nullable TSlash
1571 )
1572 do
1573 _n_op = n_op.as(not null)
1574 n_op.parent = self
1575 end
1576
1577 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1578 do
1579 if _n_op == old_child then
1580 n_op = new_child.as(TSlash)
1581 return
1582 end
1583 end
1584
1585 redef fun n_op=(node)
1586 do
1587 _n_op = node
1588 node.parent = self
1589 end
1590
1591
1592 redef fun visit_all(v: Visitor)
1593 do
1594 v.enter_visit(_n_op)
1595 end
1596 end
1597 redef class APercentMethid
1598 init init_apercentmethid (
1599 n_op: nullable TPercent
1600 )
1601 do
1602 _n_op = n_op.as(not null)
1603 n_op.parent = self
1604 end
1605
1606 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1607 do
1608 if _n_op == old_child then
1609 n_op = new_child.as(TPercent)
1610 return
1611 end
1612 end
1613
1614 redef fun n_op=(node)
1615 do
1616 _n_op = node
1617 node.parent = self
1618 end
1619
1620
1621 redef fun visit_all(v: Visitor)
1622 do
1623 v.enter_visit(_n_op)
1624 end
1625 end
1626 redef class AEqMethid
1627 init init_aeqmethid (
1628 n_op: nullable TEq
1629 )
1630 do
1631 _n_op = n_op.as(not null)
1632 n_op.parent = self
1633 end
1634
1635 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1636 do
1637 if _n_op == old_child then
1638 n_op = new_child.as(TEq)
1639 return
1640 end
1641 end
1642
1643 redef fun n_op=(node)
1644 do
1645 _n_op = node
1646 node.parent = self
1647 end
1648
1649
1650 redef fun visit_all(v: Visitor)
1651 do
1652 v.enter_visit(_n_op)
1653 end
1654 end
1655 redef class ANeMethid
1656 init init_anemethid (
1657 n_op: nullable TNe
1658 )
1659 do
1660 _n_op = n_op.as(not null)
1661 n_op.parent = self
1662 end
1663
1664 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1665 do
1666 if _n_op == old_child then
1667 n_op = new_child.as(TNe)
1668 return
1669 end
1670 end
1671
1672 redef fun n_op=(node)
1673 do
1674 _n_op = node
1675 node.parent = self
1676 end
1677
1678
1679 redef fun visit_all(v: Visitor)
1680 do
1681 v.enter_visit(_n_op)
1682 end
1683 end
1684 redef class ALeMethid
1685 init init_alemethid (
1686 n_op: nullable TLe
1687 )
1688 do
1689 _n_op = n_op.as(not null)
1690 n_op.parent = self
1691 end
1692
1693 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1694 do
1695 if _n_op == old_child then
1696 n_op = new_child.as(TLe)
1697 return
1698 end
1699 end
1700
1701 redef fun n_op=(node)
1702 do
1703 _n_op = node
1704 node.parent = self
1705 end
1706
1707
1708 redef fun visit_all(v: Visitor)
1709 do
1710 v.enter_visit(_n_op)
1711 end
1712 end
1713 redef class AGeMethid
1714 init init_agemethid (
1715 n_op: nullable TGe
1716 )
1717 do
1718 _n_op = n_op.as(not null)
1719 n_op.parent = self
1720 end
1721
1722 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1723 do
1724 if _n_op == old_child then
1725 n_op = new_child.as(TGe)
1726 return
1727 end
1728 end
1729
1730 redef fun n_op=(node)
1731 do
1732 _n_op = node
1733 node.parent = self
1734 end
1735
1736
1737 redef fun visit_all(v: Visitor)
1738 do
1739 v.enter_visit(_n_op)
1740 end
1741 end
1742 redef class ALtMethid
1743 init init_altmethid (
1744 n_op: nullable TLt
1745 )
1746 do
1747 _n_op = n_op.as(not null)
1748 n_op.parent = self
1749 end
1750
1751 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1752 do
1753 if _n_op == old_child then
1754 n_op = new_child.as(TLt)
1755 return
1756 end
1757 end
1758
1759 redef fun n_op=(node)
1760 do
1761 _n_op = node
1762 node.parent = self
1763 end
1764
1765
1766 redef fun visit_all(v: Visitor)
1767 do
1768 v.enter_visit(_n_op)
1769 end
1770 end
1771 redef class AGtMethid
1772 init init_agtmethid (
1773 n_op: nullable TGt
1774 )
1775 do
1776 _n_op = n_op.as(not null)
1777 n_op.parent = self
1778 end
1779
1780 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1781 do
1782 if _n_op == old_child then
1783 n_op = new_child.as(TGt)
1784 return
1785 end
1786 end
1787
1788 redef fun n_op=(node)
1789 do
1790 _n_op = node
1791 node.parent = self
1792 end
1793
1794
1795 redef fun visit_all(v: Visitor)
1796 do
1797 v.enter_visit(_n_op)
1798 end
1799 end
1800 redef class ALlMethid
1801 init init_allmethid (
1802 n_op: nullable TLl
1803 )
1804 do
1805 _n_op = n_op.as(not null)
1806 n_op.parent = self
1807 end
1808
1809 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1810 do
1811 if _n_op == old_child then
1812 n_op = new_child.as(TLl)
1813 return
1814 end
1815 end
1816
1817 redef fun n_op=(node)
1818 do
1819 _n_op = node
1820 node.parent = self
1821 end
1822
1823
1824 redef fun visit_all(v: Visitor)
1825 do
1826 v.enter_visit(_n_op)
1827 end
1828 end
1829 redef class AGgMethid
1830 init init_aggmethid (
1831 n_op: nullable TGg
1832 )
1833 do
1834 _n_op = n_op.as(not null)
1835 n_op.parent = self
1836 end
1837
1838 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1839 do
1840 if _n_op == old_child then
1841 n_op = new_child.as(TGg)
1842 return
1843 end
1844 end
1845
1846 redef fun n_op=(node)
1847 do
1848 _n_op = node
1849 node.parent = self
1850 end
1851
1852
1853 redef fun visit_all(v: Visitor)
1854 do
1855 v.enter_visit(_n_op)
1856 end
1857 end
1858 redef class AStarshipMethid
1859 init init_astarshipmethid (
1860 n_op: nullable TStarship
1861 )
1862 do
1863 _n_op = n_op.as(not null)
1864 n_op.parent = self
1865 end
1866
1867 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1868 do
1869 if _n_op == old_child then
1870 n_op = new_child.as(TStarship)
1871 return
1872 end
1873 end
1874
1875 redef fun n_op=(node)
1876 do
1877 _n_op = node
1878 node.parent = self
1879 end
1880
1881
1882 redef fun visit_all(v: Visitor)
1883 do
1884 v.enter_visit(_n_op)
1885 end
1886 end
1887 redef class APipeMethid
1888 init init_apipemethid (
1889 n_op: nullable TPipe
1890 )
1891 do
1892 _n_op = n_op.as(not null)
1893 n_op.parent = self
1894 end
1895
1896 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1897 do
1898 if _n_op == old_child then
1899 n_op = new_child.as(TPipe)
1900 return
1901 end
1902 end
1903
1904 redef fun n_op=(node)
1905 do
1906 _n_op = node
1907 node.parent = self
1908 end
1909
1910
1911 redef fun visit_all(v: Visitor)
1912 do
1913 v.enter_visit(_n_op)
1914 end
1915 end
1916 redef class ACaretMethid
1917 init init_acaretmethid (
1918 n_op: nullable TCaret
1919 )
1920 do
1921 _n_op = n_op.as(not null)
1922 n_op.parent = self
1923 end
1924
1925 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1926 do
1927 if _n_op == old_child then
1928 n_op = new_child.as(TCaret)
1929 return
1930 end
1931 end
1932
1933 redef fun n_op=(node)
1934 do
1935 _n_op = node
1936 node.parent = self
1937 end
1938
1939
1940 redef fun visit_all(v: Visitor)
1941 do
1942 v.enter_visit(_n_op)
1943 end
1944 end
1945 redef class AAmpMethid
1946 init init_aampmethid (
1947 n_op: nullable TAmp
1948 )
1949 do
1950 _n_op = n_op.as(not null)
1951 n_op.parent = self
1952 end
1953
1954 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1955 do
1956 if _n_op == old_child then
1957 n_op = new_child.as(TAmp)
1958 return
1959 end
1960 end
1961
1962 redef fun n_op=(node)
1963 do
1964 _n_op = node
1965 node.parent = self
1966 end
1967
1968
1969 redef fun visit_all(v: Visitor)
1970 do
1971 v.enter_visit(_n_op)
1972 end
1973 end
1974 redef class ATildeMethid
1975 init init_atildemethid (
1976 n_op: nullable TTilde
1977 )
1978 do
1979 _n_op = n_op.as(not null)
1980 n_op.parent = self
1981 end
1982
1983 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
1984 do
1985 if _n_op == old_child then
1986 n_op = new_child.as(TTilde)
1987 return
1988 end
1989 end
1990
1991 redef fun n_op=(node)
1992 do
1993 _n_op = node
1994 node.parent = self
1995 end
1996
1997
1998 redef fun visit_all(v: Visitor)
1999 do
2000 v.enter_visit(_n_op)
2001 end
2002 end
2003 redef class ABraMethid
2004 init init_abramethid (
2005 n_obra: nullable TObra,
2006 n_cbra: nullable TCbra
2007 )
2008 do
2009 _n_obra = n_obra.as(not null)
2010 n_obra.parent = self
2011 _n_cbra = n_cbra.as(not null)
2012 n_cbra.parent = self
2013 end
2014
2015 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2016 do
2017 if _n_obra == old_child then
2018 n_obra = new_child.as(TObra)
2019 return
2020 end
2021 if _n_cbra == old_child then
2022 n_cbra = new_child.as(TCbra)
2023 return
2024 end
2025 end
2026
2027 redef fun n_obra=(node)
2028 do
2029 _n_obra = node
2030 node.parent = self
2031 end
2032 redef fun n_cbra=(node)
2033 do
2034 _n_cbra = node
2035 node.parent = self
2036 end
2037
2038
2039 redef fun visit_all(v: Visitor)
2040 do
2041 v.enter_visit(_n_obra)
2042 v.enter_visit(_n_cbra)
2043 end
2044 end
2045 redef class AAssignMethid
2046 init init_aassignmethid (
2047 n_id: nullable TId,
2048 n_assign: nullable TAssign
2049 )
2050 do
2051 _n_id = n_id.as(not null)
2052 n_id.parent = self
2053 _n_assign = n_assign.as(not null)
2054 n_assign.parent = self
2055 end
2056
2057 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2058 do
2059 if _n_id == old_child then
2060 n_id = new_child.as(TId)
2061 return
2062 end
2063 if _n_assign == old_child then
2064 n_assign = new_child.as(TAssign)
2065 return
2066 end
2067 end
2068
2069 redef fun n_id=(node)
2070 do
2071 _n_id = node
2072 node.parent = self
2073 end
2074 redef fun n_assign=(node)
2075 do
2076 _n_assign = node
2077 node.parent = self
2078 end
2079
2080
2081 redef fun visit_all(v: Visitor)
2082 do
2083 v.enter_visit(_n_id)
2084 v.enter_visit(_n_assign)
2085 end
2086 end
2087 redef class ABraassignMethid
2088 init init_abraassignmethid (
2089 n_obra: nullable TObra,
2090 n_cbra: nullable TCbra,
2091 n_assign: nullable TAssign
2092 )
2093 do
2094 _n_obra = n_obra.as(not null)
2095 n_obra.parent = self
2096 _n_cbra = n_cbra.as(not null)
2097 n_cbra.parent = self
2098 _n_assign = n_assign.as(not null)
2099 n_assign.parent = self
2100 end
2101
2102 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2103 do
2104 if _n_obra == old_child then
2105 n_obra = new_child.as(TObra)
2106 return
2107 end
2108 if _n_cbra == old_child then
2109 n_cbra = new_child.as(TCbra)
2110 return
2111 end
2112 if _n_assign == old_child then
2113 n_assign = new_child.as(TAssign)
2114 return
2115 end
2116 end
2117
2118 redef fun n_obra=(node)
2119 do
2120 _n_obra = node
2121 node.parent = self
2122 end
2123 redef fun n_cbra=(node)
2124 do
2125 _n_cbra = node
2126 node.parent = self
2127 end
2128 redef fun n_assign=(node)
2129 do
2130 _n_assign = node
2131 node.parent = self
2132 end
2133
2134
2135 redef fun visit_all(v: Visitor)
2136 do
2137 v.enter_visit(_n_obra)
2138 v.enter_visit(_n_cbra)
2139 v.enter_visit(_n_assign)
2140 end
2141 end
2142 redef class ASignature
2143 init init_asignature (
2144 n_opar: nullable TOpar,
2145 n_params: Collection[Object], # Should be Collection[AParam]
2146 n_cpar: nullable TCpar,
2147 n_type: nullable AType
2148 )
2149 do
2150 _n_opar = n_opar
2151 if n_opar != null then n_opar.parent = self
2152 self.n_params.unsafe_add_all(n_params)
2153 _n_cpar = n_cpar
2154 if n_cpar != null then n_cpar.parent = self
2155 _n_type = n_type
2156 if n_type != null then n_type.parent = self
2157 end
2158
2159 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2160 do
2161 if _n_opar == old_child then
2162 n_opar = new_child.as(nullable TOpar)
2163 return
2164 end
2165 if n_params.replace_child(old_child, new_child) then return
2166 if _n_cpar == old_child then
2167 n_cpar = new_child.as(nullable TCpar)
2168 return
2169 end
2170 if _n_type == old_child then
2171 n_type = new_child.as(nullable AType)
2172 return
2173 end
2174 end
2175
2176 redef fun n_opar=(node)
2177 do
2178 _n_opar = node
2179 if node != null then node.parent = self
2180 end
2181 redef fun n_cpar=(node)
2182 do
2183 _n_cpar = node
2184 if node != null then node.parent = self
2185 end
2186 redef fun n_type=(node)
2187 do
2188 _n_type = node
2189 if node != null then node.parent = self
2190 end
2191
2192
2193 redef fun visit_all(v: Visitor)
2194 do
2195 v.enter_visit(_n_opar)
2196 n_params.visit_all(v)
2197 v.enter_visit(_n_cpar)
2198 v.enter_visit(_n_type)
2199 end
2200 end
2201 redef class AParam
2202 init init_aparam (
2203 n_id: nullable TId,
2204 n_type: nullable AType,
2205 n_dotdotdot: nullable TDotdotdot,
2206 n_annotations: nullable AAnnotations
2207 )
2208 do
2209 _n_id = n_id.as(not null)
2210 n_id.parent = self
2211 _n_type = n_type
2212 if n_type != null then n_type.parent = self
2213 _n_dotdotdot = n_dotdotdot
2214 if n_dotdotdot != null then n_dotdotdot.parent = self
2215 _n_annotations = n_annotations
2216 if n_annotations != null then n_annotations.parent = self
2217 end
2218
2219 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2220 do
2221 if _n_id == old_child then
2222 n_id = new_child.as(TId)
2223 return
2224 end
2225 if _n_type == old_child then
2226 n_type = new_child.as(nullable AType)
2227 return
2228 end
2229 if _n_dotdotdot == old_child then
2230 n_dotdotdot = new_child.as(nullable TDotdotdot)
2231 return
2232 end
2233 if _n_annotations == old_child then
2234 n_annotations = new_child.as(nullable AAnnotations)
2235 return
2236 end
2237 end
2238
2239 redef fun n_id=(node)
2240 do
2241 _n_id = node
2242 node.parent = self
2243 end
2244 redef fun n_type=(node)
2245 do
2246 _n_type = node
2247 if node != null then node.parent = self
2248 end
2249 redef fun n_dotdotdot=(node)
2250 do
2251 _n_dotdotdot = node
2252 if node != null then node.parent = self
2253 end
2254 redef fun n_annotations=(node)
2255 do
2256 _n_annotations = node
2257 if node != null then node.parent = self
2258 end
2259
2260
2261 redef fun visit_all(v: Visitor)
2262 do
2263 v.enter_visit(_n_id)
2264 v.enter_visit(_n_type)
2265 v.enter_visit(_n_dotdotdot)
2266 v.enter_visit(_n_annotations)
2267 end
2268 end
2269 redef class AType
2270 init init_atype (
2271 n_kwnullable: nullable TKwnullable,
2272 n_id: nullable TClassid,
2273 n_types: Collection[Object], # Should be Collection[AType]
2274 n_annotations: nullable AAnnotations
2275 )
2276 do
2277 _n_kwnullable = n_kwnullable
2278 if n_kwnullable != null then n_kwnullable.parent = self
2279 _n_id = n_id.as(not null)
2280 n_id.parent = self
2281 self.n_types.unsafe_add_all(n_types)
2282 _n_annotations = n_annotations
2283 if n_annotations != null then n_annotations.parent = self
2284 end
2285
2286 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2287 do
2288 if _n_kwnullable == old_child then
2289 n_kwnullable = new_child.as(nullable TKwnullable)
2290 return
2291 end
2292 if _n_id == old_child then
2293 n_id = new_child.as(TClassid)
2294 return
2295 end
2296 if n_types.replace_child(old_child, new_child) then return
2297 if _n_annotations == old_child then
2298 n_annotations = new_child.as(nullable AAnnotations)
2299 return
2300 end
2301 end
2302
2303 redef fun n_kwnullable=(node)
2304 do
2305 _n_kwnullable = node
2306 if node != null then node.parent = self
2307 end
2308 redef fun n_id=(node)
2309 do
2310 _n_id = node
2311 node.parent = self
2312 end
2313 redef fun n_annotations=(node)
2314 do
2315 _n_annotations = node
2316 if node != null then node.parent = self
2317 end
2318
2319
2320 redef fun visit_all(v: Visitor)
2321 do
2322 v.enter_visit(_n_kwnullable)
2323 v.enter_visit(_n_id)
2324 n_types.visit_all(v)
2325 v.enter_visit(_n_annotations)
2326 end
2327 end
2328 redef class ALabel
2329 init init_alabel (
2330 n_kwlabel: nullable TKwlabel,
2331 n_id: nullable TId
2332 )
2333 do
2334 _n_kwlabel = n_kwlabel.as(not null)
2335 n_kwlabel.parent = self
2336 _n_id = n_id
2337 if n_id != null then n_id.parent = self
2338 end
2339
2340 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2341 do
2342 if _n_kwlabel == old_child then
2343 n_kwlabel = new_child.as(TKwlabel)
2344 return
2345 end
2346 if _n_id == old_child then
2347 n_id = new_child.as(nullable TId)
2348 return
2349 end
2350 end
2351
2352 redef fun n_kwlabel=(node)
2353 do
2354 _n_kwlabel = node
2355 node.parent = self
2356 end
2357 redef fun n_id=(node)
2358 do
2359 _n_id = node
2360 if node != null then node.parent = self
2361 end
2362
2363
2364 redef fun visit_all(v: Visitor)
2365 do
2366 v.enter_visit(_n_kwlabel)
2367 v.enter_visit(_n_id)
2368 end
2369 end
2370 redef class ABlockExpr
2371 init init_ablockexpr (
2372 n_expr: Collection[Object], # Should be Collection[AExpr]
2373 n_kwend: nullable TKwend
2374 )
2375 do
2376 self.n_expr.unsafe_add_all(n_expr)
2377 _n_kwend = n_kwend
2378 if n_kwend != null then n_kwend.parent = self
2379 end
2380
2381 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2382 do
2383 if n_expr.replace_child(old_child, new_child) then return
2384 if _n_kwend == old_child then
2385 n_kwend = new_child.as(nullable TKwend)
2386 return
2387 end
2388 end
2389
2390 redef fun n_kwend=(node)
2391 do
2392 _n_kwend = node
2393 if node != null then node.parent = self
2394 end
2395
2396
2397 redef fun visit_all(v: Visitor)
2398 do
2399 n_expr.visit_all(v)
2400 v.enter_visit(_n_kwend)
2401 end
2402 end
2403 redef class AVardeclExpr
2404 init init_avardeclexpr (
2405 n_kwvar: nullable TKwvar,
2406 n_id: nullable TId,
2407 n_type: nullable AType,
2408 n_assign: nullable TAssign,
2409 n_expr: nullable AExpr,
2410 n_annotations: nullable AAnnotations
2411 )
2412 do
2413 _n_kwvar = n_kwvar
2414 if n_kwvar != null then n_kwvar.parent = self
2415 _n_id = n_id.as(not null)
2416 n_id.parent = self
2417 _n_type = n_type
2418 if n_type != null then n_type.parent = self
2419 _n_assign = n_assign
2420 if n_assign != null then n_assign.parent = self
2421 _n_expr = n_expr
2422 if n_expr != null then n_expr.parent = self
2423 _n_annotations = n_annotations
2424 if n_annotations != null then n_annotations.parent = self
2425 end
2426
2427 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2428 do
2429 if _n_kwvar == old_child then
2430 n_kwvar = new_child.as(nullable TKwvar)
2431 return
2432 end
2433 if _n_id == old_child then
2434 n_id = new_child.as(TId)
2435 return
2436 end
2437 if _n_type == old_child then
2438 n_type = new_child.as(nullable AType)
2439 return
2440 end
2441 if _n_assign == old_child then
2442 n_assign = new_child.as(nullable TAssign)
2443 return
2444 end
2445 if _n_expr == old_child then
2446 n_expr = new_child.as(nullable AExpr)
2447 return
2448 end
2449 if _n_annotations == old_child then
2450 n_annotations = new_child.as(nullable AAnnotations)
2451 return
2452 end
2453 end
2454
2455 redef fun n_kwvar=(node)
2456 do
2457 _n_kwvar = node
2458 if node != null then node.parent = self
2459 end
2460 redef fun n_id=(node)
2461 do
2462 _n_id = node
2463 node.parent = self
2464 end
2465 redef fun n_type=(node)
2466 do
2467 _n_type = node
2468 if node != null then node.parent = self
2469 end
2470 redef fun n_assign=(node)
2471 do
2472 _n_assign = node
2473 if node != null then node.parent = self
2474 end
2475 redef fun n_expr=(node)
2476 do
2477 _n_expr = node
2478 if node != null then node.parent = self
2479 end
2480 redef fun n_annotations=(node)
2481 do
2482 _n_annotations = node
2483 if node != null then node.parent = self
2484 end
2485
2486
2487 redef fun visit_all(v: Visitor)
2488 do
2489 v.enter_visit(_n_kwvar)
2490 v.enter_visit(_n_id)
2491 v.enter_visit(_n_type)
2492 v.enter_visit(_n_assign)
2493 v.enter_visit(_n_expr)
2494 v.enter_visit(_n_annotations)
2495 end
2496 end
2497 redef class AReturnExpr
2498 init init_areturnexpr (
2499 n_kwreturn: nullable TKwreturn,
2500 n_expr: nullable AExpr
2501 )
2502 do
2503 _n_kwreturn = n_kwreturn
2504 if n_kwreturn != null then n_kwreturn.parent = self
2505 _n_expr = n_expr
2506 if n_expr != null then n_expr.parent = self
2507 end
2508
2509 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2510 do
2511 if _n_kwreturn == old_child then
2512 n_kwreturn = new_child.as(nullable TKwreturn)
2513 return
2514 end
2515 if _n_expr == old_child then
2516 n_expr = new_child.as(nullable AExpr)
2517 return
2518 end
2519 end
2520
2521 redef fun n_kwreturn=(node)
2522 do
2523 _n_kwreturn = node
2524 if node != null then node.parent = self
2525 end
2526 redef fun n_expr=(node)
2527 do
2528 _n_expr = node
2529 if node != null then node.parent = self
2530 end
2531
2532
2533 redef fun visit_all(v: Visitor)
2534 do
2535 v.enter_visit(_n_kwreturn)
2536 v.enter_visit(_n_expr)
2537 end
2538 end
2539 redef class ABreakExpr
2540 init init_abreakexpr (
2541 n_kwbreak: nullable TKwbreak,
2542 n_label: nullable ALabel
2543 )
2544 do
2545 _n_kwbreak = n_kwbreak.as(not null)
2546 n_kwbreak.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_kwbreak == old_child then
2554 n_kwbreak = new_child.as(TKwbreak)
2555 return
2556 end
2557 if _n_label == old_child then
2558 n_label = new_child.as(nullable ALabel)
2559 return
2560 end
2561 end
2562
2563 redef fun n_kwbreak=(node)
2564 do
2565 _n_kwbreak = node
2566 node.parent = self
2567 end
2568 redef fun n_label=(node)
2569 do
2570 _n_label = node
2571 if node != null then node.parent = self
2572 end
2573
2574
2575 redef fun visit_all(v: Visitor)
2576 do
2577 v.enter_visit(_n_kwbreak)
2578 v.enter_visit(_n_label)
2579 end
2580 end
2581 redef class AAbortExpr
2582 init init_aabortexpr (
2583 n_kwabort: nullable TKwabort
2584 )
2585 do
2586 _n_kwabort = n_kwabort.as(not null)
2587 n_kwabort.parent = self
2588 end
2589
2590 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2591 do
2592 if _n_kwabort == old_child then
2593 n_kwabort = new_child.as(TKwabort)
2594 return
2595 end
2596 end
2597
2598 redef fun n_kwabort=(node)
2599 do
2600 _n_kwabort = node
2601 node.parent = self
2602 end
2603
2604
2605 redef fun visit_all(v: Visitor)
2606 do
2607 v.enter_visit(_n_kwabort)
2608 end
2609 end
2610 redef class AContinueExpr
2611 init init_acontinueexpr (
2612 n_kwcontinue: nullable TKwcontinue,
2613 n_label: nullable ALabel
2614 )
2615 do
2616 _n_kwcontinue = n_kwcontinue
2617 if n_kwcontinue != null then n_kwcontinue.parent = self
2618 _n_label = n_label
2619 if n_label != null then n_label.parent = self
2620 end
2621
2622 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2623 do
2624 if _n_kwcontinue == old_child then
2625 n_kwcontinue = new_child.as(nullable TKwcontinue)
2626 return
2627 end
2628 if _n_label == old_child then
2629 n_label = new_child.as(nullable ALabel)
2630 return
2631 end
2632 end
2633
2634 redef fun n_kwcontinue=(node)
2635 do
2636 _n_kwcontinue = node
2637 if node != null then node.parent = self
2638 end
2639 redef fun n_label=(node)
2640 do
2641 _n_label = node
2642 if node != null then node.parent = self
2643 end
2644
2645
2646 redef fun visit_all(v: Visitor)
2647 do
2648 v.enter_visit(_n_kwcontinue)
2649 v.enter_visit(_n_label)
2650 end
2651 end
2652 redef class ADoExpr
2653 init init_adoexpr (
2654 n_kwdo: nullable TKwdo,
2655 n_block: nullable AExpr,
2656 n_label: nullable ALabel
2657 )
2658 do
2659 _n_kwdo = n_kwdo.as(not null)
2660 n_kwdo.parent = self
2661 _n_block = n_block
2662 if n_block != null then n_block.parent = self
2663 _n_label = n_label
2664 if n_label != null then n_label.parent = self
2665 end
2666
2667 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2668 do
2669 if _n_kwdo == old_child then
2670 n_kwdo = new_child.as(TKwdo)
2671 return
2672 end
2673 if _n_block == old_child then
2674 n_block = new_child.as(nullable AExpr)
2675 return
2676 end
2677 if _n_label == old_child then
2678 n_label = new_child.as(nullable ALabel)
2679 return
2680 end
2681 end
2682
2683 redef fun n_kwdo=(node)
2684 do
2685 _n_kwdo = node
2686 node.parent = self
2687 end
2688 redef fun n_block=(node)
2689 do
2690 _n_block = node
2691 if node != null then node.parent = self
2692 end
2693 redef fun n_label=(node)
2694 do
2695 _n_label = node
2696 if node != null then node.parent = self
2697 end
2698
2699
2700 redef fun visit_all(v: Visitor)
2701 do
2702 v.enter_visit(_n_kwdo)
2703 v.enter_visit(_n_block)
2704 v.enter_visit(_n_label)
2705 end
2706 end
2707 redef class AIfExpr
2708 init init_aifexpr (
2709 n_kwif: nullable TKwif,
2710 n_expr: nullable AExpr,
2711 n_then: nullable AExpr,
2712 n_else: nullable AExpr
2713 )
2714 do
2715 _n_kwif = n_kwif.as(not null)
2716 n_kwif.parent = self
2717 _n_expr = n_expr.as(not null)
2718 n_expr.parent = self
2719 _n_then = n_then
2720 if n_then != null then n_then.parent = self
2721 _n_else = n_else
2722 if n_else != null then n_else.parent = self
2723 end
2724
2725 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2726 do
2727 if _n_kwif == old_child then
2728 n_kwif = new_child.as(TKwif)
2729 return
2730 end
2731 if _n_expr == old_child then
2732 n_expr = new_child.as(AExpr)
2733 return
2734 end
2735 if _n_then == old_child then
2736 n_then = new_child.as(nullable AExpr)
2737 return
2738 end
2739 if _n_else == old_child then
2740 n_else = new_child.as(nullable AExpr)
2741 return
2742 end
2743 end
2744
2745 redef fun n_kwif=(node)
2746 do
2747 _n_kwif = node
2748 node.parent = self
2749 end
2750 redef fun n_expr=(node)
2751 do
2752 _n_expr = node
2753 node.parent = self
2754 end
2755 redef fun n_then=(node)
2756 do
2757 _n_then = node
2758 if node != null then node.parent = self
2759 end
2760 redef fun n_else=(node)
2761 do
2762 _n_else = node
2763 if node != null then node.parent = self
2764 end
2765
2766
2767 redef fun visit_all(v: Visitor)
2768 do
2769 v.enter_visit(_n_kwif)
2770 v.enter_visit(_n_expr)
2771 v.enter_visit(_n_then)
2772 v.enter_visit(_n_else)
2773 end
2774 end
2775 redef class AIfexprExpr
2776 init init_aifexprexpr (
2777 n_kwif: nullable TKwif,
2778 n_expr: nullable AExpr,
2779 n_kwthen: nullable TKwthen,
2780 n_then: nullable AExpr,
2781 n_kwelse: nullable TKwelse,
2782 n_else: nullable AExpr
2783 )
2784 do
2785 _n_kwif = n_kwif.as(not null)
2786 n_kwif.parent = self
2787 _n_expr = n_expr.as(not null)
2788 n_expr.parent = self
2789 _n_kwthen = n_kwthen.as(not null)
2790 n_kwthen.parent = self
2791 _n_then = n_then.as(not null)
2792 n_then.parent = self
2793 _n_kwelse = n_kwelse.as(not null)
2794 n_kwelse.parent = self
2795 _n_else = n_else.as(not null)
2796 n_else.parent = self
2797 end
2798
2799 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2800 do
2801 if _n_kwif == old_child then
2802 n_kwif = new_child.as(TKwif)
2803 return
2804 end
2805 if _n_expr == old_child then
2806 n_expr = new_child.as(AExpr)
2807 return
2808 end
2809 if _n_kwthen == old_child then
2810 n_kwthen = new_child.as(TKwthen)
2811 return
2812 end
2813 if _n_then == old_child then
2814 n_then = new_child.as(AExpr)
2815 return
2816 end
2817 if _n_kwelse == old_child then
2818 n_kwelse = new_child.as(TKwelse)
2819 return
2820 end
2821 if _n_else == old_child then
2822 n_else = new_child.as(AExpr)
2823 return
2824 end
2825 end
2826
2827 redef fun n_kwif=(node)
2828 do
2829 _n_kwif = node
2830 node.parent = self
2831 end
2832 redef fun n_expr=(node)
2833 do
2834 _n_expr = node
2835 node.parent = self
2836 end
2837 redef fun n_kwthen=(node)
2838 do
2839 _n_kwthen = node
2840 node.parent = self
2841 end
2842 redef fun n_then=(node)
2843 do
2844 _n_then = node
2845 node.parent = self
2846 end
2847 redef fun n_kwelse=(node)
2848 do
2849 _n_kwelse = node
2850 node.parent = self
2851 end
2852 redef fun n_else=(node)
2853 do
2854 _n_else = node
2855 node.parent = self
2856 end
2857
2858
2859 redef fun visit_all(v: Visitor)
2860 do
2861 v.enter_visit(_n_kwif)
2862 v.enter_visit(_n_expr)
2863 v.enter_visit(_n_kwthen)
2864 v.enter_visit(_n_then)
2865 v.enter_visit(_n_kwelse)
2866 v.enter_visit(_n_else)
2867 end
2868 end
2869 redef class AWhileExpr
2870 init init_awhileexpr (
2871 n_kwwhile: nullable TKwwhile,
2872 n_expr: nullable AExpr,
2873 n_kwdo: nullable TKwdo,
2874 n_block: nullable AExpr,
2875 n_label: nullable ALabel
2876 )
2877 do
2878 _n_kwwhile = n_kwwhile.as(not null)
2879 n_kwwhile.parent = self
2880 _n_expr = n_expr.as(not null)
2881 n_expr.parent = self
2882 _n_kwdo = n_kwdo.as(not null)
2883 n_kwdo.parent = self
2884 _n_block = n_block
2885 if n_block != null then n_block.parent = self
2886 _n_label = n_label
2887 if n_label != null then n_label.parent = self
2888 end
2889
2890 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2891 do
2892 if _n_kwwhile == old_child then
2893 n_kwwhile = new_child.as(TKwwhile)
2894 return
2895 end
2896 if _n_expr == old_child then
2897 n_expr = new_child.as(AExpr)
2898 return
2899 end
2900 if _n_kwdo == old_child then
2901 n_kwdo = new_child.as(TKwdo)
2902 return
2903 end
2904 if _n_block == old_child then
2905 n_block = new_child.as(nullable AExpr)
2906 return
2907 end
2908 if _n_label == old_child then
2909 n_label = new_child.as(nullable ALabel)
2910 return
2911 end
2912 end
2913
2914 redef fun n_kwwhile=(node)
2915 do
2916 _n_kwwhile = node
2917 node.parent = self
2918 end
2919 redef fun n_expr=(node)
2920 do
2921 _n_expr = node
2922 node.parent = self
2923 end
2924 redef fun n_kwdo=(node)
2925 do
2926 _n_kwdo = node
2927 node.parent = self
2928 end
2929 redef fun n_block=(node)
2930 do
2931 _n_block = node
2932 if node != null then node.parent = self
2933 end
2934 redef fun n_label=(node)
2935 do
2936 _n_label = node
2937 if node != null then node.parent = self
2938 end
2939
2940
2941 redef fun visit_all(v: Visitor)
2942 do
2943 v.enter_visit(_n_kwwhile)
2944 v.enter_visit(_n_expr)
2945 v.enter_visit(_n_kwdo)
2946 v.enter_visit(_n_block)
2947 v.enter_visit(_n_label)
2948 end
2949 end
2950 redef class ALoopExpr
2951 init init_aloopexpr (
2952 n_kwloop: nullable TKwloop,
2953 n_block: nullable AExpr,
2954 n_label: nullable ALabel
2955 )
2956 do
2957 _n_kwloop = n_kwloop.as(not null)
2958 n_kwloop.parent = self
2959 _n_block = n_block
2960 if n_block != null then n_block.parent = self
2961 _n_label = n_label
2962 if n_label != null then n_label.parent = self
2963 end
2964
2965 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
2966 do
2967 if _n_kwloop == old_child then
2968 n_kwloop = new_child.as(TKwloop)
2969 return
2970 end
2971 if _n_block == old_child then
2972 n_block = new_child.as(nullable AExpr)
2973 return
2974 end
2975 if _n_label == old_child then
2976 n_label = new_child.as(nullable ALabel)
2977 return
2978 end
2979 end
2980
2981 redef fun n_kwloop=(node)
2982 do
2983 _n_kwloop = node
2984 node.parent = self
2985 end
2986 redef fun n_block=(node)
2987 do
2988 _n_block = node
2989 if node != null then node.parent = self
2990 end
2991 redef fun n_label=(node)
2992 do
2993 _n_label = node
2994 if node != null then node.parent = self
2995 end
2996
2997
2998 redef fun visit_all(v: Visitor)
2999 do
3000 v.enter_visit(_n_kwloop)
3001 v.enter_visit(_n_block)
3002 v.enter_visit(_n_label)
3003 end
3004 end
3005 redef class AForExpr
3006 init init_aforexpr (
3007 n_kwfor: nullable TKwfor,
3008 n_ids: Collection[Object], # Should be Collection[TId]
3009 n_expr: nullable AExpr,
3010 n_kwdo: nullable TKwdo,
3011 n_block: nullable AExpr,
3012 n_label: nullable ALabel
3013 )
3014 do
3015 _n_kwfor = n_kwfor.as(not null)
3016 n_kwfor.parent = self
3017 self.n_ids.unsafe_add_all(n_ids)
3018 _n_expr = n_expr.as(not null)
3019 n_expr.parent = self
3020 _n_kwdo = n_kwdo.as(not null)
3021 n_kwdo.parent = self
3022 _n_block = n_block
3023 if n_block != null then n_block.parent = self
3024 _n_label = n_label
3025 if n_label != null then n_label.parent = self
3026 end
3027
3028 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3029 do
3030 if _n_kwfor == old_child then
3031 n_kwfor = new_child.as(TKwfor)
3032 return
3033 end
3034 if n_ids.replace_child(old_child, new_child) then return
3035 if _n_expr == old_child then
3036 n_expr = new_child.as(AExpr)
3037 return
3038 end
3039 if _n_kwdo == old_child then
3040 n_kwdo = new_child.as(TKwdo)
3041 return
3042 end
3043 if _n_block == old_child then
3044 n_block = new_child.as(nullable AExpr)
3045 return
3046 end
3047 if _n_label == old_child then
3048 n_label = new_child.as(nullable ALabel)
3049 return
3050 end
3051 end
3052
3053 redef fun n_kwfor=(node)
3054 do
3055 _n_kwfor = node
3056 node.parent = self
3057 end
3058 redef fun n_expr=(node)
3059 do
3060 _n_expr = node
3061 node.parent = self
3062 end
3063 redef fun n_kwdo=(node)
3064 do
3065 _n_kwdo = node
3066 node.parent = self
3067 end
3068 redef fun n_block=(node)
3069 do
3070 _n_block = node
3071 if node != null then node.parent = self
3072 end
3073 redef fun n_label=(node)
3074 do
3075 _n_label = node
3076 if node != null then node.parent = self
3077 end
3078
3079
3080 redef fun visit_all(v: Visitor)
3081 do
3082 v.enter_visit(_n_kwfor)
3083 n_ids.visit_all(v)
3084 v.enter_visit(_n_expr)
3085 v.enter_visit(_n_kwdo)
3086 v.enter_visit(_n_block)
3087 v.enter_visit(_n_label)
3088 end
3089 end
3090 redef class AWithExpr
3091 init init_awithexpr (
3092 n_kwwith: nullable TKwwith,
3093 n_expr: nullable AExpr,
3094 n_kwdo: nullable TKwdo,
3095 n_block: nullable AExpr,
3096 n_label: nullable ALabel
3097 )
3098 do
3099 _n_kwwith = n_kwwith.as(not null)
3100 n_kwwith.parent = self
3101 _n_expr = n_expr.as(not null)
3102 n_expr.parent = self
3103 _n_kwdo = n_kwdo.as(not null)
3104 n_kwdo.parent = self
3105 _n_block = n_block
3106 if n_block != null then n_block.parent = self
3107 _n_label = n_label
3108 if n_label != null then n_label.parent = self
3109 end
3110
3111 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3112 do
3113 if _n_kwwith == old_child then
3114 n_kwwith = new_child.as(TKwwith)
3115 return
3116 end
3117 if _n_expr == old_child then
3118 n_expr = new_child.as(AExpr)
3119 return
3120 end
3121 if _n_kwdo == old_child then
3122 n_kwdo = new_child.as(TKwdo)
3123 return
3124 end
3125 if _n_block == old_child then
3126 n_block = new_child.as(nullable AExpr)
3127 return
3128 end
3129 if _n_label == old_child then
3130 n_label = new_child.as(nullable ALabel)
3131 return
3132 end
3133 end
3134
3135 redef fun n_kwwith=(node)
3136 do
3137 _n_kwwith = node
3138 node.parent = self
3139 end
3140 redef fun n_expr=(node)
3141 do
3142 _n_expr = node
3143 node.parent = self
3144 end
3145 redef fun n_kwdo=(node)
3146 do
3147 _n_kwdo = node
3148 node.parent = self
3149 end
3150 redef fun n_block=(node)
3151 do
3152 _n_block = node
3153 if node != null then node.parent = self
3154 end
3155 redef fun n_label=(node)
3156 do
3157 _n_label = node
3158 if node != null then node.parent = self
3159 end
3160
3161
3162 redef fun visit_all(v: Visitor)
3163 do
3164 v.enter_visit(_n_kwwith)
3165 v.enter_visit(_n_expr)
3166 v.enter_visit(_n_kwdo)
3167 v.enter_visit(_n_block)
3168 v.enter_visit(_n_label)
3169 end
3170 end
3171 redef class AAssertExpr
3172 init init_aassertexpr (
3173 n_kwassert: nullable TKwassert,
3174 n_id: nullable TId,
3175 n_expr: nullable AExpr,
3176 n_else: nullable AExpr
3177 )
3178 do
3179 _n_kwassert = n_kwassert.as(not null)
3180 n_kwassert.parent = self
3181 _n_id = n_id
3182 if n_id != null then n_id.parent = self
3183 _n_expr = n_expr.as(not null)
3184 n_expr.parent = self
3185 _n_else = n_else
3186 if n_else != null then n_else.parent = self
3187 end
3188
3189 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3190 do
3191 if _n_kwassert == old_child then
3192 n_kwassert = new_child.as(TKwassert)
3193 return
3194 end
3195 if _n_id == old_child then
3196 n_id = new_child.as(nullable TId)
3197 return
3198 end
3199 if _n_expr == old_child then
3200 n_expr = new_child.as(AExpr)
3201 return
3202 end
3203 if _n_else == old_child then
3204 n_else = new_child.as(nullable AExpr)
3205 return
3206 end
3207 end
3208
3209 redef fun n_kwassert=(node)
3210 do
3211 _n_kwassert = node
3212 node.parent = self
3213 end
3214 redef fun n_id=(node)
3215 do
3216 _n_id = node
3217 if node != null then node.parent = self
3218 end
3219 redef fun n_expr=(node)
3220 do
3221 _n_expr = node
3222 node.parent = self
3223 end
3224 redef fun n_else=(node)
3225 do
3226 _n_else = node
3227 if node != null then node.parent = self
3228 end
3229
3230
3231 redef fun visit_all(v: Visitor)
3232 do
3233 v.enter_visit(_n_kwassert)
3234 v.enter_visit(_n_id)
3235 v.enter_visit(_n_expr)
3236 v.enter_visit(_n_else)
3237 end
3238 end
3239 redef class AOnceExpr
3240 init init_aonceexpr (
3241 n_kwonce: nullable TKwonce,
3242 n_expr: nullable AExpr
3243 )
3244 do
3245 _n_kwonce = n_kwonce.as(not null)
3246 n_kwonce.parent = self
3247 _n_expr = n_expr.as(not null)
3248 n_expr.parent = self
3249 end
3250
3251 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3252 do
3253 if _n_kwonce == old_child then
3254 n_kwonce = new_child.as(TKwonce)
3255 return
3256 end
3257 if _n_expr == old_child then
3258 n_expr = new_child.as(AExpr)
3259 return
3260 end
3261 end
3262
3263 redef fun n_kwonce=(node)
3264 do
3265 _n_kwonce = node
3266 node.parent = self
3267 end
3268 redef fun n_expr=(node)
3269 do
3270 _n_expr = node
3271 node.parent = self
3272 end
3273
3274
3275 redef fun visit_all(v: Visitor)
3276 do
3277 v.enter_visit(_n_kwonce)
3278 v.enter_visit(_n_expr)
3279 end
3280 end
3281 redef class ASendExpr
3282 init init_asendexpr (
3283 n_expr: nullable AExpr
3284 )
3285 do
3286 _n_expr = n_expr.as(not null)
3287 n_expr.parent = self
3288 end
3289
3290 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3291 do
3292 if _n_expr == old_child then
3293 n_expr = new_child.as(AExpr)
3294 return
3295 end
3296 end
3297
3298 redef fun n_expr=(node)
3299 do
3300 _n_expr = node
3301 node.parent = self
3302 end
3303
3304
3305 redef fun visit_all(v: Visitor)
3306 do
3307 v.enter_visit(_n_expr)
3308 end
3309 end
3310 redef class ABinopExpr
3311 init init_abinopexpr (
3312 n_expr: nullable AExpr,
3313 n_expr2: nullable AExpr
3314 )
3315 do
3316 _n_expr = n_expr.as(not null)
3317 n_expr.parent = self
3318 _n_expr2 = n_expr2.as(not null)
3319 n_expr2.parent = self
3320 end
3321
3322 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3323 do
3324 if _n_expr == old_child then
3325 n_expr = new_child.as(AExpr)
3326 return
3327 end
3328 if _n_expr2 == old_child then
3329 n_expr2 = new_child.as(AExpr)
3330 return
3331 end
3332 end
3333
3334 redef fun n_expr=(node)
3335 do
3336 _n_expr = node
3337 node.parent = self
3338 end
3339 redef fun n_expr2=(node)
3340 do
3341 _n_expr2 = node
3342 node.parent = self
3343 end
3344
3345
3346 redef fun visit_all(v: Visitor)
3347 do
3348 v.enter_visit(_n_expr)
3349 v.enter_visit(_n_expr2)
3350 end
3351 end
3352 redef class AOrExpr
3353 init init_aorexpr (
3354 n_expr: nullable AExpr,
3355 n_op: nullable TKwor,
3356 n_expr2: nullable AExpr
3357 )
3358 do
3359 _n_expr = n_expr.as(not null)
3360 n_expr.parent = self
3361 _n_op = n_op.as(not null)
3362 n_op.parent = self
3363 _n_expr2 = n_expr2.as(not null)
3364 n_expr2.parent = self
3365 end
3366
3367 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3368 do
3369 if _n_expr == old_child then
3370 n_expr = new_child.as(AExpr)
3371 return
3372 end
3373 if _n_op == old_child then
3374 n_op = new_child.as(TKwor)
3375 return
3376 end
3377 if _n_expr2 == old_child then
3378 n_expr2 = new_child.as(AExpr)
3379 return
3380 end
3381 end
3382
3383 redef fun n_expr=(node)
3384 do
3385 _n_expr = node
3386 node.parent = self
3387 end
3388 redef fun n_op=(node)
3389 do
3390 _n_op = node
3391 node.parent = self
3392 end
3393 redef fun n_expr2=(node)
3394 do
3395 _n_expr2 = node
3396 node.parent = self
3397 end
3398
3399
3400 redef fun visit_all(v: Visitor)
3401 do
3402 v.enter_visit(_n_expr)
3403 v.enter_visit(_n_op)
3404 v.enter_visit(_n_expr2)
3405 end
3406 end
3407 redef class AAndExpr
3408 init init_aandexpr (
3409 n_expr: nullable AExpr,
3410 n_op: nullable TKwand,
3411 n_expr2: nullable AExpr
3412 )
3413 do
3414 _n_expr = n_expr.as(not null)
3415 n_expr.parent = self
3416 _n_op = n_op.as(not null)
3417 n_op.parent = self
3418 _n_expr2 = n_expr2.as(not null)
3419 n_expr2.parent = self
3420 end
3421
3422 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3423 do
3424 if _n_expr == old_child then
3425 n_expr = new_child.as(AExpr)
3426 return
3427 end
3428 if _n_op == old_child then
3429 n_op = new_child.as(TKwand)
3430 return
3431 end
3432 if _n_expr2 == old_child then
3433 n_expr2 = new_child.as(AExpr)
3434 return
3435 end
3436 end
3437
3438 redef fun n_expr=(node)
3439 do
3440 _n_expr = node
3441 node.parent = self
3442 end
3443 redef fun n_op=(node)
3444 do
3445 _n_op = node
3446 node.parent = self
3447 end
3448 redef fun n_expr2=(node)
3449 do
3450 _n_expr2 = node
3451 node.parent = self
3452 end
3453
3454
3455 redef fun visit_all(v: Visitor)
3456 do
3457 v.enter_visit(_n_expr)
3458 v.enter_visit(_n_op)
3459 v.enter_visit(_n_expr2)
3460 end
3461 end
3462 redef class AOrElseExpr
3463 init init_aorelseexpr (
3464 n_expr: nullable AExpr,
3465 n_op: nullable TKwor,
3466 n_kwelse: nullable TKwelse,
3467 n_expr2: nullable AExpr
3468 )
3469 do
3470 _n_expr = n_expr.as(not null)
3471 n_expr.parent = self
3472 _n_op = n_op.as(not null)
3473 n_op.parent = self
3474 _n_kwelse = n_kwelse.as(not null)
3475 n_kwelse.parent = self
3476 _n_expr2 = n_expr2.as(not null)
3477 n_expr2.parent = self
3478 end
3479
3480 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3481 do
3482 if _n_expr == old_child then
3483 n_expr = new_child.as(AExpr)
3484 return
3485 end
3486 if _n_op == old_child then
3487 n_op = new_child.as(TKwor)
3488 return
3489 end
3490 if _n_kwelse == old_child then
3491 n_kwelse = new_child.as(TKwelse)
3492 return
3493 end
3494 if _n_expr2 == old_child then
3495 n_expr2 = new_child.as(AExpr)
3496 return
3497 end
3498 end
3499
3500 redef fun n_expr=(node)
3501 do
3502 _n_expr = node
3503 node.parent = self
3504 end
3505 redef fun n_op=(node)
3506 do
3507 _n_op = node
3508 node.parent = self
3509 end
3510 redef fun n_kwelse=(node)
3511 do
3512 _n_kwelse = node
3513 node.parent = self
3514 end
3515 redef fun n_expr2=(node)
3516 do
3517 _n_expr2 = node
3518 node.parent = self
3519 end
3520
3521
3522 redef fun visit_all(v: Visitor)
3523 do
3524 v.enter_visit(_n_expr)
3525 v.enter_visit(_n_op)
3526 v.enter_visit(_n_kwelse)
3527 v.enter_visit(_n_expr2)
3528 end
3529 end
3530 redef class AImpliesExpr
3531 init init_aimpliesexpr (
3532 n_expr: nullable AExpr,
3533 n_op: nullable TKwimplies,
3534 n_expr2: nullable AExpr
3535 )
3536 do
3537 _n_expr = n_expr.as(not null)
3538 n_expr.parent = self
3539 _n_op = n_op.as(not null)
3540 n_op.parent = self
3541 _n_expr2 = n_expr2.as(not null)
3542 n_expr2.parent = self
3543 end
3544
3545 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3546 do
3547 if _n_expr == old_child then
3548 n_expr = new_child.as(AExpr)
3549 return
3550 end
3551 if _n_op == old_child then
3552 n_op = new_child.as(TKwimplies)
3553 return
3554 end
3555 if _n_expr2 == old_child then
3556 n_expr2 = new_child.as(AExpr)
3557 return
3558 end
3559 end
3560
3561 redef fun n_expr=(node)
3562 do
3563 _n_expr = node
3564 node.parent = self
3565 end
3566 redef fun n_op=(node)
3567 do
3568 _n_op = node
3569 node.parent = self
3570 end
3571 redef fun n_expr2=(node)
3572 do
3573 _n_expr2 = node
3574 node.parent = self
3575 end
3576
3577
3578 redef fun visit_all(v: Visitor)
3579 do
3580 v.enter_visit(_n_expr)
3581 v.enter_visit(_n_op)
3582 v.enter_visit(_n_expr2)
3583 end
3584 end
3585 redef class ANotExpr
3586 init init_anotexpr (
3587 n_kwnot: nullable TKwnot,
3588 n_expr: nullable AExpr
3589 )
3590 do
3591 _n_kwnot = n_kwnot.as(not null)
3592 n_kwnot.parent = self
3593 _n_expr = n_expr.as(not null)
3594 n_expr.parent = self
3595 end
3596
3597 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3598 do
3599 if _n_kwnot == old_child then
3600 n_kwnot = new_child.as(TKwnot)
3601 return
3602 end
3603 if _n_expr == old_child then
3604 n_expr = new_child.as(AExpr)
3605 return
3606 end
3607 end
3608
3609 redef fun n_kwnot=(node)
3610 do
3611 _n_kwnot = node
3612 node.parent = self
3613 end
3614 redef fun n_expr=(node)
3615 do
3616 _n_expr = node
3617 node.parent = self
3618 end
3619
3620
3621 redef fun visit_all(v: Visitor)
3622 do
3623 v.enter_visit(_n_kwnot)
3624 v.enter_visit(_n_expr)
3625 end
3626 end
3627 redef class AEqExpr
3628 init init_aeqexpr (
3629 n_expr: nullable AExpr,
3630 n_op: nullable TEq,
3631 n_expr2: nullable AExpr
3632 )
3633 do
3634 _n_expr = n_expr.as(not null)
3635 n_expr.parent = self
3636 _n_op = n_op.as(not null)
3637 n_op.parent = self
3638 _n_expr2 = n_expr2.as(not null)
3639 n_expr2.parent = self
3640 end
3641
3642 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3643 do
3644 if _n_expr == old_child then
3645 n_expr = new_child.as(AExpr)
3646 return
3647 end
3648 if _n_op == old_child then
3649 n_op = new_child.as(TEq)
3650 return
3651 end
3652 if _n_expr2 == old_child then
3653 n_expr2 = new_child.as(AExpr)
3654 return
3655 end
3656 end
3657
3658 redef fun n_expr=(node)
3659 do
3660 _n_expr = node
3661 node.parent = self
3662 end
3663 redef fun n_op=(node)
3664 do
3665 _n_op = node
3666 node.parent = self
3667 end
3668 redef fun n_expr2=(node)
3669 do
3670 _n_expr2 = node
3671 node.parent = self
3672 end
3673
3674
3675 redef fun visit_all(v: Visitor)
3676 do
3677 v.enter_visit(_n_expr)
3678 v.enter_visit(_n_op)
3679 v.enter_visit(_n_expr2)
3680 end
3681 end
3682 redef class ANeExpr
3683 init init_aneexpr (
3684 n_expr: nullable AExpr,
3685 n_op: nullable TNe,
3686 n_expr2: nullable AExpr
3687 )
3688 do
3689 _n_expr = n_expr.as(not null)
3690 n_expr.parent = self
3691 _n_op = n_op.as(not null)
3692 n_op.parent = self
3693 _n_expr2 = n_expr2.as(not null)
3694 n_expr2.parent = self
3695 end
3696
3697 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3698 do
3699 if _n_expr == old_child then
3700 n_expr = new_child.as(AExpr)
3701 return
3702 end
3703 if _n_op == old_child then
3704 n_op = new_child.as(TNe)
3705 return
3706 end
3707 if _n_expr2 == old_child then
3708 n_expr2 = new_child.as(AExpr)
3709 return
3710 end
3711 end
3712
3713 redef fun n_expr=(node)
3714 do
3715 _n_expr = node
3716 node.parent = self
3717 end
3718 redef fun n_op=(node)
3719 do
3720 _n_op = node
3721 node.parent = self
3722 end
3723 redef fun n_expr2=(node)
3724 do
3725 _n_expr2 = node
3726 node.parent = self
3727 end
3728
3729
3730 redef fun visit_all(v: Visitor)
3731 do
3732 v.enter_visit(_n_expr)
3733 v.enter_visit(_n_op)
3734 v.enter_visit(_n_expr2)
3735 end
3736 end
3737 redef class ALtExpr
3738 init init_altexpr (
3739 n_expr: nullable AExpr,
3740 n_op: nullable TLt,
3741 n_expr2: nullable AExpr
3742 )
3743 do
3744 _n_expr = n_expr.as(not null)
3745 n_expr.parent = self
3746 _n_op = n_op.as(not null)
3747 n_op.parent = self
3748 _n_expr2 = n_expr2.as(not null)
3749 n_expr2.parent = self
3750 end
3751
3752 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3753 do
3754 if _n_expr == old_child then
3755 n_expr = new_child.as(AExpr)
3756 return
3757 end
3758 if _n_op == old_child then
3759 n_op = new_child.as(TLt)
3760 return
3761 end
3762 if _n_expr2 == old_child then
3763 n_expr2 = new_child.as(AExpr)
3764 return
3765 end
3766 end
3767
3768 redef fun n_expr=(node)
3769 do
3770 _n_expr = node
3771 node.parent = self
3772 end
3773 redef fun n_op=(node)
3774 do
3775 _n_op = node
3776 node.parent = self
3777 end
3778 redef fun n_expr2=(node)
3779 do
3780 _n_expr2 = node
3781 node.parent = self
3782 end
3783
3784
3785 redef fun visit_all(v: Visitor)
3786 do
3787 v.enter_visit(_n_expr)
3788 v.enter_visit(_n_op)
3789 v.enter_visit(_n_expr2)
3790 end
3791 end
3792 redef class ALeExpr
3793 init init_aleexpr (
3794 n_expr: nullable AExpr,
3795 n_op: nullable TLe,
3796 n_expr2: nullable AExpr
3797 )
3798 do
3799 _n_expr = n_expr.as(not null)
3800 n_expr.parent = self
3801 _n_op = n_op.as(not null)
3802 n_op.parent = self
3803 _n_expr2 = n_expr2.as(not null)
3804 n_expr2.parent = self
3805 end
3806
3807 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3808 do
3809 if _n_expr == old_child then
3810 n_expr = new_child.as(AExpr)
3811 return
3812 end
3813 if _n_op == old_child then
3814 n_op = new_child.as(TLe)
3815 return
3816 end
3817 if _n_expr2 == old_child then
3818 n_expr2 = new_child.as(AExpr)
3819 return
3820 end
3821 end
3822
3823 redef fun n_expr=(node)
3824 do
3825 _n_expr = node
3826 node.parent = self
3827 end
3828 redef fun n_op=(node)
3829 do
3830 _n_op = node
3831 node.parent = self
3832 end
3833 redef fun n_expr2=(node)
3834 do
3835 _n_expr2 = node
3836 node.parent = self
3837 end
3838
3839
3840 redef fun visit_all(v: Visitor)
3841 do
3842 v.enter_visit(_n_expr)
3843 v.enter_visit(_n_op)
3844 v.enter_visit(_n_expr2)
3845 end
3846 end
3847 redef class ALlExpr
3848 init init_allexpr (
3849 n_expr: nullable AExpr,
3850 n_op: nullable TLl,
3851 n_expr2: nullable AExpr
3852 )
3853 do
3854 _n_expr = n_expr.as(not null)
3855 n_expr.parent = self
3856 _n_op = n_op.as(not null)
3857 n_op.parent = self
3858 _n_expr2 = n_expr2.as(not null)
3859 n_expr2.parent = self
3860 end
3861
3862 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3863 do
3864 if _n_expr == old_child then
3865 n_expr = new_child.as(AExpr)
3866 return
3867 end
3868 if _n_op == old_child then
3869 n_op = new_child.as(TLl)
3870 return
3871 end
3872 if _n_expr2 == old_child then
3873 n_expr2 = new_child.as(AExpr)
3874 return
3875 end
3876 end
3877
3878 redef fun n_expr=(node)
3879 do
3880 _n_expr = node
3881 node.parent = self
3882 end
3883 redef fun n_op=(node)
3884 do
3885 _n_op = node
3886 node.parent = self
3887 end
3888 redef fun n_expr2=(node)
3889 do
3890 _n_expr2 = node
3891 node.parent = self
3892 end
3893
3894
3895 redef fun visit_all(v: Visitor)
3896 do
3897 v.enter_visit(_n_expr)
3898 v.enter_visit(_n_op)
3899 v.enter_visit(_n_expr2)
3900 end
3901 end
3902 redef class AGtExpr
3903 init init_agtexpr (
3904 n_expr: nullable AExpr,
3905 n_op: nullable TGt,
3906 n_expr2: nullable AExpr
3907 )
3908 do
3909 _n_expr = n_expr.as(not null)
3910 n_expr.parent = self
3911 _n_op = n_op.as(not null)
3912 n_op.parent = self
3913 _n_expr2 = n_expr2.as(not null)
3914 n_expr2.parent = self
3915 end
3916
3917 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3918 do
3919 if _n_expr == old_child then
3920 n_expr = new_child.as(AExpr)
3921 return
3922 end
3923 if _n_op == old_child then
3924 n_op = new_child.as(TGt)
3925 return
3926 end
3927 if _n_expr2 == old_child then
3928 n_expr2 = new_child.as(AExpr)
3929 return
3930 end
3931 end
3932
3933 redef fun n_expr=(node)
3934 do
3935 _n_expr = node
3936 node.parent = self
3937 end
3938 redef fun n_op=(node)
3939 do
3940 _n_op = node
3941 node.parent = self
3942 end
3943 redef fun n_expr2=(node)
3944 do
3945 _n_expr2 = node
3946 node.parent = self
3947 end
3948
3949
3950 redef fun visit_all(v: Visitor)
3951 do
3952 v.enter_visit(_n_expr)
3953 v.enter_visit(_n_op)
3954 v.enter_visit(_n_expr2)
3955 end
3956 end
3957 redef class AGeExpr
3958 init init_ageexpr (
3959 n_expr: nullable AExpr,
3960 n_op: nullable TGe,
3961 n_expr2: nullable AExpr
3962 )
3963 do
3964 _n_expr = n_expr.as(not null)
3965 n_expr.parent = self
3966 _n_op = n_op.as(not null)
3967 n_op.parent = self
3968 _n_expr2 = n_expr2.as(not null)
3969 n_expr2.parent = self
3970 end
3971
3972 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3973 do
3974 if _n_expr == old_child then
3975 n_expr = new_child.as(AExpr)
3976 return
3977 end
3978 if _n_op == old_child then
3979 n_op = new_child.as(TGe)
3980 return
3981 end
3982 if _n_expr2 == old_child then
3983 n_expr2 = new_child.as(AExpr)
3984 return
3985 end
3986 end
3987
3988 redef fun n_expr=(node)
3989 do
3990 _n_expr = node
3991 node.parent = self
3992 end
3993 redef fun n_op=(node)
3994 do
3995 _n_op = node
3996 node.parent = self
3997 end
3998 redef fun n_expr2=(node)
3999 do
4000 _n_expr2 = node
4001 node.parent = self
4002 end
4003
4004
4005 redef fun visit_all(v: Visitor)
4006 do
4007 v.enter_visit(_n_expr)
4008 v.enter_visit(_n_op)
4009 v.enter_visit(_n_expr2)
4010 end
4011 end
4012 redef class AGgExpr
4013 init init_aggexpr (
4014 n_expr: nullable AExpr,
4015 n_op: nullable TGg,
4016 n_expr2: nullable AExpr
4017 )
4018 do
4019 _n_expr = n_expr.as(not null)
4020 n_expr.parent = self
4021 _n_op = n_op.as(not null)
4022 n_op.parent = self
4023 _n_expr2 = n_expr2.as(not null)
4024 n_expr2.parent = self
4025 end
4026
4027 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4028 do
4029 if _n_expr == old_child then
4030 n_expr = new_child.as(AExpr)
4031 return
4032 end
4033 if _n_op == old_child then
4034 n_op = new_child.as(TGg)
4035 return
4036 end
4037 if _n_expr2 == old_child then
4038 n_expr2 = new_child.as(AExpr)
4039 return
4040 end
4041 end
4042
4043 redef fun n_expr=(node)
4044 do
4045 _n_expr = node
4046 node.parent = self
4047 end
4048 redef fun n_op=(node)
4049 do
4050 _n_op = node
4051 node.parent = self
4052 end
4053 redef fun n_expr2=(node)
4054 do
4055 _n_expr2 = node
4056 node.parent = self
4057 end
4058
4059
4060 redef fun visit_all(v: Visitor)
4061 do
4062 v.enter_visit(_n_expr)
4063 v.enter_visit(_n_op)
4064 v.enter_visit(_n_expr2)
4065 end
4066 end
4067 redef class AIsaExpr
4068 init init_aisaexpr (
4069 n_expr: nullable AExpr,
4070 n_kwisa: nullable TKwisa,
4071 n_type: nullable AType
4072 )
4073 do
4074 _n_expr = n_expr.as(not null)
4075 n_expr.parent = self
4076 _n_kwisa = n_kwisa.as(not null)
4077 n_kwisa.parent = self
4078 _n_type = n_type.as(not null)
4079 n_type.parent = self
4080 end
4081
4082 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4083 do
4084 if _n_expr == old_child then
4085 n_expr = new_child.as(AExpr)
4086 return
4087 end
4088 if _n_kwisa == old_child then
4089 n_kwisa = new_child.as(TKwisa)
4090 return
4091 end
4092 if _n_type == old_child then
4093 n_type = new_child.as(AType)
4094 return
4095 end
4096 end
4097
4098 redef fun n_expr=(node)
4099 do
4100 _n_expr = node
4101 node.parent = self
4102 end
4103 redef fun n_kwisa=(node)
4104 do
4105 _n_kwisa = node
4106 node.parent = self
4107 end
4108 redef fun n_type=(node)
4109 do
4110 _n_type = node
4111 node.parent = self
4112 end
4113
4114
4115 redef fun visit_all(v: Visitor)
4116 do
4117 v.enter_visit(_n_expr)
4118 v.enter_visit(_n_kwisa)
4119 v.enter_visit(_n_type)
4120 end
4121 end
4122 redef class APlusExpr
4123 init init_aplusexpr (
4124 n_expr: nullable AExpr,
4125 n_op: nullable TPlus,
4126 n_expr2: nullable AExpr
4127 )
4128 do
4129 _n_expr = n_expr.as(not null)
4130 n_expr.parent = self
4131 _n_op = n_op.as(not null)
4132 n_op.parent = self
4133 _n_expr2 = n_expr2.as(not null)
4134 n_expr2.parent = self
4135 end
4136
4137 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4138 do
4139 if _n_expr == old_child then
4140 n_expr = new_child.as(AExpr)
4141 return
4142 end
4143 if _n_op == old_child then
4144 n_op = new_child.as(TPlus)
4145 return
4146 end
4147 if _n_expr2 == old_child then
4148 n_expr2 = new_child.as(AExpr)
4149 return
4150 end
4151 end
4152
4153 redef fun n_expr=(node)
4154 do
4155 _n_expr = node
4156 node.parent = self
4157 end
4158 redef fun n_op=(node)
4159 do
4160 _n_op = node
4161 node.parent = self
4162 end
4163 redef fun n_expr2=(node)
4164 do
4165 _n_expr2 = node
4166 node.parent = self
4167 end
4168
4169
4170 redef fun visit_all(v: Visitor)
4171 do
4172 v.enter_visit(_n_expr)
4173 v.enter_visit(_n_op)
4174 v.enter_visit(_n_expr2)
4175 end
4176 end
4177 redef class AMinusExpr
4178 init init_aminusexpr (
4179 n_expr: nullable AExpr,
4180 n_op: nullable TMinus,
4181 n_expr2: nullable AExpr
4182 )
4183 do
4184 _n_expr = n_expr.as(not null)
4185 n_expr.parent = self
4186 _n_op = n_op.as(not null)
4187 n_op.parent = self
4188 _n_expr2 = n_expr2.as(not null)
4189 n_expr2.parent = self
4190 end
4191
4192 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4193 do
4194 if _n_expr == old_child then
4195 n_expr = new_child.as(AExpr)
4196 return
4197 end
4198 if _n_op == old_child then
4199 n_op = new_child.as(TMinus)
4200 return
4201 end
4202 if _n_expr2 == old_child then
4203 n_expr2 = new_child.as(AExpr)
4204 return
4205 end
4206 end
4207
4208 redef fun n_expr=(node)
4209 do
4210 _n_expr = node
4211 node.parent = self
4212 end
4213 redef fun n_op=(node)
4214 do
4215 _n_op = node
4216 node.parent = self
4217 end
4218 redef fun n_expr2=(node)
4219 do
4220 _n_expr2 = node
4221 node.parent = self
4222 end
4223
4224
4225 redef fun visit_all(v: Visitor)
4226 do
4227 v.enter_visit(_n_expr)
4228 v.enter_visit(_n_op)
4229 v.enter_visit(_n_expr2)
4230 end
4231 end
4232 redef class AStarshipExpr
4233 init init_astarshipexpr (
4234 n_expr: nullable AExpr,
4235 n_op: nullable TStarship,
4236 n_expr2: nullable AExpr
4237 )
4238 do
4239 _n_expr = n_expr.as(not null)
4240 n_expr.parent = self
4241 _n_op = n_op.as(not null)
4242 n_op.parent = self
4243 _n_expr2 = n_expr2.as(not null)
4244 n_expr2.parent = self
4245 end
4246
4247 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4248 do
4249 if _n_expr == old_child then
4250 n_expr = new_child.as(AExpr)
4251 return
4252 end
4253 if _n_op == old_child then
4254 n_op = new_child.as(TStarship)
4255 return
4256 end
4257 if _n_expr2 == old_child then
4258 n_expr2 = new_child.as(AExpr)
4259 return
4260 end
4261 end
4262
4263 redef fun n_expr=(node)
4264 do
4265 _n_expr = node
4266 node.parent = self
4267 end
4268 redef fun n_op=(node)
4269 do
4270 _n_op = node
4271 node.parent = self
4272 end
4273 redef fun n_expr2=(node)
4274 do
4275 _n_expr2 = node
4276 node.parent = self
4277 end
4278
4279
4280 redef fun visit_all(v: Visitor)
4281 do
4282 v.enter_visit(_n_expr)
4283 v.enter_visit(_n_op)
4284 v.enter_visit(_n_expr2)
4285 end
4286 end
4287 redef class AStarExpr
4288 init init_astarexpr (
4289 n_expr: nullable AExpr,
4290 n_op: nullable TStar,
4291 n_expr2: nullable AExpr
4292 )
4293 do
4294 _n_expr = n_expr.as(not null)
4295 n_expr.parent = self
4296 _n_op = n_op.as(not null)
4297 n_op.parent = self
4298 _n_expr2 = n_expr2.as(not null)
4299 n_expr2.parent = self
4300 end
4301
4302 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4303 do
4304 if _n_expr == old_child then
4305 n_expr = new_child.as(AExpr)
4306 return
4307 end
4308 if _n_op == old_child then
4309 n_op = new_child.as(TStar)
4310 return
4311 end
4312 if _n_expr2 == old_child then
4313 n_expr2 = new_child.as(AExpr)
4314 return
4315 end
4316 end
4317
4318 redef fun n_expr=(node)
4319 do
4320 _n_expr = node
4321 node.parent = self
4322 end
4323 redef fun n_op=(node)
4324 do
4325 _n_op = node
4326 node.parent = self
4327 end
4328 redef fun n_expr2=(node)
4329 do
4330 _n_expr2 = node
4331 node.parent = self
4332 end
4333
4334
4335 redef fun visit_all(v: Visitor)
4336 do
4337 v.enter_visit(_n_expr)
4338 v.enter_visit(_n_op)
4339 v.enter_visit(_n_expr2)
4340 end
4341 end
4342 redef class AStarstarExpr
4343 init init_astarstarexpr (
4344 n_expr: nullable AExpr,
4345 n_op: nullable TStarstar,
4346 n_expr2: nullable AExpr
4347 )
4348 do
4349 _n_expr = n_expr.as(not null)
4350 n_expr.parent = self
4351 _n_op = n_op.as(not null)
4352 n_op.parent = self
4353 _n_expr2 = n_expr2.as(not null)
4354 n_expr2.parent = self
4355 end
4356
4357 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4358 do
4359 if _n_expr == old_child then
4360 n_expr = new_child.as(AExpr)
4361 return
4362 end
4363 if _n_op == old_child then
4364 n_op = new_child.as(TStarstar)
4365 return
4366 end
4367 if _n_expr2 == old_child then
4368 n_expr2 = new_child.as(AExpr)
4369 return
4370 end
4371 end
4372
4373 redef fun n_expr=(node)
4374 do
4375 _n_expr = node
4376 node.parent = self
4377 end
4378 redef fun n_op=(node)
4379 do
4380 _n_op = node
4381 node.parent = self
4382 end
4383 redef fun n_expr2=(node)
4384 do
4385 _n_expr2 = node
4386 node.parent = self
4387 end
4388
4389
4390 redef fun visit_all(v: Visitor)
4391 do
4392 v.enter_visit(_n_expr)
4393 v.enter_visit(_n_op)
4394 v.enter_visit(_n_expr2)
4395 end
4396 end
4397 redef class ASlashExpr
4398 init init_aslashexpr (
4399 n_expr: nullable AExpr,
4400 n_op: nullable TSlash,
4401 n_expr2: nullable AExpr
4402 )
4403 do
4404 _n_expr = n_expr.as(not null)
4405 n_expr.parent = self
4406 _n_op = n_op.as(not null)
4407 n_op.parent = self
4408 _n_expr2 = n_expr2.as(not null)
4409 n_expr2.parent = self
4410 end
4411
4412 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4413 do
4414 if _n_expr == old_child then
4415 n_expr = new_child.as(AExpr)
4416 return
4417 end
4418 if _n_op == old_child then
4419 n_op = new_child.as(TSlash)
4420 return
4421 end
4422 if _n_expr2 == old_child then
4423 n_expr2 = new_child.as(AExpr)
4424 return
4425 end
4426 end
4427
4428 redef fun n_expr=(node)
4429 do
4430 _n_expr = node
4431 node.parent = self
4432 end
4433 redef fun n_op=(node)
4434 do
4435 _n_op = node
4436 node.parent = self
4437 end
4438 redef fun n_expr2=(node)
4439 do
4440 _n_expr2 = node
4441 node.parent = self
4442 end
4443
4444
4445 redef fun visit_all(v: Visitor)
4446 do
4447 v.enter_visit(_n_expr)
4448 v.enter_visit(_n_op)
4449 v.enter_visit(_n_expr2)
4450 end
4451 end
4452 redef class APercentExpr
4453 init init_apercentexpr (
4454 n_expr: nullable AExpr,
4455 n_op: nullable TPercent,
4456 n_expr2: nullable AExpr
4457 )
4458 do
4459 _n_expr = n_expr.as(not null)
4460 n_expr.parent = self
4461 _n_op = n_op.as(not null)
4462 n_op.parent = self
4463 _n_expr2 = n_expr2.as(not null)
4464 n_expr2.parent = self
4465 end
4466
4467 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4468 do
4469 if _n_expr == old_child then
4470 n_expr = new_child.as(AExpr)
4471 return
4472 end
4473 if _n_op == old_child then
4474 n_op = new_child.as(TPercent)
4475 return
4476 end
4477 if _n_expr2 == old_child then
4478 n_expr2 = new_child.as(AExpr)
4479 return
4480 end
4481 end
4482
4483 redef fun n_expr=(node)
4484 do
4485 _n_expr = node
4486 node.parent = self
4487 end
4488 redef fun n_op=(node)
4489 do
4490 _n_op = node
4491 node.parent = self
4492 end
4493 redef fun n_expr2=(node)
4494 do
4495 _n_expr2 = node
4496 node.parent = self
4497 end
4498
4499
4500 redef fun visit_all(v: Visitor)
4501 do
4502 v.enter_visit(_n_expr)
4503 v.enter_visit(_n_op)
4504 v.enter_visit(_n_expr2)
4505 end
4506 end
4507 redef class APipeExpr
4508 init init_apipeexpr (
4509 n_expr: nullable AExpr,
4510 n_op: nullable TPipe,
4511 n_expr2: nullable AExpr
4512 )
4513 do
4514 _n_expr = n_expr.as(not null)
4515 n_expr.parent = self
4516 _n_op = n_op.as(not null)
4517 n_op.parent = self
4518 _n_expr2 = n_expr2.as(not null)
4519 n_expr2.parent = self
4520 end
4521
4522 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4523 do
4524 if _n_expr == old_child then
4525 n_expr = new_child.as(AExpr)
4526 return
4527 end
4528 if _n_op == old_child then
4529 n_op = new_child.as(TPipe)
4530 return
4531 end
4532 if _n_expr2 == old_child then
4533 n_expr2 = new_child.as(AExpr)
4534 return
4535 end
4536 end
4537
4538 redef fun n_expr=(node)
4539 do
4540 _n_expr = node
4541 node.parent = self
4542 end
4543 redef fun n_op=(node)
4544 do
4545 _n_op = node
4546 node.parent = self
4547 end
4548 redef fun n_expr2=(node)
4549 do
4550 _n_expr2 = node
4551 node.parent = self
4552 end
4553
4554
4555 redef fun visit_all(v: Visitor)
4556 do
4557 v.enter_visit(_n_expr)
4558 v.enter_visit(_n_op)
4559 v.enter_visit(_n_expr2)
4560 end
4561 end
4562 redef class ACaretExpr
4563 init init_acaretexpr (
4564 n_expr: nullable AExpr,
4565 n_op: nullable TCaret,
4566 n_expr2: nullable AExpr
4567 )
4568 do
4569 _n_expr = n_expr.as(not null)
4570 n_expr.parent = self
4571 _n_op = n_op.as(not null)
4572 n_op.parent = self
4573 _n_expr2 = n_expr2.as(not null)
4574 n_expr2.parent = self
4575 end
4576
4577 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4578 do
4579 if _n_expr == old_child then
4580 n_expr = new_child.as(AExpr)
4581 return
4582 end
4583 if _n_op == old_child then
4584 n_op = new_child.as(TCaret)
4585 return
4586 end
4587 if _n_expr2 == old_child then
4588 n_expr2 = new_child.as(AExpr)
4589 return
4590 end
4591 end
4592
4593 redef fun n_expr=(node)
4594 do
4595 _n_expr = node
4596 node.parent = self
4597 end
4598 redef fun n_op=(node)
4599 do
4600 _n_op = node
4601 node.parent = self
4602 end
4603 redef fun n_expr2=(node)
4604 do
4605 _n_expr2 = node
4606 node.parent = self
4607 end
4608
4609
4610 redef fun visit_all(v: Visitor)
4611 do
4612 v.enter_visit(_n_expr)
4613 v.enter_visit(_n_op)
4614 v.enter_visit(_n_expr2)
4615 end
4616 end
4617 redef class AAmpExpr
4618 init init_aampexpr (
4619 n_expr: nullable AExpr,
4620 n_op: nullable TAmp,
4621 n_expr2: nullable AExpr
4622 )
4623 do
4624 _n_expr = n_expr.as(not null)
4625 n_expr.parent = self
4626 _n_op = n_op.as(not null)
4627 n_op.parent = self
4628 _n_expr2 = n_expr2.as(not null)
4629 n_expr2.parent = self
4630 end
4631
4632 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4633 do
4634 if _n_expr == old_child then
4635 n_expr = new_child.as(AExpr)
4636 return
4637 end
4638 if _n_op == old_child then
4639 n_op = new_child.as(TAmp)
4640 return
4641 end
4642 if _n_expr2 == old_child then
4643 n_expr2 = new_child.as(AExpr)
4644 return
4645 end
4646 end
4647
4648 redef fun n_expr=(node)
4649 do
4650 _n_expr = node
4651 node.parent = self
4652 end
4653 redef fun n_op=(node)
4654 do
4655 _n_op = node
4656 node.parent = self
4657 end
4658 redef fun n_expr2=(node)
4659 do
4660 _n_expr2 = node
4661 node.parent = self
4662 end
4663
4664
4665 redef fun visit_all(v: Visitor)
4666 do
4667 v.enter_visit(_n_expr)
4668 v.enter_visit(_n_op)
4669 v.enter_visit(_n_expr2)
4670 end
4671 end
4672 redef class AUminusExpr
4673 init init_auminusexpr (
4674 n_op: nullable TMinus,
4675 n_expr: nullable AExpr
4676 )
4677 do
4678 _n_op = n_op.as(not null)
4679 n_op.parent = self
4680 _n_expr = n_expr.as(not null)
4681 n_expr.parent = self
4682 end
4683
4684 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4685 do
4686 if _n_op == old_child then
4687 n_op = new_child.as(TMinus)
4688 return
4689 end
4690 if _n_expr == old_child then
4691 n_expr = new_child.as(AExpr)
4692 return
4693 end
4694 end
4695
4696 redef fun n_op=(node)
4697 do
4698 _n_op = node
4699 node.parent = self
4700 end
4701 redef fun n_expr=(node)
4702 do
4703 _n_expr = node
4704 node.parent = self
4705 end
4706
4707
4708 redef fun visit_all(v: Visitor)
4709 do
4710 v.enter_visit(_n_op)
4711 v.enter_visit(_n_expr)
4712 end
4713 end
4714 redef class AUplusExpr
4715 init init_auplusexpr (
4716 n_op: nullable TPlus,
4717 n_expr: nullable AExpr
4718 )
4719 do
4720 _n_op = n_op.as(not null)
4721 n_op.parent = self
4722 _n_expr = n_expr.as(not null)
4723 n_expr.parent = self
4724 end
4725
4726 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4727 do
4728 if _n_op == old_child then
4729 n_op = new_child.as(TPlus)
4730 return
4731 end
4732 if _n_expr == old_child then
4733 n_expr = new_child.as(AExpr)
4734 return
4735 end
4736 end
4737
4738 redef fun n_op=(node)
4739 do
4740 _n_op = node
4741 node.parent = self
4742 end
4743 redef fun n_expr=(node)
4744 do
4745 _n_expr = node
4746 node.parent = self
4747 end
4748
4749
4750 redef fun visit_all(v: Visitor)
4751 do
4752 v.enter_visit(_n_op)
4753 v.enter_visit(_n_expr)
4754 end
4755 end
4756 redef class AUtildeExpr
4757 init init_autildeexpr (
4758 n_op: nullable TTilde,
4759 n_expr: nullable AExpr
4760 )
4761 do
4762 _n_op = n_op.as(not null)
4763 n_op.parent = self
4764 _n_expr = n_expr.as(not null)
4765 n_expr.parent = self
4766 end
4767
4768 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4769 do
4770 if _n_op == old_child then
4771 n_op = new_child.as(TTilde)
4772 return
4773 end
4774 if _n_expr == old_child then
4775 n_expr = new_child.as(AExpr)
4776 return
4777 end
4778 end
4779
4780 redef fun n_op=(node)
4781 do
4782 _n_op = node
4783 node.parent = self
4784 end
4785 redef fun n_expr=(node)
4786 do
4787 _n_expr = node
4788 node.parent = self
4789 end
4790
4791
4792 redef fun visit_all(v: Visitor)
4793 do
4794 v.enter_visit(_n_op)
4795 v.enter_visit(_n_expr)
4796 end
4797 end
4798 redef class ANewExpr
4799 init init_anewexpr (
4800 n_kwnew: nullable TKwnew,
4801 n_type: nullable AType,
4802 n_id: nullable TId,
4803 n_args: nullable AExprs
4804 )
4805 do
4806 _n_kwnew = n_kwnew.as(not null)
4807 n_kwnew.parent = self
4808 _n_type = n_type.as(not null)
4809 n_type.parent = self
4810 _n_id = n_id
4811 if n_id != null then n_id.parent = self
4812 _n_args = n_args.as(not null)
4813 n_args.parent = self
4814 end
4815
4816 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4817 do
4818 if _n_kwnew == old_child then
4819 n_kwnew = new_child.as(TKwnew)
4820 return
4821 end
4822 if _n_type == old_child then
4823 n_type = new_child.as(AType)
4824 return
4825 end
4826 if _n_id == old_child then
4827 n_id = new_child.as(nullable TId)
4828 return
4829 end
4830 if _n_args == old_child then
4831 n_args = new_child.as(AExprs)
4832 return
4833 end
4834 end
4835
4836 redef fun n_kwnew=(node)
4837 do
4838 _n_kwnew = node
4839 node.parent = self
4840 end
4841 redef fun n_type=(node)
4842 do
4843 _n_type = node
4844 node.parent = self
4845 end
4846 redef fun n_id=(node)
4847 do
4848 _n_id = node
4849 if node != null then node.parent = self
4850 end
4851 redef fun n_args=(node)
4852 do
4853 _n_args = node
4854 node.parent = self
4855 end
4856
4857
4858 redef fun visit_all(v: Visitor)
4859 do
4860 v.enter_visit(_n_kwnew)
4861 v.enter_visit(_n_type)
4862 v.enter_visit(_n_id)
4863 v.enter_visit(_n_args)
4864 end
4865 end
4866 redef class AAttrExpr
4867 init init_aattrexpr (
4868 n_expr: nullable AExpr,
4869 n_id: nullable TAttrid
4870 )
4871 do
4872 _n_expr = n_expr.as(not null)
4873 n_expr.parent = self
4874 _n_id = n_id.as(not null)
4875 n_id.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(TAttrid)
4886 return
4887 end
4888 end
4889
4890 redef fun n_expr=(node)
4891 do
4892 _n_expr = node
4893 node.parent = self
4894 end
4895 redef fun n_id=(node)
4896 do
4897 _n_id = node
4898 node.parent = self
4899 end
4900
4901
4902 redef fun visit_all(v: Visitor)
4903 do
4904 v.enter_visit(_n_expr)
4905 v.enter_visit(_n_id)
4906 end
4907 end
4908 redef class AAttrAssignExpr
4909 init init_aattrassignexpr (
4910 n_expr: nullable AExpr,
4911 n_id: nullable TAttrid,
4912 n_assign: nullable TAssign,
4913 n_value: nullable AExpr
4914 )
4915 do
4916 _n_expr = n_expr.as(not null)
4917 n_expr.parent = self
4918 _n_id = n_id.as(not null)
4919 n_id.parent = self
4920 _n_assign = n_assign.as(not null)
4921 n_assign.parent = self
4922 _n_value = n_value.as(not null)
4923 n_value.parent = self
4924 end
4925
4926 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4927 do
4928 if _n_expr == old_child then
4929 n_expr = new_child.as(AExpr)
4930 return
4931 end
4932 if _n_id == old_child then
4933 n_id = new_child.as(TAttrid)
4934 return
4935 end
4936 if _n_assign == old_child then
4937 n_assign = new_child.as(TAssign)
4938 return
4939 end
4940 if _n_value == old_child then
4941 n_value = new_child.as(AExpr)
4942 return
4943 end
4944 end
4945
4946 redef fun n_expr=(node)
4947 do
4948 _n_expr = node
4949 node.parent = self
4950 end
4951 redef fun n_id=(node)
4952 do
4953 _n_id = node
4954 node.parent = self
4955 end
4956 redef fun n_assign=(node)
4957 do
4958 _n_assign = node
4959 node.parent = self
4960 end
4961 redef fun n_value=(node)
4962 do
4963 _n_value = node
4964 node.parent = self
4965 end
4966
4967
4968 redef fun visit_all(v: Visitor)
4969 do
4970 v.enter_visit(_n_expr)
4971 v.enter_visit(_n_id)
4972 v.enter_visit(_n_assign)
4973 v.enter_visit(_n_value)
4974 end
4975 end
4976 redef class AAttrReassignExpr
4977 init init_aattrreassignexpr (
4978 n_expr: nullable AExpr,
4979 n_id: nullable TAttrid,
4980 n_assign_op: nullable AAssignOp,
4981 n_value: nullable AExpr
4982 )
4983 do
4984 _n_expr = n_expr.as(not null)
4985 n_expr.parent = self
4986 _n_id = n_id.as(not null)
4987 n_id.parent = self
4988 _n_assign_op = n_assign_op.as(not null)
4989 n_assign_op.parent = self
4990 _n_value = n_value.as(not null)
4991 n_value.parent = self
4992 end
4993
4994 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4995 do
4996 if _n_expr == old_child then
4997 n_expr = new_child.as(AExpr)
4998 return
4999 end
5000 if _n_id == old_child then
5001 n_id = new_child.as(TAttrid)
5002 return
5003 end
5004 if _n_assign_op == old_child then
5005 n_assign_op = new_child.as(AAssignOp)
5006 return
5007 end
5008 if _n_value == old_child then
5009 n_value = new_child.as(AExpr)
5010 return
5011 end
5012 end
5013
5014 redef fun n_expr=(node)
5015 do
5016 _n_expr = node
5017 node.parent = self
5018 end
5019 redef fun n_id=(node)
5020 do
5021 _n_id = node
5022 node.parent = self
5023 end
5024 redef fun n_assign_op=(node)
5025 do
5026 _n_assign_op = node
5027 node.parent = self
5028 end
5029 redef fun n_value=(node)
5030 do
5031 _n_value = node
5032 node.parent = self
5033 end
5034
5035
5036 redef fun visit_all(v: Visitor)
5037 do
5038 v.enter_visit(_n_expr)
5039 v.enter_visit(_n_id)
5040 v.enter_visit(_n_assign_op)
5041 v.enter_visit(_n_value)
5042 end
5043 end
5044 redef class ACallExpr
5045 init init_acallexpr (
5046 n_expr: nullable AExpr,
5047 n_id: nullable TId,
5048 n_args: nullable AExprs
5049 )
5050 do
5051 _n_expr = n_expr.as(not null)
5052 n_expr.parent = self
5053 _n_id = n_id.as(not null)
5054 n_id.parent = self
5055 _n_args = n_args.as(not null)
5056 n_args.parent = self
5057 end
5058
5059 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5060 do
5061 if _n_expr == old_child then
5062 n_expr = new_child.as(AExpr)
5063 return
5064 end
5065 if _n_id == old_child then
5066 n_id = new_child.as(TId)
5067 return
5068 end
5069 if _n_args == old_child then
5070 n_args = new_child.as(AExprs)
5071 return
5072 end
5073 end
5074
5075 redef fun n_expr=(node)
5076 do
5077 _n_expr = node
5078 node.parent = self
5079 end
5080 redef fun n_id=(node)
5081 do
5082 _n_id = node
5083 node.parent = self
5084 end
5085 redef fun n_args=(node)
5086 do
5087 _n_args = node
5088 node.parent = self
5089 end
5090
5091
5092 redef fun visit_all(v: Visitor)
5093 do
5094 v.enter_visit(_n_expr)
5095 v.enter_visit(_n_id)
5096 v.enter_visit(_n_args)
5097 end
5098 end
5099 redef class ACallAssignExpr
5100 init init_acallassignexpr (
5101 n_expr: nullable AExpr,
5102 n_id: nullable TId,
5103 n_args: nullable AExprs,
5104 n_assign: nullable TAssign,
5105 n_value: nullable AExpr
5106 )
5107 do
5108 _n_expr = n_expr.as(not null)
5109 n_expr.parent = self
5110 _n_id = n_id.as(not null)
5111 n_id.parent = self
5112 _n_args = n_args.as(not null)
5113 n_args.parent = self
5114 _n_assign = n_assign.as(not null)
5115 n_assign.parent = self
5116 _n_value = n_value.as(not null)
5117 n_value.parent = self
5118 end
5119
5120 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5121 do
5122 if _n_expr == old_child then
5123 n_expr = new_child.as(AExpr)
5124 return
5125 end
5126 if _n_id == old_child then
5127 n_id = new_child.as(TId)
5128 return
5129 end
5130 if _n_args == old_child then
5131 n_args = new_child.as(AExprs)
5132 return
5133 end
5134 if _n_assign == old_child then
5135 n_assign = new_child.as(TAssign)
5136 return
5137 end
5138 if _n_value == old_child then
5139 n_value = new_child.as(AExpr)
5140 return
5141 end
5142 end
5143
5144 redef fun n_expr=(node)
5145 do
5146 _n_expr = node
5147 node.parent = self
5148 end
5149 redef fun n_id=(node)
5150 do
5151 _n_id = node
5152 node.parent = self
5153 end
5154 redef fun n_args=(node)
5155 do
5156 _n_args = node
5157 node.parent = self
5158 end
5159 redef fun n_assign=(node)
5160 do
5161 _n_assign = node
5162 node.parent = self
5163 end
5164 redef fun n_value=(node)
5165 do
5166 _n_value = node
5167 node.parent = self
5168 end
5169
5170
5171 redef fun visit_all(v: Visitor)
5172 do
5173 v.enter_visit(_n_expr)
5174 v.enter_visit(_n_id)
5175 v.enter_visit(_n_args)
5176 v.enter_visit(_n_assign)
5177 v.enter_visit(_n_value)
5178 end
5179 end
5180 redef class ACallReassignExpr
5181 init init_acallreassignexpr (
5182 n_expr: nullable AExpr,
5183 n_id: nullable TId,
5184 n_args: nullable AExprs,
5185 n_assign_op: nullable AAssignOp,
5186 n_value: nullable AExpr
5187 )
5188 do
5189 _n_expr = n_expr.as(not null)
5190 n_expr.parent = self
5191 _n_id = n_id.as(not null)
5192 n_id.parent = self
5193 _n_args = n_args.as(not null)
5194 n_args.parent = self
5195 _n_assign_op = n_assign_op.as(not null)
5196 n_assign_op.parent = self
5197 _n_value = n_value.as(not null)
5198 n_value.parent = self
5199 end
5200
5201 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5202 do
5203 if _n_expr == old_child then
5204 n_expr = new_child.as(AExpr)
5205 return
5206 end
5207 if _n_id == old_child then
5208 n_id = new_child.as(TId)
5209 return
5210 end
5211 if _n_args == old_child then
5212 n_args = new_child.as(AExprs)
5213 return
5214 end
5215 if _n_assign_op == old_child then
5216 n_assign_op = new_child.as(AAssignOp)
5217 return
5218 end
5219 if _n_value == old_child then
5220 n_value = new_child.as(AExpr)
5221 return
5222 end
5223 end
5224
5225 redef fun n_expr=(node)
5226 do
5227 _n_expr = node
5228 node.parent = self
5229 end
5230 redef fun n_id=(node)
5231 do
5232 _n_id = node
5233 node.parent = self
5234 end
5235 redef fun n_args=(node)
5236 do
5237 _n_args = node
5238 node.parent = self
5239 end
5240 redef fun n_assign_op=(node)
5241 do
5242 _n_assign_op = node
5243 node.parent = self
5244 end
5245 redef fun n_value=(node)
5246 do
5247 _n_value = node
5248 node.parent = self
5249 end
5250
5251
5252 redef fun visit_all(v: Visitor)
5253 do
5254 v.enter_visit(_n_expr)
5255 v.enter_visit(_n_id)
5256 v.enter_visit(_n_args)
5257 v.enter_visit(_n_assign_op)
5258 v.enter_visit(_n_value)
5259 end
5260 end
5261 redef class ASuperExpr
5262 init init_asuperexpr (
5263 n_qualified: nullable AQualified,
5264 n_kwsuper: nullable TKwsuper,
5265 n_args: nullable AExprs
5266 )
5267 do
5268 _n_qualified = n_qualified
5269 if n_qualified != null then n_qualified.parent = self
5270 _n_kwsuper = n_kwsuper.as(not null)
5271 n_kwsuper.parent = self
5272 _n_args = n_args.as(not null)
5273 n_args.parent = self
5274 end
5275
5276 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5277 do
5278 if _n_qualified == old_child then
5279 n_qualified = new_child.as(nullable AQualified)
5280 return
5281 end
5282 if _n_kwsuper == old_child then
5283 n_kwsuper = new_child.as(TKwsuper)
5284 return
5285 end
5286 if _n_args == old_child then
5287 n_args = new_child.as(AExprs)
5288 return
5289 end
5290 end
5291
5292 redef fun n_qualified=(node)
5293 do
5294 _n_qualified = node
5295 if node != null then node.parent = self
5296 end
5297 redef fun n_kwsuper=(node)
5298 do
5299 _n_kwsuper = node
5300 node.parent = self
5301 end
5302 redef fun n_args=(node)
5303 do
5304 _n_args = node
5305 node.parent = self
5306 end
5307
5308
5309 redef fun visit_all(v: Visitor)
5310 do
5311 v.enter_visit(_n_qualified)
5312 v.enter_visit(_n_kwsuper)
5313 v.enter_visit(_n_args)
5314 end
5315 end
5316 redef class AInitExpr
5317 init init_ainitexpr (
5318 n_expr: nullable AExpr,
5319 n_kwinit: nullable TKwinit,
5320 n_args: nullable AExprs
5321 )
5322 do
5323 _n_expr = n_expr.as(not null)
5324 n_expr.parent = self
5325 _n_kwinit = n_kwinit.as(not null)
5326 n_kwinit.parent = self
5327 _n_args = n_args.as(not null)
5328 n_args.parent = self
5329 end
5330
5331 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5332 do
5333 if _n_expr == old_child then
5334 n_expr = new_child.as(AExpr)
5335 return
5336 end
5337 if _n_kwinit == old_child then
5338 n_kwinit = new_child.as(TKwinit)
5339 return
5340 end
5341 if _n_args == old_child then
5342 n_args = new_child.as(AExprs)
5343 return
5344 end
5345 end
5346
5347 redef fun n_expr=(node)
5348 do
5349 _n_expr = node
5350 node.parent = self
5351 end
5352 redef fun n_kwinit=(node)
5353 do
5354 _n_kwinit = node
5355 node.parent = self
5356 end
5357 redef fun n_args=(node)
5358 do
5359 _n_args = node
5360 node.parent = self
5361 end
5362
5363
5364 redef fun visit_all(v: Visitor)
5365 do
5366 v.enter_visit(_n_expr)
5367 v.enter_visit(_n_kwinit)
5368 v.enter_visit(_n_args)
5369 end
5370 end
5371 redef class ABraExpr
5372 init init_abraexpr (
5373 n_expr: nullable AExpr,
5374 n_args: nullable AExprs
5375 )
5376 do
5377 _n_expr = n_expr.as(not null)
5378 n_expr.parent = self
5379 _n_args = n_args.as(not null)
5380 n_args.parent = self
5381 end
5382
5383 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5384 do
5385 if _n_expr == old_child then
5386 n_expr = new_child.as(AExpr)
5387 return
5388 end
5389 if _n_args == old_child then
5390 n_args = new_child.as(AExprs)
5391 return
5392 end
5393 end
5394
5395 redef fun n_expr=(node)
5396 do
5397 _n_expr = node
5398 node.parent = self
5399 end
5400 redef fun n_args=(node)
5401 do
5402 _n_args = node
5403 node.parent = self
5404 end
5405
5406
5407 redef fun visit_all(v: Visitor)
5408 do
5409 v.enter_visit(_n_expr)
5410 v.enter_visit(_n_args)
5411 end
5412 end
5413 redef class ABraAssignExpr
5414 init init_abraassignexpr (
5415 n_expr: nullable AExpr,
5416 n_args: nullable AExprs,
5417 n_assign: nullable TAssign,
5418 n_value: nullable AExpr
5419 )
5420 do
5421 _n_expr = n_expr.as(not null)
5422 n_expr.parent = self
5423 _n_args = n_args.as(not null)
5424 n_args.parent = self
5425 _n_assign = n_assign.as(not null)
5426 n_assign.parent = self
5427 _n_value = n_value.as(not null)
5428 n_value.parent = self
5429 end
5430
5431 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5432 do
5433 if _n_expr == old_child then
5434 n_expr = new_child.as(AExpr)
5435 return
5436 end
5437 if _n_args == old_child then
5438 n_args = new_child.as(AExprs)
5439 return
5440 end
5441 if _n_assign == old_child then
5442 n_assign = new_child.as(TAssign)
5443 return
5444 end
5445 if _n_value == old_child then
5446 n_value = new_child.as(AExpr)
5447 return
5448 end
5449 end
5450
5451 redef fun n_expr=(node)
5452 do
5453 _n_expr = node
5454 node.parent = self
5455 end
5456 redef fun n_args=(node)
5457 do
5458 _n_args = node
5459 node.parent = self
5460 end
5461 redef fun n_assign=(node)
5462 do
5463 _n_assign = node
5464 node.parent = self
5465 end
5466 redef fun n_value=(node)
5467 do
5468 _n_value = node
5469 node.parent = self
5470 end
5471
5472
5473 redef fun visit_all(v: Visitor)
5474 do
5475 v.enter_visit(_n_expr)
5476 v.enter_visit(_n_args)
5477 v.enter_visit(_n_assign)
5478 v.enter_visit(_n_value)
5479 end
5480 end
5481 redef class ABraReassignExpr
5482 init init_abrareassignexpr (
5483 n_expr: nullable AExpr,
5484 n_args: nullable AExprs,
5485 n_assign_op: nullable AAssignOp,
5486 n_value: nullable AExpr
5487 )
5488 do
5489 _n_expr = n_expr.as(not null)
5490 n_expr.parent = self
5491 _n_args = n_args.as(not null)
5492 n_args.parent = self
5493 _n_assign_op = n_assign_op.as(not null)
5494 n_assign_op.parent = self
5495 _n_value = n_value.as(not null)
5496 n_value.parent = self
5497 end
5498
5499 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5500 do
5501 if _n_expr == old_child then
5502 n_expr = new_child.as(AExpr)
5503 return
5504 end
5505 if _n_args == old_child then
5506 n_args = new_child.as(AExprs)
5507 return
5508 end
5509 if _n_assign_op == old_child then
5510 n_assign_op = new_child.as(AAssignOp)
5511 return
5512 end
5513 if _n_value == old_child then
5514 n_value = new_child.as(AExpr)
5515 return
5516 end
5517 end
5518
5519 redef fun n_expr=(node)
5520 do
5521 _n_expr = node
5522 node.parent = self
5523 end
5524 redef fun n_args=(node)
5525 do
5526 _n_args = node
5527 node.parent = self
5528 end
5529 redef fun n_assign_op=(node)
5530 do
5531 _n_assign_op = node
5532 node.parent = self
5533 end
5534 redef fun n_value=(node)
5535 do
5536 _n_value = node
5537 node.parent = self
5538 end
5539
5540
5541 redef fun visit_all(v: Visitor)
5542 do
5543 v.enter_visit(_n_expr)
5544 v.enter_visit(_n_args)
5545 v.enter_visit(_n_assign_op)
5546 v.enter_visit(_n_value)
5547 end
5548 end
5549 redef class AVarExpr
5550 init init_avarexpr (
5551 n_id: nullable TId
5552 )
5553 do
5554 _n_id = n_id.as(not null)
5555 n_id.parent = self
5556 end
5557
5558 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5559 do
5560 if _n_id == old_child then
5561 n_id = new_child.as(TId)
5562 return
5563 end
5564 end
5565
5566 redef fun n_id=(node)
5567 do
5568 _n_id = node
5569 node.parent = self
5570 end
5571
5572
5573 redef fun visit_all(v: Visitor)
5574 do
5575 v.enter_visit(_n_id)
5576 end
5577 end
5578 redef class AVarAssignExpr
5579 init init_avarassignexpr (
5580 n_id: nullable TId,
5581 n_assign: nullable TAssign,
5582 n_value: nullable AExpr
5583 )
5584 do
5585 _n_id = n_id.as(not null)
5586 n_id.parent = self
5587 _n_assign = n_assign.as(not null)
5588 n_assign.parent = self
5589 _n_value = n_value.as(not null)
5590 n_value.parent = self
5591 end
5592
5593 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5594 do
5595 if _n_id == old_child then
5596 n_id = new_child.as(TId)
5597 return
5598 end
5599 if _n_assign == old_child then
5600 n_assign = new_child.as(TAssign)
5601 return
5602 end
5603 if _n_value == old_child then
5604 n_value = new_child.as(AExpr)
5605 return
5606 end
5607 end
5608
5609 redef fun n_id=(node)
5610 do
5611 _n_id = node
5612 node.parent = self
5613 end
5614 redef fun n_assign=(node)
5615 do
5616 _n_assign = node
5617 node.parent = self
5618 end
5619 redef fun n_value=(node)
5620 do
5621 _n_value = node
5622 node.parent = self
5623 end
5624
5625
5626 redef fun visit_all(v: Visitor)
5627 do
5628 v.enter_visit(_n_id)
5629 v.enter_visit(_n_assign)
5630 v.enter_visit(_n_value)
5631 end
5632 end
5633 redef class AVarReassignExpr
5634 init init_avarreassignexpr (
5635 n_id: nullable TId,
5636 n_assign_op: nullable AAssignOp,
5637 n_value: nullable AExpr
5638 )
5639 do
5640 _n_id = n_id.as(not null)
5641 n_id.parent = self
5642 _n_assign_op = n_assign_op.as(not null)
5643 n_assign_op.parent = self
5644 _n_value = n_value.as(not null)
5645 n_value.parent = self
5646 end
5647
5648 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5649 do
5650 if _n_id == old_child then
5651 n_id = new_child.as(TId)
5652 return
5653 end
5654 if _n_assign_op == old_child then
5655 n_assign_op = new_child.as(AAssignOp)
5656 return
5657 end
5658 if _n_value == old_child then
5659 n_value = new_child.as(AExpr)
5660 return
5661 end
5662 end
5663
5664 redef fun n_id=(node)
5665 do
5666 _n_id = node
5667 node.parent = self
5668 end
5669 redef fun n_assign_op=(node)
5670 do
5671 _n_assign_op = node
5672 node.parent = self
5673 end
5674 redef fun n_value=(node)
5675 do
5676 _n_value = node
5677 node.parent = self
5678 end
5679
5680
5681 redef fun visit_all(v: Visitor)
5682 do
5683 v.enter_visit(_n_id)
5684 v.enter_visit(_n_assign_op)
5685 v.enter_visit(_n_value)
5686 end
5687 end
5688 redef class ARangeExpr
5689 init init_arangeexpr (
5690 n_expr: nullable AExpr,
5691 n_expr2: nullable AExpr,
5692 n_annotations: nullable AAnnotations
5693 )
5694 do
5695 _n_expr = n_expr.as(not null)
5696 n_expr.parent = self
5697 _n_expr2 = n_expr2.as(not null)
5698 n_expr2.parent = self
5699 _n_annotations = n_annotations
5700 if n_annotations != null then n_annotations.parent = self
5701 end
5702
5703 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5704 do
5705 if _n_expr == old_child then
5706 n_expr = new_child.as(AExpr)
5707 return
5708 end
5709 if _n_expr2 == old_child then
5710 n_expr2 = new_child.as(AExpr)
5711 return
5712 end
5713 if _n_annotations == old_child then
5714 n_annotations = new_child.as(nullable AAnnotations)
5715 return
5716 end
5717 end
5718
5719 redef fun n_expr=(node)
5720 do
5721 _n_expr = node
5722 node.parent = self
5723 end
5724 redef fun n_expr2=(node)
5725 do
5726 _n_expr2 = node
5727 node.parent = self
5728 end
5729 redef fun n_annotations=(node)
5730 do
5731 _n_annotations = node
5732 if node != null then node.parent = self
5733 end
5734
5735
5736 redef fun visit_all(v: Visitor)
5737 do
5738 v.enter_visit(_n_expr)
5739 v.enter_visit(_n_expr2)
5740 v.enter_visit(_n_annotations)
5741 end
5742 end
5743 redef class ACrangeExpr
5744 init init_acrangeexpr (
5745 n_obra: nullable TObra,
5746 n_expr: nullable AExpr,
5747 n_expr2: nullable AExpr,
5748 n_cbra: nullable TCbra,
5749 n_annotations: nullable AAnnotations
5750 )
5751 do
5752 _n_obra = n_obra.as(not null)
5753 n_obra.parent = self
5754 _n_expr = n_expr.as(not null)
5755 n_expr.parent = self
5756 _n_expr2 = n_expr2.as(not null)
5757 n_expr2.parent = self
5758 _n_cbra = n_cbra.as(not null)
5759 n_cbra.parent = self
5760 _n_annotations = n_annotations
5761 if n_annotations != null then n_annotations.parent = self
5762 end
5763
5764 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5765 do
5766 if _n_obra == old_child then
5767 n_obra = new_child.as(TObra)
5768 return
5769 end
5770 if _n_expr == old_child then
5771 n_expr = new_child.as(AExpr)
5772 return
5773 end
5774 if _n_expr2 == old_child then
5775 n_expr2 = new_child.as(AExpr)
5776 return
5777 end
5778 if _n_cbra == old_child then
5779 n_cbra = new_child.as(TCbra)
5780 return
5781 end
5782 if _n_annotations == old_child then
5783 n_annotations = new_child.as(nullable AAnnotations)
5784 return
5785 end
5786 end
5787
5788 redef fun n_obra=(node)
5789 do
5790 _n_obra = node
5791 node.parent = self
5792 end
5793 redef fun n_expr=(node)
5794 do
5795 _n_expr = node
5796 node.parent = self
5797 end
5798 redef fun n_expr2=(node)
5799 do
5800 _n_expr2 = node
5801 node.parent = self
5802 end
5803 redef fun n_cbra=(node)
5804 do
5805 _n_cbra = node
5806 node.parent = self
5807 end
5808 redef fun n_annotations=(node)
5809 do
5810 _n_annotations = node
5811 if node != null then node.parent = self
5812 end
5813
5814
5815 redef fun visit_all(v: Visitor)
5816 do
5817 v.enter_visit(_n_obra)
5818 v.enter_visit(_n_expr)
5819 v.enter_visit(_n_expr2)
5820 v.enter_visit(_n_cbra)
5821 v.enter_visit(_n_annotations)
5822 end
5823 end
5824 redef class AOrangeExpr
5825 init init_aorangeexpr (
5826 n_obra: nullable TObra,
5827 n_expr: nullable AExpr,
5828 n_expr2: nullable AExpr,
5829 n_cbra: nullable TObra,
5830 n_annotations: nullable AAnnotations
5831 )
5832 do
5833 _n_obra = n_obra.as(not null)
5834 n_obra.parent = self
5835 _n_expr = n_expr.as(not null)
5836 n_expr.parent = self
5837 _n_expr2 = n_expr2.as(not null)
5838 n_expr2.parent = self
5839 _n_cbra = n_cbra.as(not null)
5840 n_cbra.parent = self
5841 _n_annotations = n_annotations
5842 if n_annotations != null then n_annotations.parent = self
5843 end
5844
5845 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5846 do
5847 if _n_obra == old_child then
5848 n_obra = new_child.as(TObra)
5849 return
5850 end
5851 if _n_expr == old_child then
5852 n_expr = new_child.as(AExpr)
5853 return
5854 end
5855 if _n_expr2 == old_child then
5856 n_expr2 = new_child.as(AExpr)
5857 return
5858 end
5859 if _n_cbra == old_child then
5860 n_cbra = new_child.as(TObra)
5861 return
5862 end
5863 if _n_annotations == old_child then
5864 n_annotations = new_child.as(nullable AAnnotations)
5865 return
5866 end
5867 end
5868
5869 redef fun n_obra=(node)
5870 do
5871 _n_obra = node
5872 node.parent = self
5873 end
5874 redef fun n_expr=(node)
5875 do
5876 _n_expr = node
5877 node.parent = self
5878 end
5879 redef fun n_expr2=(node)
5880 do
5881 _n_expr2 = node
5882 node.parent = self
5883 end
5884 redef fun n_cbra=(node)
5885 do
5886 _n_cbra = node
5887 node.parent = self
5888 end
5889 redef fun n_annotations=(node)
5890 do
5891 _n_annotations = node
5892 if node != null then node.parent = self
5893 end
5894
5895
5896 redef fun visit_all(v: Visitor)
5897 do
5898 v.enter_visit(_n_obra)
5899 v.enter_visit(_n_expr)
5900 v.enter_visit(_n_expr2)
5901 v.enter_visit(_n_cbra)
5902 v.enter_visit(_n_annotations)
5903 end
5904 end
5905 redef class AArrayExpr
5906 init init_aarrayexpr (
5907 n_obra: nullable TObra,
5908 n_exprs: Collection[Object], # Should be Collection[AExpr]
5909 n_type: nullable AType,
5910 n_cbra: nullable TCbra,
5911 n_annotations: nullable AAnnotations
5912 )
5913 do
5914 _n_obra = n_obra.as(not null)
5915 n_obra.parent = self
5916 self.n_exprs.unsafe_add_all(n_exprs)
5917 _n_type = n_type
5918 if n_type != null then n_type.parent = self
5919 _n_cbra = n_cbra.as(not null)
5920 n_cbra.parent = self
5921 _n_annotations = n_annotations
5922 if n_annotations != null then n_annotations.parent = self
5923 end
5924
5925 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5926 do
5927 if _n_obra == old_child then
5928 n_obra = new_child.as(TObra)
5929 return
5930 end
5931 if n_exprs.replace_child(old_child, new_child) then return
5932 if _n_type == old_child then
5933 n_type = new_child.as(nullable AType)
5934 return
5935 end
5936 if _n_cbra == old_child then
5937 n_cbra = new_child.as(TCbra)
5938 return
5939 end
5940 if _n_annotations == old_child then
5941 n_annotations = new_child.as(nullable AAnnotations)
5942 return
5943 end
5944 end
5945
5946 redef fun n_obra=(node)
5947 do
5948 _n_obra = node
5949 node.parent = self
5950 end
5951 redef fun n_type=(node)
5952 do
5953 _n_type = node
5954 if node != null then node.parent = self
5955 end
5956 redef fun n_cbra=(node)
5957 do
5958 _n_cbra = node
5959 node.parent = self
5960 end
5961 redef fun n_annotations=(node)
5962 do
5963 _n_annotations = node
5964 if node != null then node.parent = self
5965 end
5966
5967
5968 redef fun visit_all(v: Visitor)
5969 do
5970 v.enter_visit(_n_obra)
5971 n_exprs.visit_all(v)
5972 v.enter_visit(_n_type)
5973 v.enter_visit(_n_cbra)
5974 v.enter_visit(_n_annotations)
5975 end
5976 end
5977 redef class ASelfExpr
5978 init init_aselfexpr (
5979 n_kwself: nullable TKwself,
5980 n_annotations: nullable AAnnotations
5981 )
5982 do
5983 _n_kwself = n_kwself.as(not null)
5984 n_kwself.parent = self
5985 _n_annotations = n_annotations
5986 if n_annotations != null then n_annotations.parent = self
5987 end
5988
5989 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5990 do
5991 if _n_kwself == old_child then
5992 n_kwself = new_child.as(TKwself)
5993 return
5994 end
5995 if _n_annotations == old_child then
5996 n_annotations = new_child.as(nullable AAnnotations)
5997 return
5998 end
5999 end
6000
6001 redef fun n_kwself=(node)
6002 do
6003 _n_kwself = node
6004 node.parent = self
6005 end
6006 redef fun n_annotations=(node)
6007 do
6008 _n_annotations = node
6009 if node != null then node.parent = self
6010 end
6011
6012
6013 redef fun visit_all(v: Visitor)
6014 do
6015 v.enter_visit(_n_kwself)
6016 v.enter_visit(_n_annotations)
6017 end
6018 end
6019 redef class AImplicitSelfExpr
6020 init init_aimplicitselfexpr
6021 do
6022 end
6023
6024 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6025 do
6026 end
6027
6028
6029
6030 redef fun visit_all(v: Visitor)
6031 do
6032 end
6033 end
6034 redef class ATrueExpr
6035 init init_atrueexpr (
6036 n_kwtrue: nullable TKwtrue,
6037 n_annotations: nullable AAnnotations
6038 )
6039 do
6040 _n_kwtrue = n_kwtrue.as(not null)
6041 n_kwtrue.parent = self
6042 _n_annotations = n_annotations
6043 if n_annotations != null then n_annotations.parent = self
6044 end
6045
6046 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6047 do
6048 if _n_kwtrue == old_child then
6049 n_kwtrue = new_child.as(TKwtrue)
6050 return
6051 end
6052 if _n_annotations == old_child then
6053 n_annotations = new_child.as(nullable AAnnotations)
6054 return
6055 end
6056 end
6057
6058 redef fun n_kwtrue=(node)
6059 do
6060 _n_kwtrue = node
6061 node.parent = self
6062 end
6063 redef fun n_annotations=(node)
6064 do
6065 _n_annotations = node
6066 if node != null then node.parent = self
6067 end
6068
6069
6070 redef fun visit_all(v: Visitor)
6071 do
6072 v.enter_visit(_n_kwtrue)
6073 v.enter_visit(_n_annotations)
6074 end
6075 end
6076 redef class AFalseExpr
6077 init init_afalseexpr (
6078 n_kwfalse: nullable TKwfalse,
6079 n_annotations: nullable AAnnotations
6080 )
6081 do
6082 _n_kwfalse = n_kwfalse.as(not null)
6083 n_kwfalse.parent = self
6084 _n_annotations = n_annotations
6085 if n_annotations != null then n_annotations.parent = self
6086 end
6087
6088 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6089 do
6090 if _n_kwfalse == old_child then
6091 n_kwfalse = new_child.as(TKwfalse)
6092 return
6093 end
6094 if _n_annotations == old_child then
6095 n_annotations = new_child.as(nullable AAnnotations)
6096 return
6097 end
6098 end
6099
6100 redef fun n_kwfalse=(node)
6101 do
6102 _n_kwfalse = node
6103 node.parent = self
6104 end
6105 redef fun n_annotations=(node)
6106 do
6107 _n_annotations = node
6108 if node != null then node.parent = self
6109 end
6110
6111
6112 redef fun visit_all(v: Visitor)
6113 do
6114 v.enter_visit(_n_kwfalse)
6115 v.enter_visit(_n_annotations)
6116 end
6117 end
6118 redef class ANullExpr
6119 init init_anullexpr (
6120 n_kwnull: nullable TKwnull,
6121 n_annotations: nullable AAnnotations
6122 )
6123 do
6124 _n_kwnull = n_kwnull.as(not null)
6125 n_kwnull.parent = self
6126 _n_annotations = n_annotations
6127 if n_annotations != null then n_annotations.parent = self
6128 end
6129
6130 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6131 do
6132 if _n_kwnull == old_child then
6133 n_kwnull = new_child.as(TKwnull)
6134 return
6135 end
6136 if _n_annotations == old_child then
6137 n_annotations = new_child.as(nullable AAnnotations)
6138 return
6139 end
6140 end
6141
6142 redef fun n_kwnull=(node)
6143 do
6144 _n_kwnull = node
6145 node.parent = self
6146 end
6147 redef fun n_annotations=(node)
6148 do
6149 _n_annotations = node
6150 if node != null then node.parent = self
6151 end
6152
6153
6154 redef fun visit_all(v: Visitor)
6155 do
6156 v.enter_visit(_n_kwnull)
6157 v.enter_visit(_n_annotations)
6158 end
6159 end
6160 redef class ADecIntExpr
6161 init init_adecintexpr (
6162 n_number: nullable TNumber,
6163 n_annotations: nullable AAnnotations
6164 )
6165 do
6166 _n_number = n_number.as(not null)
6167 n_number.parent = self
6168 _n_annotations = n_annotations
6169 if n_annotations != null then n_annotations.parent = self
6170 end
6171
6172 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6173 do
6174 if _n_number == old_child then
6175 n_number = new_child.as(TNumber)
6176 return
6177 end
6178 if _n_annotations == old_child then
6179 n_annotations = new_child.as(nullable AAnnotations)
6180 return
6181 end
6182 end
6183
6184 redef fun n_number=(node)
6185 do
6186 _n_number = node
6187 node.parent = self
6188 end
6189 redef fun n_annotations=(node)
6190 do
6191 _n_annotations = node
6192 if node != null then node.parent = self
6193 end
6194
6195
6196 redef fun visit_all(v: Visitor)
6197 do
6198 v.enter_visit(_n_number)
6199 v.enter_visit(_n_annotations)
6200 end
6201 end
6202 redef class AHexIntExpr
6203 init init_ahexintexpr (
6204 n_hex_number: nullable THexNumber,
6205 n_annotations: nullable AAnnotations
6206 )
6207 do
6208 _n_hex_number = n_hex_number.as(not null)
6209 n_hex_number.parent = self
6210 _n_annotations = n_annotations
6211 if n_annotations != null then n_annotations.parent = self
6212 end
6213
6214 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6215 do
6216 if _n_hex_number == old_child then
6217 n_hex_number = new_child.as(THexNumber)
6218 return
6219 end
6220 if _n_annotations == old_child then
6221 n_annotations = new_child.as(nullable AAnnotations)
6222 return
6223 end
6224 end
6225
6226 redef fun n_hex_number=(node)
6227 do
6228 _n_hex_number = node
6229 node.parent = self
6230 end
6231 redef fun n_annotations=(node)
6232 do
6233 _n_annotations = node
6234 if node != null then node.parent = self
6235 end
6236
6237
6238 redef fun visit_all(v: Visitor)
6239 do
6240 v.enter_visit(_n_hex_number)
6241 v.enter_visit(_n_annotations)
6242 end
6243 end
6244 redef class AFloatExpr
6245 init init_afloatexpr (
6246 n_float: nullable TFloat,
6247 n_annotations: nullable AAnnotations
6248 )
6249 do
6250 _n_float = n_float.as(not null)
6251 n_float.parent = self
6252 _n_annotations = n_annotations
6253 if n_annotations != null then n_annotations.parent = self
6254 end
6255
6256 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6257 do
6258 if _n_float == old_child then
6259 n_float = new_child.as(TFloat)
6260 return
6261 end
6262 if _n_annotations == old_child then
6263 n_annotations = new_child.as(nullable AAnnotations)
6264 return
6265 end
6266 end
6267
6268 redef fun n_float=(node)
6269 do
6270 _n_float = node
6271 node.parent = self
6272 end
6273 redef fun n_annotations=(node)
6274 do
6275 _n_annotations = node
6276 if node != null then node.parent = self
6277 end
6278
6279
6280 redef fun visit_all(v: Visitor)
6281 do
6282 v.enter_visit(_n_float)
6283 v.enter_visit(_n_annotations)
6284 end
6285 end
6286 redef class ACharExpr
6287 init init_acharexpr (
6288 n_char: nullable TChar,
6289 n_annotations: nullable AAnnotations
6290 )
6291 do
6292 _n_char = n_char.as(not null)
6293 n_char.parent = self
6294 _n_annotations = n_annotations
6295 if n_annotations != null then n_annotations.parent = self
6296 end
6297
6298 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6299 do
6300 if _n_char == old_child then
6301 n_char = new_child.as(TChar)
6302 return
6303 end
6304 if _n_annotations == old_child then
6305 n_annotations = new_child.as(nullable AAnnotations)
6306 return
6307 end
6308 end
6309
6310 redef fun n_char=(node)
6311 do
6312 _n_char = node
6313 node.parent = self
6314 end
6315 redef fun n_annotations=(node)
6316 do
6317 _n_annotations = node
6318 if node != null then node.parent = self
6319 end
6320
6321
6322 redef fun visit_all(v: Visitor)
6323 do
6324 v.enter_visit(_n_char)
6325 v.enter_visit(_n_annotations)
6326 end
6327 end
6328 redef class AStringExpr
6329 init init_astringexpr (
6330 n_string: nullable TString,
6331 n_annotations: nullable AAnnotations
6332 )
6333 do
6334 _n_string = n_string.as(not null)
6335 n_string.parent = self
6336 _n_annotations = n_annotations
6337 if n_annotations != null then n_annotations.parent = self
6338 end
6339
6340 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6341 do
6342 if _n_string == old_child then
6343 n_string = new_child.as(TString)
6344 return
6345 end
6346 if _n_annotations == old_child then
6347 n_annotations = new_child.as(nullable AAnnotations)
6348 return
6349 end
6350 end
6351
6352 redef fun n_string=(node)
6353 do
6354 _n_string = node
6355 node.parent = self
6356 end
6357 redef fun n_annotations=(node)
6358 do
6359 _n_annotations = node
6360 if node != null then node.parent = self
6361 end
6362
6363
6364 redef fun visit_all(v: Visitor)
6365 do
6366 v.enter_visit(_n_string)
6367 v.enter_visit(_n_annotations)
6368 end
6369 end
6370 redef class AStartStringExpr
6371 init init_astartstringexpr (
6372 n_string: nullable TStartString
6373 )
6374 do
6375 _n_string = n_string.as(not null)
6376 n_string.parent = self
6377 end
6378
6379 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6380 do
6381 if _n_string == old_child then
6382 n_string = new_child.as(TStartString)
6383 return
6384 end
6385 end
6386
6387 redef fun n_string=(node)
6388 do
6389 _n_string = node
6390 node.parent = self
6391 end
6392
6393
6394 redef fun visit_all(v: Visitor)
6395 do
6396 v.enter_visit(_n_string)
6397 end
6398 end
6399 redef class AMidStringExpr
6400 init init_amidstringexpr (
6401 n_string: nullable TMidString
6402 )
6403 do
6404 _n_string = n_string.as(not null)
6405 n_string.parent = self
6406 end
6407
6408 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6409 do
6410 if _n_string == old_child then
6411 n_string = new_child.as(TMidString)
6412 return
6413 end
6414 end
6415
6416 redef fun n_string=(node)
6417 do
6418 _n_string = node
6419 node.parent = self
6420 end
6421
6422
6423 redef fun visit_all(v: Visitor)
6424 do
6425 v.enter_visit(_n_string)
6426 end
6427 end
6428 redef class AEndStringExpr
6429 init init_aendstringexpr (
6430 n_string: nullable TEndString
6431 )
6432 do
6433 _n_string = n_string.as(not null)
6434 n_string.parent = self
6435 end
6436
6437 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6438 do
6439 if _n_string == old_child then
6440 n_string = new_child.as(TEndString)
6441 return
6442 end
6443 end
6444
6445 redef fun n_string=(node)
6446 do
6447 _n_string = node
6448 node.parent = self
6449 end
6450
6451
6452 redef fun visit_all(v: Visitor)
6453 do
6454 v.enter_visit(_n_string)
6455 end
6456 end
6457 redef class ASuperstringExpr
6458 init init_asuperstringexpr (
6459 n_exprs: Collection[Object], # Should be Collection[AExpr]
6460 n_annotations: nullable AAnnotations
6461 )
6462 do
6463 self.n_exprs.unsafe_add_all(n_exprs)
6464 _n_annotations = n_annotations
6465 if n_annotations != null then n_annotations.parent = self
6466 end
6467
6468 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6469 do
6470 if n_exprs.replace_child(old_child, new_child) then return
6471 if _n_annotations == old_child then
6472 n_annotations = new_child.as(nullable AAnnotations)
6473 return
6474 end
6475 end
6476
6477 redef fun n_annotations=(node)
6478 do
6479 _n_annotations = node
6480 if node != null then node.parent = self
6481 end
6482
6483
6484 redef fun visit_all(v: Visitor)
6485 do
6486 n_exprs.visit_all(v)
6487 v.enter_visit(_n_annotations)
6488 end
6489 end
6490 redef class AParExpr
6491 init init_aparexpr (
6492 n_opar: nullable TOpar,
6493 n_expr: nullable AExpr,
6494 n_cpar: nullable TCpar,
6495 n_annotations: nullable AAnnotations
6496 )
6497 do
6498 _n_opar = n_opar.as(not null)
6499 n_opar.parent = self
6500 _n_expr = n_expr.as(not null)
6501 n_expr.parent = self
6502 _n_cpar = n_cpar.as(not null)
6503 n_cpar.parent = self
6504 _n_annotations = n_annotations
6505 if n_annotations != null then n_annotations.parent = self
6506 end
6507
6508 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6509 do
6510 if _n_opar == old_child then
6511 n_opar = new_child.as(TOpar)
6512 return
6513 end
6514 if _n_expr == old_child then
6515 n_expr = new_child.as(AExpr)
6516 return
6517 end
6518 if _n_cpar == old_child then
6519 n_cpar = new_child.as(TCpar)
6520 return
6521 end
6522 if _n_annotations == old_child then
6523 n_annotations = new_child.as(nullable AAnnotations)
6524 return
6525 end
6526 end
6527
6528 redef fun n_opar=(node)
6529 do
6530 _n_opar = node
6531 node.parent = self
6532 end
6533 redef fun n_expr=(node)
6534 do
6535 _n_expr = node
6536 node.parent = self
6537 end
6538 redef fun n_cpar=(node)
6539 do
6540 _n_cpar = node
6541 node.parent = self
6542 end
6543 redef fun n_annotations=(node)
6544 do
6545 _n_annotations = node
6546 if node != null then node.parent = self
6547 end
6548
6549
6550 redef fun visit_all(v: Visitor)
6551 do
6552 v.enter_visit(_n_opar)
6553 v.enter_visit(_n_expr)
6554 v.enter_visit(_n_cpar)
6555 v.enter_visit(_n_annotations)
6556 end
6557 end
6558 redef class AAsCastExpr
6559 init init_aascastexpr (
6560 n_expr: nullable AExpr,
6561 n_kwas: nullable TKwas,
6562 n_opar: nullable TOpar,
6563 n_type: nullable AType,
6564 n_cpar: nullable TCpar
6565 )
6566 do
6567 _n_expr = n_expr.as(not null)
6568 n_expr.parent = self
6569 _n_kwas = n_kwas.as(not null)
6570 n_kwas.parent = self
6571 _n_opar = n_opar
6572 if n_opar != null then n_opar.parent = self
6573 _n_type = n_type.as(not null)
6574 n_type.parent = self
6575 _n_cpar = n_cpar
6576 if n_cpar != null then n_cpar.parent = self
6577 end
6578
6579 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6580 do
6581 if _n_expr == old_child then
6582 n_expr = new_child.as(AExpr)
6583 return
6584 end
6585 if _n_kwas == old_child then
6586 n_kwas = new_child.as(TKwas)
6587 return
6588 end
6589 if _n_opar == old_child then
6590 n_opar = new_child.as(nullable TOpar)
6591 return
6592 end
6593 if _n_type == old_child then
6594 n_type = new_child.as(AType)
6595 return
6596 end
6597 if _n_cpar == old_child then
6598 n_cpar = new_child.as(nullable TCpar)
6599 return
6600 end
6601 end
6602
6603 redef fun n_expr=(node)
6604 do
6605 _n_expr = node
6606 node.parent = self
6607 end
6608 redef fun n_kwas=(node)
6609 do
6610 _n_kwas = node
6611 node.parent = self
6612 end
6613 redef fun n_opar=(node)
6614 do
6615 _n_opar = node
6616 if node != null then node.parent = self
6617 end
6618 redef fun n_type=(node)
6619 do
6620 _n_type = node
6621 node.parent = self
6622 end
6623 redef fun n_cpar=(node)
6624 do
6625 _n_cpar = node
6626 if node != null then node.parent = self
6627 end
6628
6629
6630 redef fun visit_all(v: Visitor)
6631 do
6632 v.enter_visit(_n_expr)
6633 v.enter_visit(_n_kwas)
6634 v.enter_visit(_n_opar)
6635 v.enter_visit(_n_type)
6636 v.enter_visit(_n_cpar)
6637 end
6638 end
6639 redef class AAsNotnullExpr
6640 init init_aasnotnullexpr (
6641 n_expr: nullable AExpr,
6642 n_kwas: nullable TKwas,
6643 n_opar: nullable TOpar,
6644 n_kwnot: nullable TKwnot,
6645 n_kwnull: nullable TKwnull,
6646 n_cpar: nullable TCpar
6647 )
6648 do
6649 _n_expr = n_expr.as(not null)
6650 n_expr.parent = self
6651 _n_kwas = n_kwas.as(not null)
6652 n_kwas.parent = self
6653 _n_opar = n_opar
6654 if n_opar != null then n_opar.parent = self
6655 _n_kwnot = n_kwnot.as(not null)
6656 n_kwnot.parent = self
6657 _n_kwnull = n_kwnull.as(not null)
6658 n_kwnull.parent = self
6659 _n_cpar = n_cpar
6660 if n_cpar != null then n_cpar.parent = self
6661 end
6662
6663 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6664 do
6665 if _n_expr == old_child then
6666 n_expr = new_child.as(AExpr)
6667 return
6668 end
6669 if _n_kwas == old_child then
6670 n_kwas = new_child.as(TKwas)
6671 return
6672 end
6673 if _n_opar == old_child then
6674 n_opar = new_child.as(nullable TOpar)
6675 return
6676 end
6677 if _n_kwnot == old_child then
6678 n_kwnot = new_child.as(TKwnot)
6679 return
6680 end
6681 if _n_kwnull == old_child then
6682 n_kwnull = new_child.as(TKwnull)
6683 return
6684 end
6685 if _n_cpar == old_child then
6686 n_cpar = new_child.as(nullable TCpar)
6687 return
6688 end
6689 end
6690
6691 redef fun n_expr=(node)
6692 do
6693 _n_expr = node
6694 node.parent = self
6695 end
6696 redef fun n_kwas=(node)
6697 do
6698 _n_kwas = node
6699 node.parent = self
6700 end
6701 redef fun n_opar=(node)
6702 do
6703 _n_opar = node
6704 if node != null then node.parent = self
6705 end
6706 redef fun n_kwnot=(node)
6707 do
6708 _n_kwnot = node
6709 node.parent = self
6710 end
6711 redef fun n_kwnull=(node)
6712 do
6713 _n_kwnull = node
6714 node.parent = self
6715 end
6716 redef fun n_cpar=(node)
6717 do
6718 _n_cpar = node
6719 if node != null then node.parent = self
6720 end
6721
6722
6723 redef fun visit_all(v: Visitor)
6724 do
6725 v.enter_visit(_n_expr)
6726 v.enter_visit(_n_kwas)
6727 v.enter_visit(_n_opar)
6728 v.enter_visit(_n_kwnot)
6729 v.enter_visit(_n_kwnull)
6730 v.enter_visit(_n_cpar)
6731 end
6732 end
6733 redef class AIssetAttrExpr
6734 init init_aissetattrexpr (
6735 n_kwisset: nullable TKwisset,
6736 n_expr: nullable AExpr,
6737 n_id: nullable TAttrid
6738 )
6739 do
6740 _n_kwisset = n_kwisset.as(not null)
6741 n_kwisset.parent = self
6742 _n_expr = n_expr.as(not null)
6743 n_expr.parent = self
6744 _n_id = n_id.as(not null)
6745 n_id.parent = self
6746 end
6747
6748 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6749 do
6750 if _n_kwisset == old_child then
6751 n_kwisset = new_child.as(TKwisset)
6752 return
6753 end
6754 if _n_expr == old_child then
6755 n_expr = new_child.as(AExpr)
6756 return
6757 end
6758 if _n_id == old_child then
6759 n_id = new_child.as(TAttrid)
6760 return
6761 end
6762 end
6763
6764 redef fun n_kwisset=(node)
6765 do
6766 _n_kwisset = node
6767 node.parent = self
6768 end
6769 redef fun n_expr=(node)
6770 do
6771 _n_expr = node
6772 node.parent = self
6773 end
6774 redef fun n_id=(node)
6775 do
6776 _n_id = node
6777 node.parent = self
6778 end
6779
6780
6781 redef fun visit_all(v: Visitor)
6782 do
6783 v.enter_visit(_n_kwisset)
6784 v.enter_visit(_n_expr)
6785 v.enter_visit(_n_id)
6786 end
6787 end
6788 redef class ADebugTypeExpr
6789 init init_adebugtypeexpr (
6790 n_kwdebug: nullable TKwdebug,
6791 n_kwtype: nullable TKwtype,
6792 n_expr: nullable AExpr,
6793 n_type: nullable AType
6794 )
6795 do
6796 _n_kwdebug = n_kwdebug.as(not null)
6797 n_kwdebug.parent = self
6798 _n_kwtype = n_kwtype.as(not null)
6799 n_kwtype.parent = self
6800 _n_expr = n_expr.as(not null)
6801 n_expr.parent = self
6802 _n_type = n_type.as(not null)
6803 n_type.parent = self
6804 end
6805
6806 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6807 do
6808 if _n_kwdebug == old_child then
6809 n_kwdebug = new_child.as(TKwdebug)
6810 return
6811 end
6812 if _n_kwtype == old_child then
6813 n_kwtype = new_child.as(TKwtype)
6814 return
6815 end
6816 if _n_expr == old_child then
6817 n_expr = new_child.as(AExpr)
6818 return
6819 end
6820 if _n_type == old_child then
6821 n_type = new_child.as(AType)
6822 return
6823 end
6824 end
6825
6826 redef fun n_kwdebug=(node)
6827 do
6828 _n_kwdebug = node
6829 node.parent = self
6830 end
6831 redef fun n_kwtype=(node)
6832 do
6833 _n_kwtype = node
6834 node.parent = self
6835 end
6836 redef fun n_expr=(node)
6837 do
6838 _n_expr = node
6839 node.parent = self
6840 end
6841 redef fun n_type=(node)
6842 do
6843 _n_type = node
6844 node.parent = self
6845 end
6846
6847
6848 redef fun visit_all(v: Visitor)
6849 do
6850 v.enter_visit(_n_kwdebug)
6851 v.enter_visit(_n_kwtype)
6852 v.enter_visit(_n_expr)
6853 v.enter_visit(_n_type)
6854 end
6855 end
6856 redef class AVarargExpr
6857 init init_avarargexpr (
6858 n_expr: nullable AExpr,
6859 n_dotdotdot: nullable TDotdotdot
6860 )
6861 do
6862 _n_expr = n_expr.as(not null)
6863 n_expr.parent = self
6864 _n_dotdotdot = n_dotdotdot.as(not null)
6865 n_dotdotdot.parent = self
6866 end
6867
6868 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6869 do
6870 if _n_expr == old_child then
6871 n_expr = new_child.as(AExpr)
6872 return
6873 end
6874 if _n_dotdotdot == old_child then
6875 n_dotdotdot = new_child.as(TDotdotdot)
6876 return
6877 end
6878 end
6879
6880 redef fun n_expr=(node)
6881 do
6882 _n_expr = node
6883 node.parent = self
6884 end
6885 redef fun n_dotdotdot=(node)
6886 do
6887 _n_dotdotdot = node
6888 node.parent = self
6889 end
6890
6891
6892 redef fun visit_all(v: Visitor)
6893 do
6894 v.enter_visit(_n_expr)
6895 v.enter_visit(_n_dotdotdot)
6896 end
6897 end
6898 redef class ANamedargExpr
6899 init init_anamedargexpr (
6900 n_id: nullable TId,
6901 n_assign: nullable TAssign,
6902 n_expr: nullable AExpr
6903 )
6904 do
6905 _n_id = n_id.as(not null)
6906 n_id.parent = self
6907 _n_assign = n_assign.as(not null)
6908 n_assign.parent = self
6909 _n_expr = n_expr.as(not null)
6910 n_expr.parent = self
6911 end
6912
6913 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6914 do
6915 if _n_id == old_child then
6916 n_id = new_child.as(TId)
6917 return
6918 end
6919 if _n_assign == old_child then
6920 n_assign = new_child.as(TAssign)
6921 return
6922 end
6923 if _n_expr == old_child then
6924 n_expr = new_child.as(AExpr)
6925 return
6926 end
6927 end
6928
6929 redef fun n_id=(node)
6930 do
6931 _n_id = node
6932 node.parent = self
6933 end
6934 redef fun n_assign=(node)
6935 do
6936 _n_assign = node
6937 node.parent = self
6938 end
6939 redef fun n_expr=(node)
6940 do
6941 _n_expr = node
6942 node.parent = self
6943 end
6944
6945
6946 redef fun visit_all(v: Visitor)
6947 do
6948 v.enter_visit(_n_id)
6949 v.enter_visit(_n_assign)
6950 v.enter_visit(_n_expr)
6951 end
6952 end
6953 redef class ATypeExpr
6954 init init_atypeexpr (
6955 n_type: nullable AType
6956 )
6957 do
6958 _n_type = n_type.as(not null)
6959 n_type.parent = self
6960 end
6961
6962 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6963 do
6964 if _n_type == old_child then
6965 n_type = new_child.as(AType)
6966 return
6967 end
6968 end
6969
6970 redef fun n_type=(node)
6971 do
6972 _n_type = node
6973 node.parent = self
6974 end
6975
6976
6977 redef fun visit_all(v: Visitor)
6978 do
6979 v.enter_visit(_n_type)
6980 end
6981 end
6982 redef class AMethidExpr
6983 init init_amethidexpr (
6984 n_expr: nullable AExpr,
6985 n_id: nullable AMethid
6986 )
6987 do
6988 _n_expr = n_expr.as(not null)
6989 n_expr.parent = self
6990 _n_id = n_id.as(not null)
6991 n_id.parent = self
6992 end
6993
6994 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6995 do
6996 if _n_expr == old_child then
6997 n_expr = new_child.as(AExpr)
6998 return
6999 end
7000 if _n_id == old_child then
7001 n_id = new_child.as(AMethid)
7002 return
7003 end
7004 end
7005
7006 redef fun n_expr=(node)
7007 do
7008 _n_expr = node
7009 node.parent = self
7010 end
7011 redef fun n_id=(node)
7012 do
7013 _n_id = node
7014 node.parent = self
7015 end
7016
7017
7018 redef fun visit_all(v: Visitor)
7019 do
7020 v.enter_visit(_n_expr)
7021 v.enter_visit(_n_id)
7022 end
7023 end
7024 redef class AAtExpr
7025 init init_aatexpr (
7026 n_annotations: nullable AAnnotations
7027 )
7028 do
7029 _n_annotations = n_annotations.as(not null)
7030 n_annotations.parent = self
7031 end
7032
7033 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7034 do
7035 if _n_annotations == old_child then
7036 n_annotations = new_child.as(AAnnotations)
7037 return
7038 end
7039 end
7040
7041 redef fun n_annotations=(node)
7042 do
7043 _n_annotations = node
7044 node.parent = self
7045 end
7046
7047
7048 redef fun visit_all(v: Visitor)
7049 do
7050 v.enter_visit(_n_annotations)
7051 end
7052 end
7053 redef class AManyExpr
7054 init init_amanyexpr (
7055 n_exprs: Collection[Object] # Should be Collection[AExpr]
7056 )
7057 do
7058 self.n_exprs.unsafe_add_all(n_exprs)
7059 end
7060
7061 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7062 do
7063 if n_exprs.replace_child(old_child, new_child) then return
7064 end
7065
7066
7067
7068 redef fun visit_all(v: Visitor)
7069 do
7070 n_exprs.visit_all(v)
7071 end
7072 end
7073 redef class AListExprs
7074 init init_alistexprs (
7075 n_exprs: Collection[Object] # Should be Collection[AExpr]
7076 )
7077 do
7078 self.n_exprs.unsafe_add_all(n_exprs)
7079 end
7080
7081 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7082 do
7083 if n_exprs.replace_child(old_child, new_child) then return
7084 end
7085
7086
7087
7088 redef fun visit_all(v: Visitor)
7089 do
7090 n_exprs.visit_all(v)
7091 end
7092 end
7093 redef class AParExprs
7094 init init_aparexprs (
7095 n_opar: nullable TOpar,
7096 n_exprs: Collection[Object], # Should be Collection[AExpr]
7097 n_cpar: nullable TCpar
7098 )
7099 do
7100 _n_opar = n_opar.as(not null)
7101 n_opar.parent = self
7102 self.n_exprs.unsafe_add_all(n_exprs)
7103 _n_cpar = n_cpar.as(not null)
7104 n_cpar.parent = self
7105 end
7106
7107 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7108 do
7109 if _n_opar == old_child then
7110 n_opar = new_child.as(TOpar)
7111 return
7112 end
7113 if n_exprs.replace_child(old_child, new_child) then return
7114 if _n_cpar == old_child then
7115 n_cpar = new_child.as(TCpar)
7116 return
7117 end
7118 end
7119
7120 redef fun n_opar=(node)
7121 do
7122 _n_opar = node
7123 node.parent = self
7124 end
7125 redef fun n_cpar=(node)
7126 do
7127 _n_cpar = node
7128 node.parent = self
7129 end
7130
7131
7132 redef fun visit_all(v: Visitor)
7133 do
7134 v.enter_visit(_n_opar)
7135 n_exprs.visit_all(v)
7136 v.enter_visit(_n_cpar)
7137 end
7138 end
7139 redef class ABraExprs
7140 init init_abraexprs (
7141 n_obra: nullable TObra,
7142 n_exprs: Collection[Object], # Should be Collection[AExpr]
7143 n_cbra: nullable TCbra
7144 )
7145 do
7146 _n_obra = n_obra.as(not null)
7147 n_obra.parent = self
7148 self.n_exprs.unsafe_add_all(n_exprs)
7149 _n_cbra = n_cbra.as(not null)
7150 n_cbra.parent = self
7151 end
7152
7153 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7154 do
7155 if _n_obra == old_child then
7156 n_obra = new_child.as(TObra)
7157 return
7158 end
7159 if n_exprs.replace_child(old_child, new_child) then return
7160 if _n_cbra == old_child then
7161 n_cbra = new_child.as(TCbra)
7162 return
7163 end
7164 end
7165
7166 redef fun n_obra=(node)
7167 do
7168 _n_obra = node
7169 node.parent = self
7170 end
7171 redef fun n_cbra=(node)
7172 do
7173 _n_cbra = node
7174 node.parent = self
7175 end
7176
7177
7178 redef fun visit_all(v: Visitor)
7179 do
7180 v.enter_visit(_n_obra)
7181 n_exprs.visit_all(v)
7182 v.enter_visit(_n_cbra)
7183 end
7184 end
7185 redef class APlusAssignOp
7186 init init_aplusassignop (
7187 n_op: nullable TPluseq
7188 )
7189 do
7190 _n_op = n_op.as(not null)
7191 n_op.parent = self
7192 end
7193
7194 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7195 do
7196 if _n_op == old_child then
7197 n_op = new_child.as(TPluseq)
7198 return
7199 end
7200 end
7201
7202 redef fun n_op=(node)
7203 do
7204 _n_op = node
7205 node.parent = self
7206 end
7207
7208
7209 redef fun visit_all(v: Visitor)
7210 do
7211 v.enter_visit(_n_op)
7212 end
7213 end
7214 redef class AMinusAssignOp
7215 init init_aminusassignop (
7216 n_op: nullable TMinuseq
7217 )
7218 do
7219 _n_op = n_op.as(not null)
7220 n_op.parent = self
7221 end
7222
7223 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7224 do
7225 if _n_op == old_child then
7226 n_op = new_child.as(TMinuseq)
7227 return
7228 end
7229 end
7230
7231 redef fun n_op=(node)
7232 do
7233 _n_op = node
7234 node.parent = self
7235 end
7236
7237
7238 redef fun visit_all(v: Visitor)
7239 do
7240 v.enter_visit(_n_op)
7241 end
7242 end
7243 redef class AStarAssignOp
7244 init init_astarassignop (
7245 n_op: nullable TStareq
7246 )
7247 do
7248 _n_op = n_op.as(not null)
7249 n_op.parent = self
7250 end
7251
7252 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7253 do
7254 if _n_op == old_child then
7255 n_op = new_child.as(TStareq)
7256 return
7257 end
7258 end
7259
7260 redef fun n_op=(node)
7261 do
7262 _n_op = node
7263 node.parent = self
7264 end
7265
7266
7267 redef fun visit_all(v: Visitor)
7268 do
7269 v.enter_visit(_n_op)
7270 end
7271 end
7272 redef class ASlashAssignOp
7273 init init_aslashassignop (
7274 n_op: nullable TSlasheq
7275 )
7276 do
7277 _n_op = n_op.as(not null)
7278 n_op.parent = self
7279 end
7280
7281 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7282 do
7283 if _n_op == old_child then
7284 n_op = new_child.as(TSlasheq)
7285 return
7286 end
7287 end
7288
7289 redef fun n_op=(node)
7290 do
7291 _n_op = node
7292 node.parent = self
7293 end
7294
7295
7296 redef fun visit_all(v: Visitor)
7297 do
7298 v.enter_visit(_n_op)
7299 end
7300 end
7301 redef class APercentAssignOp
7302 init init_apercentassignop (
7303 n_op: nullable TPercenteq
7304 )
7305 do
7306 _n_op = n_op.as(not null)
7307 n_op.parent = self
7308 end
7309
7310 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7311 do
7312 if _n_op == old_child then
7313 n_op = new_child.as(TPercenteq)
7314 return
7315 end
7316 end
7317
7318 redef fun n_op=(node)
7319 do
7320 _n_op = node
7321 node.parent = self
7322 end
7323
7324
7325 redef fun visit_all(v: Visitor)
7326 do
7327 v.enter_visit(_n_op)
7328 end
7329 end
7330 redef class AStarstarAssignOp
7331 init init_astarstarassignop (
7332 n_op: nullable TStarstareq
7333 )
7334 do
7335 _n_op = n_op.as(not null)
7336 n_op.parent = self
7337 end
7338
7339 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7340 do
7341 if _n_op == old_child then
7342 n_op = new_child.as(TStarstareq)
7343 return
7344 end
7345 end
7346
7347 redef fun n_op=(node)
7348 do
7349 _n_op = node
7350 node.parent = self
7351 end
7352
7353
7354 redef fun visit_all(v: Visitor)
7355 do
7356 v.enter_visit(_n_op)
7357 end
7358 end
7359 redef class APipeAssignOp
7360 init init_apipeassignop (
7361 n_op: nullable TPipeeq
7362 )
7363 do
7364 _n_op = n_op.as(not null)
7365 n_op.parent = self
7366 end
7367
7368 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7369 do
7370 if _n_op == old_child then
7371 n_op = new_child.as(TPipeeq)
7372 return
7373 end
7374 end
7375
7376 redef fun n_op=(node)
7377 do
7378 _n_op = node
7379 node.parent = self
7380 end
7381
7382
7383 redef fun visit_all(v: Visitor)
7384 do
7385 v.enter_visit(_n_op)
7386 end
7387 end
7388 redef class ACaretAssignOp
7389 init init_acaretassignop (
7390 n_op: nullable TCareteq
7391 )
7392 do
7393 _n_op = n_op.as(not null)
7394 n_op.parent = self
7395 end
7396
7397 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7398 do
7399 if _n_op == old_child then
7400 n_op = new_child.as(TCareteq)
7401 return
7402 end
7403 end
7404
7405 redef fun n_op=(node)
7406 do
7407 _n_op = node
7408 node.parent = self
7409 end
7410
7411
7412 redef fun visit_all(v: Visitor)
7413 do
7414 v.enter_visit(_n_op)
7415 end
7416 end
7417 redef class AAmpAssignOp
7418 init init_aampassignop (
7419 n_op: nullable TAmpeq
7420 )
7421 do
7422 _n_op = n_op.as(not null)
7423 n_op.parent = self
7424 end
7425
7426 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7427 do
7428 if _n_op == old_child then
7429 n_op = new_child.as(TAmpeq)
7430 return
7431 end
7432 end
7433
7434 redef fun n_op=(node)
7435 do
7436 _n_op = node
7437 node.parent = self
7438 end
7439
7440
7441 redef fun visit_all(v: Visitor)
7442 do
7443 v.enter_visit(_n_op)
7444 end
7445 end
7446 redef class ALlAssignOp
7447 init init_allassignop (
7448 n_op: nullable TLleq
7449 )
7450 do
7451 _n_op = n_op.as(not null)
7452 n_op.parent = self
7453 end
7454
7455 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7456 do
7457 if _n_op == old_child then
7458 n_op = new_child.as(TLleq)
7459 return
7460 end
7461 end
7462
7463 redef fun n_op=(node)
7464 do
7465 _n_op = node
7466 node.parent = self
7467 end
7468
7469
7470 redef fun visit_all(v: Visitor)
7471 do
7472 v.enter_visit(_n_op)
7473 end
7474 end
7475 redef class AGgAssignOp
7476 init init_aggassignop (
7477 n_op: nullable TGgeq
7478 )
7479 do
7480 _n_op = n_op.as(not null)
7481 n_op.parent = self
7482 end
7483
7484 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7485 do
7486 if _n_op == old_child then
7487 n_op = new_child.as(TGgeq)
7488 return
7489 end
7490 end
7491
7492 redef fun n_op=(node)
7493 do
7494 _n_op = node
7495 node.parent = self
7496 end
7497
7498
7499 redef fun visit_all(v: Visitor)
7500 do
7501 v.enter_visit(_n_op)
7502 end
7503 end
7504 redef class AModuleName
7505 init init_amodulename (
7506 n_quad: nullable TQuad,
7507 n_path: Collection[Object], # Should be Collection[TId]
7508 n_id: nullable TId
7509 )
7510 do
7511 _n_quad = n_quad
7512 if n_quad != null then n_quad.parent = self
7513 self.n_path.unsafe_add_all(n_path)
7514 _n_id = n_id.as(not null)
7515 n_id.parent = self
7516 end
7517
7518 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7519 do
7520 if _n_quad == old_child then
7521 n_quad = new_child.as(nullable TQuad)
7522 return
7523 end
7524 if n_path.replace_child(old_child, new_child) then return
7525 if _n_id == old_child then
7526 n_id = new_child.as(TId)
7527 return
7528 end
7529 end
7530
7531 redef fun n_quad=(node)
7532 do
7533 _n_quad = node
7534 if node != null then node.parent = self
7535 end
7536 redef fun n_id=(node)
7537 do
7538 _n_id = node
7539 node.parent = self
7540 end
7541
7542
7543 redef fun visit_all(v: Visitor)
7544 do
7545 v.enter_visit(_n_quad)
7546 n_path.visit_all(v)
7547 v.enter_visit(_n_id)
7548 end
7549 end
7550 redef class AExternCalls
7551 init init_aexterncalls (
7552 n_kwimport: nullable TKwimport,
7553 n_extern_calls: Collection[Object] # Should be Collection[AExternCall]
7554 )
7555 do
7556 _n_kwimport = n_kwimport.as(not null)
7557 n_kwimport.parent = self
7558 self.n_extern_calls.unsafe_add_all(n_extern_calls)
7559 end
7560
7561 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7562 do
7563 if _n_kwimport == old_child then
7564 n_kwimport = new_child.as(TKwimport)
7565 return
7566 end
7567 if n_extern_calls.replace_child(old_child, new_child) then return
7568 end
7569
7570 redef fun n_kwimport=(node)
7571 do
7572 _n_kwimport = node
7573 node.parent = self
7574 end
7575
7576
7577 redef fun visit_all(v: Visitor)
7578 do
7579 v.enter_visit(_n_kwimport)
7580 n_extern_calls.visit_all(v)
7581 end
7582 end
7583 redef class AExternCall
7584 init init_aexterncall
7585 do
7586 end
7587
7588 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7589 do
7590 end
7591
7592
7593
7594 redef fun visit_all(v: Visitor)
7595 do
7596 end
7597 end
7598 redef class ASuperExternCall
7599 init init_asuperexterncall (
7600 n_kwsuper: nullable TKwsuper
7601 )
7602 do
7603 _n_kwsuper = n_kwsuper.as(not null)
7604 n_kwsuper.parent = self
7605 end
7606
7607 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7608 do
7609 if _n_kwsuper == old_child then
7610 n_kwsuper = new_child.as(TKwsuper)
7611 return
7612 end
7613 end
7614
7615 redef fun n_kwsuper=(node)
7616 do
7617 _n_kwsuper = node
7618 node.parent = self
7619 end
7620
7621
7622 redef fun visit_all(v: Visitor)
7623 do
7624 v.enter_visit(_n_kwsuper)
7625 end
7626 end
7627 redef class ALocalPropExternCall
7628 init init_alocalpropexterncall (
7629 n_methid: nullable AMethid
7630 )
7631 do
7632 _n_methid = n_methid.as(not null)
7633 n_methid.parent = self
7634 end
7635
7636 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7637 do
7638 if _n_methid == old_child then
7639 n_methid = new_child.as(AMethid)
7640 return
7641 end
7642 end
7643
7644 redef fun n_methid=(node)
7645 do
7646 _n_methid = node
7647 node.parent = self
7648 end
7649
7650
7651 redef fun visit_all(v: Visitor)
7652 do
7653 v.enter_visit(_n_methid)
7654 end
7655 end
7656 redef class AFullPropExternCall
7657 init init_afullpropexterncall (
7658 n_type: nullable AType,
7659 n_dot: nullable TDot,
7660 n_methid: nullable AMethid
7661 )
7662 do
7663 _n_type = n_type.as(not null)
7664 n_type.parent = self
7665 _n_dot = n_dot
7666 if n_dot != null then n_dot.parent = self
7667 _n_methid = n_methid.as(not null)
7668 n_methid.parent = self
7669 end
7670
7671 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7672 do
7673 if _n_type == old_child then
7674 n_type = new_child.as(AType)
7675 return
7676 end
7677 if _n_dot == old_child then
7678 n_dot = new_child.as(nullable TDot)
7679 return
7680 end
7681 if _n_methid == old_child then
7682 n_methid = new_child.as(AMethid)
7683 return
7684 end
7685 end
7686
7687 redef fun n_type=(node)
7688 do
7689 _n_type = node
7690 node.parent = self
7691 end
7692 redef fun n_dot=(node)
7693 do
7694 _n_dot = node
7695 if node != null then node.parent = self
7696 end
7697 redef fun n_methid=(node)
7698 do
7699 _n_methid = node
7700 node.parent = self
7701 end
7702
7703
7704 redef fun visit_all(v: Visitor)
7705 do
7706 v.enter_visit(_n_type)
7707 v.enter_visit(_n_dot)
7708 v.enter_visit(_n_methid)
7709 end
7710 end
7711 redef class AInitPropExternCall
7712 init init_ainitpropexterncall (
7713 n_type: nullable AType
7714 )
7715 do
7716 _n_type = n_type.as(not null)
7717 n_type.parent = self
7718 end
7719
7720 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7721 do
7722 if _n_type == old_child then
7723 n_type = new_child.as(AType)
7724 return
7725 end
7726 end
7727
7728 redef fun n_type=(node)
7729 do
7730 _n_type = node
7731 node.parent = self
7732 end
7733
7734
7735 redef fun visit_all(v: Visitor)
7736 do
7737 v.enter_visit(_n_type)
7738 end
7739 end
7740 redef class ACastAsExternCall
7741 init init_acastasexterncall (
7742 n_from_type: nullable AType,
7743 n_dot: nullable TDot,
7744 n_kwas: nullable TKwas,
7745 n_to_type: nullable AType
7746 )
7747 do
7748 _n_from_type = n_from_type.as(not null)
7749 n_from_type.parent = self
7750 _n_dot = n_dot
7751 if n_dot != null then n_dot.parent = self
7752 _n_kwas = n_kwas.as(not null)
7753 n_kwas.parent = self
7754 _n_to_type = n_to_type.as(not null)
7755 n_to_type.parent = self
7756 end
7757
7758 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7759 do
7760 if _n_from_type == old_child then
7761 n_from_type = new_child.as(AType)
7762 return
7763 end
7764 if _n_dot == old_child then
7765 n_dot = new_child.as(nullable TDot)
7766 return
7767 end
7768 if _n_kwas == old_child then
7769 n_kwas = new_child.as(TKwas)
7770 return
7771 end
7772 if _n_to_type == old_child then
7773 n_to_type = new_child.as(AType)
7774 return
7775 end
7776 end
7777
7778 redef fun n_from_type=(node)
7779 do
7780 _n_from_type = node
7781 node.parent = self
7782 end
7783 redef fun n_dot=(node)
7784 do
7785 _n_dot = node
7786 if node != null then node.parent = self
7787 end
7788 redef fun n_kwas=(node)
7789 do
7790 _n_kwas = node
7791 node.parent = self
7792 end
7793 redef fun n_to_type=(node)
7794 do
7795 _n_to_type = node
7796 node.parent = self
7797 end
7798
7799
7800 redef fun visit_all(v: Visitor)
7801 do
7802 v.enter_visit(_n_from_type)
7803 v.enter_visit(_n_dot)
7804 v.enter_visit(_n_kwas)
7805 v.enter_visit(_n_to_type)
7806 end
7807 end
7808 redef class AAsNullableExternCall
7809 init init_aasnullableexterncall (
7810 n_type: nullable AType,
7811 n_kwas: nullable TKwas,
7812 n_kwnullable: nullable TKwnullable
7813 )
7814 do
7815 _n_type = n_type.as(not null)
7816 n_type.parent = self
7817 _n_kwas = n_kwas.as(not null)
7818 n_kwas.parent = self
7819 _n_kwnullable = n_kwnullable.as(not null)
7820 n_kwnullable.parent = self
7821 end
7822
7823 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7824 do
7825 if _n_type == old_child then
7826 n_type = new_child.as(AType)
7827 return
7828 end
7829 if _n_kwas == old_child then
7830 n_kwas = new_child.as(TKwas)
7831 return
7832 end
7833 if _n_kwnullable == old_child then
7834 n_kwnullable = new_child.as(TKwnullable)
7835 return
7836 end
7837 end
7838
7839 redef fun n_type=(node)
7840 do
7841 _n_type = node
7842 node.parent = self
7843 end
7844 redef fun n_kwas=(node)
7845 do
7846 _n_kwas = node
7847 node.parent = self
7848 end
7849 redef fun n_kwnullable=(node)
7850 do
7851 _n_kwnullable = node
7852 node.parent = self
7853 end
7854
7855
7856 redef fun visit_all(v: Visitor)
7857 do
7858 v.enter_visit(_n_type)
7859 v.enter_visit(_n_kwas)
7860 v.enter_visit(_n_kwnullable)
7861 end
7862 end
7863 redef class AAsNotNullableExternCall
7864 init init_aasnotnullableexterncall (
7865 n_type: nullable AType,
7866 n_kwas: nullable TKwas,
7867 n_kwnot: nullable TKwnot,
7868 n_kwnullable: nullable TKwnullable
7869 )
7870 do
7871 _n_type = n_type.as(not null)
7872 n_type.parent = self
7873 _n_kwas = n_kwas.as(not null)
7874 n_kwas.parent = self
7875 _n_kwnot = n_kwnot.as(not null)
7876 n_kwnot.parent = self
7877 _n_kwnullable = n_kwnullable.as(not null)
7878 n_kwnullable.parent = self
7879 end
7880
7881 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7882 do
7883 if _n_type == old_child then
7884 n_type = new_child.as(AType)
7885 return
7886 end
7887 if _n_kwas == old_child then
7888 n_kwas = new_child.as(TKwas)
7889 return
7890 end
7891 if _n_kwnot == old_child then
7892 n_kwnot = new_child.as(TKwnot)
7893 return
7894 end
7895 if _n_kwnullable == old_child then
7896 n_kwnullable = new_child.as(TKwnullable)
7897 return
7898 end
7899 end
7900
7901 redef fun n_type=(node)
7902 do
7903 _n_type = node
7904 node.parent = self
7905 end
7906 redef fun n_kwas=(node)
7907 do
7908 _n_kwas = node
7909 node.parent = self
7910 end
7911 redef fun n_kwnot=(node)
7912 do
7913 _n_kwnot = node
7914 node.parent = self
7915 end
7916 redef fun n_kwnullable=(node)
7917 do
7918 _n_kwnullable = node
7919 node.parent = self
7920 end
7921
7922
7923 redef fun visit_all(v: Visitor)
7924 do
7925 v.enter_visit(_n_type)
7926 v.enter_visit(_n_kwas)
7927 v.enter_visit(_n_kwnot)
7928 v.enter_visit(_n_kwnullable)
7929 end
7930 end
7931 redef class AInLanguage
7932 init init_ainlanguage (
7933 n_kwin: nullable TKwin,
7934 n_string: nullable TString
7935 )
7936 do
7937 _n_kwin = n_kwin.as(not null)
7938 n_kwin.parent = self
7939 _n_string = n_string.as(not null)
7940 n_string.parent = self
7941 end
7942
7943 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7944 do
7945 if _n_kwin == old_child then
7946 n_kwin = new_child.as(TKwin)
7947 return
7948 end
7949 if _n_string == old_child then
7950 n_string = new_child.as(TString)
7951 return
7952 end
7953 end
7954
7955 redef fun n_kwin=(node)
7956 do
7957 _n_kwin = node
7958 node.parent = self
7959 end
7960 redef fun n_string=(node)
7961 do
7962 _n_string = node
7963 node.parent = self
7964 end
7965
7966
7967 redef fun visit_all(v: Visitor)
7968 do
7969 v.enter_visit(_n_kwin)
7970 v.enter_visit(_n_string)
7971 end
7972 end
7973 redef class AExternCodeBlock
7974 init init_aexterncodeblock (
7975 n_in_language: nullable AInLanguage,
7976 n_extern_code_segment: nullable TExternCodeSegment
7977 )
7978 do
7979 _n_in_language = n_in_language
7980 if n_in_language != null then n_in_language.parent = self
7981 _n_extern_code_segment = n_extern_code_segment.as(not null)
7982 n_extern_code_segment.parent = self
7983 end
7984
7985 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7986 do
7987 if _n_in_language == old_child then
7988 n_in_language = new_child.as(nullable AInLanguage)
7989 return
7990 end
7991 if _n_extern_code_segment == old_child then
7992 n_extern_code_segment = new_child.as(TExternCodeSegment)
7993 return
7994 end
7995 end
7996
7997 redef fun n_in_language=(node)
7998 do
7999 _n_in_language = node
8000 if node != null then node.parent = self
8001 end
8002 redef fun n_extern_code_segment=(node)
8003 do
8004 _n_extern_code_segment = node
8005 node.parent = self
8006 end
8007
8008
8009 redef fun visit_all(v: Visitor)
8010 do
8011 v.enter_visit(_n_in_language)
8012 v.enter_visit(_n_extern_code_segment)
8013 end
8014 end
8015 redef class AQualified
8016 init init_aqualified (
8017 n_id: Collection[Object], # Should be Collection[TId]
8018 n_classid: nullable TClassid
8019 )
8020 do
8021 self.n_id.unsafe_add_all(n_id)
8022 _n_classid = n_classid
8023 if n_classid != null then n_classid.parent = self
8024 end
8025
8026 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8027 do
8028 if n_id.replace_child(old_child, new_child) then return
8029 if _n_classid == old_child then
8030 n_classid = new_child.as(nullable TClassid)
8031 return
8032 end
8033 end
8034
8035 redef fun n_classid=(node)
8036 do
8037 _n_classid = node
8038 if node != null then node.parent = self
8039 end
8040
8041
8042 redef fun visit_all(v: Visitor)
8043 do
8044 n_id.visit_all(v)
8045 v.enter_visit(_n_classid)
8046 end
8047 end
8048 redef class ADoc
8049 init init_adoc (
8050 n_comment: Collection[Object] # Should be Collection[TComment]
8051 )
8052 do
8053 self.n_comment.unsafe_add_all(n_comment)
8054 end
8055
8056 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8057 do
8058 if n_comment.replace_child(old_child, new_child) then return
8059 end
8060
8061
8062
8063 redef fun visit_all(v: Visitor)
8064 do
8065 n_comment.visit_all(v)
8066 end
8067 end
8068 redef class AAnnotations
8069 init init_aannotations (
8070 n_at: nullable TAt,
8071 n_opar: nullable TOpar,
8072 n_items: Collection[Object], # Should be Collection[AAnnotation]
8073 n_cpar: nullable TCpar
8074 )
8075 do
8076 _n_at = n_at
8077 if n_at != null then n_at.parent = self
8078 _n_opar = n_opar
8079 if n_opar != null then n_opar.parent = self
8080 self.n_items.unsafe_add_all(n_items)
8081 _n_cpar = n_cpar
8082 if n_cpar != null then n_cpar.parent = self
8083 end
8084
8085 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8086 do
8087 if _n_at == old_child then
8088 n_at = new_child.as(nullable TAt)
8089 return
8090 end
8091 if _n_opar == old_child then
8092 n_opar = new_child.as(nullable TOpar)
8093 return
8094 end
8095 if n_items.replace_child(old_child, new_child) then return
8096 if _n_cpar == old_child then
8097 n_cpar = new_child.as(nullable TCpar)
8098 return
8099 end
8100 end
8101
8102 redef fun n_at=(node)
8103 do
8104 _n_at = node
8105 if node != null then node.parent = self
8106 end
8107 redef fun n_opar=(node)
8108 do
8109 _n_opar = node
8110 if node != null then node.parent = self
8111 end
8112 redef fun n_cpar=(node)
8113 do
8114 _n_cpar = node
8115 if node != null then node.parent = self
8116 end
8117
8118
8119 redef fun visit_all(v: Visitor)
8120 do
8121 v.enter_visit(_n_at)
8122 v.enter_visit(_n_opar)
8123 n_items.visit_all(v)
8124 v.enter_visit(_n_cpar)
8125 end
8126 end
8127 redef class AAnnotation
8128 init init_aannotation (
8129 n_doc: nullable ADoc,
8130 n_kwredef: nullable TKwredef,
8131 n_visibility: nullable AVisibility,
8132 n_atid: nullable AAtid,
8133 n_opar: nullable TOpar,
8134 n_args: Collection[Object], # Should be Collection[AExpr]
8135 n_cpar: nullable TCpar,
8136 n_annotations: nullable AAnnotations
8137 )
8138 do
8139 _n_doc = n_doc
8140 if n_doc != null then n_doc.parent = self
8141 _n_kwredef = n_kwredef
8142 if n_kwredef != null then n_kwredef.parent = self
8143 _n_visibility = n_visibility
8144 if n_visibility != null then n_visibility.parent = self
8145 _n_atid = n_atid.as(not null)
8146 n_atid.parent = self
8147 _n_opar = n_opar
8148 if n_opar != null then n_opar.parent = self
8149 self.n_args.unsafe_add_all(n_args)
8150 _n_cpar = n_cpar
8151 if n_cpar != null then n_cpar.parent = self
8152 _n_annotations = n_annotations
8153 if n_annotations != null then n_annotations.parent = self
8154 end
8155
8156 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8157 do
8158 if _n_doc == old_child then
8159 n_doc = new_child.as(nullable ADoc)
8160 return
8161 end
8162 if _n_kwredef == old_child then
8163 n_kwredef = new_child.as(nullable TKwredef)
8164 return
8165 end
8166 if _n_visibility == old_child then
8167 n_visibility = new_child.as(nullable AVisibility)
8168 return
8169 end
8170 if _n_atid == old_child then
8171 n_atid = new_child.as(AAtid)
8172 return
8173 end
8174 if _n_opar == old_child then
8175 n_opar = new_child.as(nullable TOpar)
8176 return
8177 end
8178 if n_args.replace_child(old_child, new_child) then return
8179 if _n_cpar == old_child then
8180 n_cpar = new_child.as(nullable TCpar)
8181 return
8182 end
8183 if _n_annotations == old_child then
8184 n_annotations = new_child.as(nullable AAnnotations)
8185 return
8186 end
8187 end
8188
8189 redef fun n_doc=(node)
8190 do
8191 _n_doc = node
8192 if node != null then node.parent = self
8193 end
8194 redef fun n_kwredef=(node)
8195 do
8196 _n_kwredef = node
8197 if node != null then node.parent = self
8198 end
8199 redef fun n_visibility=(node)
8200 do
8201 _n_visibility = node
8202 if node != null then node.parent = self
8203 end
8204 redef fun n_atid=(node)
8205 do
8206 _n_atid = node
8207 node.parent = self
8208 end
8209 redef fun n_opar=(node)
8210 do
8211 _n_opar = node
8212 if node != null then node.parent = self
8213 end
8214 redef fun n_cpar=(node)
8215 do
8216 _n_cpar = node
8217 if node != null then node.parent = self
8218 end
8219 redef fun n_annotations=(node)
8220 do
8221 _n_annotations = node
8222 if node != null then node.parent = self
8223 end
8224
8225
8226 redef fun visit_all(v: Visitor)
8227 do
8228 v.enter_visit(_n_doc)
8229 v.enter_visit(_n_kwredef)
8230 v.enter_visit(_n_visibility)
8231 v.enter_visit(_n_atid)
8232 v.enter_visit(_n_opar)
8233 n_args.visit_all(v)
8234 v.enter_visit(_n_cpar)
8235 v.enter_visit(_n_annotations)
8236 end
8237 end
8238 redef class AIdAtid
8239 init init_aidatid (
8240 n_id: nullable TId
8241 )
8242 do
8243 _n_id = n_id.as(not null)
8244 n_id.parent = self
8245 end
8246
8247 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8248 do
8249 if _n_id == old_child then
8250 n_id = new_child.as(TId)
8251 return
8252 end
8253 end
8254
8255 redef fun n_id=(node)
8256 do
8257 _n_id = node
8258 node.parent = self
8259 end
8260
8261
8262 redef fun visit_all(v: Visitor)
8263 do
8264 v.enter_visit(_n_id)
8265 end
8266 end
8267 redef class AKwexternAtid
8268 init init_akwexternatid (
8269 n_id: nullable TKwextern
8270 )
8271 do
8272 _n_id = n_id.as(not null)
8273 n_id.parent = self
8274 end
8275
8276 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8277 do
8278 if _n_id == old_child then
8279 n_id = new_child.as(TKwextern)
8280 return
8281 end
8282 end
8283
8284 redef fun n_id=(node)
8285 do
8286 _n_id = node
8287 node.parent = self
8288 end
8289
8290
8291 redef fun visit_all(v: Visitor)
8292 do
8293 v.enter_visit(_n_id)
8294 end
8295 end
8296 redef class AKwabstractAtid
8297 init init_akwabstractatid (
8298 n_id: nullable TKwabstract
8299 )
8300 do
8301 _n_id = n_id.as(not null)
8302 n_id.parent = self
8303 end
8304
8305 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8306 do
8307 if _n_id == old_child then
8308 n_id = new_child.as(TKwabstract)
8309 return
8310 end
8311 end
8312
8313 redef fun n_id=(node)
8314 do
8315 _n_id = node
8316 node.parent = self
8317 end
8318
8319
8320 redef fun visit_all(v: Visitor)
8321 do
8322 v.enter_visit(_n_id)
8323 end
8324 end
8325 redef class AKwimportAtid
8326 init init_akwimportatid (
8327 n_id: nullable TKwimport
8328 )
8329 do
8330 _n_id = n_id.as(not null)
8331 n_id.parent = self
8332 end
8333
8334 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8335 do
8336 if _n_id == old_child then
8337 n_id = new_child.as(TKwimport)
8338 return
8339 end
8340 end
8341
8342 redef fun n_id=(node)
8343 do
8344 _n_id = node
8345 node.parent = self
8346 end
8347
8348
8349 redef fun visit_all(v: Visitor)
8350 do
8351 v.enter_visit(_n_id)
8352 end
8353 end
8354
8355 redef class Start
8356 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8357 do
8358 if _n_base == old_child then
8359 if new_child == null then
8360 else
8361 new_child.parent = self
8362 assert new_child isa AModule
8363 _n_base = new_child
8364 end
8365 old_child.parent = null
8366 return
8367 end
8368 end
8369
8370 redef fun visit_all(v: Visitor)
8371 do
8372 if _n_base != null then
8373 v.enter_visit(_n_base.as(not null))
8374 end
8375 v.enter_visit(_n_eof)
8376 end
8377 end