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