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