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