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