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