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