9f2d4f212b162d6d06f56e3f956556acd20a38b1
[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_ids: Collection[Object], # Should be Collection[TId]
3194 n_kwin: nullable TKwin,
3195 n_expr: nullable AExpr,
3196 n_kwdo: nullable TKwdo,
3197 n_block: nullable AExpr,
3198 n_label: nullable ALabel
3199 )
3200 do
3201 _n_kwfor = n_kwfor.as(not null)
3202 n_kwfor.parent = self
3203 self.n_ids.unsafe_add_all(n_ids)
3204 _n_kwin = n_kwin.as(not null)
3205 n_kwin.parent = self
3206 _n_expr = n_expr.as(not null)
3207 n_expr.parent = self
3208 _n_kwdo = n_kwdo.as(not null)
3209 n_kwdo.parent = self
3210 _n_block = n_block
3211 if n_block != null then n_block.parent = self
3212 _n_label = n_label
3213 if n_label != null then n_label.parent = self
3214 end
3215
3216 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3217 do
3218 if _n_kwfor == old_child then
3219 n_kwfor = new_child.as(TKwfor)
3220 return
3221 end
3222 if n_ids.replace_child(old_child, new_child) then return
3223 if _n_kwin == old_child then
3224 n_kwin = new_child.as(TKwin)
3225 return
3226 end
3227 if _n_expr == old_child then
3228 n_expr = new_child.as(AExpr)
3229 return
3230 end
3231 if _n_kwdo == old_child then
3232 n_kwdo = new_child.as(TKwdo)
3233 return
3234 end
3235 if _n_block == old_child then
3236 n_block = new_child.as(nullable AExpr)
3237 return
3238 end
3239 if _n_label == old_child then
3240 n_label = new_child.as(nullable ALabel)
3241 return
3242 end
3243 end
3244
3245 redef fun n_kwfor=(node)
3246 do
3247 _n_kwfor = node
3248 node.parent = self
3249 end
3250 redef fun n_kwin=(node)
3251 do
3252 _n_kwin = node
3253 node.parent = self
3254 end
3255 redef fun n_expr=(node)
3256 do
3257 _n_expr = node
3258 node.parent = self
3259 end
3260 redef fun n_kwdo=(node)
3261 do
3262 _n_kwdo = node
3263 node.parent = self
3264 end
3265 redef fun n_block=(node)
3266 do
3267 _n_block = node
3268 if node != null then node.parent = self
3269 end
3270 redef fun n_label=(node)
3271 do
3272 _n_label = node
3273 if node != null then node.parent = self
3274 end
3275
3276
3277 redef fun visit_all(v: Visitor)
3278 do
3279 v.enter_visit(_n_kwfor)
3280 n_ids.visit_all(v)
3281 v.enter_visit(_n_kwin)
3282 v.enter_visit(_n_expr)
3283 v.enter_visit(_n_kwdo)
3284 v.enter_visit(_n_block)
3285 v.enter_visit(_n_label)
3286 end
3287 end
3288 redef class AWithExpr
3289 init init_awithexpr (
3290 n_kwwith: nullable TKwwith,
3291 n_expr: nullable AExpr,
3292 n_kwdo: nullable TKwdo,
3293 n_block: nullable AExpr,
3294 n_label: nullable ALabel
3295 )
3296 do
3297 _n_kwwith = n_kwwith.as(not null)
3298 n_kwwith.parent = self
3299 _n_expr = n_expr.as(not null)
3300 n_expr.parent = self
3301 _n_kwdo = n_kwdo.as(not null)
3302 n_kwdo.parent = self
3303 _n_block = n_block
3304 if n_block != null then n_block.parent = self
3305 _n_label = n_label
3306 if n_label != null then n_label.parent = self
3307 end
3308
3309 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3310 do
3311 if _n_kwwith == old_child then
3312 n_kwwith = new_child.as(TKwwith)
3313 return
3314 end
3315 if _n_expr == old_child then
3316 n_expr = new_child.as(AExpr)
3317 return
3318 end
3319 if _n_kwdo == old_child then
3320 n_kwdo = new_child.as(TKwdo)
3321 return
3322 end
3323 if _n_block == old_child then
3324 n_block = new_child.as(nullable AExpr)
3325 return
3326 end
3327 if _n_label == old_child then
3328 n_label = new_child.as(nullable ALabel)
3329 return
3330 end
3331 end
3332
3333 redef fun n_kwwith=(node)
3334 do
3335 _n_kwwith = node
3336 node.parent = self
3337 end
3338 redef fun n_expr=(node)
3339 do
3340 _n_expr = node
3341 node.parent = self
3342 end
3343 redef fun n_kwdo=(node)
3344 do
3345 _n_kwdo = node
3346 node.parent = self
3347 end
3348 redef fun n_block=(node)
3349 do
3350 _n_block = node
3351 if node != null then node.parent = self
3352 end
3353 redef fun n_label=(node)
3354 do
3355 _n_label = node
3356 if node != null then node.parent = self
3357 end
3358
3359
3360 redef fun visit_all(v: Visitor)
3361 do
3362 v.enter_visit(_n_kwwith)
3363 v.enter_visit(_n_expr)
3364 v.enter_visit(_n_kwdo)
3365 v.enter_visit(_n_block)
3366 v.enter_visit(_n_label)
3367 end
3368 end
3369 redef class AAssertExpr
3370 init init_aassertexpr (
3371 n_kwassert: nullable TKwassert,
3372 n_id: nullable TId,
3373 n_expr: nullable AExpr,
3374 n_kwelse: nullable TKwelse,
3375 n_else: nullable AExpr
3376 )
3377 do
3378 _n_kwassert = n_kwassert.as(not null)
3379 n_kwassert.parent = self
3380 _n_id = n_id
3381 if n_id != null then n_id.parent = self
3382 _n_expr = n_expr.as(not null)
3383 n_expr.parent = self
3384 _n_kwelse = n_kwelse
3385 if n_kwelse != null then n_kwelse.parent = self
3386 _n_else = n_else
3387 if n_else != null then n_else.parent = self
3388 end
3389
3390 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3391 do
3392 if _n_kwassert == old_child then
3393 n_kwassert = new_child.as(TKwassert)
3394 return
3395 end
3396 if _n_id == old_child then
3397 n_id = new_child.as(nullable TId)
3398 return
3399 end
3400 if _n_expr == old_child then
3401 n_expr = new_child.as(AExpr)
3402 return
3403 end
3404 if _n_kwelse == old_child then
3405 n_kwelse = new_child.as(nullable TKwelse)
3406 return
3407 end
3408 if _n_else == old_child then
3409 n_else = new_child.as(nullable AExpr)
3410 return
3411 end
3412 end
3413
3414 redef fun n_kwassert=(node)
3415 do
3416 _n_kwassert = node
3417 node.parent = self
3418 end
3419 redef fun n_id=(node)
3420 do
3421 _n_id = node
3422 if node != null then node.parent = self
3423 end
3424 redef fun n_expr=(node)
3425 do
3426 _n_expr = node
3427 node.parent = self
3428 end
3429 redef fun n_kwelse=(node)
3430 do
3431 _n_kwelse = node
3432 if node != null then node.parent = self
3433 end
3434 redef fun n_else=(node)
3435 do
3436 _n_else = node
3437 if node != null then node.parent = self
3438 end
3439
3440
3441 redef fun visit_all(v: Visitor)
3442 do
3443 v.enter_visit(_n_kwassert)
3444 v.enter_visit(_n_id)
3445 v.enter_visit(_n_expr)
3446 v.enter_visit(_n_kwelse)
3447 v.enter_visit(_n_else)
3448 end
3449 end
3450 redef class AOnceExpr
3451 init init_aonceexpr (
3452 n_kwonce: nullable TKwonce,
3453 n_expr: nullable AExpr
3454 )
3455 do
3456 _n_kwonce = n_kwonce.as(not null)
3457 n_kwonce.parent = self
3458 _n_expr = n_expr.as(not null)
3459 n_expr.parent = self
3460 end
3461
3462 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3463 do
3464 if _n_kwonce == old_child then
3465 n_kwonce = new_child.as(TKwonce)
3466 return
3467 end
3468 if _n_expr == old_child then
3469 n_expr = new_child.as(AExpr)
3470 return
3471 end
3472 end
3473
3474 redef fun n_kwonce=(node)
3475 do
3476 _n_kwonce = node
3477 node.parent = self
3478 end
3479 redef fun n_expr=(node)
3480 do
3481 _n_expr = node
3482 node.parent = self
3483 end
3484
3485
3486 redef fun visit_all(v: Visitor)
3487 do
3488 v.enter_visit(_n_kwonce)
3489 v.enter_visit(_n_expr)
3490 end
3491 end
3492 redef class ASendExpr
3493 init init_asendexpr (
3494 n_expr: nullable AExpr
3495 )
3496 do
3497 _n_expr = n_expr.as(not null)
3498 n_expr.parent = self
3499 end
3500
3501 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3502 do
3503 if _n_expr == old_child then
3504 n_expr = new_child.as(AExpr)
3505 return
3506 end
3507 end
3508
3509 redef fun n_expr=(node)
3510 do
3511 _n_expr = node
3512 node.parent = self
3513 end
3514
3515
3516 redef fun visit_all(v: Visitor)
3517 do
3518 v.enter_visit(_n_expr)
3519 end
3520 end
3521 redef class ABinopExpr
3522 init init_abinopexpr (
3523 n_expr: nullable AExpr,
3524 n_expr2: nullable AExpr
3525 )
3526 do
3527 _n_expr = n_expr.as(not null)
3528 n_expr.parent = self
3529 _n_expr2 = n_expr2.as(not null)
3530 n_expr2.parent = self
3531 end
3532
3533 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3534 do
3535 if _n_expr == old_child then
3536 n_expr = new_child.as(AExpr)
3537 return
3538 end
3539 if _n_expr2 == old_child then
3540 n_expr2 = new_child.as(AExpr)
3541 return
3542 end
3543 end
3544
3545 redef fun n_expr=(node)
3546 do
3547 _n_expr = node
3548 node.parent = self
3549 end
3550 redef fun n_expr2=(node)
3551 do
3552 _n_expr2 = node
3553 node.parent = self
3554 end
3555
3556
3557 redef fun visit_all(v: Visitor)
3558 do
3559 v.enter_visit(_n_expr)
3560 v.enter_visit(_n_expr2)
3561 end
3562 end
3563 redef class AOrExpr
3564 init init_aorexpr (
3565 n_expr: nullable AExpr,
3566 n_op: nullable TKwor,
3567 n_expr2: nullable AExpr
3568 )
3569 do
3570 _n_expr = n_expr.as(not null)
3571 n_expr.parent = self
3572 _n_op = n_op.as(not null)
3573 n_op.parent = self
3574 _n_expr2 = n_expr2.as(not null)
3575 n_expr2.parent = self
3576 end
3577
3578 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3579 do
3580 if _n_expr == old_child then
3581 n_expr = new_child.as(AExpr)
3582 return
3583 end
3584 if _n_op == old_child then
3585 n_op = new_child.as(TKwor)
3586 return
3587 end
3588 if _n_expr2 == old_child then
3589 n_expr2 = new_child.as(AExpr)
3590 return
3591 end
3592 end
3593
3594 redef fun n_expr=(node)
3595 do
3596 _n_expr = node
3597 node.parent = self
3598 end
3599 redef fun n_op=(node)
3600 do
3601 _n_op = node
3602 node.parent = self
3603 end
3604 redef fun n_expr2=(node)
3605 do
3606 _n_expr2 = node
3607 node.parent = self
3608 end
3609
3610
3611 redef fun visit_all(v: Visitor)
3612 do
3613 v.enter_visit(_n_expr)
3614 v.enter_visit(_n_op)
3615 v.enter_visit(_n_expr2)
3616 end
3617 end
3618 redef class AAndExpr
3619 init init_aandexpr (
3620 n_expr: nullable AExpr,
3621 n_op: nullable TKwand,
3622 n_expr2: nullable AExpr
3623 )
3624 do
3625 _n_expr = n_expr.as(not null)
3626 n_expr.parent = self
3627 _n_op = n_op.as(not null)
3628 n_op.parent = self
3629 _n_expr2 = n_expr2.as(not null)
3630 n_expr2.parent = self
3631 end
3632
3633 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3634 do
3635 if _n_expr == old_child then
3636 n_expr = new_child.as(AExpr)
3637 return
3638 end
3639 if _n_op == old_child then
3640 n_op = new_child.as(TKwand)
3641 return
3642 end
3643 if _n_expr2 == old_child then
3644 n_expr2 = new_child.as(AExpr)
3645 return
3646 end
3647 end
3648
3649 redef fun n_expr=(node)
3650 do
3651 _n_expr = node
3652 node.parent = self
3653 end
3654 redef fun n_op=(node)
3655 do
3656 _n_op = node
3657 node.parent = self
3658 end
3659 redef fun n_expr2=(node)
3660 do
3661 _n_expr2 = node
3662 node.parent = self
3663 end
3664
3665
3666 redef fun visit_all(v: Visitor)
3667 do
3668 v.enter_visit(_n_expr)
3669 v.enter_visit(_n_op)
3670 v.enter_visit(_n_expr2)
3671 end
3672 end
3673 redef class AOrElseExpr
3674 init init_aorelseexpr (
3675 n_expr: nullable AExpr,
3676 n_op: nullable TKwor,
3677 n_kwelse: nullable TKwelse,
3678 n_expr2: nullable AExpr
3679 )
3680 do
3681 _n_expr = n_expr.as(not null)
3682 n_expr.parent = self
3683 _n_op = n_op.as(not null)
3684 n_op.parent = self
3685 _n_kwelse = n_kwelse.as(not null)
3686 n_kwelse.parent = self
3687 _n_expr2 = n_expr2.as(not null)
3688 n_expr2.parent = self
3689 end
3690
3691 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3692 do
3693 if _n_expr == old_child then
3694 n_expr = new_child.as(AExpr)
3695 return
3696 end
3697 if _n_op == old_child then
3698 n_op = new_child.as(TKwor)
3699 return
3700 end
3701 if _n_kwelse == old_child then
3702 n_kwelse = new_child.as(TKwelse)
3703 return
3704 end
3705 if _n_expr2 == old_child then
3706 n_expr2 = new_child.as(AExpr)
3707 return
3708 end
3709 end
3710
3711 redef fun n_expr=(node)
3712 do
3713 _n_expr = node
3714 node.parent = self
3715 end
3716 redef fun n_op=(node)
3717 do
3718 _n_op = node
3719 node.parent = self
3720 end
3721 redef fun n_kwelse=(node)
3722 do
3723 _n_kwelse = node
3724 node.parent = self
3725 end
3726 redef fun n_expr2=(node)
3727 do
3728 _n_expr2 = node
3729 node.parent = self
3730 end
3731
3732
3733 redef fun visit_all(v: Visitor)
3734 do
3735 v.enter_visit(_n_expr)
3736 v.enter_visit(_n_op)
3737 v.enter_visit(_n_kwelse)
3738 v.enter_visit(_n_expr2)
3739 end
3740 end
3741 redef class AImpliesExpr
3742 init init_aimpliesexpr (
3743 n_expr: nullable AExpr,
3744 n_op: nullable TKwimplies,
3745 n_expr2: nullable AExpr
3746 )
3747 do
3748 _n_expr = n_expr.as(not null)
3749 n_expr.parent = self
3750 _n_op = n_op.as(not null)
3751 n_op.parent = self
3752 _n_expr2 = n_expr2.as(not null)
3753 n_expr2.parent = self
3754 end
3755
3756 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3757 do
3758 if _n_expr == old_child then
3759 n_expr = new_child.as(AExpr)
3760 return
3761 end
3762 if _n_op == old_child then
3763 n_op = new_child.as(TKwimplies)
3764 return
3765 end
3766 if _n_expr2 == old_child then
3767 n_expr2 = new_child.as(AExpr)
3768 return
3769 end
3770 end
3771
3772 redef fun n_expr=(node)
3773 do
3774 _n_expr = node
3775 node.parent = self
3776 end
3777 redef fun n_op=(node)
3778 do
3779 _n_op = node
3780 node.parent = self
3781 end
3782 redef fun n_expr2=(node)
3783 do
3784 _n_expr2 = node
3785 node.parent = self
3786 end
3787
3788
3789 redef fun visit_all(v: Visitor)
3790 do
3791 v.enter_visit(_n_expr)
3792 v.enter_visit(_n_op)
3793 v.enter_visit(_n_expr2)
3794 end
3795 end
3796 redef class ANotExpr
3797 init init_anotexpr (
3798 n_kwnot: nullable TKwnot,
3799 n_expr: nullable AExpr
3800 )
3801 do
3802 _n_kwnot = n_kwnot.as(not null)
3803 n_kwnot.parent = self
3804 _n_expr = n_expr.as(not null)
3805 n_expr.parent = self
3806 end
3807
3808 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3809 do
3810 if _n_kwnot == old_child then
3811 n_kwnot = new_child.as(TKwnot)
3812 return
3813 end
3814 if _n_expr == old_child then
3815 n_expr = new_child.as(AExpr)
3816 return
3817 end
3818 end
3819
3820 redef fun n_kwnot=(node)
3821 do
3822 _n_kwnot = node
3823 node.parent = self
3824 end
3825 redef fun n_expr=(node)
3826 do
3827 _n_expr = node
3828 node.parent = self
3829 end
3830
3831
3832 redef fun visit_all(v: Visitor)
3833 do
3834 v.enter_visit(_n_kwnot)
3835 v.enter_visit(_n_expr)
3836 end
3837 end
3838 redef class AEqExpr
3839 init init_aeqexpr (
3840 n_expr: nullable AExpr,
3841 n_op: nullable TEq,
3842 n_expr2: nullable AExpr
3843 )
3844 do
3845 _n_expr = n_expr.as(not null)
3846 n_expr.parent = self
3847 _n_op = n_op.as(not null)
3848 n_op.parent = self
3849 _n_expr2 = n_expr2.as(not null)
3850 n_expr2.parent = self
3851 end
3852
3853 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3854 do
3855 if _n_expr == old_child then
3856 n_expr = new_child.as(AExpr)
3857 return
3858 end
3859 if _n_op == old_child then
3860 n_op = new_child.as(TEq)
3861 return
3862 end
3863 if _n_expr2 == old_child then
3864 n_expr2 = new_child.as(AExpr)
3865 return
3866 end
3867 end
3868
3869 redef fun n_expr=(node)
3870 do
3871 _n_expr = node
3872 node.parent = self
3873 end
3874 redef fun n_op=(node)
3875 do
3876 _n_op = node
3877 node.parent = self
3878 end
3879 redef fun n_expr2=(node)
3880 do
3881 _n_expr2 = node
3882 node.parent = self
3883 end
3884
3885
3886 redef fun visit_all(v: Visitor)
3887 do
3888 v.enter_visit(_n_expr)
3889 v.enter_visit(_n_op)
3890 v.enter_visit(_n_expr2)
3891 end
3892 end
3893 redef class ANeExpr
3894 init init_aneexpr (
3895 n_expr: nullable AExpr,
3896 n_op: nullable TNe,
3897 n_expr2: nullable AExpr
3898 )
3899 do
3900 _n_expr = n_expr.as(not null)
3901 n_expr.parent = self
3902 _n_op = n_op.as(not null)
3903 n_op.parent = self
3904 _n_expr2 = n_expr2.as(not null)
3905 n_expr2.parent = self
3906 end
3907
3908 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3909 do
3910 if _n_expr == old_child then
3911 n_expr = new_child.as(AExpr)
3912 return
3913 end
3914 if _n_op == old_child then
3915 n_op = new_child.as(TNe)
3916 return
3917 end
3918 if _n_expr2 == old_child then
3919 n_expr2 = new_child.as(AExpr)
3920 return
3921 end
3922 end
3923
3924 redef fun n_expr=(node)
3925 do
3926 _n_expr = node
3927 node.parent = self
3928 end
3929 redef fun n_op=(node)
3930 do
3931 _n_op = node
3932 node.parent = self
3933 end
3934 redef fun n_expr2=(node)
3935 do
3936 _n_expr2 = node
3937 node.parent = self
3938 end
3939
3940
3941 redef fun visit_all(v: Visitor)
3942 do
3943 v.enter_visit(_n_expr)
3944 v.enter_visit(_n_op)
3945 v.enter_visit(_n_expr2)
3946 end
3947 end
3948 redef class ALtExpr
3949 init init_altexpr (
3950 n_expr: nullable AExpr,
3951 n_op: nullable TLt,
3952 n_expr2: nullable AExpr
3953 )
3954 do
3955 _n_expr = n_expr.as(not null)
3956 n_expr.parent = self
3957 _n_op = n_op.as(not null)
3958 n_op.parent = self
3959 _n_expr2 = n_expr2.as(not null)
3960 n_expr2.parent = self
3961 end
3962
3963 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
3964 do
3965 if _n_expr == old_child then
3966 n_expr = new_child.as(AExpr)
3967 return
3968 end
3969 if _n_op == old_child then
3970 n_op = new_child.as(TLt)
3971 return
3972 end
3973 if _n_expr2 == old_child then
3974 n_expr2 = new_child.as(AExpr)
3975 return
3976 end
3977 end
3978
3979 redef fun n_expr=(node)
3980 do
3981 _n_expr = node
3982 node.parent = self
3983 end
3984 redef fun n_op=(node)
3985 do
3986 _n_op = node
3987 node.parent = self
3988 end
3989 redef fun n_expr2=(node)
3990 do
3991 _n_expr2 = node
3992 node.parent = self
3993 end
3994
3995
3996 redef fun visit_all(v: Visitor)
3997 do
3998 v.enter_visit(_n_expr)
3999 v.enter_visit(_n_op)
4000 v.enter_visit(_n_expr2)
4001 end
4002 end
4003 redef class ALeExpr
4004 init init_aleexpr (
4005 n_expr: nullable AExpr,
4006 n_op: nullable TLe,
4007 n_expr2: nullable AExpr
4008 )
4009 do
4010 _n_expr = n_expr.as(not null)
4011 n_expr.parent = self
4012 _n_op = n_op.as(not null)
4013 n_op.parent = self
4014 _n_expr2 = n_expr2.as(not null)
4015 n_expr2.parent = self
4016 end
4017
4018 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4019 do
4020 if _n_expr == old_child then
4021 n_expr = new_child.as(AExpr)
4022 return
4023 end
4024 if _n_op == old_child then
4025 n_op = new_child.as(TLe)
4026 return
4027 end
4028 if _n_expr2 == old_child then
4029 n_expr2 = new_child.as(AExpr)
4030 return
4031 end
4032 end
4033
4034 redef fun n_expr=(node)
4035 do
4036 _n_expr = node
4037 node.parent = self
4038 end
4039 redef fun n_op=(node)
4040 do
4041 _n_op = node
4042 node.parent = self
4043 end
4044 redef fun n_expr2=(node)
4045 do
4046 _n_expr2 = node
4047 node.parent = self
4048 end
4049
4050
4051 redef fun visit_all(v: Visitor)
4052 do
4053 v.enter_visit(_n_expr)
4054 v.enter_visit(_n_op)
4055 v.enter_visit(_n_expr2)
4056 end
4057 end
4058 redef class ALlExpr
4059 init init_allexpr (
4060 n_expr: nullable AExpr,
4061 n_op: nullable TLl,
4062 n_expr2: nullable AExpr
4063 )
4064 do
4065 _n_expr = n_expr.as(not null)
4066 n_expr.parent = self
4067 _n_op = n_op.as(not null)
4068 n_op.parent = self
4069 _n_expr2 = n_expr2.as(not null)
4070 n_expr2.parent = self
4071 end
4072
4073 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4074 do
4075 if _n_expr == old_child then
4076 n_expr = new_child.as(AExpr)
4077 return
4078 end
4079 if _n_op == old_child then
4080 n_op = new_child.as(TLl)
4081 return
4082 end
4083 if _n_expr2 == old_child then
4084 n_expr2 = new_child.as(AExpr)
4085 return
4086 end
4087 end
4088
4089 redef fun n_expr=(node)
4090 do
4091 _n_expr = node
4092 node.parent = self
4093 end
4094 redef fun n_op=(node)
4095 do
4096 _n_op = node
4097 node.parent = self
4098 end
4099 redef fun n_expr2=(node)
4100 do
4101 _n_expr2 = node
4102 node.parent = self
4103 end
4104
4105
4106 redef fun visit_all(v: Visitor)
4107 do
4108 v.enter_visit(_n_expr)
4109 v.enter_visit(_n_op)
4110 v.enter_visit(_n_expr2)
4111 end
4112 end
4113 redef class AGtExpr
4114 init init_agtexpr (
4115 n_expr: nullable AExpr,
4116 n_op: nullable TGt,
4117 n_expr2: nullable AExpr
4118 )
4119 do
4120 _n_expr = n_expr.as(not null)
4121 n_expr.parent = self
4122 _n_op = n_op.as(not null)
4123 n_op.parent = self
4124 _n_expr2 = n_expr2.as(not null)
4125 n_expr2.parent = self
4126 end
4127
4128 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4129 do
4130 if _n_expr == old_child then
4131 n_expr = new_child.as(AExpr)
4132 return
4133 end
4134 if _n_op == old_child then
4135 n_op = new_child.as(TGt)
4136 return
4137 end
4138 if _n_expr2 == old_child then
4139 n_expr2 = new_child.as(AExpr)
4140 return
4141 end
4142 end
4143
4144 redef fun n_expr=(node)
4145 do
4146 _n_expr = node
4147 node.parent = self
4148 end
4149 redef fun n_op=(node)
4150 do
4151 _n_op = node
4152 node.parent = self
4153 end
4154 redef fun n_expr2=(node)
4155 do
4156 _n_expr2 = node
4157 node.parent = self
4158 end
4159
4160
4161 redef fun visit_all(v: Visitor)
4162 do
4163 v.enter_visit(_n_expr)
4164 v.enter_visit(_n_op)
4165 v.enter_visit(_n_expr2)
4166 end
4167 end
4168 redef class AGeExpr
4169 init init_ageexpr (
4170 n_expr: nullable AExpr,
4171 n_op: nullable TGe,
4172 n_expr2: nullable AExpr
4173 )
4174 do
4175 _n_expr = n_expr.as(not null)
4176 n_expr.parent = self
4177 _n_op = n_op.as(not null)
4178 n_op.parent = self
4179 _n_expr2 = n_expr2.as(not null)
4180 n_expr2.parent = self
4181 end
4182
4183 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4184 do
4185 if _n_expr == old_child then
4186 n_expr = new_child.as(AExpr)
4187 return
4188 end
4189 if _n_op == old_child then
4190 n_op = new_child.as(TGe)
4191 return
4192 end
4193 if _n_expr2 == old_child then
4194 n_expr2 = new_child.as(AExpr)
4195 return
4196 end
4197 end
4198
4199 redef fun n_expr=(node)
4200 do
4201 _n_expr = node
4202 node.parent = self
4203 end
4204 redef fun n_op=(node)
4205 do
4206 _n_op = node
4207 node.parent = self
4208 end
4209 redef fun n_expr2=(node)
4210 do
4211 _n_expr2 = node
4212 node.parent = self
4213 end
4214
4215
4216 redef fun visit_all(v: Visitor)
4217 do
4218 v.enter_visit(_n_expr)
4219 v.enter_visit(_n_op)
4220 v.enter_visit(_n_expr2)
4221 end
4222 end
4223 redef class AGgExpr
4224 init init_aggexpr (
4225 n_expr: nullable AExpr,
4226 n_op: nullable TGg,
4227 n_expr2: nullable AExpr
4228 )
4229 do
4230 _n_expr = n_expr.as(not null)
4231 n_expr.parent = self
4232 _n_op = n_op.as(not null)
4233 n_op.parent = self
4234 _n_expr2 = n_expr2.as(not null)
4235 n_expr2.parent = self
4236 end
4237
4238 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4239 do
4240 if _n_expr == old_child then
4241 n_expr = new_child.as(AExpr)
4242 return
4243 end
4244 if _n_op == old_child then
4245 n_op = new_child.as(TGg)
4246 return
4247 end
4248 if _n_expr2 == old_child then
4249 n_expr2 = new_child.as(AExpr)
4250 return
4251 end
4252 end
4253
4254 redef fun n_expr=(node)
4255 do
4256 _n_expr = node
4257 node.parent = self
4258 end
4259 redef fun n_op=(node)
4260 do
4261 _n_op = node
4262 node.parent = self
4263 end
4264 redef fun n_expr2=(node)
4265 do
4266 _n_expr2 = node
4267 node.parent = self
4268 end
4269
4270
4271 redef fun visit_all(v: Visitor)
4272 do
4273 v.enter_visit(_n_expr)
4274 v.enter_visit(_n_op)
4275 v.enter_visit(_n_expr2)
4276 end
4277 end
4278 redef class AIsaExpr
4279 init init_aisaexpr (
4280 n_expr: nullable AExpr,
4281 n_kwisa: nullable TKwisa,
4282 n_type: nullable AType
4283 )
4284 do
4285 _n_expr = n_expr.as(not null)
4286 n_expr.parent = self
4287 _n_kwisa = n_kwisa.as(not null)
4288 n_kwisa.parent = self
4289 _n_type = n_type.as(not null)
4290 n_type.parent = self
4291 end
4292
4293 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4294 do
4295 if _n_expr == old_child then
4296 n_expr = new_child.as(AExpr)
4297 return
4298 end
4299 if _n_kwisa == old_child then
4300 n_kwisa = new_child.as(TKwisa)
4301 return
4302 end
4303 if _n_type == old_child then
4304 n_type = new_child.as(AType)
4305 return
4306 end
4307 end
4308
4309 redef fun n_expr=(node)
4310 do
4311 _n_expr = node
4312 node.parent = self
4313 end
4314 redef fun n_kwisa=(node)
4315 do
4316 _n_kwisa = node
4317 node.parent = self
4318 end
4319 redef fun n_type=(node)
4320 do
4321 _n_type = node
4322 node.parent = self
4323 end
4324
4325
4326 redef fun visit_all(v: Visitor)
4327 do
4328 v.enter_visit(_n_expr)
4329 v.enter_visit(_n_kwisa)
4330 v.enter_visit(_n_type)
4331 end
4332 end
4333 redef class APlusExpr
4334 init init_aplusexpr (
4335 n_expr: nullable AExpr,
4336 n_op: nullable TPlus,
4337 n_expr2: nullable AExpr
4338 )
4339 do
4340 _n_expr = n_expr.as(not null)
4341 n_expr.parent = self
4342 _n_op = n_op.as(not null)
4343 n_op.parent = self
4344 _n_expr2 = n_expr2.as(not null)
4345 n_expr2.parent = self
4346 end
4347
4348 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4349 do
4350 if _n_expr == old_child then
4351 n_expr = new_child.as(AExpr)
4352 return
4353 end
4354 if _n_op == old_child then
4355 n_op = new_child.as(TPlus)
4356 return
4357 end
4358 if _n_expr2 == old_child then
4359 n_expr2 = new_child.as(AExpr)
4360 return
4361 end
4362 end
4363
4364 redef fun n_expr=(node)
4365 do
4366 _n_expr = node
4367 node.parent = self
4368 end
4369 redef fun n_op=(node)
4370 do
4371 _n_op = node
4372 node.parent = self
4373 end
4374 redef fun n_expr2=(node)
4375 do
4376 _n_expr2 = node
4377 node.parent = self
4378 end
4379
4380
4381 redef fun visit_all(v: Visitor)
4382 do
4383 v.enter_visit(_n_expr)
4384 v.enter_visit(_n_op)
4385 v.enter_visit(_n_expr2)
4386 end
4387 end
4388 redef class AMinusExpr
4389 init init_aminusexpr (
4390 n_expr: nullable AExpr,
4391 n_op: nullable TMinus,
4392 n_expr2: nullable AExpr
4393 )
4394 do
4395 _n_expr = n_expr.as(not null)
4396 n_expr.parent = self
4397 _n_op = n_op.as(not null)
4398 n_op.parent = self
4399 _n_expr2 = n_expr2.as(not null)
4400 n_expr2.parent = self
4401 end
4402
4403 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4404 do
4405 if _n_expr == old_child then
4406 n_expr = new_child.as(AExpr)
4407 return
4408 end
4409 if _n_op == old_child then
4410 n_op = new_child.as(TMinus)
4411 return
4412 end
4413 if _n_expr2 == old_child then
4414 n_expr2 = new_child.as(AExpr)
4415 return
4416 end
4417 end
4418
4419 redef fun n_expr=(node)
4420 do
4421 _n_expr = node
4422 node.parent = self
4423 end
4424 redef fun n_op=(node)
4425 do
4426 _n_op = node
4427 node.parent = self
4428 end
4429 redef fun n_expr2=(node)
4430 do
4431 _n_expr2 = node
4432 node.parent = self
4433 end
4434
4435
4436 redef fun visit_all(v: Visitor)
4437 do
4438 v.enter_visit(_n_expr)
4439 v.enter_visit(_n_op)
4440 v.enter_visit(_n_expr2)
4441 end
4442 end
4443 redef class AStarshipExpr
4444 init init_astarshipexpr (
4445 n_expr: nullable AExpr,
4446 n_op: nullable TStarship,
4447 n_expr2: nullable AExpr
4448 )
4449 do
4450 _n_expr = n_expr.as(not null)
4451 n_expr.parent = self
4452 _n_op = n_op.as(not null)
4453 n_op.parent = self
4454 _n_expr2 = n_expr2.as(not null)
4455 n_expr2.parent = self
4456 end
4457
4458 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4459 do
4460 if _n_expr == old_child then
4461 n_expr = new_child.as(AExpr)
4462 return
4463 end
4464 if _n_op == old_child then
4465 n_op = new_child.as(TStarship)
4466 return
4467 end
4468 if _n_expr2 == old_child then
4469 n_expr2 = new_child.as(AExpr)
4470 return
4471 end
4472 end
4473
4474 redef fun n_expr=(node)
4475 do
4476 _n_expr = node
4477 node.parent = self
4478 end
4479 redef fun n_op=(node)
4480 do
4481 _n_op = node
4482 node.parent = self
4483 end
4484 redef fun n_expr2=(node)
4485 do
4486 _n_expr2 = node
4487 node.parent = self
4488 end
4489
4490
4491 redef fun visit_all(v: Visitor)
4492 do
4493 v.enter_visit(_n_expr)
4494 v.enter_visit(_n_op)
4495 v.enter_visit(_n_expr2)
4496 end
4497 end
4498 redef class AStarExpr
4499 init init_astarexpr (
4500 n_expr: nullable AExpr,
4501 n_op: nullable TStar,
4502 n_expr2: nullable AExpr
4503 )
4504 do
4505 _n_expr = n_expr.as(not null)
4506 n_expr.parent = self
4507 _n_op = n_op.as(not null)
4508 n_op.parent = self
4509 _n_expr2 = n_expr2.as(not null)
4510 n_expr2.parent = self
4511 end
4512
4513 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4514 do
4515 if _n_expr == old_child then
4516 n_expr = new_child.as(AExpr)
4517 return
4518 end
4519 if _n_op == old_child then
4520 n_op = new_child.as(TStar)
4521 return
4522 end
4523 if _n_expr2 == old_child then
4524 n_expr2 = new_child.as(AExpr)
4525 return
4526 end
4527 end
4528
4529 redef fun n_expr=(node)
4530 do
4531 _n_expr = node
4532 node.parent = self
4533 end
4534 redef fun n_op=(node)
4535 do
4536 _n_op = node
4537 node.parent = self
4538 end
4539 redef fun n_expr2=(node)
4540 do
4541 _n_expr2 = node
4542 node.parent = self
4543 end
4544
4545
4546 redef fun visit_all(v: Visitor)
4547 do
4548 v.enter_visit(_n_expr)
4549 v.enter_visit(_n_op)
4550 v.enter_visit(_n_expr2)
4551 end
4552 end
4553 redef class AStarstarExpr
4554 init init_astarstarexpr (
4555 n_expr: nullable AExpr,
4556 n_op: nullable TStarstar,
4557 n_expr2: nullable AExpr
4558 )
4559 do
4560 _n_expr = n_expr.as(not null)
4561 n_expr.parent = self
4562 _n_op = n_op.as(not null)
4563 n_op.parent = self
4564 _n_expr2 = n_expr2.as(not null)
4565 n_expr2.parent = self
4566 end
4567
4568 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4569 do
4570 if _n_expr == old_child then
4571 n_expr = new_child.as(AExpr)
4572 return
4573 end
4574 if _n_op == old_child then
4575 n_op = new_child.as(TStarstar)
4576 return
4577 end
4578 if _n_expr2 == old_child then
4579 n_expr2 = new_child.as(AExpr)
4580 return
4581 end
4582 end
4583
4584 redef fun n_expr=(node)
4585 do
4586 _n_expr = node
4587 node.parent = self
4588 end
4589 redef fun n_op=(node)
4590 do
4591 _n_op = node
4592 node.parent = self
4593 end
4594 redef fun n_expr2=(node)
4595 do
4596 _n_expr2 = node
4597 node.parent = self
4598 end
4599
4600
4601 redef fun visit_all(v: Visitor)
4602 do
4603 v.enter_visit(_n_expr)
4604 v.enter_visit(_n_op)
4605 v.enter_visit(_n_expr2)
4606 end
4607 end
4608 redef class ASlashExpr
4609 init init_aslashexpr (
4610 n_expr: nullable AExpr,
4611 n_op: nullable TSlash,
4612 n_expr2: nullable AExpr
4613 )
4614 do
4615 _n_expr = n_expr.as(not null)
4616 n_expr.parent = self
4617 _n_op = n_op.as(not null)
4618 n_op.parent = self
4619 _n_expr2 = n_expr2.as(not null)
4620 n_expr2.parent = self
4621 end
4622
4623 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4624 do
4625 if _n_expr == old_child then
4626 n_expr = new_child.as(AExpr)
4627 return
4628 end
4629 if _n_op == old_child then
4630 n_op = new_child.as(TSlash)
4631 return
4632 end
4633 if _n_expr2 == old_child then
4634 n_expr2 = new_child.as(AExpr)
4635 return
4636 end
4637 end
4638
4639 redef fun n_expr=(node)
4640 do
4641 _n_expr = node
4642 node.parent = self
4643 end
4644 redef fun n_op=(node)
4645 do
4646 _n_op = node
4647 node.parent = self
4648 end
4649 redef fun n_expr2=(node)
4650 do
4651 _n_expr2 = node
4652 node.parent = self
4653 end
4654
4655
4656 redef fun visit_all(v: Visitor)
4657 do
4658 v.enter_visit(_n_expr)
4659 v.enter_visit(_n_op)
4660 v.enter_visit(_n_expr2)
4661 end
4662 end
4663 redef class APercentExpr
4664 init init_apercentexpr (
4665 n_expr: nullable AExpr,
4666 n_op: nullable TPercent,
4667 n_expr2: nullable AExpr
4668 )
4669 do
4670 _n_expr = n_expr.as(not null)
4671 n_expr.parent = self
4672 _n_op = n_op.as(not null)
4673 n_op.parent = self
4674 _n_expr2 = n_expr2.as(not null)
4675 n_expr2.parent = self
4676 end
4677
4678 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4679 do
4680 if _n_expr == old_child then
4681 n_expr = new_child.as(AExpr)
4682 return
4683 end
4684 if _n_op == old_child then
4685 n_op = new_child.as(TPercent)
4686 return
4687 end
4688 if _n_expr2 == old_child then
4689 n_expr2 = new_child.as(AExpr)
4690 return
4691 end
4692 end
4693
4694 redef fun n_expr=(node)
4695 do
4696 _n_expr = node
4697 node.parent = self
4698 end
4699 redef fun n_op=(node)
4700 do
4701 _n_op = node
4702 node.parent = self
4703 end
4704 redef fun n_expr2=(node)
4705 do
4706 _n_expr2 = node
4707 node.parent = self
4708 end
4709
4710
4711 redef fun visit_all(v: Visitor)
4712 do
4713 v.enter_visit(_n_expr)
4714 v.enter_visit(_n_op)
4715 v.enter_visit(_n_expr2)
4716 end
4717 end
4718 redef class APipeExpr
4719 init init_apipeexpr (
4720 n_expr: nullable AExpr,
4721 n_op: nullable TPipe,
4722 n_expr2: nullable AExpr
4723 )
4724 do
4725 _n_expr = n_expr.as(not null)
4726 n_expr.parent = self
4727 _n_op = n_op.as(not null)
4728 n_op.parent = self
4729 _n_expr2 = n_expr2.as(not null)
4730 n_expr2.parent = self
4731 end
4732
4733 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4734 do
4735 if _n_expr == old_child then
4736 n_expr = new_child.as(AExpr)
4737 return
4738 end
4739 if _n_op == old_child then
4740 n_op = new_child.as(TPipe)
4741 return
4742 end
4743 if _n_expr2 == old_child then
4744 n_expr2 = new_child.as(AExpr)
4745 return
4746 end
4747 end
4748
4749 redef fun n_expr=(node)
4750 do
4751 _n_expr = node
4752 node.parent = self
4753 end
4754 redef fun n_op=(node)
4755 do
4756 _n_op = node
4757 node.parent = self
4758 end
4759 redef fun n_expr2=(node)
4760 do
4761 _n_expr2 = node
4762 node.parent = self
4763 end
4764
4765
4766 redef fun visit_all(v: Visitor)
4767 do
4768 v.enter_visit(_n_expr)
4769 v.enter_visit(_n_op)
4770 v.enter_visit(_n_expr2)
4771 end
4772 end
4773 redef class ACaretExpr
4774 init init_acaretexpr (
4775 n_expr: nullable AExpr,
4776 n_op: nullable TCaret,
4777 n_expr2: nullable AExpr
4778 )
4779 do
4780 _n_expr = n_expr.as(not null)
4781 n_expr.parent = self
4782 _n_op = n_op.as(not null)
4783 n_op.parent = self
4784 _n_expr2 = n_expr2.as(not null)
4785 n_expr2.parent = self
4786 end
4787
4788 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4789 do
4790 if _n_expr == old_child then
4791 n_expr = new_child.as(AExpr)
4792 return
4793 end
4794 if _n_op == old_child then
4795 n_op = new_child.as(TCaret)
4796 return
4797 end
4798 if _n_expr2 == old_child then
4799 n_expr2 = new_child.as(AExpr)
4800 return
4801 end
4802 end
4803
4804 redef fun n_expr=(node)
4805 do
4806 _n_expr = node
4807 node.parent = self
4808 end
4809 redef fun n_op=(node)
4810 do
4811 _n_op = node
4812 node.parent = self
4813 end
4814 redef fun n_expr2=(node)
4815 do
4816 _n_expr2 = node
4817 node.parent = self
4818 end
4819
4820
4821 redef fun visit_all(v: Visitor)
4822 do
4823 v.enter_visit(_n_expr)
4824 v.enter_visit(_n_op)
4825 v.enter_visit(_n_expr2)
4826 end
4827 end
4828 redef class AAmpExpr
4829 init init_aampexpr (
4830 n_expr: nullable AExpr,
4831 n_op: nullable TAmp,
4832 n_expr2: nullable AExpr
4833 )
4834 do
4835 _n_expr = n_expr.as(not null)
4836 n_expr.parent = self
4837 _n_op = n_op.as(not null)
4838 n_op.parent = self
4839 _n_expr2 = n_expr2.as(not null)
4840 n_expr2.parent = self
4841 end
4842
4843 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4844 do
4845 if _n_expr == old_child then
4846 n_expr = new_child.as(AExpr)
4847 return
4848 end
4849 if _n_op == old_child then
4850 n_op = new_child.as(TAmp)
4851 return
4852 end
4853 if _n_expr2 == old_child then
4854 n_expr2 = new_child.as(AExpr)
4855 return
4856 end
4857 end
4858
4859 redef fun n_expr=(node)
4860 do
4861 _n_expr = node
4862 node.parent = self
4863 end
4864 redef fun n_op=(node)
4865 do
4866 _n_op = node
4867 node.parent = self
4868 end
4869 redef fun n_expr2=(node)
4870 do
4871 _n_expr2 = node
4872 node.parent = self
4873 end
4874
4875
4876 redef fun visit_all(v: Visitor)
4877 do
4878 v.enter_visit(_n_expr)
4879 v.enter_visit(_n_op)
4880 v.enter_visit(_n_expr2)
4881 end
4882 end
4883 redef class AUminusExpr
4884 init init_auminusexpr (
4885 n_op: nullable TMinus,
4886 n_expr: nullable AExpr
4887 )
4888 do
4889 _n_op = n_op.as(not null)
4890 n_op.parent = self
4891 _n_expr = n_expr.as(not null)
4892 n_expr.parent = self
4893 end
4894
4895 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4896 do
4897 if _n_op == old_child then
4898 n_op = new_child.as(TMinus)
4899 return
4900 end
4901 if _n_expr == old_child then
4902 n_expr = new_child.as(AExpr)
4903 return
4904 end
4905 end
4906
4907 redef fun n_op=(node)
4908 do
4909 _n_op = node
4910 node.parent = self
4911 end
4912 redef fun n_expr=(node)
4913 do
4914 _n_expr = node
4915 node.parent = self
4916 end
4917
4918
4919 redef fun visit_all(v: Visitor)
4920 do
4921 v.enter_visit(_n_op)
4922 v.enter_visit(_n_expr)
4923 end
4924 end
4925 redef class AUplusExpr
4926 init init_auplusexpr (
4927 n_op: nullable TPlus,
4928 n_expr: nullable AExpr
4929 )
4930 do
4931 _n_op = n_op.as(not null)
4932 n_op.parent = self
4933 _n_expr = n_expr.as(not null)
4934 n_expr.parent = self
4935 end
4936
4937 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4938 do
4939 if _n_op == old_child then
4940 n_op = new_child.as(TPlus)
4941 return
4942 end
4943 if _n_expr == old_child then
4944 n_expr = new_child.as(AExpr)
4945 return
4946 end
4947 end
4948
4949 redef fun n_op=(node)
4950 do
4951 _n_op = node
4952 node.parent = self
4953 end
4954 redef fun n_expr=(node)
4955 do
4956 _n_expr = node
4957 node.parent = self
4958 end
4959
4960
4961 redef fun visit_all(v: Visitor)
4962 do
4963 v.enter_visit(_n_op)
4964 v.enter_visit(_n_expr)
4965 end
4966 end
4967 redef class AUtildeExpr
4968 init init_autildeexpr (
4969 n_op: nullable TTilde,
4970 n_expr: nullable AExpr
4971 )
4972 do
4973 _n_op = n_op.as(not null)
4974 n_op.parent = self
4975 _n_expr = n_expr.as(not null)
4976 n_expr.parent = self
4977 end
4978
4979 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
4980 do
4981 if _n_op == old_child then
4982 n_op = new_child.as(TTilde)
4983 return
4984 end
4985 if _n_expr == old_child then
4986 n_expr = new_child.as(AExpr)
4987 return
4988 end
4989 end
4990
4991 redef fun n_op=(node)
4992 do
4993 _n_op = node
4994 node.parent = self
4995 end
4996 redef fun n_expr=(node)
4997 do
4998 _n_expr = node
4999 node.parent = self
5000 end
5001
5002
5003 redef fun visit_all(v: Visitor)
5004 do
5005 v.enter_visit(_n_op)
5006 v.enter_visit(_n_expr)
5007 end
5008 end
5009 redef class ANewExpr
5010 init init_anewexpr (
5011 n_kwnew: nullable TKwnew,
5012 n_type: nullable AType,
5013 n_qid: nullable AQid,
5014 n_args: nullable AExprs
5015 )
5016 do
5017 _n_kwnew = n_kwnew.as(not null)
5018 n_kwnew.parent = self
5019 _n_type = n_type.as(not null)
5020 n_type.parent = self
5021 _n_qid = n_qid
5022 if n_qid != null then n_qid.parent = self
5023 _n_args = n_args.as(not null)
5024 n_args.parent = self
5025 end
5026
5027 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5028 do
5029 if _n_kwnew == old_child then
5030 n_kwnew = new_child.as(TKwnew)
5031 return
5032 end
5033 if _n_type == old_child then
5034 n_type = new_child.as(AType)
5035 return
5036 end
5037 if _n_qid == old_child then
5038 n_qid = new_child.as(nullable AQid)
5039 return
5040 end
5041 if _n_args == old_child then
5042 n_args = new_child.as(AExprs)
5043 return
5044 end
5045 end
5046
5047 redef fun n_kwnew=(node)
5048 do
5049 _n_kwnew = node
5050 node.parent = self
5051 end
5052 redef fun n_type=(node)
5053 do
5054 _n_type = node
5055 node.parent = self
5056 end
5057 redef fun n_qid=(node)
5058 do
5059 _n_qid = node
5060 if node != null then node.parent = self
5061 end
5062 redef fun n_args=(node)
5063 do
5064 _n_args = node
5065 node.parent = self
5066 end
5067
5068
5069 redef fun visit_all(v: Visitor)
5070 do
5071 v.enter_visit(_n_kwnew)
5072 v.enter_visit(_n_type)
5073 v.enter_visit(_n_qid)
5074 v.enter_visit(_n_args)
5075 end
5076 end
5077 redef class AAttrExpr
5078 init init_aattrexpr (
5079 n_expr: nullable AExpr,
5080 n_id: nullable TAttrid
5081 )
5082 do
5083 _n_expr = n_expr.as(not null)
5084 n_expr.parent = self
5085 _n_id = n_id.as(not null)
5086 n_id.parent = self
5087 end
5088
5089 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5090 do
5091 if _n_expr == old_child then
5092 n_expr = new_child.as(AExpr)
5093 return
5094 end
5095 if _n_id == old_child then
5096 n_id = new_child.as(TAttrid)
5097 return
5098 end
5099 end
5100
5101 redef fun n_expr=(node)
5102 do
5103 _n_expr = node
5104 node.parent = self
5105 end
5106 redef fun n_id=(node)
5107 do
5108 _n_id = node
5109 node.parent = self
5110 end
5111
5112
5113 redef fun visit_all(v: Visitor)
5114 do
5115 v.enter_visit(_n_expr)
5116 v.enter_visit(_n_id)
5117 end
5118 end
5119 redef class AAttrAssignExpr
5120 init init_aattrassignexpr (
5121 n_expr: nullable AExpr,
5122 n_id: nullable TAttrid,
5123 n_assign: nullable TAssign,
5124 n_value: nullable AExpr
5125 )
5126 do
5127 _n_expr = n_expr.as(not null)
5128 n_expr.parent = self
5129 _n_id = n_id.as(not null)
5130 n_id.parent = self
5131 _n_assign = n_assign.as(not null)
5132 n_assign.parent = self
5133 _n_value = n_value.as(not null)
5134 n_value.parent = self
5135 end
5136
5137 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5138 do
5139 if _n_expr == old_child then
5140 n_expr = new_child.as(AExpr)
5141 return
5142 end
5143 if _n_id == old_child then
5144 n_id = new_child.as(TAttrid)
5145 return
5146 end
5147 if _n_assign == old_child then
5148 n_assign = new_child.as(TAssign)
5149 return
5150 end
5151 if _n_value == old_child then
5152 n_value = new_child.as(AExpr)
5153 return
5154 end
5155 end
5156
5157 redef fun n_expr=(node)
5158 do
5159 _n_expr = node
5160 node.parent = self
5161 end
5162 redef fun n_id=(node)
5163 do
5164 _n_id = node
5165 node.parent = self
5166 end
5167 redef fun n_assign=(node)
5168 do
5169 _n_assign = node
5170 node.parent = self
5171 end
5172 redef fun n_value=(node)
5173 do
5174 _n_value = node
5175 node.parent = self
5176 end
5177
5178
5179 redef fun visit_all(v: Visitor)
5180 do
5181 v.enter_visit(_n_expr)
5182 v.enter_visit(_n_id)
5183 v.enter_visit(_n_assign)
5184 v.enter_visit(_n_value)
5185 end
5186 end
5187 redef class AAttrReassignExpr
5188 init init_aattrreassignexpr (
5189 n_expr: nullable AExpr,
5190 n_id: nullable TAttrid,
5191 n_assign_op: nullable AAssignOp,
5192 n_value: nullable AExpr
5193 )
5194 do
5195 _n_expr = n_expr.as(not null)
5196 n_expr.parent = self
5197 _n_id = n_id.as(not null)
5198 n_id.parent = self
5199 _n_assign_op = n_assign_op.as(not null)
5200 n_assign_op.parent = self
5201 _n_value = n_value.as(not null)
5202 n_value.parent = self
5203 end
5204
5205 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5206 do
5207 if _n_expr == old_child then
5208 n_expr = new_child.as(AExpr)
5209 return
5210 end
5211 if _n_id == old_child then
5212 n_id = new_child.as(TAttrid)
5213 return
5214 end
5215 if _n_assign_op == old_child then
5216 n_assign_op = new_child.as(AAssignOp)
5217 return
5218 end
5219 if _n_value == old_child then
5220 n_value = new_child.as(AExpr)
5221 return
5222 end
5223 end
5224
5225 redef fun n_expr=(node)
5226 do
5227 _n_expr = node
5228 node.parent = self
5229 end
5230 redef fun n_id=(node)
5231 do
5232 _n_id = node
5233 node.parent = self
5234 end
5235 redef fun n_assign_op=(node)
5236 do
5237 _n_assign_op = node
5238 node.parent = self
5239 end
5240 redef fun n_value=(node)
5241 do
5242 _n_value = node
5243 node.parent = self
5244 end
5245
5246
5247 redef fun visit_all(v: Visitor)
5248 do
5249 v.enter_visit(_n_expr)
5250 v.enter_visit(_n_id)
5251 v.enter_visit(_n_assign_op)
5252 v.enter_visit(_n_value)
5253 end
5254 end
5255 redef class ACallExpr
5256 init init_acallexpr (
5257 n_expr: nullable AExpr,
5258 n_qid: nullable AQid,
5259 n_args: nullable AExprs
5260 )
5261 do
5262 _n_expr = n_expr.as(not null)
5263 n_expr.parent = self
5264 _n_qid = n_qid.as(not null)
5265 n_qid.parent = self
5266 _n_args = n_args.as(not null)
5267 n_args.parent = self
5268 end
5269
5270 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5271 do
5272 if _n_expr == old_child then
5273 n_expr = new_child.as(AExpr)
5274 return
5275 end
5276 if _n_qid == old_child then
5277 n_qid = new_child.as(AQid)
5278 return
5279 end
5280 if _n_args == old_child then
5281 n_args = new_child.as(AExprs)
5282 return
5283 end
5284 end
5285
5286 redef fun n_expr=(node)
5287 do
5288 _n_expr = node
5289 node.parent = self
5290 end
5291 redef fun n_qid=(node)
5292 do
5293 _n_qid = node
5294 node.parent = self
5295 end
5296 redef fun n_args=(node)
5297 do
5298 _n_args = node
5299 node.parent = self
5300 end
5301
5302
5303 redef fun visit_all(v: Visitor)
5304 do
5305 v.enter_visit(_n_expr)
5306 v.enter_visit(_n_qid)
5307 v.enter_visit(_n_args)
5308 end
5309 end
5310 redef class ACallAssignExpr
5311 init init_acallassignexpr (
5312 n_expr: nullable AExpr,
5313 n_qid: nullable AQid,
5314 n_args: nullable AExprs,
5315 n_assign: nullable TAssign,
5316 n_value: nullable AExpr
5317 )
5318 do
5319 _n_expr = n_expr.as(not null)
5320 n_expr.parent = self
5321 _n_qid = n_qid.as(not null)
5322 n_qid.parent = self
5323 _n_args = n_args.as(not null)
5324 n_args.parent = self
5325 _n_assign = n_assign.as(not null)
5326 n_assign.parent = self
5327 _n_value = n_value.as(not null)
5328 n_value.parent = self
5329 end
5330
5331 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5332 do
5333 if _n_expr == old_child then
5334 n_expr = new_child.as(AExpr)
5335 return
5336 end
5337 if _n_qid == old_child then
5338 n_qid = new_child.as(AQid)
5339 return
5340 end
5341 if _n_args == old_child then
5342 n_args = new_child.as(AExprs)
5343 return
5344 end
5345 if _n_assign == old_child then
5346 n_assign = new_child.as(TAssign)
5347 return
5348 end
5349 if _n_value == old_child then
5350 n_value = new_child.as(AExpr)
5351 return
5352 end
5353 end
5354
5355 redef fun n_expr=(node)
5356 do
5357 _n_expr = node
5358 node.parent = self
5359 end
5360 redef fun n_qid=(node)
5361 do
5362 _n_qid = node
5363 node.parent = self
5364 end
5365 redef fun n_args=(node)
5366 do
5367 _n_args = node
5368 node.parent = self
5369 end
5370 redef fun n_assign=(node)
5371 do
5372 _n_assign = node
5373 node.parent = self
5374 end
5375 redef fun n_value=(node)
5376 do
5377 _n_value = node
5378 node.parent = self
5379 end
5380
5381
5382 redef fun visit_all(v: Visitor)
5383 do
5384 v.enter_visit(_n_expr)
5385 v.enter_visit(_n_qid)
5386 v.enter_visit(_n_args)
5387 v.enter_visit(_n_assign)
5388 v.enter_visit(_n_value)
5389 end
5390 end
5391 redef class ACallReassignExpr
5392 init init_acallreassignexpr (
5393 n_expr: nullable AExpr,
5394 n_qid: nullable AQid,
5395 n_args: nullable AExprs,
5396 n_assign_op: nullable AAssignOp,
5397 n_value: nullable AExpr
5398 )
5399 do
5400 _n_expr = n_expr.as(not null)
5401 n_expr.parent = self
5402 _n_qid = n_qid.as(not null)
5403 n_qid.parent = self
5404 _n_args = n_args.as(not null)
5405 n_args.parent = self
5406 _n_assign_op = n_assign_op.as(not null)
5407 n_assign_op.parent = self
5408 _n_value = n_value.as(not null)
5409 n_value.parent = self
5410 end
5411
5412 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5413 do
5414 if _n_expr == old_child then
5415 n_expr = new_child.as(AExpr)
5416 return
5417 end
5418 if _n_qid == old_child then
5419 n_qid = new_child.as(AQid)
5420 return
5421 end
5422 if _n_args == old_child then
5423 n_args = new_child.as(AExprs)
5424 return
5425 end
5426 if _n_assign_op == old_child then
5427 n_assign_op = new_child.as(AAssignOp)
5428 return
5429 end
5430 if _n_value == old_child then
5431 n_value = new_child.as(AExpr)
5432 return
5433 end
5434 end
5435
5436 redef fun n_expr=(node)
5437 do
5438 _n_expr = node
5439 node.parent = self
5440 end
5441 redef fun n_qid=(node)
5442 do
5443 _n_qid = node
5444 node.parent = self
5445 end
5446 redef fun n_args=(node)
5447 do
5448 _n_args = node
5449 node.parent = self
5450 end
5451 redef fun n_assign_op=(node)
5452 do
5453 _n_assign_op = node
5454 node.parent = self
5455 end
5456 redef fun n_value=(node)
5457 do
5458 _n_value = node
5459 node.parent = self
5460 end
5461
5462
5463 redef fun visit_all(v: Visitor)
5464 do
5465 v.enter_visit(_n_expr)
5466 v.enter_visit(_n_qid)
5467 v.enter_visit(_n_args)
5468 v.enter_visit(_n_assign_op)
5469 v.enter_visit(_n_value)
5470 end
5471 end
5472 redef class ASuperExpr
5473 init init_asuperexpr (
5474 n_qualified: nullable AQualified,
5475 n_kwsuper: nullable TKwsuper,
5476 n_args: nullable AExprs
5477 )
5478 do
5479 _n_qualified = n_qualified
5480 if n_qualified != null then n_qualified.parent = self
5481 _n_kwsuper = n_kwsuper.as(not null)
5482 n_kwsuper.parent = self
5483 _n_args = n_args.as(not null)
5484 n_args.parent = self
5485 end
5486
5487 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5488 do
5489 if _n_qualified == old_child then
5490 n_qualified = new_child.as(nullable AQualified)
5491 return
5492 end
5493 if _n_kwsuper == old_child then
5494 n_kwsuper = new_child.as(TKwsuper)
5495 return
5496 end
5497 if _n_args == old_child then
5498 n_args = new_child.as(AExprs)
5499 return
5500 end
5501 end
5502
5503 redef fun n_qualified=(node)
5504 do
5505 _n_qualified = node
5506 if node != null then node.parent = self
5507 end
5508 redef fun n_kwsuper=(node)
5509 do
5510 _n_kwsuper = node
5511 node.parent = self
5512 end
5513 redef fun n_args=(node)
5514 do
5515 _n_args = node
5516 node.parent = self
5517 end
5518
5519
5520 redef fun visit_all(v: Visitor)
5521 do
5522 v.enter_visit(_n_qualified)
5523 v.enter_visit(_n_kwsuper)
5524 v.enter_visit(_n_args)
5525 end
5526 end
5527 redef class AInitExpr
5528 init init_ainitexpr (
5529 n_expr: nullable AExpr,
5530 n_kwinit: nullable TKwinit,
5531 n_args: nullable AExprs
5532 )
5533 do
5534 _n_expr = n_expr.as(not null)
5535 n_expr.parent = self
5536 _n_kwinit = n_kwinit.as(not null)
5537 n_kwinit.parent = self
5538 _n_args = n_args.as(not null)
5539 n_args.parent = self
5540 end
5541
5542 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5543 do
5544 if _n_expr == old_child then
5545 n_expr = new_child.as(AExpr)
5546 return
5547 end
5548 if _n_kwinit == old_child then
5549 n_kwinit = new_child.as(TKwinit)
5550 return
5551 end
5552 if _n_args == old_child then
5553 n_args = new_child.as(AExprs)
5554 return
5555 end
5556 end
5557
5558 redef fun n_expr=(node)
5559 do
5560 _n_expr = node
5561 node.parent = self
5562 end
5563 redef fun n_kwinit=(node)
5564 do
5565 _n_kwinit = node
5566 node.parent = self
5567 end
5568 redef fun n_args=(node)
5569 do
5570 _n_args = node
5571 node.parent = self
5572 end
5573
5574
5575 redef fun visit_all(v: Visitor)
5576 do
5577 v.enter_visit(_n_expr)
5578 v.enter_visit(_n_kwinit)
5579 v.enter_visit(_n_args)
5580 end
5581 end
5582 redef class ABraExpr
5583 init init_abraexpr (
5584 n_expr: nullable AExpr,
5585 n_args: nullable AExprs
5586 )
5587 do
5588 _n_expr = n_expr.as(not null)
5589 n_expr.parent = self
5590 _n_args = n_args.as(not null)
5591 n_args.parent = self
5592 end
5593
5594 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5595 do
5596 if _n_expr == old_child then
5597 n_expr = new_child.as(AExpr)
5598 return
5599 end
5600 if _n_args == old_child then
5601 n_args = new_child.as(AExprs)
5602 return
5603 end
5604 end
5605
5606 redef fun n_expr=(node)
5607 do
5608 _n_expr = node
5609 node.parent = self
5610 end
5611 redef fun n_args=(node)
5612 do
5613 _n_args = node
5614 node.parent = self
5615 end
5616
5617
5618 redef fun visit_all(v: Visitor)
5619 do
5620 v.enter_visit(_n_expr)
5621 v.enter_visit(_n_args)
5622 end
5623 end
5624 redef class ABraAssignExpr
5625 init init_abraassignexpr (
5626 n_expr: nullable AExpr,
5627 n_args: nullable AExprs,
5628 n_assign: nullable TAssign,
5629 n_value: nullable AExpr
5630 )
5631 do
5632 _n_expr = n_expr.as(not null)
5633 n_expr.parent = self
5634 _n_args = n_args.as(not null)
5635 n_args.parent = self
5636 _n_assign = n_assign.as(not null)
5637 n_assign.parent = self
5638 _n_value = n_value.as(not null)
5639 n_value.parent = self
5640 end
5641
5642 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5643 do
5644 if _n_expr == old_child then
5645 n_expr = new_child.as(AExpr)
5646 return
5647 end
5648 if _n_args == old_child then
5649 n_args = new_child.as(AExprs)
5650 return
5651 end
5652 if _n_assign == old_child then
5653 n_assign = new_child.as(TAssign)
5654 return
5655 end
5656 if _n_value == old_child then
5657 n_value = new_child.as(AExpr)
5658 return
5659 end
5660 end
5661
5662 redef fun n_expr=(node)
5663 do
5664 _n_expr = node
5665 node.parent = self
5666 end
5667 redef fun n_args=(node)
5668 do
5669 _n_args = node
5670 node.parent = self
5671 end
5672 redef fun n_assign=(node)
5673 do
5674 _n_assign = node
5675 node.parent = self
5676 end
5677 redef fun n_value=(node)
5678 do
5679 _n_value = node
5680 node.parent = self
5681 end
5682
5683
5684 redef fun visit_all(v: Visitor)
5685 do
5686 v.enter_visit(_n_expr)
5687 v.enter_visit(_n_args)
5688 v.enter_visit(_n_assign)
5689 v.enter_visit(_n_value)
5690 end
5691 end
5692 redef class ABraReassignExpr
5693 init init_abrareassignexpr (
5694 n_expr: nullable AExpr,
5695 n_args: nullable AExprs,
5696 n_assign_op: nullable AAssignOp,
5697 n_value: nullable AExpr
5698 )
5699 do
5700 _n_expr = n_expr.as(not null)
5701 n_expr.parent = self
5702 _n_args = n_args.as(not null)
5703 n_args.parent = self
5704 _n_assign_op = n_assign_op.as(not null)
5705 n_assign_op.parent = self
5706 _n_value = n_value.as(not null)
5707 n_value.parent = self
5708 end
5709
5710 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5711 do
5712 if _n_expr == old_child then
5713 n_expr = new_child.as(AExpr)
5714 return
5715 end
5716 if _n_args == old_child then
5717 n_args = new_child.as(AExprs)
5718 return
5719 end
5720 if _n_assign_op == old_child then
5721 n_assign_op = new_child.as(AAssignOp)
5722 return
5723 end
5724 if _n_value == old_child then
5725 n_value = new_child.as(AExpr)
5726 return
5727 end
5728 end
5729
5730 redef fun n_expr=(node)
5731 do
5732 _n_expr = node
5733 node.parent = self
5734 end
5735 redef fun n_args=(node)
5736 do
5737 _n_args = node
5738 node.parent = self
5739 end
5740 redef fun n_assign_op=(node)
5741 do
5742 _n_assign_op = node
5743 node.parent = self
5744 end
5745 redef fun n_value=(node)
5746 do
5747 _n_value = node
5748 node.parent = self
5749 end
5750
5751
5752 redef fun visit_all(v: Visitor)
5753 do
5754 v.enter_visit(_n_expr)
5755 v.enter_visit(_n_args)
5756 v.enter_visit(_n_assign_op)
5757 v.enter_visit(_n_value)
5758 end
5759 end
5760 redef class AVarExpr
5761 init init_avarexpr (
5762 n_id: nullable TId
5763 )
5764 do
5765 _n_id = n_id.as(not null)
5766 n_id.parent = self
5767 end
5768
5769 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5770 do
5771 if _n_id == old_child then
5772 n_id = new_child.as(TId)
5773 return
5774 end
5775 end
5776
5777 redef fun n_id=(node)
5778 do
5779 _n_id = node
5780 node.parent = self
5781 end
5782
5783
5784 redef fun visit_all(v: Visitor)
5785 do
5786 v.enter_visit(_n_id)
5787 end
5788 end
5789 redef class AVarAssignExpr
5790 init init_avarassignexpr (
5791 n_id: nullable TId,
5792 n_assign: nullable TAssign,
5793 n_value: nullable AExpr
5794 )
5795 do
5796 _n_id = n_id.as(not null)
5797 n_id.parent = self
5798 _n_assign = n_assign.as(not null)
5799 n_assign.parent = self
5800 _n_value = n_value.as(not null)
5801 n_value.parent = self
5802 end
5803
5804 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5805 do
5806 if _n_id == old_child then
5807 n_id = new_child.as(TId)
5808 return
5809 end
5810 if _n_assign == old_child then
5811 n_assign = new_child.as(TAssign)
5812 return
5813 end
5814 if _n_value == old_child then
5815 n_value = new_child.as(AExpr)
5816 return
5817 end
5818 end
5819
5820 redef fun n_id=(node)
5821 do
5822 _n_id = node
5823 node.parent = self
5824 end
5825 redef fun n_assign=(node)
5826 do
5827 _n_assign = node
5828 node.parent = self
5829 end
5830 redef fun n_value=(node)
5831 do
5832 _n_value = node
5833 node.parent = self
5834 end
5835
5836
5837 redef fun visit_all(v: Visitor)
5838 do
5839 v.enter_visit(_n_id)
5840 v.enter_visit(_n_assign)
5841 v.enter_visit(_n_value)
5842 end
5843 end
5844 redef class AVarReassignExpr
5845 init init_avarreassignexpr (
5846 n_id: nullable TId,
5847 n_assign_op: nullable AAssignOp,
5848 n_value: nullable AExpr
5849 )
5850 do
5851 _n_id = n_id.as(not null)
5852 n_id.parent = self
5853 _n_assign_op = n_assign_op.as(not null)
5854 n_assign_op.parent = self
5855 _n_value = n_value.as(not null)
5856 n_value.parent = self
5857 end
5858
5859 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5860 do
5861 if _n_id == old_child then
5862 n_id = new_child.as(TId)
5863 return
5864 end
5865 if _n_assign_op == old_child then
5866 n_assign_op = new_child.as(AAssignOp)
5867 return
5868 end
5869 if _n_value == old_child then
5870 n_value = new_child.as(AExpr)
5871 return
5872 end
5873 end
5874
5875 redef fun n_id=(node)
5876 do
5877 _n_id = node
5878 node.parent = self
5879 end
5880 redef fun n_assign_op=(node)
5881 do
5882 _n_assign_op = node
5883 node.parent = self
5884 end
5885 redef fun n_value=(node)
5886 do
5887 _n_value = node
5888 node.parent = self
5889 end
5890
5891
5892 redef fun visit_all(v: Visitor)
5893 do
5894 v.enter_visit(_n_id)
5895 v.enter_visit(_n_assign_op)
5896 v.enter_visit(_n_value)
5897 end
5898 end
5899 redef class ARangeExpr
5900 init init_arangeexpr (
5901 n_expr: nullable AExpr,
5902 n_expr2: nullable AExpr,
5903 n_annotations: nullable AAnnotations
5904 )
5905 do
5906 _n_expr = n_expr.as(not null)
5907 n_expr.parent = self
5908 _n_expr2 = n_expr2.as(not null)
5909 n_expr2.parent = self
5910 _n_annotations = n_annotations
5911 if n_annotations != null then n_annotations.parent = self
5912 end
5913
5914 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5915 do
5916 if _n_expr == old_child then
5917 n_expr = new_child.as(AExpr)
5918 return
5919 end
5920 if _n_expr2 == old_child then
5921 n_expr2 = new_child.as(AExpr)
5922 return
5923 end
5924 if _n_annotations == old_child then
5925 n_annotations = new_child.as(nullable AAnnotations)
5926 return
5927 end
5928 end
5929
5930 redef fun n_expr=(node)
5931 do
5932 _n_expr = node
5933 node.parent = self
5934 end
5935 redef fun n_expr2=(node)
5936 do
5937 _n_expr2 = node
5938 node.parent = self
5939 end
5940 redef fun n_annotations=(node)
5941 do
5942 _n_annotations = node
5943 if node != null then node.parent = self
5944 end
5945
5946
5947 redef fun visit_all(v: Visitor)
5948 do
5949 v.enter_visit(_n_expr)
5950 v.enter_visit(_n_expr2)
5951 v.enter_visit(_n_annotations)
5952 end
5953 end
5954 redef class ACrangeExpr
5955 init init_acrangeexpr (
5956 n_obra: nullable TObra,
5957 n_expr: nullable AExpr,
5958 n_dotdot: nullable TDotdot,
5959 n_expr2: nullable AExpr,
5960 n_cbra: nullable TCbra,
5961 n_annotations: nullable AAnnotations
5962 )
5963 do
5964 _n_obra = n_obra.as(not null)
5965 n_obra.parent = self
5966 _n_expr = n_expr.as(not null)
5967 n_expr.parent = self
5968 _n_dotdot = n_dotdot.as(not null)
5969 n_dotdot.parent = self
5970 _n_expr2 = n_expr2.as(not null)
5971 n_expr2.parent = self
5972 _n_cbra = n_cbra.as(not null)
5973 n_cbra.parent = self
5974 _n_annotations = n_annotations
5975 if n_annotations != null then n_annotations.parent = self
5976 end
5977
5978 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
5979 do
5980 if _n_obra == old_child then
5981 n_obra = new_child.as(TObra)
5982 return
5983 end
5984 if _n_expr == old_child then
5985 n_expr = new_child.as(AExpr)
5986 return
5987 end
5988 if _n_dotdot == old_child then
5989 n_dotdot = new_child.as(TDotdot)
5990 return
5991 end
5992 if _n_expr2 == old_child then
5993 n_expr2 = new_child.as(AExpr)
5994 return
5995 end
5996 if _n_cbra == old_child then
5997 n_cbra = new_child.as(TCbra)
5998 return
5999 end
6000 if _n_annotations == old_child then
6001 n_annotations = new_child.as(nullable AAnnotations)
6002 return
6003 end
6004 end
6005
6006 redef fun n_obra=(node)
6007 do
6008 _n_obra = node
6009 node.parent = self
6010 end
6011 redef fun n_expr=(node)
6012 do
6013 _n_expr = node
6014 node.parent = self
6015 end
6016 redef fun n_dotdot=(node)
6017 do
6018 _n_dotdot = node
6019 node.parent = self
6020 end
6021 redef fun n_expr2=(node)
6022 do
6023 _n_expr2 = node
6024 node.parent = self
6025 end
6026 redef fun n_cbra=(node)
6027 do
6028 _n_cbra = node
6029 node.parent = self
6030 end
6031 redef fun n_annotations=(node)
6032 do
6033 _n_annotations = node
6034 if node != null then node.parent = self
6035 end
6036
6037
6038 redef fun visit_all(v: Visitor)
6039 do
6040 v.enter_visit(_n_obra)
6041 v.enter_visit(_n_expr)
6042 v.enter_visit(_n_dotdot)
6043 v.enter_visit(_n_expr2)
6044 v.enter_visit(_n_cbra)
6045 v.enter_visit(_n_annotations)
6046 end
6047 end
6048 redef class AOrangeExpr
6049 init init_aorangeexpr (
6050 n_obra: nullable TObra,
6051 n_expr: nullable AExpr,
6052 n_dotdot: nullable TDotdot,
6053 n_expr2: nullable AExpr,
6054 n_cbra: nullable TObra,
6055 n_annotations: nullable AAnnotations
6056 )
6057 do
6058 _n_obra = n_obra.as(not null)
6059 n_obra.parent = self
6060 _n_expr = n_expr.as(not null)
6061 n_expr.parent = self
6062 _n_dotdot = n_dotdot.as(not null)
6063 n_dotdot.parent = self
6064 _n_expr2 = n_expr2.as(not null)
6065 n_expr2.parent = self
6066 _n_cbra = n_cbra.as(not null)
6067 n_cbra.parent = self
6068 _n_annotations = n_annotations
6069 if n_annotations != null then n_annotations.parent = self
6070 end
6071
6072 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6073 do
6074 if _n_obra == old_child then
6075 n_obra = new_child.as(TObra)
6076 return
6077 end
6078 if _n_expr == old_child then
6079 n_expr = new_child.as(AExpr)
6080 return
6081 end
6082 if _n_dotdot == old_child then
6083 n_dotdot = new_child.as(TDotdot)
6084 return
6085 end
6086 if _n_expr2 == old_child then
6087 n_expr2 = new_child.as(AExpr)
6088 return
6089 end
6090 if _n_cbra == old_child then
6091 n_cbra = new_child.as(TObra)
6092 return
6093 end
6094 if _n_annotations == old_child then
6095 n_annotations = new_child.as(nullable AAnnotations)
6096 return
6097 end
6098 end
6099
6100 redef fun n_obra=(node)
6101 do
6102 _n_obra = node
6103 node.parent = self
6104 end
6105 redef fun n_expr=(node)
6106 do
6107 _n_expr = node
6108 node.parent = self
6109 end
6110 redef fun n_dotdot=(node)
6111 do
6112 _n_dotdot = node
6113 node.parent = self
6114 end
6115 redef fun n_expr2=(node)
6116 do
6117 _n_expr2 = node
6118 node.parent = self
6119 end
6120 redef fun n_cbra=(node)
6121 do
6122 _n_cbra = node
6123 node.parent = self
6124 end
6125 redef fun n_annotations=(node)
6126 do
6127 _n_annotations = node
6128 if node != null then node.parent = self
6129 end
6130
6131
6132 redef fun visit_all(v: Visitor)
6133 do
6134 v.enter_visit(_n_obra)
6135 v.enter_visit(_n_expr)
6136 v.enter_visit(_n_dotdot)
6137 v.enter_visit(_n_expr2)
6138 v.enter_visit(_n_cbra)
6139 v.enter_visit(_n_annotations)
6140 end
6141 end
6142 redef class AArrayExpr
6143 init init_aarrayexpr (
6144 n_obra: nullable TObra,
6145 n_exprs: Collection[Object], # Should be Collection[AExpr]
6146 n_type: nullable AType,
6147 n_cbra: nullable TCbra,
6148 n_annotations: nullable AAnnotations
6149 )
6150 do
6151 _n_obra = n_obra.as(not null)
6152 n_obra.parent = self
6153 self.n_exprs.unsafe_add_all(n_exprs)
6154 _n_type = n_type
6155 if n_type != null then n_type.parent = self
6156 _n_cbra = n_cbra.as(not null)
6157 n_cbra.parent = self
6158 _n_annotations = n_annotations
6159 if n_annotations != null then n_annotations.parent = self
6160 end
6161
6162 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6163 do
6164 if _n_obra == old_child then
6165 n_obra = new_child.as(TObra)
6166 return
6167 end
6168 if n_exprs.replace_child(old_child, new_child) then return
6169 if _n_type == old_child then
6170 n_type = new_child.as(nullable AType)
6171 return
6172 end
6173 if _n_cbra == old_child then
6174 n_cbra = new_child.as(TCbra)
6175 return
6176 end
6177 if _n_annotations == old_child then
6178 n_annotations = new_child.as(nullable AAnnotations)
6179 return
6180 end
6181 end
6182
6183 redef fun n_obra=(node)
6184 do
6185 _n_obra = node
6186 node.parent = self
6187 end
6188 redef fun n_type=(node)
6189 do
6190 _n_type = node
6191 if node != null then node.parent = self
6192 end
6193 redef fun n_cbra=(node)
6194 do
6195 _n_cbra = node
6196 node.parent = self
6197 end
6198 redef fun n_annotations=(node)
6199 do
6200 _n_annotations = node
6201 if node != null then node.parent = self
6202 end
6203
6204
6205 redef fun visit_all(v: Visitor)
6206 do
6207 v.enter_visit(_n_obra)
6208 n_exprs.visit_all(v)
6209 v.enter_visit(_n_type)
6210 v.enter_visit(_n_cbra)
6211 v.enter_visit(_n_annotations)
6212 end
6213 end
6214 redef class ASelfExpr
6215 init init_aselfexpr (
6216 n_kwself: nullable TKwself,
6217 n_annotations: nullable AAnnotations
6218 )
6219 do
6220 _n_kwself = n_kwself.as(not null)
6221 n_kwself.parent = self
6222 _n_annotations = n_annotations
6223 if n_annotations != null then n_annotations.parent = self
6224 end
6225
6226 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6227 do
6228 if _n_kwself == old_child then
6229 n_kwself = new_child.as(TKwself)
6230 return
6231 end
6232 if _n_annotations == old_child then
6233 n_annotations = new_child.as(nullable AAnnotations)
6234 return
6235 end
6236 end
6237
6238 redef fun n_kwself=(node)
6239 do
6240 _n_kwself = node
6241 node.parent = self
6242 end
6243 redef fun n_annotations=(node)
6244 do
6245 _n_annotations = node
6246 if node != null then node.parent = self
6247 end
6248
6249
6250 redef fun visit_all(v: Visitor)
6251 do
6252 v.enter_visit(_n_kwself)
6253 v.enter_visit(_n_annotations)
6254 end
6255 end
6256 redef class AImplicitSelfExpr
6257 init init_aimplicitselfexpr
6258 do
6259 end
6260
6261 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6262 do
6263 end
6264
6265
6266
6267 redef fun visit_all(v: Visitor)
6268 do
6269 end
6270 end
6271 redef class ATrueExpr
6272 init init_atrueexpr (
6273 n_kwtrue: nullable TKwtrue,
6274 n_annotations: nullable AAnnotations
6275 )
6276 do
6277 _n_kwtrue = n_kwtrue.as(not null)
6278 n_kwtrue.parent = self
6279 _n_annotations = n_annotations
6280 if n_annotations != null then n_annotations.parent = self
6281 end
6282
6283 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6284 do
6285 if _n_kwtrue == old_child then
6286 n_kwtrue = new_child.as(TKwtrue)
6287 return
6288 end
6289 if _n_annotations == old_child then
6290 n_annotations = new_child.as(nullable AAnnotations)
6291 return
6292 end
6293 end
6294
6295 redef fun n_kwtrue=(node)
6296 do
6297 _n_kwtrue = node
6298 node.parent = self
6299 end
6300 redef fun n_annotations=(node)
6301 do
6302 _n_annotations = node
6303 if node != null then node.parent = self
6304 end
6305
6306
6307 redef fun visit_all(v: Visitor)
6308 do
6309 v.enter_visit(_n_kwtrue)
6310 v.enter_visit(_n_annotations)
6311 end
6312 end
6313 redef class AFalseExpr
6314 init init_afalseexpr (
6315 n_kwfalse: nullable TKwfalse,
6316 n_annotations: nullable AAnnotations
6317 )
6318 do
6319 _n_kwfalse = n_kwfalse.as(not null)
6320 n_kwfalse.parent = self
6321 _n_annotations = n_annotations
6322 if n_annotations != null then n_annotations.parent = self
6323 end
6324
6325 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6326 do
6327 if _n_kwfalse == old_child then
6328 n_kwfalse = new_child.as(TKwfalse)
6329 return
6330 end
6331 if _n_annotations == old_child then
6332 n_annotations = new_child.as(nullable AAnnotations)
6333 return
6334 end
6335 end
6336
6337 redef fun n_kwfalse=(node)
6338 do
6339 _n_kwfalse = node
6340 node.parent = self
6341 end
6342 redef fun n_annotations=(node)
6343 do
6344 _n_annotations = node
6345 if node != null then node.parent = self
6346 end
6347
6348
6349 redef fun visit_all(v: Visitor)
6350 do
6351 v.enter_visit(_n_kwfalse)
6352 v.enter_visit(_n_annotations)
6353 end
6354 end
6355 redef class ANullExpr
6356 init init_anullexpr (
6357 n_kwnull: nullable TKwnull,
6358 n_annotations: nullable AAnnotations
6359 )
6360 do
6361 _n_kwnull = n_kwnull.as(not null)
6362 n_kwnull.parent = self
6363 _n_annotations = n_annotations
6364 if n_annotations != null then n_annotations.parent = self
6365 end
6366
6367 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6368 do
6369 if _n_kwnull == old_child then
6370 n_kwnull = new_child.as(TKwnull)
6371 return
6372 end
6373 if _n_annotations == old_child then
6374 n_annotations = new_child.as(nullable AAnnotations)
6375 return
6376 end
6377 end
6378
6379 redef fun n_kwnull=(node)
6380 do
6381 _n_kwnull = node
6382 node.parent = self
6383 end
6384 redef fun n_annotations=(node)
6385 do
6386 _n_annotations = node
6387 if node != null then node.parent = self
6388 end
6389
6390
6391 redef fun visit_all(v: Visitor)
6392 do
6393 v.enter_visit(_n_kwnull)
6394 v.enter_visit(_n_annotations)
6395 end
6396 end
6397 redef class AIntegerExpr
6398 init init_aintegerexpr (
6399 n_integer: nullable TInteger,
6400 n_annotations: nullable AAnnotations
6401 )
6402 do
6403 _n_integer = n_integer.as(not null)
6404 n_integer.parent = self
6405 _n_annotations = n_annotations
6406 if n_annotations != null then n_annotations.parent = self
6407 end
6408
6409 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6410 do
6411 if _n_integer == old_child then
6412 n_integer = new_child.as(TInteger)
6413 return
6414 end
6415 if _n_annotations == old_child then
6416 n_annotations = new_child.as(nullable AAnnotations)
6417 return
6418 end
6419 end
6420
6421 redef fun n_integer=(node)
6422 do
6423 _n_integer = node
6424 node.parent = self
6425 end
6426 redef fun n_annotations=(node)
6427 do
6428 _n_annotations = node
6429 if node != null then node.parent = self
6430 end
6431
6432
6433 redef fun visit_all(v: Visitor)
6434 do
6435 v.enter_visit(_n_integer)
6436 v.enter_visit(_n_annotations)
6437 end
6438 end
6439 redef class AFloatExpr
6440 init init_afloatexpr (
6441 n_float: nullable TFloat,
6442 n_annotations: nullable AAnnotations
6443 )
6444 do
6445 _n_float = n_float.as(not null)
6446 n_float.parent = self
6447 _n_annotations = n_annotations
6448 if n_annotations != null then n_annotations.parent = self
6449 end
6450
6451 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6452 do
6453 if _n_float == old_child then
6454 n_float = new_child.as(TFloat)
6455 return
6456 end
6457 if _n_annotations == old_child then
6458 n_annotations = new_child.as(nullable AAnnotations)
6459 return
6460 end
6461 end
6462
6463 redef fun n_float=(node)
6464 do
6465 _n_float = node
6466 node.parent = self
6467 end
6468 redef fun n_annotations=(node)
6469 do
6470 _n_annotations = node
6471 if node != null then node.parent = self
6472 end
6473
6474
6475 redef fun visit_all(v: Visitor)
6476 do
6477 v.enter_visit(_n_float)
6478 v.enter_visit(_n_annotations)
6479 end
6480 end
6481 redef class ACharExpr
6482 init init_acharexpr (
6483 n_char: nullable TChar,
6484 n_annotations: nullable AAnnotations
6485 )
6486 do
6487 _n_char = n_char.as(not null)
6488 n_char.parent = self
6489 _n_annotations = n_annotations
6490 if n_annotations != null then n_annotations.parent = self
6491 end
6492
6493 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6494 do
6495 if _n_char == old_child then
6496 n_char = new_child.as(TChar)
6497 return
6498 end
6499 if _n_annotations == old_child then
6500 n_annotations = new_child.as(nullable AAnnotations)
6501 return
6502 end
6503 end
6504
6505 redef fun n_char=(node)
6506 do
6507 _n_char = node
6508 node.parent = self
6509 end
6510 redef fun n_annotations=(node)
6511 do
6512 _n_annotations = node
6513 if node != null then node.parent = self
6514 end
6515
6516
6517 redef fun visit_all(v: Visitor)
6518 do
6519 v.enter_visit(_n_char)
6520 v.enter_visit(_n_annotations)
6521 end
6522 end
6523 redef class AStringExpr
6524 init init_astringexpr (
6525 n_string: nullable TString,
6526 n_annotations: nullable AAnnotations
6527 )
6528 do
6529 _n_string = n_string.as(not null)
6530 n_string.parent = self
6531 _n_annotations = n_annotations
6532 if n_annotations != null then n_annotations.parent = self
6533 end
6534
6535 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6536 do
6537 if _n_string == old_child then
6538 n_string = new_child.as(TString)
6539 return
6540 end
6541 if _n_annotations == old_child then
6542 n_annotations = new_child.as(nullable AAnnotations)
6543 return
6544 end
6545 end
6546
6547 redef fun n_string=(node)
6548 do
6549 _n_string = node
6550 node.parent = self
6551 end
6552 redef fun n_annotations=(node)
6553 do
6554 _n_annotations = node
6555 if node != null then node.parent = self
6556 end
6557
6558
6559 redef fun visit_all(v: Visitor)
6560 do
6561 v.enter_visit(_n_string)
6562 v.enter_visit(_n_annotations)
6563 end
6564 end
6565 redef class AStartStringExpr
6566 init init_astartstringexpr (
6567 n_string: nullable TStartString
6568 )
6569 do
6570 _n_string = n_string.as(not null)
6571 n_string.parent = self
6572 end
6573
6574 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6575 do
6576 if _n_string == old_child then
6577 n_string = new_child.as(TStartString)
6578 return
6579 end
6580 end
6581
6582 redef fun n_string=(node)
6583 do
6584 _n_string = node
6585 node.parent = self
6586 end
6587
6588
6589 redef fun visit_all(v: Visitor)
6590 do
6591 v.enter_visit(_n_string)
6592 end
6593 end
6594 redef class AMidStringExpr
6595 init init_amidstringexpr (
6596 n_string: nullable TMidString
6597 )
6598 do
6599 _n_string = n_string.as(not null)
6600 n_string.parent = self
6601 end
6602
6603 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6604 do
6605 if _n_string == old_child then
6606 n_string = new_child.as(TMidString)
6607 return
6608 end
6609 end
6610
6611 redef fun n_string=(node)
6612 do
6613 _n_string = node
6614 node.parent = self
6615 end
6616
6617
6618 redef fun visit_all(v: Visitor)
6619 do
6620 v.enter_visit(_n_string)
6621 end
6622 end
6623 redef class AEndStringExpr
6624 init init_aendstringexpr (
6625 n_string: nullable TEndString
6626 )
6627 do
6628 _n_string = n_string.as(not null)
6629 n_string.parent = self
6630 end
6631
6632 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6633 do
6634 if _n_string == old_child then
6635 n_string = new_child.as(TEndString)
6636 return
6637 end
6638 end
6639
6640 redef fun n_string=(node)
6641 do
6642 _n_string = node
6643 node.parent = self
6644 end
6645
6646
6647 redef fun visit_all(v: Visitor)
6648 do
6649 v.enter_visit(_n_string)
6650 end
6651 end
6652 redef class ASuperstringExpr
6653 init init_asuperstringexpr (
6654 n_exprs: Collection[Object], # Should be Collection[AExpr]
6655 n_annotations: nullable AAnnotations
6656 )
6657 do
6658 self.n_exprs.unsafe_add_all(n_exprs)
6659 _n_annotations = n_annotations
6660 if n_annotations != null then n_annotations.parent = self
6661 end
6662
6663 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6664 do
6665 if n_exprs.replace_child(old_child, new_child) then return
6666 if _n_annotations == old_child then
6667 n_annotations = new_child.as(nullable AAnnotations)
6668 return
6669 end
6670 end
6671
6672 redef fun n_annotations=(node)
6673 do
6674 _n_annotations = node
6675 if node != null then node.parent = self
6676 end
6677
6678
6679 redef fun visit_all(v: Visitor)
6680 do
6681 n_exprs.visit_all(v)
6682 v.enter_visit(_n_annotations)
6683 end
6684 end
6685 redef class AParExpr
6686 init init_aparexpr (
6687 n_opar: nullable TOpar,
6688 n_expr: nullable AExpr,
6689 n_cpar: nullable TCpar,
6690 n_annotations: nullable AAnnotations
6691 )
6692 do
6693 _n_opar = n_opar.as(not null)
6694 n_opar.parent = self
6695 _n_expr = n_expr.as(not null)
6696 n_expr.parent = self
6697 _n_cpar = n_cpar.as(not null)
6698 n_cpar.parent = self
6699 _n_annotations = n_annotations
6700 if n_annotations != null then n_annotations.parent = self
6701 end
6702
6703 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6704 do
6705 if _n_opar == old_child then
6706 n_opar = new_child.as(TOpar)
6707 return
6708 end
6709 if _n_expr == old_child then
6710 n_expr = new_child.as(AExpr)
6711 return
6712 end
6713 if _n_cpar == old_child then
6714 n_cpar = new_child.as(TCpar)
6715 return
6716 end
6717 if _n_annotations == old_child then
6718 n_annotations = new_child.as(nullable AAnnotations)
6719 return
6720 end
6721 end
6722
6723 redef fun n_opar=(node)
6724 do
6725 _n_opar = node
6726 node.parent = self
6727 end
6728 redef fun n_expr=(node)
6729 do
6730 _n_expr = node
6731 node.parent = self
6732 end
6733 redef fun n_cpar=(node)
6734 do
6735 _n_cpar = node
6736 node.parent = self
6737 end
6738 redef fun n_annotations=(node)
6739 do
6740 _n_annotations = node
6741 if node != null then node.parent = self
6742 end
6743
6744
6745 redef fun visit_all(v: Visitor)
6746 do
6747 v.enter_visit(_n_opar)
6748 v.enter_visit(_n_expr)
6749 v.enter_visit(_n_cpar)
6750 v.enter_visit(_n_annotations)
6751 end
6752 end
6753 redef class AAsCastExpr
6754 init init_aascastexpr (
6755 n_expr: nullable AExpr,
6756 n_kwas: nullable TKwas,
6757 n_opar: nullable TOpar,
6758 n_type: nullable AType,
6759 n_cpar: nullable TCpar
6760 )
6761 do
6762 _n_expr = n_expr.as(not null)
6763 n_expr.parent = self
6764 _n_kwas = n_kwas.as(not null)
6765 n_kwas.parent = self
6766 _n_opar = n_opar
6767 if n_opar != null then n_opar.parent = self
6768 _n_type = n_type.as(not null)
6769 n_type.parent = self
6770 _n_cpar = n_cpar
6771 if n_cpar != null then n_cpar.parent = self
6772 end
6773
6774 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6775 do
6776 if _n_expr == old_child then
6777 n_expr = new_child.as(AExpr)
6778 return
6779 end
6780 if _n_kwas == old_child then
6781 n_kwas = new_child.as(TKwas)
6782 return
6783 end
6784 if _n_opar == old_child then
6785 n_opar = new_child.as(nullable TOpar)
6786 return
6787 end
6788 if _n_type == old_child then
6789 n_type = new_child.as(AType)
6790 return
6791 end
6792 if _n_cpar == old_child then
6793 n_cpar = new_child.as(nullable TCpar)
6794 return
6795 end
6796 end
6797
6798 redef fun n_expr=(node)
6799 do
6800 _n_expr = node
6801 node.parent = self
6802 end
6803 redef fun n_kwas=(node)
6804 do
6805 _n_kwas = node
6806 node.parent = self
6807 end
6808 redef fun n_opar=(node)
6809 do
6810 _n_opar = node
6811 if node != null then node.parent = self
6812 end
6813 redef fun n_type=(node)
6814 do
6815 _n_type = node
6816 node.parent = self
6817 end
6818 redef fun n_cpar=(node)
6819 do
6820 _n_cpar = node
6821 if node != null then node.parent = self
6822 end
6823
6824
6825 redef fun visit_all(v: Visitor)
6826 do
6827 v.enter_visit(_n_expr)
6828 v.enter_visit(_n_kwas)
6829 v.enter_visit(_n_opar)
6830 v.enter_visit(_n_type)
6831 v.enter_visit(_n_cpar)
6832 end
6833 end
6834 redef class AAsNotnullExpr
6835 init init_aasnotnullexpr (
6836 n_expr: nullable AExpr,
6837 n_kwas: nullable TKwas,
6838 n_opar: nullable TOpar,
6839 n_kwnot: nullable TKwnot,
6840 n_kwnull: nullable TKwnull,
6841 n_cpar: nullable TCpar
6842 )
6843 do
6844 _n_expr = n_expr.as(not null)
6845 n_expr.parent = self
6846 _n_kwas = n_kwas.as(not null)
6847 n_kwas.parent = self
6848 _n_opar = n_opar
6849 if n_opar != null then n_opar.parent = self
6850 _n_kwnot = n_kwnot.as(not null)
6851 n_kwnot.parent = self
6852 _n_kwnull = n_kwnull.as(not null)
6853 n_kwnull.parent = self
6854 _n_cpar = n_cpar
6855 if n_cpar != null then n_cpar.parent = self
6856 end
6857
6858 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6859 do
6860 if _n_expr == old_child then
6861 n_expr = new_child.as(AExpr)
6862 return
6863 end
6864 if _n_kwas == old_child then
6865 n_kwas = new_child.as(TKwas)
6866 return
6867 end
6868 if _n_opar == old_child then
6869 n_opar = new_child.as(nullable TOpar)
6870 return
6871 end
6872 if _n_kwnot == old_child then
6873 n_kwnot = new_child.as(TKwnot)
6874 return
6875 end
6876 if _n_kwnull == old_child then
6877 n_kwnull = new_child.as(TKwnull)
6878 return
6879 end
6880 if _n_cpar == old_child then
6881 n_cpar = new_child.as(nullable TCpar)
6882 return
6883 end
6884 end
6885
6886 redef fun n_expr=(node)
6887 do
6888 _n_expr = node
6889 node.parent = self
6890 end
6891 redef fun n_kwas=(node)
6892 do
6893 _n_kwas = node
6894 node.parent = self
6895 end
6896 redef fun n_opar=(node)
6897 do
6898 _n_opar = node
6899 if node != null then node.parent = self
6900 end
6901 redef fun n_kwnot=(node)
6902 do
6903 _n_kwnot = node
6904 node.parent = self
6905 end
6906 redef fun n_kwnull=(node)
6907 do
6908 _n_kwnull = node
6909 node.parent = self
6910 end
6911 redef fun n_cpar=(node)
6912 do
6913 _n_cpar = node
6914 if node != null then node.parent = self
6915 end
6916
6917
6918 redef fun visit_all(v: Visitor)
6919 do
6920 v.enter_visit(_n_expr)
6921 v.enter_visit(_n_kwas)
6922 v.enter_visit(_n_opar)
6923 v.enter_visit(_n_kwnot)
6924 v.enter_visit(_n_kwnull)
6925 v.enter_visit(_n_cpar)
6926 end
6927 end
6928 redef class AIssetAttrExpr
6929 init init_aissetattrexpr (
6930 n_kwisset: nullable TKwisset,
6931 n_expr: nullable AExpr,
6932 n_id: nullable TAttrid
6933 )
6934 do
6935 _n_kwisset = n_kwisset.as(not null)
6936 n_kwisset.parent = self
6937 _n_expr = n_expr.as(not null)
6938 n_expr.parent = self
6939 _n_id = n_id.as(not null)
6940 n_id.parent = self
6941 end
6942
6943 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
6944 do
6945 if _n_kwisset == old_child then
6946 n_kwisset = new_child.as(TKwisset)
6947 return
6948 end
6949 if _n_expr == old_child then
6950 n_expr = new_child.as(AExpr)
6951 return
6952 end
6953 if _n_id == old_child then
6954 n_id = new_child.as(TAttrid)
6955 return
6956 end
6957 end
6958
6959 redef fun n_kwisset=(node)
6960 do
6961 _n_kwisset = node
6962 node.parent = self
6963 end
6964 redef fun n_expr=(node)
6965 do
6966 _n_expr = node
6967 node.parent = self
6968 end
6969 redef fun n_id=(node)
6970 do
6971 _n_id = node
6972 node.parent = self
6973 end
6974
6975
6976 redef fun visit_all(v: Visitor)
6977 do
6978 v.enter_visit(_n_kwisset)
6979 v.enter_visit(_n_expr)
6980 v.enter_visit(_n_id)
6981 end
6982 end
6983 redef class ADebugTypeExpr
6984 init init_adebugtypeexpr (
6985 n_kwdebug: nullable TKwdebug,
6986 n_kwtype: nullable TKwtype,
6987 n_expr: nullable AExpr,
6988 n_type: nullable AType
6989 )
6990 do
6991 _n_kwdebug = n_kwdebug.as(not null)
6992 n_kwdebug.parent = self
6993 _n_kwtype = n_kwtype.as(not null)
6994 n_kwtype.parent = self
6995 _n_expr = n_expr.as(not null)
6996 n_expr.parent = self
6997 _n_type = n_type.as(not null)
6998 n_type.parent = self
6999 end
7000
7001 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7002 do
7003 if _n_kwdebug == old_child then
7004 n_kwdebug = new_child.as(TKwdebug)
7005 return
7006 end
7007 if _n_kwtype == old_child then
7008 n_kwtype = new_child.as(TKwtype)
7009 return
7010 end
7011 if _n_expr == old_child then
7012 n_expr = new_child.as(AExpr)
7013 return
7014 end
7015 if _n_type == old_child then
7016 n_type = new_child.as(AType)
7017 return
7018 end
7019 end
7020
7021 redef fun n_kwdebug=(node)
7022 do
7023 _n_kwdebug = node
7024 node.parent = self
7025 end
7026 redef fun n_kwtype=(node)
7027 do
7028 _n_kwtype = node
7029 node.parent = self
7030 end
7031 redef fun n_expr=(node)
7032 do
7033 _n_expr = node
7034 node.parent = self
7035 end
7036 redef fun n_type=(node)
7037 do
7038 _n_type = node
7039 node.parent = self
7040 end
7041
7042
7043 redef fun visit_all(v: Visitor)
7044 do
7045 v.enter_visit(_n_kwdebug)
7046 v.enter_visit(_n_kwtype)
7047 v.enter_visit(_n_expr)
7048 v.enter_visit(_n_type)
7049 end
7050 end
7051 redef class AVarargExpr
7052 init init_avarargexpr (
7053 n_expr: nullable AExpr,
7054 n_dotdotdot: nullable TDotdotdot
7055 )
7056 do
7057 _n_expr = n_expr.as(not null)
7058 n_expr.parent = self
7059 _n_dotdotdot = n_dotdotdot.as(not null)
7060 n_dotdotdot.parent = self
7061 end
7062
7063 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7064 do
7065 if _n_expr == old_child then
7066 n_expr = new_child.as(AExpr)
7067 return
7068 end
7069 if _n_dotdotdot == old_child then
7070 n_dotdotdot = new_child.as(TDotdotdot)
7071 return
7072 end
7073 end
7074
7075 redef fun n_expr=(node)
7076 do
7077 _n_expr = node
7078 node.parent = self
7079 end
7080 redef fun n_dotdotdot=(node)
7081 do
7082 _n_dotdotdot = node
7083 node.parent = self
7084 end
7085
7086
7087 redef fun visit_all(v: Visitor)
7088 do
7089 v.enter_visit(_n_expr)
7090 v.enter_visit(_n_dotdotdot)
7091 end
7092 end
7093 redef class ANamedargExpr
7094 init init_anamedargexpr (
7095 n_id: nullable TId,
7096 n_assign: nullable TAssign,
7097 n_expr: nullable AExpr
7098 )
7099 do
7100 _n_id = n_id.as(not null)
7101 n_id.parent = self
7102 _n_assign = n_assign.as(not null)
7103 n_assign.parent = self
7104 _n_expr = n_expr.as(not null)
7105 n_expr.parent = self
7106 end
7107
7108 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7109 do
7110 if _n_id == old_child then
7111 n_id = new_child.as(TId)
7112 return
7113 end
7114 if _n_assign == old_child then
7115 n_assign = new_child.as(TAssign)
7116 return
7117 end
7118 if _n_expr == old_child then
7119 n_expr = new_child.as(AExpr)
7120 return
7121 end
7122 end
7123
7124 redef fun n_id=(node)
7125 do
7126 _n_id = node
7127 node.parent = self
7128 end
7129 redef fun n_assign=(node)
7130 do
7131 _n_assign = node
7132 node.parent = self
7133 end
7134 redef fun n_expr=(node)
7135 do
7136 _n_expr = node
7137 node.parent = self
7138 end
7139
7140
7141 redef fun visit_all(v: Visitor)
7142 do
7143 v.enter_visit(_n_id)
7144 v.enter_visit(_n_assign)
7145 v.enter_visit(_n_expr)
7146 end
7147 end
7148 redef class ATypeExpr
7149 init init_atypeexpr (
7150 n_type: nullable AType
7151 )
7152 do
7153 _n_type = n_type.as(not null)
7154 n_type.parent = self
7155 end
7156
7157 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7158 do
7159 if _n_type == old_child then
7160 n_type = new_child.as(AType)
7161 return
7162 end
7163 end
7164
7165 redef fun n_type=(node)
7166 do
7167 _n_type = node
7168 node.parent = self
7169 end
7170
7171
7172 redef fun visit_all(v: Visitor)
7173 do
7174 v.enter_visit(_n_type)
7175 end
7176 end
7177 redef class AMethidExpr
7178 init init_amethidexpr (
7179 n_expr: nullable AExpr,
7180 n_id: nullable AMethid
7181 )
7182 do
7183 _n_expr = n_expr.as(not null)
7184 n_expr.parent = self
7185 _n_id = n_id.as(not null)
7186 n_id.parent = self
7187 end
7188
7189 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7190 do
7191 if _n_expr == old_child then
7192 n_expr = new_child.as(AExpr)
7193 return
7194 end
7195 if _n_id == old_child then
7196 n_id = new_child.as(AMethid)
7197 return
7198 end
7199 end
7200
7201 redef fun n_expr=(node)
7202 do
7203 _n_expr = node
7204 node.parent = self
7205 end
7206 redef fun n_id=(node)
7207 do
7208 _n_id = node
7209 node.parent = self
7210 end
7211
7212
7213 redef fun visit_all(v: Visitor)
7214 do
7215 v.enter_visit(_n_expr)
7216 v.enter_visit(_n_id)
7217 end
7218 end
7219 redef class AAtExpr
7220 init init_aatexpr (
7221 n_annotations: nullable AAnnotations
7222 )
7223 do
7224 _n_annotations = n_annotations.as(not null)
7225 n_annotations.parent = self
7226 end
7227
7228 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7229 do
7230 if _n_annotations == old_child then
7231 n_annotations = new_child.as(AAnnotations)
7232 return
7233 end
7234 end
7235
7236 redef fun n_annotations=(node)
7237 do
7238 _n_annotations = node
7239 node.parent = self
7240 end
7241
7242
7243 redef fun visit_all(v: Visitor)
7244 do
7245 v.enter_visit(_n_annotations)
7246 end
7247 end
7248 redef class AManyExpr
7249 init init_amanyexpr (
7250 n_exprs: Collection[Object] # Should be Collection[AExpr]
7251 )
7252 do
7253 self.n_exprs.unsafe_add_all(n_exprs)
7254 end
7255
7256 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7257 do
7258 if n_exprs.replace_child(old_child, new_child) then return
7259 end
7260
7261
7262
7263 redef fun visit_all(v: Visitor)
7264 do
7265 n_exprs.visit_all(v)
7266 end
7267 end
7268 redef class AListExprs
7269 init init_alistexprs (
7270 n_exprs: Collection[Object] # Should be Collection[AExpr]
7271 )
7272 do
7273 self.n_exprs.unsafe_add_all(n_exprs)
7274 end
7275
7276 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7277 do
7278 if n_exprs.replace_child(old_child, new_child) then return
7279 end
7280
7281
7282
7283 redef fun visit_all(v: Visitor)
7284 do
7285 n_exprs.visit_all(v)
7286 end
7287 end
7288 redef class AParExprs
7289 init init_aparexprs (
7290 n_opar: nullable TOpar,
7291 n_exprs: Collection[Object], # Should be Collection[AExpr]
7292 n_cpar: nullable TCpar
7293 )
7294 do
7295 _n_opar = n_opar.as(not null)
7296 n_opar.parent = self
7297 self.n_exprs.unsafe_add_all(n_exprs)
7298 _n_cpar = n_cpar.as(not null)
7299 n_cpar.parent = self
7300 end
7301
7302 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7303 do
7304 if _n_opar == old_child then
7305 n_opar = new_child.as(TOpar)
7306 return
7307 end
7308 if n_exprs.replace_child(old_child, new_child) then return
7309 if _n_cpar == old_child then
7310 n_cpar = new_child.as(TCpar)
7311 return
7312 end
7313 end
7314
7315 redef fun n_opar=(node)
7316 do
7317 _n_opar = node
7318 node.parent = self
7319 end
7320 redef fun n_cpar=(node)
7321 do
7322 _n_cpar = node
7323 node.parent = self
7324 end
7325
7326
7327 redef fun visit_all(v: Visitor)
7328 do
7329 v.enter_visit(_n_opar)
7330 n_exprs.visit_all(v)
7331 v.enter_visit(_n_cpar)
7332 end
7333 end
7334 redef class ABraExprs
7335 init init_abraexprs (
7336 n_obra: nullable TObra,
7337 n_exprs: Collection[Object], # Should be Collection[AExpr]
7338 n_cbra: nullable TCbra
7339 )
7340 do
7341 _n_obra = n_obra.as(not null)
7342 n_obra.parent = self
7343 self.n_exprs.unsafe_add_all(n_exprs)
7344 _n_cbra = n_cbra.as(not null)
7345 n_cbra.parent = self
7346 end
7347
7348 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7349 do
7350 if _n_obra == old_child then
7351 n_obra = new_child.as(TObra)
7352 return
7353 end
7354 if n_exprs.replace_child(old_child, new_child) then return
7355 if _n_cbra == old_child then
7356 n_cbra = new_child.as(TCbra)
7357 return
7358 end
7359 end
7360
7361 redef fun n_obra=(node)
7362 do
7363 _n_obra = node
7364 node.parent = self
7365 end
7366 redef fun n_cbra=(node)
7367 do
7368 _n_cbra = node
7369 node.parent = self
7370 end
7371
7372
7373 redef fun visit_all(v: Visitor)
7374 do
7375 v.enter_visit(_n_obra)
7376 n_exprs.visit_all(v)
7377 v.enter_visit(_n_cbra)
7378 end
7379 end
7380 redef class APlusAssignOp
7381 init init_aplusassignop (
7382 n_op: nullable TPluseq
7383 )
7384 do
7385 _n_op = n_op.as(not null)
7386 n_op.parent = self
7387 end
7388
7389 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7390 do
7391 if _n_op == old_child then
7392 n_op = new_child.as(TPluseq)
7393 return
7394 end
7395 end
7396
7397 redef fun n_op=(node)
7398 do
7399 _n_op = node
7400 node.parent = self
7401 end
7402
7403
7404 redef fun visit_all(v: Visitor)
7405 do
7406 v.enter_visit(_n_op)
7407 end
7408 end
7409 redef class AMinusAssignOp
7410 init init_aminusassignop (
7411 n_op: nullable TMinuseq
7412 )
7413 do
7414 _n_op = n_op.as(not null)
7415 n_op.parent = self
7416 end
7417
7418 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7419 do
7420 if _n_op == old_child then
7421 n_op = new_child.as(TMinuseq)
7422 return
7423 end
7424 end
7425
7426 redef fun n_op=(node)
7427 do
7428 _n_op = node
7429 node.parent = self
7430 end
7431
7432
7433 redef fun visit_all(v: Visitor)
7434 do
7435 v.enter_visit(_n_op)
7436 end
7437 end
7438 redef class AStarAssignOp
7439 init init_astarassignop (
7440 n_op: nullable TStareq
7441 )
7442 do
7443 _n_op = n_op.as(not null)
7444 n_op.parent = self
7445 end
7446
7447 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7448 do
7449 if _n_op == old_child then
7450 n_op = new_child.as(TStareq)
7451 return
7452 end
7453 end
7454
7455 redef fun n_op=(node)
7456 do
7457 _n_op = node
7458 node.parent = self
7459 end
7460
7461
7462 redef fun visit_all(v: Visitor)
7463 do
7464 v.enter_visit(_n_op)
7465 end
7466 end
7467 redef class ASlashAssignOp
7468 init init_aslashassignop (
7469 n_op: nullable TSlasheq
7470 )
7471 do
7472 _n_op = n_op.as(not null)
7473 n_op.parent = self
7474 end
7475
7476 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7477 do
7478 if _n_op == old_child then
7479 n_op = new_child.as(TSlasheq)
7480 return
7481 end
7482 end
7483
7484 redef fun n_op=(node)
7485 do
7486 _n_op = node
7487 node.parent = self
7488 end
7489
7490
7491 redef fun visit_all(v: Visitor)
7492 do
7493 v.enter_visit(_n_op)
7494 end
7495 end
7496 redef class APercentAssignOp
7497 init init_apercentassignop (
7498 n_op: nullable TPercenteq
7499 )
7500 do
7501 _n_op = n_op.as(not null)
7502 n_op.parent = self
7503 end
7504
7505 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7506 do
7507 if _n_op == old_child then
7508 n_op = new_child.as(TPercenteq)
7509 return
7510 end
7511 end
7512
7513 redef fun n_op=(node)
7514 do
7515 _n_op = node
7516 node.parent = self
7517 end
7518
7519
7520 redef fun visit_all(v: Visitor)
7521 do
7522 v.enter_visit(_n_op)
7523 end
7524 end
7525 redef class AStarstarAssignOp
7526 init init_astarstarassignop (
7527 n_op: nullable TStarstareq
7528 )
7529 do
7530 _n_op = n_op.as(not null)
7531 n_op.parent = self
7532 end
7533
7534 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7535 do
7536 if _n_op == old_child then
7537 n_op = new_child.as(TStarstareq)
7538 return
7539 end
7540 end
7541
7542 redef fun n_op=(node)
7543 do
7544 _n_op = node
7545 node.parent = self
7546 end
7547
7548
7549 redef fun visit_all(v: Visitor)
7550 do
7551 v.enter_visit(_n_op)
7552 end
7553 end
7554 redef class APipeAssignOp
7555 init init_apipeassignop (
7556 n_op: nullable TPipeeq
7557 )
7558 do
7559 _n_op = n_op.as(not null)
7560 n_op.parent = self
7561 end
7562
7563 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7564 do
7565 if _n_op == old_child then
7566 n_op = new_child.as(TPipeeq)
7567 return
7568 end
7569 end
7570
7571 redef fun n_op=(node)
7572 do
7573 _n_op = node
7574 node.parent = self
7575 end
7576
7577
7578 redef fun visit_all(v: Visitor)
7579 do
7580 v.enter_visit(_n_op)
7581 end
7582 end
7583 redef class ACaretAssignOp
7584 init init_acaretassignop (
7585 n_op: nullable TCareteq
7586 )
7587 do
7588 _n_op = n_op.as(not null)
7589 n_op.parent = self
7590 end
7591
7592 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7593 do
7594 if _n_op == old_child then
7595 n_op = new_child.as(TCareteq)
7596 return
7597 end
7598 end
7599
7600 redef fun n_op=(node)
7601 do
7602 _n_op = node
7603 node.parent = self
7604 end
7605
7606
7607 redef fun visit_all(v: Visitor)
7608 do
7609 v.enter_visit(_n_op)
7610 end
7611 end
7612 redef class AAmpAssignOp
7613 init init_aampassignop (
7614 n_op: nullable TAmpeq
7615 )
7616 do
7617 _n_op = n_op.as(not null)
7618 n_op.parent = self
7619 end
7620
7621 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7622 do
7623 if _n_op == old_child then
7624 n_op = new_child.as(TAmpeq)
7625 return
7626 end
7627 end
7628
7629 redef fun n_op=(node)
7630 do
7631 _n_op = node
7632 node.parent = self
7633 end
7634
7635
7636 redef fun visit_all(v: Visitor)
7637 do
7638 v.enter_visit(_n_op)
7639 end
7640 end
7641 redef class ALlAssignOp
7642 init init_allassignop (
7643 n_op: nullable TLleq
7644 )
7645 do
7646 _n_op = n_op.as(not null)
7647 n_op.parent = self
7648 end
7649
7650 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7651 do
7652 if _n_op == old_child then
7653 n_op = new_child.as(TLleq)
7654 return
7655 end
7656 end
7657
7658 redef fun n_op=(node)
7659 do
7660 _n_op = node
7661 node.parent = self
7662 end
7663
7664
7665 redef fun visit_all(v: Visitor)
7666 do
7667 v.enter_visit(_n_op)
7668 end
7669 end
7670 redef class AGgAssignOp
7671 init init_aggassignop (
7672 n_op: nullable TGgeq
7673 )
7674 do
7675 _n_op = n_op.as(not null)
7676 n_op.parent = self
7677 end
7678
7679 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7680 do
7681 if _n_op == old_child then
7682 n_op = new_child.as(TGgeq)
7683 return
7684 end
7685 end
7686
7687 redef fun n_op=(node)
7688 do
7689 _n_op = node
7690 node.parent = self
7691 end
7692
7693
7694 redef fun visit_all(v: Visitor)
7695 do
7696 v.enter_visit(_n_op)
7697 end
7698 end
7699 redef class AModuleName
7700 init init_amodulename (
7701 n_quad: nullable TQuad,
7702 n_path: Collection[Object], # Should be Collection[TId]
7703 n_id: nullable TId
7704 )
7705 do
7706 _n_quad = n_quad
7707 if n_quad != null then n_quad.parent = self
7708 self.n_path.unsafe_add_all(n_path)
7709 _n_id = n_id.as(not null)
7710 n_id.parent = self
7711 end
7712
7713 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7714 do
7715 if _n_quad == old_child then
7716 n_quad = new_child.as(nullable TQuad)
7717 return
7718 end
7719 if n_path.replace_child(old_child, new_child) then return
7720 if _n_id == old_child then
7721 n_id = new_child.as(TId)
7722 return
7723 end
7724 end
7725
7726 redef fun n_quad=(node)
7727 do
7728 _n_quad = node
7729 if node != null then node.parent = self
7730 end
7731 redef fun n_id=(node)
7732 do
7733 _n_id = node
7734 node.parent = self
7735 end
7736
7737
7738 redef fun visit_all(v: Visitor)
7739 do
7740 v.enter_visit(_n_quad)
7741 n_path.visit_all(v)
7742 v.enter_visit(_n_id)
7743 end
7744 end
7745 redef class AExternCalls
7746 init init_aexterncalls (
7747 n_kwimport: nullable TKwimport,
7748 n_extern_calls: Collection[Object] # Should be Collection[AExternCall]
7749 )
7750 do
7751 _n_kwimport = n_kwimport.as(not null)
7752 n_kwimport.parent = self
7753 self.n_extern_calls.unsafe_add_all(n_extern_calls)
7754 end
7755
7756 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7757 do
7758 if _n_kwimport == old_child then
7759 n_kwimport = new_child.as(TKwimport)
7760 return
7761 end
7762 if n_extern_calls.replace_child(old_child, new_child) then return
7763 end
7764
7765 redef fun n_kwimport=(node)
7766 do
7767 _n_kwimport = node
7768 node.parent = self
7769 end
7770
7771
7772 redef fun visit_all(v: Visitor)
7773 do
7774 v.enter_visit(_n_kwimport)
7775 n_extern_calls.visit_all(v)
7776 end
7777 end
7778 redef class AExternCall
7779 init init_aexterncall
7780 do
7781 end
7782
7783 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7784 do
7785 end
7786
7787
7788
7789 redef fun visit_all(v: Visitor)
7790 do
7791 end
7792 end
7793 redef class ASuperExternCall
7794 init init_asuperexterncall (
7795 n_kwsuper: nullable TKwsuper
7796 )
7797 do
7798 _n_kwsuper = n_kwsuper.as(not null)
7799 n_kwsuper.parent = self
7800 end
7801
7802 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7803 do
7804 if _n_kwsuper == old_child then
7805 n_kwsuper = new_child.as(TKwsuper)
7806 return
7807 end
7808 end
7809
7810 redef fun n_kwsuper=(node)
7811 do
7812 _n_kwsuper = node
7813 node.parent = self
7814 end
7815
7816
7817 redef fun visit_all(v: Visitor)
7818 do
7819 v.enter_visit(_n_kwsuper)
7820 end
7821 end
7822 redef class ALocalPropExternCall
7823 init init_alocalpropexterncall (
7824 n_methid: nullable AMethid
7825 )
7826 do
7827 _n_methid = n_methid.as(not null)
7828 n_methid.parent = self
7829 end
7830
7831 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7832 do
7833 if _n_methid == old_child then
7834 n_methid = new_child.as(AMethid)
7835 return
7836 end
7837 end
7838
7839 redef fun n_methid=(node)
7840 do
7841 _n_methid = node
7842 node.parent = self
7843 end
7844
7845
7846 redef fun visit_all(v: Visitor)
7847 do
7848 v.enter_visit(_n_methid)
7849 end
7850 end
7851 redef class AFullPropExternCall
7852 init init_afullpropexterncall (
7853 n_type: nullable AType,
7854 n_dot: nullable TDot,
7855 n_methid: nullable AMethid
7856 )
7857 do
7858 _n_type = n_type.as(not null)
7859 n_type.parent = self
7860 _n_dot = n_dot
7861 if n_dot != null then n_dot.parent = self
7862 _n_methid = n_methid.as(not null)
7863 n_methid.parent = self
7864 end
7865
7866 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7867 do
7868 if _n_type == old_child then
7869 n_type = new_child.as(AType)
7870 return
7871 end
7872 if _n_dot == old_child then
7873 n_dot = new_child.as(nullable TDot)
7874 return
7875 end
7876 if _n_methid == old_child then
7877 n_methid = new_child.as(AMethid)
7878 return
7879 end
7880 end
7881
7882 redef fun n_type=(node)
7883 do
7884 _n_type = node
7885 node.parent = self
7886 end
7887 redef fun n_dot=(node)
7888 do
7889 _n_dot = node
7890 if node != null then node.parent = self
7891 end
7892 redef fun n_methid=(node)
7893 do
7894 _n_methid = node
7895 node.parent = self
7896 end
7897
7898
7899 redef fun visit_all(v: Visitor)
7900 do
7901 v.enter_visit(_n_type)
7902 v.enter_visit(_n_dot)
7903 v.enter_visit(_n_methid)
7904 end
7905 end
7906 redef class AInitPropExternCall
7907 init init_ainitpropexterncall (
7908 n_type: nullable AType
7909 )
7910 do
7911 _n_type = n_type.as(not null)
7912 n_type.parent = self
7913 end
7914
7915 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7916 do
7917 if _n_type == old_child then
7918 n_type = new_child.as(AType)
7919 return
7920 end
7921 end
7922
7923 redef fun n_type=(node)
7924 do
7925 _n_type = node
7926 node.parent = self
7927 end
7928
7929
7930 redef fun visit_all(v: Visitor)
7931 do
7932 v.enter_visit(_n_type)
7933 end
7934 end
7935 redef class ACastAsExternCall
7936 init init_acastasexterncall (
7937 n_from_type: nullable AType,
7938 n_dot: nullable TDot,
7939 n_kwas: nullable TKwas,
7940 n_to_type: nullable AType
7941 )
7942 do
7943 _n_from_type = n_from_type.as(not null)
7944 n_from_type.parent = self
7945 _n_dot = n_dot
7946 if n_dot != null then n_dot.parent = self
7947 _n_kwas = n_kwas.as(not null)
7948 n_kwas.parent = self
7949 _n_to_type = n_to_type.as(not null)
7950 n_to_type.parent = self
7951 end
7952
7953 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
7954 do
7955 if _n_from_type == old_child then
7956 n_from_type = new_child.as(AType)
7957 return
7958 end
7959 if _n_dot == old_child then
7960 n_dot = new_child.as(nullable TDot)
7961 return
7962 end
7963 if _n_kwas == old_child then
7964 n_kwas = new_child.as(TKwas)
7965 return
7966 end
7967 if _n_to_type == old_child then
7968 n_to_type = new_child.as(AType)
7969 return
7970 end
7971 end
7972
7973 redef fun n_from_type=(node)
7974 do
7975 _n_from_type = node
7976 node.parent = self
7977 end
7978 redef fun n_dot=(node)
7979 do
7980 _n_dot = node
7981 if node != null then node.parent = self
7982 end
7983 redef fun n_kwas=(node)
7984 do
7985 _n_kwas = node
7986 node.parent = self
7987 end
7988 redef fun n_to_type=(node)
7989 do
7990 _n_to_type = node
7991 node.parent = self
7992 end
7993
7994
7995 redef fun visit_all(v: Visitor)
7996 do
7997 v.enter_visit(_n_from_type)
7998 v.enter_visit(_n_dot)
7999 v.enter_visit(_n_kwas)
8000 v.enter_visit(_n_to_type)
8001 end
8002 end
8003 redef class AAsNullableExternCall
8004 init init_aasnullableexterncall (
8005 n_type: nullable AType,
8006 n_kwas: nullable TKwas,
8007 n_kwnullable: nullable TKwnullable
8008 )
8009 do
8010 _n_type = n_type.as(not null)
8011 n_type.parent = self
8012 _n_kwas = n_kwas.as(not null)
8013 n_kwas.parent = self
8014 _n_kwnullable = n_kwnullable.as(not null)
8015 n_kwnullable.parent = self
8016 end
8017
8018 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8019 do
8020 if _n_type == old_child then
8021 n_type = new_child.as(AType)
8022 return
8023 end
8024 if _n_kwas == old_child then
8025 n_kwas = new_child.as(TKwas)
8026 return
8027 end
8028 if _n_kwnullable == old_child then
8029 n_kwnullable = new_child.as(TKwnullable)
8030 return
8031 end
8032 end
8033
8034 redef fun n_type=(node)
8035 do
8036 _n_type = node
8037 node.parent = self
8038 end
8039 redef fun n_kwas=(node)
8040 do
8041 _n_kwas = node
8042 node.parent = self
8043 end
8044 redef fun n_kwnullable=(node)
8045 do
8046 _n_kwnullable = node
8047 node.parent = self
8048 end
8049
8050
8051 redef fun visit_all(v: Visitor)
8052 do
8053 v.enter_visit(_n_type)
8054 v.enter_visit(_n_kwas)
8055 v.enter_visit(_n_kwnullable)
8056 end
8057 end
8058 redef class AAsNotNullableExternCall
8059 init init_aasnotnullableexterncall (
8060 n_type: nullable AType,
8061 n_kwas: nullable TKwas,
8062 n_kwnot: nullable TKwnot,
8063 n_kwnullable: nullable TKwnullable
8064 )
8065 do
8066 _n_type = n_type.as(not null)
8067 n_type.parent = self
8068 _n_kwas = n_kwas.as(not null)
8069 n_kwas.parent = self
8070 _n_kwnot = n_kwnot.as(not null)
8071 n_kwnot.parent = self
8072 _n_kwnullable = n_kwnullable.as(not null)
8073 n_kwnullable.parent = self
8074 end
8075
8076 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8077 do
8078 if _n_type == old_child then
8079 n_type = new_child.as(AType)
8080 return
8081 end
8082 if _n_kwas == old_child then
8083 n_kwas = new_child.as(TKwas)
8084 return
8085 end
8086 if _n_kwnot == old_child then
8087 n_kwnot = new_child.as(TKwnot)
8088 return
8089 end
8090 if _n_kwnullable == old_child then
8091 n_kwnullable = new_child.as(TKwnullable)
8092 return
8093 end
8094 end
8095
8096 redef fun n_type=(node)
8097 do
8098 _n_type = node
8099 node.parent = self
8100 end
8101 redef fun n_kwas=(node)
8102 do
8103 _n_kwas = node
8104 node.parent = self
8105 end
8106 redef fun n_kwnot=(node)
8107 do
8108 _n_kwnot = node
8109 node.parent = self
8110 end
8111 redef fun n_kwnullable=(node)
8112 do
8113 _n_kwnullable = node
8114 node.parent = self
8115 end
8116
8117
8118 redef fun visit_all(v: Visitor)
8119 do
8120 v.enter_visit(_n_type)
8121 v.enter_visit(_n_kwas)
8122 v.enter_visit(_n_kwnot)
8123 v.enter_visit(_n_kwnullable)
8124 end
8125 end
8126 redef class AInLanguage
8127 init init_ainlanguage (
8128 n_kwin: nullable TKwin,
8129 n_string: nullable TString
8130 )
8131 do
8132 _n_kwin = n_kwin.as(not null)
8133 n_kwin.parent = self
8134 _n_string = n_string.as(not null)
8135 n_string.parent = self
8136 end
8137
8138 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8139 do
8140 if _n_kwin == old_child then
8141 n_kwin = new_child.as(TKwin)
8142 return
8143 end
8144 if _n_string == old_child then
8145 n_string = new_child.as(TString)
8146 return
8147 end
8148 end
8149
8150 redef fun n_kwin=(node)
8151 do
8152 _n_kwin = node
8153 node.parent = self
8154 end
8155 redef fun n_string=(node)
8156 do
8157 _n_string = node
8158 node.parent = self
8159 end
8160
8161
8162 redef fun visit_all(v: Visitor)
8163 do
8164 v.enter_visit(_n_kwin)
8165 v.enter_visit(_n_string)
8166 end
8167 end
8168 redef class AExternCodeBlock
8169 init init_aexterncodeblock (
8170 n_in_language: nullable AInLanguage,
8171 n_extern_code_segment: nullable TExternCodeSegment
8172 )
8173 do
8174 _n_in_language = n_in_language
8175 if n_in_language != null then n_in_language.parent = self
8176 _n_extern_code_segment = n_extern_code_segment.as(not null)
8177 n_extern_code_segment.parent = self
8178 end
8179
8180 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8181 do
8182 if _n_in_language == old_child then
8183 n_in_language = new_child.as(nullable AInLanguage)
8184 return
8185 end
8186 if _n_extern_code_segment == old_child then
8187 n_extern_code_segment = new_child.as(TExternCodeSegment)
8188 return
8189 end
8190 end
8191
8192 redef fun n_in_language=(node)
8193 do
8194 _n_in_language = node
8195 if node != null then node.parent = self
8196 end
8197 redef fun n_extern_code_segment=(node)
8198 do
8199 _n_extern_code_segment = node
8200 node.parent = self
8201 end
8202
8203
8204 redef fun visit_all(v: Visitor)
8205 do
8206 v.enter_visit(_n_in_language)
8207 v.enter_visit(_n_extern_code_segment)
8208 end
8209 end
8210 redef class AQualified
8211 init init_aqualified (
8212 n_id: Collection[Object], # Should be Collection[TId]
8213 n_classid: nullable TClassid
8214 )
8215 do
8216 self.n_id.unsafe_add_all(n_id)
8217 _n_classid = n_classid
8218 if n_classid != null then n_classid.parent = self
8219 end
8220
8221 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8222 do
8223 if n_id.replace_child(old_child, new_child) then return
8224 if _n_classid == old_child then
8225 n_classid = new_child.as(nullable TClassid)
8226 return
8227 end
8228 end
8229
8230 redef fun n_classid=(node)
8231 do
8232 _n_classid = node
8233 if node != null then node.parent = self
8234 end
8235
8236
8237 redef fun visit_all(v: Visitor)
8238 do
8239 n_id.visit_all(v)
8240 v.enter_visit(_n_classid)
8241 end
8242 end
8243 redef class ADoc
8244 init init_adoc (
8245 n_comment: Collection[Object] # Should be Collection[TComment]
8246 )
8247 do
8248 self.n_comment.unsafe_add_all(n_comment)
8249 end
8250
8251 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8252 do
8253 if n_comment.replace_child(old_child, new_child) then return
8254 end
8255
8256
8257
8258 redef fun visit_all(v: Visitor)
8259 do
8260 n_comment.visit_all(v)
8261 end
8262 end
8263 redef class AAnnotations
8264 init init_aannotations (
8265 n_kwis: nullable TKwis,
8266 n_at: nullable TAt,
8267 n_opar: nullable TOpar,
8268 n_items: Collection[Object], # Should be Collection[AAnnotation]
8269 n_cpar: nullable TCpar,
8270 n_kwend: nullable TKwend
8271 )
8272 do
8273 _n_kwis = n_kwis
8274 if n_kwis != null then n_kwis.parent = self
8275 _n_at = n_at
8276 if n_at != null then n_at.parent = self
8277 _n_opar = n_opar
8278 if n_opar != null then n_opar.parent = self
8279 self.n_items.unsafe_add_all(n_items)
8280 _n_cpar = n_cpar
8281 if n_cpar != null then n_cpar.parent = self
8282 _n_kwend = n_kwend
8283 if n_kwend != null then n_kwend.parent = self
8284 end
8285
8286 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8287 do
8288 if _n_kwis == old_child then
8289 n_kwis = new_child.as(nullable TKwis)
8290 return
8291 end
8292 if _n_at == old_child then
8293 n_at = new_child.as(nullable TAt)
8294 return
8295 end
8296 if _n_opar == old_child then
8297 n_opar = new_child.as(nullable TOpar)
8298 return
8299 end
8300 if n_items.replace_child(old_child, new_child) then return
8301 if _n_cpar == old_child then
8302 n_cpar = new_child.as(nullable TCpar)
8303 return
8304 end
8305 if _n_kwend == old_child then
8306 n_kwend = new_child.as(nullable TKwend)
8307 return
8308 end
8309 end
8310
8311 redef fun n_kwis=(node)
8312 do
8313 _n_kwis = node
8314 if node != null then node.parent = self
8315 end
8316 redef fun n_at=(node)
8317 do
8318 _n_at = node
8319 if node != null then node.parent = self
8320 end
8321 redef fun n_opar=(node)
8322 do
8323 _n_opar = node
8324 if node != null then node.parent = self
8325 end
8326 redef fun n_cpar=(node)
8327 do
8328 _n_cpar = node
8329 if node != null then node.parent = self
8330 end
8331 redef fun n_kwend=(node)
8332 do
8333 _n_kwend = node
8334 if node != null then node.parent = self
8335 end
8336
8337
8338 redef fun visit_all(v: Visitor)
8339 do
8340 v.enter_visit(_n_kwis)
8341 v.enter_visit(_n_at)
8342 v.enter_visit(_n_opar)
8343 n_items.visit_all(v)
8344 v.enter_visit(_n_cpar)
8345 v.enter_visit(_n_kwend)
8346 end
8347 end
8348 redef class AAnnotation
8349 init init_aannotation (
8350 n_doc: nullable ADoc,
8351 n_kwredef: nullable TKwredef,
8352 n_visibility: nullable AVisibility,
8353 n_atid: nullable AAtid,
8354 n_opar: nullable TOpar,
8355 n_args: Collection[Object], # Should be Collection[AExpr]
8356 n_cpar: nullable TCpar,
8357 n_annotations: nullable AAnnotations
8358 )
8359 do
8360 _n_doc = n_doc
8361 if n_doc != null then n_doc.parent = self
8362 _n_kwredef = n_kwredef
8363 if n_kwredef != null then n_kwredef.parent = self
8364 _n_visibility = n_visibility
8365 if n_visibility != null then n_visibility.parent = self
8366 _n_atid = n_atid.as(not null)
8367 n_atid.parent = self
8368 _n_opar = n_opar
8369 if n_opar != null then n_opar.parent = self
8370 self.n_args.unsafe_add_all(n_args)
8371 _n_cpar = n_cpar
8372 if n_cpar != null then n_cpar.parent = self
8373 _n_annotations = n_annotations
8374 if n_annotations != null then n_annotations.parent = self
8375 end
8376
8377 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8378 do
8379 if _n_doc == old_child then
8380 n_doc = new_child.as(nullable ADoc)
8381 return
8382 end
8383 if _n_kwredef == old_child then
8384 n_kwredef = new_child.as(nullable TKwredef)
8385 return
8386 end
8387 if _n_visibility == old_child then
8388 n_visibility = new_child.as(nullable AVisibility)
8389 return
8390 end
8391 if _n_atid == old_child then
8392 n_atid = new_child.as(AAtid)
8393 return
8394 end
8395 if _n_opar == old_child then
8396 n_opar = new_child.as(nullable TOpar)
8397 return
8398 end
8399 if n_args.replace_child(old_child, new_child) then return
8400 if _n_cpar == old_child then
8401 n_cpar = new_child.as(nullable TCpar)
8402 return
8403 end
8404 if _n_annotations == old_child then
8405 n_annotations = new_child.as(nullable AAnnotations)
8406 return
8407 end
8408 end
8409
8410 redef fun n_doc=(node)
8411 do
8412 _n_doc = node
8413 if node != null then node.parent = self
8414 end
8415 redef fun n_kwredef=(node)
8416 do
8417 _n_kwredef = node
8418 if node != null then node.parent = self
8419 end
8420 redef fun n_visibility=(node)
8421 do
8422 _n_visibility = node
8423 if node != null then node.parent = self
8424 end
8425 redef fun n_atid=(node)
8426 do
8427 _n_atid = node
8428 node.parent = self
8429 end
8430 redef fun n_opar=(node)
8431 do
8432 _n_opar = node
8433 if node != null then node.parent = self
8434 end
8435 redef fun n_cpar=(node)
8436 do
8437 _n_cpar = node
8438 if node != null then node.parent = self
8439 end
8440 redef fun n_annotations=(node)
8441 do
8442 _n_annotations = node
8443 if node != null then node.parent = self
8444 end
8445
8446
8447 redef fun visit_all(v: Visitor)
8448 do
8449 v.enter_visit(_n_doc)
8450 v.enter_visit(_n_kwredef)
8451 v.enter_visit(_n_visibility)
8452 v.enter_visit(_n_atid)
8453 v.enter_visit(_n_opar)
8454 n_args.visit_all(v)
8455 v.enter_visit(_n_cpar)
8456 v.enter_visit(_n_annotations)
8457 end
8458 end
8459 redef class AIdAtid
8460 init init_aidatid (
8461 n_id: nullable TId
8462 )
8463 do
8464 _n_id = n_id.as(not null)
8465 n_id.parent = self
8466 end
8467
8468 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8469 do
8470 if _n_id == old_child then
8471 n_id = new_child.as(TId)
8472 return
8473 end
8474 end
8475
8476 redef fun n_id=(node)
8477 do
8478 _n_id = node
8479 node.parent = self
8480 end
8481
8482
8483 redef fun visit_all(v: Visitor)
8484 do
8485 v.enter_visit(_n_id)
8486 end
8487 end
8488 redef class AKwexternAtid
8489 init init_akwexternatid (
8490 n_id: nullable TKwextern
8491 )
8492 do
8493 _n_id = n_id.as(not null)
8494 n_id.parent = self
8495 end
8496
8497 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8498 do
8499 if _n_id == old_child then
8500 n_id = new_child.as(TKwextern)
8501 return
8502 end
8503 end
8504
8505 redef fun n_id=(node)
8506 do
8507 _n_id = node
8508 node.parent = self
8509 end
8510
8511
8512 redef fun visit_all(v: Visitor)
8513 do
8514 v.enter_visit(_n_id)
8515 end
8516 end
8517 redef class AKwabstractAtid
8518 init init_akwabstractatid (
8519 n_id: nullable TKwabstract
8520 )
8521 do
8522 _n_id = n_id.as(not null)
8523 n_id.parent = self
8524 end
8525
8526 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8527 do
8528 if _n_id == old_child then
8529 n_id = new_child.as(TKwabstract)
8530 return
8531 end
8532 end
8533
8534 redef fun n_id=(node)
8535 do
8536 _n_id = node
8537 node.parent = self
8538 end
8539
8540
8541 redef fun visit_all(v: Visitor)
8542 do
8543 v.enter_visit(_n_id)
8544 end
8545 end
8546 redef class AKwimportAtid
8547 init init_akwimportatid (
8548 n_id: nullable TKwimport
8549 )
8550 do
8551 _n_id = n_id.as(not null)
8552 n_id.parent = self
8553 end
8554
8555 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8556 do
8557 if _n_id == old_child then
8558 n_id = new_child.as(TKwimport)
8559 return
8560 end
8561 end
8562
8563 redef fun n_id=(node)
8564 do
8565 _n_id = node
8566 node.parent = self
8567 end
8568
8569
8570 redef fun visit_all(v: Visitor)
8571 do
8572 v.enter_visit(_n_id)
8573 end
8574 end
8575
8576 redef class Start
8577 redef fun replace_child(old_child: ANode, new_child: nullable ANode)
8578 do
8579 if _n_base == old_child then
8580 if new_child == null then
8581 else
8582 new_child.parent = self
8583 assert new_child isa AModule
8584 _n_base = new_child
8585 end
8586 old_child.parent = null
8587 return
8588 end
8589 end
8590
8591 redef fun visit_all(v: Visitor)
8592 do
8593 if _n_base != null then
8594 v.enter_visit(_n_base.as(not null))
8595 end
8596 v.enter_visit(_n_eof)
8597 end
8598 end