1 # Production AST nodes full definition.
2 # This file was generated by SableCC (http://www.sablecc.org/).
3 module parser_prod
is no_warning
("missing-doc")
6 intrude import parser_nodes
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]
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
)
24 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
26 if _n_moduledecl
== old_child
then
27 n_moduledecl
= new_child
.as(nullable AModuledecl)
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
35 redef fun n_moduledecl
=(node
)
38 if node
!= null then node
.parent
= self
42 redef fun visit_all
(v
: Visitor)
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
)
50 redef class AModuledecl
51 init init_amoduledecl
(
53 n_kwredef
: nullable TKwredef,
54 n_visibility
: nullable AVisibility,
55 n_kwmodule
: nullable TKwmodule,
56 n_name
: nullable AModuleName,
57 n_annotations
: nullable AAnnotations
61 if n_doc
!= null then n_doc
.parent
= self
62 _n_kwredef
= n_kwredef
63 if n_kwredef
!= null then n_kwredef
.parent
= self
64 _n_visibility
= n_visibility
.as(not null)
65 n_visibility
.parent
= self
66 _n_kwmodule
= n_kwmodule
.as(not null)
67 n_kwmodule
.parent
= self
68 _n_name
= n_name
.as(not null)
70 _n_annotations
= n_annotations
71 if n_annotations
!= null then n_annotations
.parent
= self
74 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
76 if _n_doc
== old_child
then
77 n_doc
= new_child
.as(nullable ADoc)
80 if _n_kwredef
== old_child
then
81 n_kwredef
= new_child
.as(nullable TKwredef)
84 if _n_visibility
== old_child
then
85 n_visibility
= new_child
.as(AVisibility)
88 if _n_kwmodule
== old_child
then
89 n_kwmodule
= new_child
.as(TKwmodule)
92 if _n_name
== old_child
then
93 n_name
= new_child
.as(AModuleName)
96 if _n_annotations
== old_child
then
97 n_annotations
= new_child
.as(nullable AAnnotations)
102 redef fun n_doc
=(node
)
105 if node
!= null then node
.parent
= self
107 redef fun n_kwredef
=(node
)
110 if node
!= null then node
.parent
= self
112 redef fun n_visibility
=(node
)
117 redef fun n_kwmodule
=(node
)
122 redef fun n_name
=(node
)
127 redef fun n_annotations
=(node
)
129 _n_annotations
= node
130 if node
!= null then node
.parent
= self
134 redef fun visit_all
(v
: Visitor)
136 v
.enter_visit
(_n_doc
)
137 v
.enter_visit
(_n_kwredef
)
138 v
.enter_visit
(_n_visibility
)
139 v
.enter_visit
(_n_kwmodule
)
140 v
.enter_visit
(_n_name
)
141 v
.enter_visit
(_n_annotations
)
144 redef class AStdImport
145 init init_astdimport
(
146 n_visibility
: nullable AVisibility,
147 n_kwimport
: nullable TKwimport,
148 n_name
: nullable AModuleName,
149 n_annotations
: nullable AAnnotations
152 _n_visibility
= n_visibility
.as(not null)
153 n_visibility
.parent
= self
154 _n_kwimport
= n_kwimport
.as(not null)
155 n_kwimport
.parent
= self
156 _n_name
= n_name
.as(not null)
158 _n_annotations
= n_annotations
159 if n_annotations
!= null then n_annotations
.parent
= self
162 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
164 if _n_visibility
== old_child
then
165 n_visibility
= new_child
.as(AVisibility)
168 if _n_kwimport
== old_child
then
169 n_kwimport
= new_child
.as(TKwimport)
172 if _n_name
== old_child
then
173 n_name
= new_child
.as(AModuleName)
176 if _n_annotations
== old_child
then
177 n_annotations
= new_child
.as(nullable AAnnotations)
182 redef fun n_visibility
=(node
)
187 redef fun n_kwimport
=(node
)
192 redef fun n_name
=(node
)
197 redef fun n_annotations
=(node
)
199 _n_annotations
= node
200 if node
!= null then node
.parent
= self
204 redef fun visit_all
(v
: Visitor)
206 v
.enter_visit
(_n_visibility
)
207 v
.enter_visit
(_n_kwimport
)
208 v
.enter_visit
(_n_name
)
209 v
.enter_visit
(_n_annotations
)
212 redef class ANoImport
213 init init_anoimport
(
214 n_visibility
: nullable AVisibility,
215 n_kwimport
: nullable TKwimport,
216 n_kwend
: nullable TKwend
219 _n_visibility
= n_visibility
.as(not null)
220 n_visibility
.parent
= self
221 _n_kwimport
= n_kwimport
.as(not null)
222 n_kwimport
.parent
= self
223 _n_kwend
= n_kwend
.as(not null)
224 n_kwend
.parent
= self
227 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
229 if _n_visibility
== old_child
then
230 n_visibility
= new_child
.as(AVisibility)
233 if _n_kwimport
== old_child
then
234 n_kwimport
= new_child
.as(TKwimport)
237 if _n_kwend
== old_child
then
238 n_kwend
= new_child
.as(TKwend)
243 redef fun n_visibility
=(node
)
248 redef fun n_kwimport
=(node
)
253 redef fun n_kwend
=(node
)
260 redef fun visit_all
(v
: Visitor)
262 v
.enter_visit
(_n_visibility
)
263 v
.enter_visit
(_n_kwimport
)
264 v
.enter_visit
(_n_kwend
)
267 redef class APublicVisibility
268 init init_apublicvisibility
(
269 n_kwpublic
: nullable TKwpublic
272 _n_kwpublic
= n_kwpublic
273 if n_kwpublic
!= null then n_kwpublic
.parent
= self
276 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
278 if _n_kwpublic
== old_child
then
279 n_kwpublic
= new_child
.as(nullable TKwpublic)
284 redef fun n_kwpublic
=(node
)
287 if node
!= null then node
.parent
= self
291 redef fun visit_all
(v
: Visitor)
293 v
.enter_visit
(_n_kwpublic
)
296 redef class APrivateVisibility
297 init init_aprivatevisibility
(
298 n_kwprivate
: nullable TKwprivate
301 _n_kwprivate
= n_kwprivate
.as(not null)
302 n_kwprivate
.parent
= self
305 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
307 if _n_kwprivate
== old_child
then
308 n_kwprivate
= new_child
.as(TKwprivate)
313 redef fun n_kwprivate
=(node
)
320 redef fun visit_all
(v
: Visitor)
322 v
.enter_visit
(_n_kwprivate
)
325 redef class AProtectedVisibility
326 init init_aprotectedvisibility
(
327 n_kwprotected
: nullable TKwprotected
330 _n_kwprotected
= n_kwprotected
.as(not null)
331 n_kwprotected
.parent
= self
334 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
336 if _n_kwprotected
== old_child
then
337 n_kwprotected
= new_child
.as(TKwprotected)
342 redef fun n_kwprotected
=(node
)
344 _n_kwprotected
= node
349 redef fun visit_all
(v
: Visitor)
351 v
.enter_visit
(_n_kwprotected
)
354 redef class AIntrudeVisibility
355 init init_aintrudevisibility
(
356 n_kwintrude
: nullable TKwintrude
359 _n_kwintrude
= n_kwintrude
.as(not null)
360 n_kwintrude
.parent
= self
363 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
365 if _n_kwintrude
== old_child
then
366 n_kwintrude
= new_child
.as(TKwintrude)
371 redef fun n_kwintrude
=(node
)
378 redef fun visit_all
(v
: Visitor)
380 v
.enter_visit
(_n_kwintrude
)
383 redef class AStdClassdef
384 init init_astdclassdef
(
385 n_doc
: nullable ADoc,
386 n_kwredef
: nullable TKwredef,
387 n_visibility
: nullable AVisibility,
388 n_classkind
: nullable AClasskind,
389 n_id
: nullable TClassid,
390 n_formaldefs
: Collection[Object], # Should be Collection[AFormaldef]
391 n_annotations
: nullable AAnnotations,
392 n_extern_code_block
: nullable AExternCodeBlock,
393 n_superclasses
: Collection[Object], # Should be Collection[ASuperclass]
394 n_propdefs
: Collection[Object], # Should be Collection[APropdef]
395 n_kwend
: nullable TKwend
399 if n_doc
!= null then n_doc
.parent
= self
400 _n_kwredef
= n_kwredef
401 if n_kwredef
!= null then n_kwredef
.parent
= self
402 _n_visibility
= n_visibility
.as(not null)
403 n_visibility
.parent
= self
404 _n_classkind
= n_classkind
.as(not null)
405 n_classkind
.parent
= self
407 if n_id
!= null then n_id
.parent
= self
408 self.n_formaldefs
.unsafe_add_all
(n_formaldefs
)
409 _n_annotations
= n_annotations
410 if n_annotations
!= null then n_annotations
.parent
= self
411 _n_extern_code_block
= n_extern_code_block
412 if n_extern_code_block
!= null then n_extern_code_block
.parent
= self
413 self.n_superclasses
.unsafe_add_all
(n_superclasses
)
414 self.n_propdefs
.unsafe_add_all
(n_propdefs
)
415 _n_kwend
= n_kwend
.as(not null)
416 n_kwend
.parent
= self
419 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
421 if _n_doc
== old_child
then
422 n_doc
= new_child
.as(nullable ADoc)
425 if _n_kwredef
== old_child
then
426 n_kwredef
= new_child
.as(nullable TKwredef)
429 if _n_visibility
== old_child
then
430 n_visibility
= new_child
.as(AVisibility)
433 if _n_classkind
== old_child
then
434 n_classkind
= new_child
.as(AClasskind)
437 if _n_id
== old_child
then
438 n_id
= new_child
.as(nullable TClassid)
441 if n_formaldefs
.replace_child
(old_child
, new_child
) then return
442 if _n_annotations
== old_child
then
443 n_annotations
= new_child
.as(nullable AAnnotations)
446 if _n_extern_code_block
== old_child
then
447 n_extern_code_block
= new_child
.as(nullable AExternCodeBlock)
450 if n_superclasses
.replace_child
(old_child
, new_child
) then return
451 if n_propdefs
.replace_child
(old_child
, new_child
) then return
452 if _n_kwend
== old_child
then
453 n_kwend
= new_child
.as(TKwend)
458 redef fun n_doc
=(node
)
461 if node
!= null then node
.parent
= self
463 redef fun n_kwredef
=(node
)
466 if node
!= null then node
.parent
= self
468 redef fun n_visibility
=(node
)
473 redef fun n_classkind
=(node
)
478 redef fun n_id
=(node
)
481 if node
!= null then node
.parent
= self
483 redef fun n_annotations
=(node
)
485 _n_annotations
= node
486 if node
!= null then node
.parent
= self
488 redef fun n_extern_code_block
=(node
)
490 _n_extern_code_block
= node
491 if node
!= null then node
.parent
= self
493 redef fun n_kwend
=(node
)
500 redef fun visit_all
(v
: Visitor)
502 v
.enter_visit
(_n_doc
)
503 v
.enter_visit
(_n_kwredef
)
504 v
.enter_visit
(_n_visibility
)
505 v
.enter_visit
(_n_classkind
)
507 n_formaldefs
.visit_all
(v
)
508 v
.enter_visit
(_n_annotations
)
509 v
.enter_visit
(_n_extern_code_block
)
510 n_superclasses
.visit_all
(v
)
511 n_propdefs
.visit_all
(v
)
512 v
.enter_visit
(_n_kwend
)
515 redef class ATopClassdef
516 init init_atopclassdef
(
517 n_propdefs
: Collection[Object] # Should be Collection[APropdef]
520 self.n_propdefs
.unsafe_add_all
(n_propdefs
)
523 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
525 if n_propdefs
.replace_child
(old_child
, new_child
) then return
530 redef fun visit_all
(v
: Visitor)
532 n_propdefs
.visit_all
(v
)
535 redef class AMainClassdef
536 init init_amainclassdef
(
537 n_propdefs
: Collection[Object] # Should be Collection[APropdef]
540 self.n_propdefs
.unsafe_add_all
(n_propdefs
)
543 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
545 if n_propdefs
.replace_child
(old_child
, new_child
) then return
550 redef fun visit_all
(v
: Visitor)
552 n_propdefs
.visit_all
(v
)
555 redef class AConcreteClasskind
556 init init_aconcreteclasskind
(
557 n_kwclass
: nullable TKwclass
560 _n_kwclass
= n_kwclass
.as(not null)
561 n_kwclass
.parent
= self
564 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
566 if _n_kwclass
== old_child
then
567 n_kwclass
= new_child
.as(TKwclass)
572 redef fun n_kwclass
=(node
)
579 redef fun visit_all
(v
: Visitor)
581 v
.enter_visit
(_n_kwclass
)
584 redef class AAbstractClasskind
585 init init_aabstractclasskind
(
586 n_kwabstract
: nullable TKwabstract,
587 n_kwclass
: nullable TKwclass
590 _n_kwabstract
= n_kwabstract
.as(not null)
591 n_kwabstract
.parent
= self
592 _n_kwclass
= n_kwclass
.as(not null)
593 n_kwclass
.parent
= self
596 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
598 if _n_kwabstract
== old_child
then
599 n_kwabstract
= new_child
.as(TKwabstract)
602 if _n_kwclass
== old_child
then
603 n_kwclass
= new_child
.as(TKwclass)
608 redef fun n_kwabstract
=(node
)
613 redef fun n_kwclass
=(node
)
620 redef fun visit_all
(v
: Visitor)
622 v
.enter_visit
(_n_kwabstract
)
623 v
.enter_visit
(_n_kwclass
)
626 redef class AInterfaceClasskind
627 init init_ainterfaceclasskind
(
628 n_kwinterface
: nullable TKwinterface
631 _n_kwinterface
= n_kwinterface
.as(not null)
632 n_kwinterface
.parent
= self
635 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
637 if _n_kwinterface
== old_child
then
638 n_kwinterface
= new_child
.as(TKwinterface)
643 redef fun n_kwinterface
=(node
)
645 _n_kwinterface
= node
650 redef fun visit_all
(v
: Visitor)
652 v
.enter_visit
(_n_kwinterface
)
655 redef class AEnumClasskind
656 init init_aenumclasskind
(
657 n_kwenum
: nullable TKwenum
660 _n_kwenum
= n_kwenum
.as(not null)
661 n_kwenum
.parent
= self
664 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
666 if _n_kwenum
== old_child
then
667 n_kwenum
= new_child
.as(TKwenum)
672 redef fun n_kwenum
=(node
)
679 redef fun visit_all
(v
: Visitor)
681 v
.enter_visit
(_n_kwenum
)
684 redef class AExternClasskind
685 init init_aexternclasskind
(
686 n_kwextern
: nullable TKwextern,
687 n_kwclass
: nullable TKwclass
690 _n_kwextern
= n_kwextern
.as(not null)
691 n_kwextern
.parent
= self
692 _n_kwclass
= n_kwclass
693 if n_kwclass
!= null then n_kwclass
.parent
= self
696 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
698 if _n_kwextern
== old_child
then
699 n_kwextern
= new_child
.as(TKwextern)
702 if _n_kwclass
== old_child
then
703 n_kwclass
= new_child
.as(nullable TKwclass)
708 redef fun n_kwextern
=(node
)
713 redef fun n_kwclass
=(node
)
716 if node
!= null then node
.parent
= self
720 redef fun visit_all
(v
: Visitor)
722 v
.enter_visit
(_n_kwextern
)
723 v
.enter_visit
(_n_kwclass
)
726 redef class AFormaldef
727 init init_aformaldef
(
728 n_id
: nullable TClassid,
729 n_type
: nullable AType,
730 n_annotations
: nullable AAnnotations
733 _n_id
= n_id
.as(not null)
736 if n_type
!= null then n_type
.parent
= self
737 _n_annotations
= n_annotations
738 if n_annotations
!= null then n_annotations
.parent
= self
741 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
743 if _n_id
== old_child
then
744 n_id
= new_child
.as(TClassid)
747 if _n_type
== old_child
then
748 n_type
= new_child
.as(nullable AType)
751 if _n_annotations
== old_child
then
752 n_annotations
= new_child
.as(nullable AAnnotations)
757 redef fun n_id
=(node
)
762 redef fun n_type
=(node
)
765 if node
!= null then node
.parent
= self
767 redef fun n_annotations
=(node
)
769 _n_annotations
= node
770 if node
!= null then node
.parent
= self
774 redef fun visit_all
(v
: Visitor)
777 v
.enter_visit
(_n_type
)
778 v
.enter_visit
(_n_annotations
)
781 redef class ASuperclass
782 init init_asuperclass
(
783 n_kwsuper
: nullable TKwsuper,
784 n_type
: nullable AType,
785 n_annotations
: nullable AAnnotations
788 _n_kwsuper
= n_kwsuper
.as(not null)
789 n_kwsuper
.parent
= self
790 _n_type
= n_type
.as(not null)
792 _n_annotations
= n_annotations
793 if n_annotations
!= null then n_annotations
.parent
= self
796 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
798 if _n_kwsuper
== old_child
then
799 n_kwsuper
= new_child
.as(TKwsuper)
802 if _n_type
== old_child
then
803 n_type
= new_child
.as(AType)
806 if _n_annotations
== old_child
then
807 n_annotations
= new_child
.as(nullable AAnnotations)
812 redef fun n_kwsuper
=(node
)
817 redef fun n_type
=(node
)
822 redef fun n_annotations
=(node
)
824 _n_annotations
= node
825 if node
!= null then node
.parent
= self
829 redef fun visit_all
(v
: Visitor)
831 v
.enter_visit
(_n_kwsuper
)
832 v
.enter_visit
(_n_type
)
833 v
.enter_visit
(_n_annotations
)
836 redef class AAttrPropdef
837 init init_aattrpropdef
(
838 n_doc
: nullable ADoc,
839 n_kwredef
: nullable TKwredef,
840 n_visibility
: nullable AVisibility,
841 n_kwvar
: nullable TKwvar,
843 n_type
: nullable AType,
844 n_expr
: nullable AExpr,
845 n_annotations
: nullable AAnnotations,
846 n_block
: nullable AExpr
850 if n_doc
!= null then n_doc
.parent
= self
851 _n_kwredef
= n_kwredef
852 if n_kwredef
!= null then n_kwredef
.parent
= self
853 _n_visibility
= n_visibility
.as(not null)
854 n_visibility
.parent
= self
855 _n_kwvar
= n_kwvar
.as(not null)
856 n_kwvar
.parent
= self
857 _n_id2
= n_id2
.as(not null)
860 if n_type
!= null then n_type
.parent
= self
862 if n_expr
!= null then n_expr
.parent
= self
863 _n_annotations
= n_annotations
864 if n_annotations
!= null then n_annotations
.parent
= self
866 if n_block
!= null then n_block
.parent
= self
869 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
871 if _n_doc
== old_child
then
872 n_doc
= new_child
.as(nullable ADoc)
875 if _n_kwredef
== old_child
then
876 n_kwredef
= new_child
.as(nullable TKwredef)
879 if _n_visibility
== old_child
then
880 n_visibility
= new_child
.as(AVisibility)
883 if _n_kwvar
== old_child
then
884 n_kwvar
= new_child
.as(TKwvar)
887 if _n_id2
== old_child
then
888 n_id2
= new_child
.as(TId)
891 if _n_type
== old_child
then
892 n_type
= new_child
.as(nullable AType)
895 if _n_expr
== old_child
then
896 n_expr
= new_child
.as(nullable AExpr)
899 if _n_annotations
== old_child
then
900 n_annotations
= new_child
.as(nullable AAnnotations)
903 if _n_block
== old_child
then
904 n_block
= new_child
.as(nullable AExpr)
909 redef fun n_doc
=(node
)
912 if node
!= null then node
.parent
= self
914 redef fun n_kwredef
=(node
)
917 if node
!= null then node
.parent
= self
919 redef fun n_visibility
=(node
)
924 redef fun n_kwvar
=(node
)
929 redef fun n_id2
=(node
)
934 redef fun n_type
=(node
)
937 if node
!= null then node
.parent
= self
939 redef fun n_expr
=(node
)
942 if node
!= null then node
.parent
= self
944 redef fun n_annotations
=(node
)
946 _n_annotations
= node
947 if node
!= null then node
.parent
= self
949 redef fun n_block
=(node
)
952 if node
!= null then node
.parent
= self
956 redef fun visit_all
(v
: Visitor)
958 v
.enter_visit
(_n_doc
)
959 v
.enter_visit
(_n_kwredef
)
960 v
.enter_visit
(_n_visibility
)
961 v
.enter_visit
(_n_kwvar
)
962 v
.enter_visit
(_n_id2
)
963 v
.enter_visit
(_n_type
)
964 v
.enter_visit
(_n_expr
)
965 v
.enter_visit
(_n_annotations
)
966 v
.enter_visit
(_n_block
)
969 redef class AMainMethPropdef
970 init init_amainmethpropdef
(
971 n_kwredef
: nullable TKwredef,
972 n_block
: nullable AExpr
975 _n_kwredef
= n_kwredef
976 if n_kwredef
!= null then n_kwredef
.parent
= self
978 if n_block
!= null then n_block
.parent
= self
981 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
983 if _n_kwredef
== old_child
then
984 n_kwredef
= new_child
.as(nullable TKwredef)
987 if _n_block
== old_child
then
988 n_block
= new_child
.as(nullable AExpr)
993 redef fun n_kwredef
=(node
)
996 if node
!= null then node
.parent
= self
998 redef fun n_block
=(node
)
1001 if node
!= null then node
.parent
= self
1005 redef fun visit_all
(v
: Visitor)
1007 v
.enter_visit
(_n_kwredef
)
1008 v
.enter_visit
(_n_block
)
1011 redef class ATypePropdef
1012 init init_atypepropdef
(
1013 n_doc
: nullable ADoc,
1014 n_kwredef
: nullable TKwredef,
1015 n_visibility
: nullable AVisibility,
1016 n_kwtype
: nullable TKwtype,
1017 n_id
: nullable TClassid,
1018 n_type
: nullable AType,
1019 n_annotations
: nullable AAnnotations
1023 if n_doc
!= null then n_doc
.parent
= self
1024 _n_kwredef
= n_kwredef
1025 if n_kwredef
!= null then n_kwredef
.parent
= self
1026 _n_visibility
= n_visibility
.as(not null)
1027 n_visibility
.parent
= self
1028 _n_kwtype
= n_kwtype
.as(not null)
1029 n_kwtype
.parent
= self
1030 _n_id
= n_id
.as(not null)
1032 _n_type
= n_type
.as(not null)
1033 n_type
.parent
= self
1034 _n_annotations
= n_annotations
1035 if n_annotations
!= null then n_annotations
.parent
= self
1038 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1040 if _n_doc
== old_child
then
1041 n_doc
= new_child
.as(nullable ADoc)
1044 if _n_kwredef
== old_child
then
1045 n_kwredef
= new_child
.as(nullable TKwredef)
1048 if _n_visibility
== old_child
then
1049 n_visibility
= new_child
.as(AVisibility)
1052 if _n_kwtype
== old_child
then
1053 n_kwtype
= new_child
.as(TKwtype)
1056 if _n_id
== old_child
then
1057 n_id
= new_child
.as(TClassid)
1060 if _n_type
== old_child
then
1061 n_type
= new_child
.as(AType)
1064 if _n_annotations
== old_child
then
1065 n_annotations
= new_child
.as(nullable AAnnotations)
1070 redef fun n_doc
=(node
)
1073 if node
!= null then node
.parent
= self
1075 redef fun n_kwredef
=(node
)
1078 if node
!= null then node
.parent
= self
1080 redef fun n_visibility
=(node
)
1082 _n_visibility
= node
1085 redef fun n_kwtype
=(node
)
1090 redef fun n_id
=(node
)
1095 redef fun n_type
=(node
)
1100 redef fun n_annotations
=(node
)
1102 _n_annotations
= node
1103 if node
!= null then node
.parent
= self
1107 redef fun visit_all
(v
: Visitor)
1109 v
.enter_visit
(_n_doc
)
1110 v
.enter_visit
(_n_kwredef
)
1111 v
.enter_visit
(_n_visibility
)
1112 v
.enter_visit
(_n_kwtype
)
1113 v
.enter_visit
(_n_id
)
1114 v
.enter_visit
(_n_type
)
1115 v
.enter_visit
(_n_annotations
)
1118 redef class AMethPropdef
1119 init init_amethpropdef
(
1120 n_doc
: nullable ADoc,
1121 n_kwredef
: nullable TKwredef,
1122 n_visibility
: nullable AVisibility,
1123 n_kwmeth
: nullable TKwmeth,
1124 n_kwinit
: nullable TKwinit,
1125 n_kwnew
: nullable TKwnew,
1126 n_methid
: nullable AMethid,
1127 n_signature
: nullable ASignature,
1128 n_annotations
: nullable AAnnotations,
1129 n_extern_calls
: nullable AExternCalls,
1130 n_extern_code_block
: nullable AExternCodeBlock,
1131 n_block
: nullable AExpr
1135 if n_doc
!= null then n_doc
.parent
= self
1136 _n_kwredef
= n_kwredef
1137 if n_kwredef
!= null then n_kwredef
.parent
= self
1138 _n_visibility
= n_visibility
.as(not null)
1139 n_visibility
.parent
= self
1140 _n_kwmeth
= n_kwmeth
1141 if n_kwmeth
!= null then n_kwmeth
.parent
= self
1142 _n_kwinit
= n_kwinit
1143 if n_kwinit
!= null then n_kwinit
.parent
= self
1145 if n_kwnew
!= null then n_kwnew
.parent
= self
1146 _n_methid
= n_methid
1147 if n_methid
!= null then n_methid
.parent
= self
1148 _n_signature
= n_signature
.as(not null)
1149 n_signature
.parent
= self
1150 _n_annotations
= n_annotations
1151 if n_annotations
!= null then n_annotations
.parent
= self
1152 _n_extern_calls
= n_extern_calls
1153 if n_extern_calls
!= null then n_extern_calls
.parent
= self
1154 _n_extern_code_block
= n_extern_code_block
1155 if n_extern_code_block
!= null then n_extern_code_block
.parent
= self
1157 if n_block
!= null then n_block
.parent
= self
1160 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1162 if _n_doc
== old_child
then
1163 n_doc
= new_child
.as(nullable ADoc)
1166 if _n_kwredef
== old_child
then
1167 n_kwredef
= new_child
.as(nullable TKwredef)
1170 if _n_visibility
== old_child
then
1171 n_visibility
= new_child
.as(AVisibility)
1174 if _n_kwmeth
== old_child
then
1175 n_kwmeth
= new_child
.as(nullable TKwmeth)
1178 if _n_kwinit
== old_child
then
1179 n_kwinit
= new_child
.as(nullable TKwinit)
1182 if _n_kwnew
== old_child
then
1183 n_kwnew
= new_child
.as(nullable TKwnew)
1186 if _n_methid
== old_child
then
1187 n_methid
= new_child
.as(nullable AMethid)
1190 if _n_signature
== old_child
then
1191 n_signature
= new_child
.as(ASignature)
1194 if _n_annotations
== old_child
then
1195 n_annotations
= new_child
.as(nullable AAnnotations)
1198 if _n_extern_calls
== old_child
then
1199 n_extern_calls
= new_child
.as(nullable AExternCalls)
1202 if _n_extern_code_block
== old_child
then
1203 n_extern_code_block
= new_child
.as(nullable AExternCodeBlock)
1206 if _n_block
== old_child
then
1207 n_block
= new_child
.as(nullable AExpr)
1212 redef fun n_doc
=(node
)
1215 if node
!= null then node
.parent
= self
1217 redef fun n_kwredef
=(node
)
1220 if node
!= null then node
.parent
= self
1222 redef fun n_visibility
=(node
)
1224 _n_visibility
= node
1227 redef fun n_kwmeth
=(node
)
1230 if node
!= null then node
.parent
= self
1232 redef fun n_kwinit
=(node
)
1235 if node
!= null then node
.parent
= self
1237 redef fun n_kwnew
=(node
)
1240 if node
!= null then node
.parent
= self
1242 redef fun n_methid
=(node
)
1245 if node
!= null then node
.parent
= self
1247 redef fun n_signature
=(node
)
1252 redef fun n_annotations
=(node
)
1254 _n_annotations
= node
1255 if node
!= null then node
.parent
= self
1257 redef fun n_extern_calls
=(node
)
1259 _n_extern_calls
= node
1260 if node
!= null then node
.parent
= self
1262 redef fun n_extern_code_block
=(node
)
1264 _n_extern_code_block
= node
1265 if node
!= null then node
.parent
= self
1267 redef fun n_block
=(node
)
1270 if node
!= null then node
.parent
= self
1274 redef fun visit_all
(v
: Visitor)
1276 v
.enter_visit
(_n_doc
)
1277 v
.enter_visit
(_n_kwredef
)
1278 v
.enter_visit
(_n_visibility
)
1279 v
.enter_visit
(_n_kwmeth
)
1280 v
.enter_visit
(_n_kwinit
)
1281 v
.enter_visit
(_n_kwnew
)
1282 v
.enter_visit
(_n_methid
)
1283 v
.enter_visit
(_n_signature
)
1284 v
.enter_visit
(_n_annotations
)
1285 v
.enter_visit
(_n_extern_calls
)
1286 v
.enter_visit
(_n_extern_code_block
)
1287 v
.enter_visit
(_n_block
)
1290 redef class AIdMethid
1291 init init_aidmethid
(
1295 _n_id
= n_id
.as(not null)
1299 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1301 if _n_id
== old_child
then
1302 n_id
= new_child
.as(TId)
1307 redef fun n_id
=(node
)
1314 redef fun visit_all
(v
: Visitor)
1316 v
.enter_visit
(_n_id
)
1319 redef class APlusMethid
1320 init init_aplusmethid
(
1321 n_plus
: nullable TPlus
1324 _n_plus
= n_plus
.as(not null)
1325 n_plus
.parent
= self
1328 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1330 if _n_plus
== old_child
then
1331 n_plus
= new_child
.as(TPlus)
1336 redef fun n_plus
=(node
)
1343 redef fun visit_all
(v
: Visitor)
1345 v
.enter_visit
(_n_plus
)
1348 redef class AMinusMethid
1349 init init_aminusmethid
(
1350 n_minus
: nullable TMinus
1353 _n_minus
= n_minus
.as(not null)
1354 n_minus
.parent
= self
1357 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1359 if _n_minus
== old_child
then
1360 n_minus
= new_child
.as(TMinus)
1365 redef fun n_minus
=(node
)
1372 redef fun visit_all
(v
: Visitor)
1374 v
.enter_visit
(_n_minus
)
1377 redef class AStarMethid
1378 init init_astarmethid
(
1379 n_star
: nullable TStar
1382 _n_star
= n_star
.as(not null)
1383 n_star
.parent
= self
1386 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1388 if _n_star
== old_child
then
1389 n_star
= new_child
.as(TStar)
1394 redef fun n_star
=(node
)
1401 redef fun visit_all
(v
: Visitor)
1403 v
.enter_visit
(_n_star
)
1406 redef class AStarstarMethid
1407 init init_astarstarmethid
(
1408 n_starstar
: nullable TStarstar
1411 _n_starstar
= n_starstar
.as(not null)
1412 n_starstar
.parent
= self
1415 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1417 if _n_starstar
== old_child
then
1418 n_starstar
= new_child
.as(TStarstar)
1423 redef fun n_starstar
=(node
)
1430 redef fun visit_all
(v
: Visitor)
1432 v
.enter_visit
(_n_starstar
)
1435 redef class ASlashMethid
1436 init init_aslashmethid
(
1437 n_slash
: nullable TSlash
1440 _n_slash
= n_slash
.as(not null)
1441 n_slash
.parent
= self
1444 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1446 if _n_slash
== old_child
then
1447 n_slash
= new_child
.as(TSlash)
1452 redef fun n_slash
=(node
)
1459 redef fun visit_all
(v
: Visitor)
1461 v
.enter_visit
(_n_slash
)
1464 redef class APercentMethid
1465 init init_apercentmethid
(
1466 n_percent
: nullable TPercent
1469 _n_percent
= n_percent
.as(not null)
1470 n_percent
.parent
= self
1473 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1475 if _n_percent
== old_child
then
1476 n_percent
= new_child
.as(TPercent)
1481 redef fun n_percent
=(node
)
1488 redef fun visit_all
(v
: Visitor)
1490 v
.enter_visit
(_n_percent
)
1493 redef class AEqMethid
1494 init init_aeqmethid
(
1498 _n_eq
= n_eq
.as(not null)
1502 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1504 if _n_eq
== old_child
then
1505 n_eq
= new_child
.as(TEq)
1510 redef fun n_eq
=(node
)
1517 redef fun visit_all
(v
: Visitor)
1519 v
.enter_visit
(_n_eq
)
1522 redef class ANeMethid
1523 init init_anemethid
(
1527 _n_ne
= n_ne
.as(not null)
1531 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1533 if _n_ne
== old_child
then
1534 n_ne
= new_child
.as(TNe)
1539 redef fun n_ne
=(node
)
1546 redef fun visit_all
(v
: Visitor)
1548 v
.enter_visit
(_n_ne
)
1551 redef class ALeMethid
1552 init init_alemethid
(
1556 _n_le
= n_le
.as(not null)
1560 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1562 if _n_le
== old_child
then
1563 n_le
= new_child
.as(TLe)
1568 redef fun n_le
=(node
)
1575 redef fun visit_all
(v
: Visitor)
1577 v
.enter_visit
(_n_le
)
1580 redef class AGeMethid
1581 init init_agemethid
(
1585 _n_ge
= n_ge
.as(not null)
1589 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1591 if _n_ge
== old_child
then
1592 n_ge
= new_child
.as(TGe)
1597 redef fun n_ge
=(node
)
1604 redef fun visit_all
(v
: Visitor)
1606 v
.enter_visit
(_n_ge
)
1609 redef class ALtMethid
1610 init init_altmethid
(
1614 _n_lt
= n_lt
.as(not null)
1618 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1620 if _n_lt
== old_child
then
1621 n_lt
= new_child
.as(TLt)
1626 redef fun n_lt
=(node
)
1633 redef fun visit_all
(v
: Visitor)
1635 v
.enter_visit
(_n_lt
)
1638 redef class AGtMethid
1639 init init_agtmethid
(
1643 _n_gt
= n_gt
.as(not null)
1647 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1649 if _n_gt
== old_child
then
1650 n_gt
= new_child
.as(TGt)
1655 redef fun n_gt
=(node
)
1662 redef fun visit_all
(v
: Visitor)
1664 v
.enter_visit
(_n_gt
)
1667 redef class ALlMethid
1668 init init_allmethid
(
1672 _n_ll
= n_ll
.as(not null)
1676 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1678 if _n_ll
== old_child
then
1679 n_ll
= new_child
.as(TLl)
1684 redef fun n_ll
=(node
)
1691 redef fun visit_all
(v
: Visitor)
1693 v
.enter_visit
(_n_ll
)
1696 redef class AGgMethid
1697 init init_aggmethid
(
1701 _n_gg
= n_gg
.as(not null)
1705 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1707 if _n_gg
== old_child
then
1708 n_gg
= new_child
.as(TGg)
1713 redef fun n_gg
=(node
)
1720 redef fun visit_all
(v
: Visitor)
1722 v
.enter_visit
(_n_gg
)
1725 redef class ABraMethid
1726 init init_abramethid
(
1727 n_obra
: nullable TObra,
1728 n_cbra
: nullable TCbra
1731 _n_obra
= n_obra
.as(not null)
1732 n_obra
.parent
= self
1733 _n_cbra
= n_cbra
.as(not null)
1734 n_cbra
.parent
= self
1737 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1739 if _n_obra
== old_child
then
1740 n_obra
= new_child
.as(TObra)
1743 if _n_cbra
== old_child
then
1744 n_cbra
= new_child
.as(TCbra)
1749 redef fun n_obra
=(node
)
1754 redef fun n_cbra
=(node
)
1761 redef fun visit_all
(v
: Visitor)
1763 v
.enter_visit
(_n_obra
)
1764 v
.enter_visit
(_n_cbra
)
1767 redef class AStarshipMethid
1768 init init_astarshipmethid
(
1769 n_starship
: nullable TStarship
1772 _n_starship
= n_starship
.as(not null)
1773 n_starship
.parent
= self
1776 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1778 if _n_starship
== old_child
then
1779 n_starship
= new_child
.as(TStarship)
1784 redef fun n_starship
=(node
)
1791 redef fun visit_all
(v
: Visitor)
1793 v
.enter_visit
(_n_starship
)
1796 redef class AAssignMethid
1797 init init_aassignmethid
(
1799 n_assign
: nullable TAssign
1802 _n_id
= n_id
.as(not null)
1804 _n_assign
= n_assign
.as(not null)
1805 n_assign
.parent
= self
1808 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1810 if _n_id
== old_child
then
1811 n_id
= new_child
.as(TId)
1814 if _n_assign
== old_child
then
1815 n_assign
= new_child
.as(TAssign)
1820 redef fun n_id
=(node
)
1825 redef fun n_assign
=(node
)
1832 redef fun visit_all
(v
: Visitor)
1834 v
.enter_visit
(_n_id
)
1835 v
.enter_visit
(_n_assign
)
1838 redef class ABraassignMethid
1839 init init_abraassignmethid
(
1840 n_obra
: nullable TObra,
1841 n_cbra
: nullable TCbra,
1842 n_assign
: nullable TAssign
1845 _n_obra
= n_obra
.as(not null)
1846 n_obra
.parent
= self
1847 _n_cbra
= n_cbra
.as(not null)
1848 n_cbra
.parent
= self
1849 _n_assign
= n_assign
.as(not null)
1850 n_assign
.parent
= self
1853 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1855 if _n_obra
== old_child
then
1856 n_obra
= new_child
.as(TObra)
1859 if _n_cbra
== old_child
then
1860 n_cbra
= new_child
.as(TCbra)
1863 if _n_assign
== old_child
then
1864 n_assign
= new_child
.as(TAssign)
1869 redef fun n_obra
=(node
)
1874 redef fun n_cbra
=(node
)
1879 redef fun n_assign
=(node
)
1886 redef fun visit_all
(v
: Visitor)
1888 v
.enter_visit
(_n_obra
)
1889 v
.enter_visit
(_n_cbra
)
1890 v
.enter_visit
(_n_assign
)
1893 redef class ASignature
1894 init init_asignature
(
1895 n_opar
: nullable TOpar,
1896 n_params
: Collection[Object], # Should be Collection[AParam]
1897 n_cpar
: nullable TCpar,
1898 n_type
: nullable AType
1902 if n_opar
!= null then n_opar
.parent
= self
1903 self.n_params
.unsafe_add_all
(n_params
)
1905 if n_cpar
!= null then n_cpar
.parent
= self
1907 if n_type
!= null then n_type
.parent
= self
1910 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1912 if _n_opar
== old_child
then
1913 n_opar
= new_child
.as(nullable TOpar)
1916 if n_params
.replace_child
(old_child
, new_child
) then return
1917 if _n_cpar
== old_child
then
1918 n_cpar
= new_child
.as(nullable TCpar)
1921 if _n_type
== old_child
then
1922 n_type
= new_child
.as(nullable AType)
1927 redef fun n_opar
=(node
)
1930 if node
!= null then node
.parent
= self
1932 redef fun n_cpar
=(node
)
1935 if node
!= null then node
.parent
= self
1937 redef fun n_type
=(node
)
1940 if node
!= null then node
.parent
= self
1944 redef fun visit_all
(v
: Visitor)
1946 v
.enter_visit
(_n_opar
)
1947 n_params
.visit_all
(v
)
1948 v
.enter_visit
(_n_cpar
)
1949 v
.enter_visit
(_n_type
)
1955 n_type
: nullable AType,
1956 n_dotdotdot
: nullable TDotdotdot,
1957 n_annotations
: nullable AAnnotations
1960 _n_id
= n_id
.as(not null)
1963 if n_type
!= null then n_type
.parent
= self
1964 _n_dotdotdot
= n_dotdotdot
1965 if n_dotdotdot
!= null then n_dotdotdot
.parent
= self
1966 _n_annotations
= n_annotations
1967 if n_annotations
!= null then n_annotations
.parent
= self
1970 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1972 if _n_id
== old_child
then
1973 n_id
= new_child
.as(TId)
1976 if _n_type
== old_child
then
1977 n_type
= new_child
.as(nullable AType)
1980 if _n_dotdotdot
== old_child
then
1981 n_dotdotdot
= new_child
.as(nullable TDotdotdot)
1984 if _n_annotations
== old_child
then
1985 n_annotations
= new_child
.as(nullable AAnnotations)
1990 redef fun n_id
=(node
)
1995 redef fun n_type
=(node
)
1998 if node
!= null then node
.parent
= self
2000 redef fun n_dotdotdot
=(node
)
2003 if node
!= null then node
.parent
= self
2005 redef fun n_annotations
=(node
)
2007 _n_annotations
= node
2008 if node
!= null then node
.parent
= self
2012 redef fun visit_all
(v
: Visitor)
2014 v
.enter_visit
(_n_id
)
2015 v
.enter_visit
(_n_type
)
2016 v
.enter_visit
(_n_dotdotdot
)
2017 v
.enter_visit
(_n_annotations
)
2022 n_kwnullable
: nullable TKwnullable,
2023 n_id
: nullable TClassid,
2024 n_types
: Collection[Object], # Should be Collection[AType]
2025 n_annotations
: nullable AAnnotations
2028 _n_kwnullable
= n_kwnullable
2029 if n_kwnullable
!= null then n_kwnullable
.parent
= self
2030 _n_id
= n_id
.as(not null)
2032 self.n_types
.unsafe_add_all
(n_types
)
2033 _n_annotations
= n_annotations
2034 if n_annotations
!= null then n_annotations
.parent
= self
2037 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2039 if _n_kwnullable
== old_child
then
2040 n_kwnullable
= new_child
.as(nullable TKwnullable)
2043 if _n_id
== old_child
then
2044 n_id
= new_child
.as(TClassid)
2047 if n_types
.replace_child
(old_child
, new_child
) then return
2048 if _n_annotations
== old_child
then
2049 n_annotations
= new_child
.as(nullable AAnnotations)
2054 redef fun n_kwnullable
=(node
)
2056 _n_kwnullable
= node
2057 if node
!= null then node
.parent
= self
2059 redef fun n_id
=(node
)
2064 redef fun n_annotations
=(node
)
2066 _n_annotations
= node
2067 if node
!= null then node
.parent
= self
2071 redef fun visit_all
(v
: Visitor)
2073 v
.enter_visit
(_n_kwnullable
)
2074 v
.enter_visit
(_n_id
)
2075 n_types
.visit_all
(v
)
2076 v
.enter_visit
(_n_annotations
)
2081 n_kwlabel
: nullable TKwlabel,
2085 _n_kwlabel
= n_kwlabel
.as(not null)
2086 n_kwlabel
.parent
= self
2088 if n_id
!= null then n_id
.parent
= self
2091 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2093 if _n_kwlabel
== old_child
then
2094 n_kwlabel
= new_child
.as(TKwlabel)
2097 if _n_id
== old_child
then
2098 n_id
= new_child
.as(nullable TId)
2103 redef fun n_kwlabel
=(node
)
2108 redef fun n_id
=(node
)
2111 if node
!= null then node
.parent
= self
2115 redef fun visit_all
(v
: Visitor)
2117 v
.enter_visit
(_n_kwlabel
)
2118 v
.enter_visit
(_n_id
)
2121 redef class ABlockExpr
2122 init init_ablockexpr
(
2123 n_expr
: Collection[Object], # Should be Collection[AExpr]
2124 n_kwend
: nullable TKwend
2127 self.n_expr
.unsafe_add_all
(n_expr
)
2129 if n_kwend
!= null then n_kwend
.parent
= self
2132 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2134 if n_expr
.replace_child
(old_child
, new_child
) then return
2135 if _n_kwend
== old_child
then
2136 n_kwend
= new_child
.as(nullable TKwend)
2141 redef fun n_kwend
=(node
)
2144 if node
!= null then node
.parent
= self
2148 redef fun visit_all
(v
: Visitor)
2151 v
.enter_visit
(_n_kwend
)
2154 redef class AVardeclExpr
2155 init init_avardeclexpr
(
2156 n_kwvar
: nullable TKwvar,
2158 n_type
: nullable AType,
2159 n_assign
: nullable TAssign,
2160 n_expr
: nullable AExpr,
2161 n_annotations
: nullable AAnnotations
2164 _n_kwvar
= n_kwvar
.as(not null)
2165 n_kwvar
.parent
= self
2166 _n_id
= n_id
.as(not null)
2169 if n_type
!= null then n_type
.parent
= self
2170 _n_assign
= n_assign
2171 if n_assign
!= null then n_assign
.parent
= self
2173 if n_expr
!= null then n_expr
.parent
= self
2174 _n_annotations
= n_annotations
2175 if n_annotations
!= null then n_annotations
.parent
= self
2178 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2180 if _n_kwvar
== old_child
then
2181 n_kwvar
= new_child
.as(TKwvar)
2184 if _n_id
== old_child
then
2185 n_id
= new_child
.as(TId)
2188 if _n_type
== old_child
then
2189 n_type
= new_child
.as(nullable AType)
2192 if _n_assign
== old_child
then
2193 n_assign
= new_child
.as(nullable TAssign)
2196 if _n_expr
== old_child
then
2197 n_expr
= new_child
.as(nullable AExpr)
2200 if _n_annotations
== old_child
then
2201 n_annotations
= new_child
.as(nullable AAnnotations)
2206 redef fun n_kwvar
=(node
)
2211 redef fun n_id
=(node
)
2216 redef fun n_type
=(node
)
2219 if node
!= null then node
.parent
= self
2221 redef fun n_assign
=(node
)
2224 if node
!= null then node
.parent
= self
2226 redef fun n_expr
=(node
)
2229 if node
!= null then node
.parent
= self
2231 redef fun n_annotations
=(node
)
2233 _n_annotations
= node
2234 if node
!= null then node
.parent
= self
2238 redef fun visit_all
(v
: Visitor)
2240 v
.enter_visit
(_n_kwvar
)
2241 v
.enter_visit
(_n_id
)
2242 v
.enter_visit
(_n_type
)
2243 v
.enter_visit
(_n_assign
)
2244 v
.enter_visit
(_n_expr
)
2245 v
.enter_visit
(_n_annotations
)
2248 redef class AReturnExpr
2249 init init_areturnexpr
(
2250 n_kwreturn
: nullable TKwreturn,
2251 n_expr
: nullable AExpr
2254 _n_kwreturn
= n_kwreturn
2255 if n_kwreturn
!= null then n_kwreturn
.parent
= self
2257 if n_expr
!= null then n_expr
.parent
= self
2260 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2262 if _n_kwreturn
== old_child
then
2263 n_kwreturn
= new_child
.as(nullable TKwreturn)
2266 if _n_expr
== old_child
then
2267 n_expr
= new_child
.as(nullable AExpr)
2272 redef fun n_kwreturn
=(node
)
2275 if node
!= null then node
.parent
= self
2277 redef fun n_expr
=(node
)
2280 if node
!= null then node
.parent
= self
2284 redef fun visit_all
(v
: Visitor)
2286 v
.enter_visit
(_n_kwreturn
)
2287 v
.enter_visit
(_n_expr
)
2290 redef class ABreakExpr
2291 init init_abreakexpr
(
2292 n_kwbreak
: nullable TKwbreak,
2293 n_label
: nullable ALabel
2296 _n_kwbreak
= n_kwbreak
.as(not null)
2297 n_kwbreak
.parent
= self
2299 if n_label
!= null then n_label
.parent
= self
2302 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2304 if _n_kwbreak
== old_child
then
2305 n_kwbreak
= new_child
.as(TKwbreak)
2308 if _n_label
== old_child
then
2309 n_label
= new_child
.as(nullable ALabel)
2314 redef fun n_kwbreak
=(node
)
2319 redef fun n_label
=(node
)
2322 if node
!= null then node
.parent
= self
2326 redef fun visit_all
(v
: Visitor)
2328 v
.enter_visit
(_n_kwbreak
)
2329 v
.enter_visit
(_n_label
)
2332 redef class AAbortExpr
2333 init init_aabortexpr
(
2334 n_kwabort
: nullable TKwabort
2337 _n_kwabort
= n_kwabort
.as(not null)
2338 n_kwabort
.parent
= self
2341 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2343 if _n_kwabort
== old_child
then
2344 n_kwabort
= new_child
.as(TKwabort)
2349 redef fun n_kwabort
=(node
)
2356 redef fun visit_all
(v
: Visitor)
2358 v
.enter_visit
(_n_kwabort
)
2361 redef class AContinueExpr
2362 init init_acontinueexpr
(
2363 n_kwcontinue
: nullable TKwcontinue,
2364 n_label
: nullable ALabel
2367 _n_kwcontinue
= n_kwcontinue
2368 if n_kwcontinue
!= null then n_kwcontinue
.parent
= self
2370 if n_label
!= null then n_label
.parent
= self
2373 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2375 if _n_kwcontinue
== old_child
then
2376 n_kwcontinue
= new_child
.as(nullable TKwcontinue)
2379 if _n_label
== old_child
then
2380 n_label
= new_child
.as(nullable ALabel)
2385 redef fun n_kwcontinue
=(node
)
2387 _n_kwcontinue
= node
2388 if node
!= null then node
.parent
= self
2390 redef fun n_label
=(node
)
2393 if node
!= null then node
.parent
= self
2397 redef fun visit_all
(v
: Visitor)
2399 v
.enter_visit
(_n_kwcontinue
)
2400 v
.enter_visit
(_n_label
)
2405 n_kwdo
: nullable TKwdo,
2406 n_block
: nullable AExpr,
2407 n_label
: nullable ALabel
2410 _n_kwdo
= n_kwdo
.as(not null)
2411 n_kwdo
.parent
= self
2413 if n_block
!= null then n_block
.parent
= self
2415 if n_label
!= null then n_label
.parent
= self
2418 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2420 if _n_kwdo
== old_child
then
2421 n_kwdo
= new_child
.as(TKwdo)
2424 if _n_block
== old_child
then
2425 n_block
= new_child
.as(nullable AExpr)
2428 if _n_label
== old_child
then
2429 n_label
= new_child
.as(nullable ALabel)
2434 redef fun n_kwdo
=(node
)
2439 redef fun n_block
=(node
)
2442 if node
!= null then node
.parent
= self
2444 redef fun n_label
=(node
)
2447 if node
!= null then node
.parent
= self
2451 redef fun visit_all
(v
: Visitor)
2453 v
.enter_visit
(_n_kwdo
)
2454 v
.enter_visit
(_n_block
)
2455 v
.enter_visit
(_n_label
)
2460 n_kwif
: nullable TKwif,
2461 n_expr
: nullable AExpr,
2462 n_then
: nullable AExpr,
2463 n_else
: nullable AExpr
2466 _n_kwif
= n_kwif
.as(not null)
2467 n_kwif
.parent
= self
2468 _n_expr
= n_expr
.as(not null)
2469 n_expr
.parent
= self
2471 if n_then
!= null then n_then
.parent
= self
2473 if n_else
!= null then n_else
.parent
= self
2476 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2478 if _n_kwif
== old_child
then
2479 n_kwif
= new_child
.as(TKwif)
2482 if _n_expr
== old_child
then
2483 n_expr
= new_child
.as(AExpr)
2486 if _n_then
== old_child
then
2487 n_then
= new_child
.as(nullable AExpr)
2490 if _n_else
== old_child
then
2491 n_else
= new_child
.as(nullable AExpr)
2496 redef fun n_kwif
=(node
)
2501 redef fun n_expr
=(node
)
2506 redef fun n_then
=(node
)
2509 if node
!= null then node
.parent
= self
2511 redef fun n_else
=(node
)
2514 if node
!= null then node
.parent
= self
2518 redef fun visit_all
(v
: Visitor)
2520 v
.enter_visit
(_n_kwif
)
2521 v
.enter_visit
(_n_expr
)
2522 v
.enter_visit
(_n_then
)
2523 v
.enter_visit
(_n_else
)
2526 redef class AIfexprExpr
2527 init init_aifexprexpr
(
2528 n_kwif
: nullable TKwif,
2529 n_expr
: nullable AExpr,
2530 n_kwthen
: nullable TKwthen,
2531 n_then
: nullable AExpr,
2532 n_kwelse
: nullable TKwelse,
2533 n_else
: nullable AExpr
2536 _n_kwif
= n_kwif
.as(not null)
2537 n_kwif
.parent
= self
2538 _n_expr
= n_expr
.as(not null)
2539 n_expr
.parent
= self
2540 _n_kwthen
= n_kwthen
.as(not null)
2541 n_kwthen
.parent
= self
2542 _n_then
= n_then
.as(not null)
2543 n_then
.parent
= self
2544 _n_kwelse
= n_kwelse
.as(not null)
2545 n_kwelse
.parent
= self
2546 _n_else
= n_else
.as(not null)
2547 n_else
.parent
= self
2550 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2552 if _n_kwif
== old_child
then
2553 n_kwif
= new_child
.as(TKwif)
2556 if _n_expr
== old_child
then
2557 n_expr
= new_child
.as(AExpr)
2560 if _n_kwthen
== old_child
then
2561 n_kwthen
= new_child
.as(TKwthen)
2564 if _n_then
== old_child
then
2565 n_then
= new_child
.as(AExpr)
2568 if _n_kwelse
== old_child
then
2569 n_kwelse
= new_child
.as(TKwelse)
2572 if _n_else
== old_child
then
2573 n_else
= new_child
.as(AExpr)
2578 redef fun n_kwif
=(node
)
2583 redef fun n_expr
=(node
)
2588 redef fun n_kwthen
=(node
)
2593 redef fun n_then
=(node
)
2598 redef fun n_kwelse
=(node
)
2603 redef fun n_else
=(node
)
2610 redef fun visit_all
(v
: Visitor)
2612 v
.enter_visit
(_n_kwif
)
2613 v
.enter_visit
(_n_expr
)
2614 v
.enter_visit
(_n_kwthen
)
2615 v
.enter_visit
(_n_then
)
2616 v
.enter_visit
(_n_kwelse
)
2617 v
.enter_visit
(_n_else
)
2620 redef class AWhileExpr
2621 init init_awhileexpr
(
2622 n_kwwhile
: nullable TKwwhile,
2623 n_expr
: nullable AExpr,
2624 n_kwdo
: nullable TKwdo,
2625 n_block
: nullable AExpr,
2626 n_label
: nullable ALabel
2629 _n_kwwhile
= n_kwwhile
.as(not null)
2630 n_kwwhile
.parent
= self
2631 _n_expr
= n_expr
.as(not null)
2632 n_expr
.parent
= self
2633 _n_kwdo
= n_kwdo
.as(not null)
2634 n_kwdo
.parent
= self
2636 if n_block
!= null then n_block
.parent
= self
2638 if n_label
!= null then n_label
.parent
= self
2641 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2643 if _n_kwwhile
== old_child
then
2644 n_kwwhile
= new_child
.as(TKwwhile)
2647 if _n_expr
== old_child
then
2648 n_expr
= new_child
.as(AExpr)
2651 if _n_kwdo
== old_child
then
2652 n_kwdo
= new_child
.as(TKwdo)
2655 if _n_block
== old_child
then
2656 n_block
= new_child
.as(nullable AExpr)
2659 if _n_label
== old_child
then
2660 n_label
= new_child
.as(nullable ALabel)
2665 redef fun n_kwwhile
=(node
)
2670 redef fun n_expr
=(node
)
2675 redef fun n_kwdo
=(node
)
2680 redef fun n_block
=(node
)
2683 if node
!= null then node
.parent
= self
2685 redef fun n_label
=(node
)
2688 if node
!= null then node
.parent
= self
2692 redef fun visit_all
(v
: Visitor)
2694 v
.enter_visit
(_n_kwwhile
)
2695 v
.enter_visit
(_n_expr
)
2696 v
.enter_visit
(_n_kwdo
)
2697 v
.enter_visit
(_n_block
)
2698 v
.enter_visit
(_n_label
)
2701 redef class ALoopExpr
2702 init init_aloopexpr
(
2703 n_kwloop
: nullable TKwloop,
2704 n_block
: nullable AExpr,
2705 n_label
: nullable ALabel
2708 _n_kwloop
= n_kwloop
.as(not null)
2709 n_kwloop
.parent
= self
2711 if n_block
!= null then n_block
.parent
= self
2713 if n_label
!= null then n_label
.parent
= self
2716 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2718 if _n_kwloop
== old_child
then
2719 n_kwloop
= new_child
.as(TKwloop)
2722 if _n_block
== old_child
then
2723 n_block
= new_child
.as(nullable AExpr)
2726 if _n_label
== old_child
then
2727 n_label
= new_child
.as(nullable ALabel)
2732 redef fun n_kwloop
=(node
)
2737 redef fun n_block
=(node
)
2740 if node
!= null then node
.parent
= self
2742 redef fun n_label
=(node
)
2745 if node
!= null then node
.parent
= self
2749 redef fun visit_all
(v
: Visitor)
2751 v
.enter_visit
(_n_kwloop
)
2752 v
.enter_visit
(_n_block
)
2753 v
.enter_visit
(_n_label
)
2756 redef class AForExpr
2757 init init_aforexpr
(
2758 n_kwfor
: nullable TKwfor,
2759 n_ids
: Collection[Object], # Should be Collection[TId]
2760 n_expr
: nullable AExpr,
2761 n_kwdo
: nullable TKwdo,
2762 n_block
: nullable AExpr,
2763 n_label
: nullable ALabel
2766 _n_kwfor
= n_kwfor
.as(not null)
2767 n_kwfor
.parent
= self
2768 self.n_ids
.unsafe_add_all
(n_ids
)
2769 _n_expr
= n_expr
.as(not null)
2770 n_expr
.parent
= self
2771 _n_kwdo
= n_kwdo
.as(not null)
2772 n_kwdo
.parent
= self
2774 if n_block
!= null then n_block
.parent
= self
2776 if n_label
!= null then n_label
.parent
= self
2779 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2781 if _n_kwfor
== old_child
then
2782 n_kwfor
= new_child
.as(TKwfor)
2785 if n_ids
.replace_child
(old_child
, new_child
) then return
2786 if _n_expr
== old_child
then
2787 n_expr
= new_child
.as(AExpr)
2790 if _n_kwdo
== old_child
then
2791 n_kwdo
= new_child
.as(TKwdo)
2794 if _n_block
== old_child
then
2795 n_block
= new_child
.as(nullable AExpr)
2798 if _n_label
== old_child
then
2799 n_label
= new_child
.as(nullable ALabel)
2804 redef fun n_kwfor
=(node
)
2809 redef fun n_expr
=(node
)
2814 redef fun n_kwdo
=(node
)
2819 redef fun n_block
=(node
)
2822 if node
!= null then node
.parent
= self
2824 redef fun n_label
=(node
)
2827 if node
!= null then node
.parent
= self
2831 redef fun visit_all
(v
: Visitor)
2833 v
.enter_visit
(_n_kwfor
)
2835 v
.enter_visit
(_n_expr
)
2836 v
.enter_visit
(_n_kwdo
)
2837 v
.enter_visit
(_n_block
)
2838 v
.enter_visit
(_n_label
)
2841 redef class AAssertExpr
2842 init init_aassertexpr
(
2843 n_kwassert
: nullable TKwassert,
2845 n_expr
: nullable AExpr,
2846 n_else
: nullable AExpr
2849 _n_kwassert
= n_kwassert
.as(not null)
2850 n_kwassert
.parent
= self
2852 if n_id
!= null then n_id
.parent
= self
2853 _n_expr
= n_expr
.as(not null)
2854 n_expr
.parent
= self
2856 if n_else
!= null then n_else
.parent
= self
2859 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2861 if _n_kwassert
== old_child
then
2862 n_kwassert
= new_child
.as(TKwassert)
2865 if _n_id
== old_child
then
2866 n_id
= new_child
.as(nullable TId)
2869 if _n_expr
== old_child
then
2870 n_expr
= new_child
.as(AExpr)
2873 if _n_else
== old_child
then
2874 n_else
= new_child
.as(nullable AExpr)
2879 redef fun n_kwassert
=(node
)
2884 redef fun n_id
=(node
)
2887 if node
!= null then node
.parent
= self
2889 redef fun n_expr
=(node
)
2894 redef fun n_else
=(node
)
2897 if node
!= null then node
.parent
= self
2901 redef fun visit_all
(v
: Visitor)
2903 v
.enter_visit
(_n_kwassert
)
2904 v
.enter_visit
(_n_id
)
2905 v
.enter_visit
(_n_expr
)
2906 v
.enter_visit
(_n_else
)
2909 redef class AOnceExpr
2910 init init_aonceexpr
(
2911 n_kwonce
: nullable TKwonce,
2912 n_expr
: nullable AExpr
2915 _n_kwonce
= n_kwonce
.as(not null)
2916 n_kwonce
.parent
= self
2917 _n_expr
= n_expr
.as(not null)
2918 n_expr
.parent
= self
2921 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2923 if _n_kwonce
== old_child
then
2924 n_kwonce
= new_child
.as(TKwonce)
2927 if _n_expr
== old_child
then
2928 n_expr
= new_child
.as(AExpr)
2933 redef fun n_kwonce
=(node
)
2938 redef fun n_expr
=(node
)
2945 redef fun visit_all
(v
: Visitor)
2947 v
.enter_visit
(_n_kwonce
)
2948 v
.enter_visit
(_n_expr
)
2951 redef class ASendExpr
2952 init init_asendexpr
(
2953 n_expr
: nullable AExpr
2956 _n_expr
= n_expr
.as(not null)
2957 n_expr
.parent
= self
2960 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2962 if _n_expr
== old_child
then
2963 n_expr
= new_child
.as(AExpr)
2968 redef fun n_expr
=(node
)
2975 redef fun visit_all
(v
: Visitor)
2977 v
.enter_visit
(_n_expr
)
2980 redef class ABinopExpr
2981 init init_abinopexpr
(
2982 n_expr
: nullable AExpr,
2983 n_expr2
: nullable AExpr
2986 _n_expr
= n_expr
.as(not null)
2987 n_expr
.parent
= self
2988 _n_expr2
= n_expr2
.as(not null)
2989 n_expr2
.parent
= self
2992 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2994 if _n_expr
== old_child
then
2995 n_expr
= new_child
.as(AExpr)
2998 if _n_expr2
== old_child
then
2999 n_expr2
= new_child
.as(AExpr)
3004 redef fun n_expr
=(node
)
3009 redef fun n_expr2
=(node
)
3016 redef fun visit_all
(v
: Visitor)
3018 v
.enter_visit
(_n_expr
)
3019 v
.enter_visit
(_n_expr2
)
3024 n_expr
: nullable AExpr,
3025 n_expr2
: nullable AExpr
3028 _n_expr
= n_expr
.as(not null)
3029 n_expr
.parent
= self
3030 _n_expr2
= n_expr2
.as(not null)
3031 n_expr2
.parent
= self
3034 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3036 if _n_expr
== old_child
then
3037 n_expr
= new_child
.as(AExpr)
3040 if _n_expr2
== old_child
then
3041 n_expr2
= new_child
.as(AExpr)
3046 redef fun n_expr
=(node
)
3051 redef fun n_expr2
=(node
)
3058 redef fun visit_all
(v
: Visitor)
3060 v
.enter_visit
(_n_expr
)
3061 v
.enter_visit
(_n_expr2
)
3064 redef class AAndExpr
3065 init init_aandexpr
(
3066 n_expr
: nullable AExpr,
3067 n_expr2
: nullable AExpr
3070 _n_expr
= n_expr
.as(not null)
3071 n_expr
.parent
= self
3072 _n_expr2
= n_expr2
.as(not null)
3073 n_expr2
.parent
= self
3076 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3078 if _n_expr
== old_child
then
3079 n_expr
= new_child
.as(AExpr)
3082 if _n_expr2
== old_child
then
3083 n_expr2
= new_child
.as(AExpr)
3088 redef fun n_expr
=(node
)
3093 redef fun n_expr2
=(node
)
3100 redef fun visit_all
(v
: Visitor)
3102 v
.enter_visit
(_n_expr
)
3103 v
.enter_visit
(_n_expr2
)
3106 redef class AOrElseExpr
3107 init init_aorelseexpr
(
3108 n_expr
: nullable AExpr,
3109 n_expr2
: nullable AExpr
3112 _n_expr
= n_expr
.as(not null)
3113 n_expr
.parent
= self
3114 _n_expr2
= n_expr2
.as(not null)
3115 n_expr2
.parent
= self
3118 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3120 if _n_expr
== old_child
then
3121 n_expr
= new_child
.as(AExpr)
3124 if _n_expr2
== old_child
then
3125 n_expr2
= new_child
.as(AExpr)
3130 redef fun n_expr
=(node
)
3135 redef fun n_expr2
=(node
)
3142 redef fun visit_all
(v
: Visitor)
3144 v
.enter_visit
(_n_expr
)
3145 v
.enter_visit
(_n_expr2
)
3148 redef class AImpliesExpr
3149 init init_aimpliesexpr
(
3150 n_expr
: nullable AExpr,
3151 n_expr2
: nullable AExpr
3154 _n_expr
= n_expr
.as(not null)
3155 n_expr
.parent
= self
3156 _n_expr2
= n_expr2
.as(not null)
3157 n_expr2
.parent
= self
3160 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3162 if _n_expr
== old_child
then
3163 n_expr
= new_child
.as(AExpr)
3166 if _n_expr2
== old_child
then
3167 n_expr2
= new_child
.as(AExpr)
3172 redef fun n_expr
=(node
)
3177 redef fun n_expr2
=(node
)
3184 redef fun visit_all
(v
: Visitor)
3186 v
.enter_visit
(_n_expr
)
3187 v
.enter_visit
(_n_expr2
)
3190 redef class ANotExpr
3191 init init_anotexpr
(
3192 n_kwnot
: nullable TKwnot,
3193 n_expr
: nullable AExpr
3196 _n_kwnot
= n_kwnot
.as(not null)
3197 n_kwnot
.parent
= self
3198 _n_expr
= n_expr
.as(not null)
3199 n_expr
.parent
= self
3202 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3204 if _n_kwnot
== old_child
then
3205 n_kwnot
= new_child
.as(TKwnot)
3208 if _n_expr
== old_child
then
3209 n_expr
= new_child
.as(AExpr)
3214 redef fun n_kwnot
=(node
)
3219 redef fun n_expr
=(node
)
3226 redef fun visit_all
(v
: Visitor)
3228 v
.enter_visit
(_n_kwnot
)
3229 v
.enter_visit
(_n_expr
)
3234 n_expr
: nullable AExpr,
3235 n_expr2
: nullable AExpr
3238 _n_expr
= n_expr
.as(not null)
3239 n_expr
.parent
= self
3240 _n_expr2
= n_expr2
.as(not null)
3241 n_expr2
.parent
= self
3244 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3246 if _n_expr
== old_child
then
3247 n_expr
= new_child
.as(AExpr)
3250 if _n_expr2
== old_child
then
3251 n_expr2
= new_child
.as(AExpr)
3256 redef fun n_expr
=(node
)
3261 redef fun n_expr2
=(node
)
3268 redef fun visit_all
(v
: Visitor)
3270 v
.enter_visit
(_n_expr
)
3271 v
.enter_visit
(_n_expr2
)
3276 n_expr
: nullable AExpr,
3277 n_expr2
: nullable AExpr
3280 _n_expr
= n_expr
.as(not null)
3281 n_expr
.parent
= self
3282 _n_expr2
= n_expr2
.as(not null)
3283 n_expr2
.parent
= self
3286 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3288 if _n_expr
== old_child
then
3289 n_expr
= new_child
.as(AExpr)
3292 if _n_expr2
== old_child
then
3293 n_expr2
= new_child
.as(AExpr)
3298 redef fun n_expr
=(node
)
3303 redef fun n_expr2
=(node
)
3310 redef fun visit_all
(v
: Visitor)
3312 v
.enter_visit
(_n_expr
)
3313 v
.enter_visit
(_n_expr2
)
3318 n_expr
: nullable AExpr,
3319 n_expr2
: nullable AExpr
3322 _n_expr
= n_expr
.as(not null)
3323 n_expr
.parent
= self
3324 _n_expr2
= n_expr2
.as(not null)
3325 n_expr2
.parent
= self
3328 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3330 if _n_expr
== old_child
then
3331 n_expr
= new_child
.as(AExpr)
3334 if _n_expr2
== old_child
then
3335 n_expr2
= new_child
.as(AExpr)
3340 redef fun n_expr
=(node
)
3345 redef fun n_expr2
=(node
)
3352 redef fun visit_all
(v
: Visitor)
3354 v
.enter_visit
(_n_expr
)
3355 v
.enter_visit
(_n_expr2
)
3360 n_expr
: nullable AExpr,
3361 n_expr2
: nullable AExpr
3364 _n_expr
= n_expr
.as(not null)
3365 n_expr
.parent
= self
3366 _n_expr2
= n_expr2
.as(not null)
3367 n_expr2
.parent
= self
3370 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3372 if _n_expr
== old_child
then
3373 n_expr
= new_child
.as(AExpr)
3376 if _n_expr2
== old_child
then
3377 n_expr2
= new_child
.as(AExpr)
3382 redef fun n_expr
=(node
)
3387 redef fun n_expr2
=(node
)
3394 redef fun visit_all
(v
: Visitor)
3396 v
.enter_visit
(_n_expr
)
3397 v
.enter_visit
(_n_expr2
)
3402 n_expr
: nullable AExpr,
3403 n_expr2
: nullable AExpr
3406 _n_expr
= n_expr
.as(not null)
3407 n_expr
.parent
= self
3408 _n_expr2
= n_expr2
.as(not null)
3409 n_expr2
.parent
= self
3412 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3414 if _n_expr
== old_child
then
3415 n_expr
= new_child
.as(AExpr)
3418 if _n_expr2
== old_child
then
3419 n_expr2
= new_child
.as(AExpr)
3424 redef fun n_expr
=(node
)
3429 redef fun n_expr2
=(node
)
3436 redef fun visit_all
(v
: Visitor)
3438 v
.enter_visit
(_n_expr
)
3439 v
.enter_visit
(_n_expr2
)
3444 n_expr
: nullable AExpr,
3445 n_expr2
: nullable AExpr
3448 _n_expr
= n_expr
.as(not null)
3449 n_expr
.parent
= self
3450 _n_expr2
= n_expr2
.as(not null)
3451 n_expr2
.parent
= self
3454 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3456 if _n_expr
== old_child
then
3457 n_expr
= new_child
.as(AExpr)
3460 if _n_expr2
== old_child
then
3461 n_expr2
= new_child
.as(AExpr)
3466 redef fun n_expr
=(node
)
3471 redef fun n_expr2
=(node
)
3478 redef fun visit_all
(v
: Visitor)
3480 v
.enter_visit
(_n_expr
)
3481 v
.enter_visit
(_n_expr2
)
3486 n_expr
: nullable AExpr,
3487 n_expr2
: nullable AExpr
3490 _n_expr
= n_expr
.as(not null)
3491 n_expr
.parent
= self
3492 _n_expr2
= n_expr2
.as(not null)
3493 n_expr2
.parent
= self
3496 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3498 if _n_expr
== old_child
then
3499 n_expr
= new_child
.as(AExpr)
3502 if _n_expr2
== old_child
then
3503 n_expr2
= new_child
.as(AExpr)
3508 redef fun n_expr
=(node
)
3513 redef fun n_expr2
=(node
)
3520 redef fun visit_all
(v
: Visitor)
3522 v
.enter_visit
(_n_expr
)
3523 v
.enter_visit
(_n_expr2
)
3528 n_expr
: nullable AExpr,
3529 n_expr2
: nullable AExpr
3532 _n_expr
= n_expr
.as(not null)
3533 n_expr
.parent
= self
3534 _n_expr2
= n_expr2
.as(not null)
3535 n_expr2
.parent
= self
3538 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3540 if _n_expr
== old_child
then
3541 n_expr
= new_child
.as(AExpr)
3544 if _n_expr2
== old_child
then
3545 n_expr2
= new_child
.as(AExpr)
3550 redef fun n_expr
=(node
)
3555 redef fun n_expr2
=(node
)
3562 redef fun visit_all
(v
: Visitor)
3564 v
.enter_visit
(_n_expr
)
3565 v
.enter_visit
(_n_expr2
)
3568 redef class AIsaExpr
3569 init init_aisaexpr
(
3570 n_expr
: nullable AExpr,
3571 n_type
: nullable AType
3574 _n_expr
= n_expr
.as(not null)
3575 n_expr
.parent
= self
3576 _n_type
= n_type
.as(not null)
3577 n_type
.parent
= self
3580 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3582 if _n_expr
== old_child
then
3583 n_expr
= new_child
.as(AExpr)
3586 if _n_type
== old_child
then
3587 n_type
= new_child
.as(AType)
3592 redef fun n_expr
=(node
)
3597 redef fun n_type
=(node
)
3604 redef fun visit_all
(v
: Visitor)
3606 v
.enter_visit
(_n_expr
)
3607 v
.enter_visit
(_n_type
)
3610 redef class APlusExpr
3611 init init_aplusexpr
(
3612 n_expr
: nullable AExpr,
3613 n_expr2
: nullable AExpr
3616 _n_expr
= n_expr
.as(not null)
3617 n_expr
.parent
= self
3618 _n_expr2
= n_expr2
.as(not null)
3619 n_expr2
.parent
= self
3622 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3624 if _n_expr
== old_child
then
3625 n_expr
= new_child
.as(AExpr)
3628 if _n_expr2
== old_child
then
3629 n_expr2
= new_child
.as(AExpr)
3634 redef fun n_expr
=(node
)
3639 redef fun n_expr2
=(node
)
3646 redef fun visit_all
(v
: Visitor)
3648 v
.enter_visit
(_n_expr
)
3649 v
.enter_visit
(_n_expr2
)
3652 redef class AMinusExpr
3653 init init_aminusexpr
(
3654 n_expr
: nullable AExpr,
3655 n_expr2
: nullable AExpr
3658 _n_expr
= n_expr
.as(not null)
3659 n_expr
.parent
= self
3660 _n_expr2
= n_expr2
.as(not null)
3661 n_expr2
.parent
= self
3664 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3666 if _n_expr
== old_child
then
3667 n_expr
= new_child
.as(AExpr)
3670 if _n_expr2
== old_child
then
3671 n_expr2
= new_child
.as(AExpr)
3676 redef fun n_expr
=(node
)
3681 redef fun n_expr2
=(node
)
3688 redef fun visit_all
(v
: Visitor)
3690 v
.enter_visit
(_n_expr
)
3691 v
.enter_visit
(_n_expr2
)
3694 redef class AStarshipExpr
3695 init init_astarshipexpr
(
3696 n_expr
: nullable AExpr,
3697 n_expr2
: nullable AExpr
3700 _n_expr
= n_expr
.as(not null)
3701 n_expr
.parent
= self
3702 _n_expr2
= n_expr2
.as(not null)
3703 n_expr2
.parent
= self
3706 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3708 if _n_expr
== old_child
then
3709 n_expr
= new_child
.as(AExpr)
3712 if _n_expr2
== old_child
then
3713 n_expr2
= new_child
.as(AExpr)
3718 redef fun n_expr
=(node
)
3723 redef fun n_expr2
=(node
)
3730 redef fun visit_all
(v
: Visitor)
3732 v
.enter_visit
(_n_expr
)
3733 v
.enter_visit
(_n_expr2
)
3736 redef class AStarExpr
3737 init init_astarexpr
(
3738 n_expr
: nullable AExpr,
3739 n_expr2
: nullable AExpr
3742 _n_expr
= n_expr
.as(not null)
3743 n_expr
.parent
= self
3744 _n_expr2
= n_expr2
.as(not null)
3745 n_expr2
.parent
= self
3748 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3750 if _n_expr
== old_child
then
3751 n_expr
= new_child
.as(AExpr)
3754 if _n_expr2
== old_child
then
3755 n_expr2
= new_child
.as(AExpr)
3760 redef fun n_expr
=(node
)
3765 redef fun n_expr2
=(node
)
3772 redef fun visit_all
(v
: Visitor)
3774 v
.enter_visit
(_n_expr
)
3775 v
.enter_visit
(_n_expr2
)
3778 redef class AStarstarExpr
3779 init init_astarstarexpr
(
3780 n_expr
: nullable AExpr,
3781 n_expr2
: nullable AExpr
3784 _n_expr
= n_expr
.as(not null)
3785 n_expr
.parent
= self
3786 _n_expr2
= n_expr2
.as(not null)
3787 n_expr2
.parent
= self
3790 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3792 if _n_expr
== old_child
then
3793 n_expr
= new_child
.as(AExpr)
3796 if _n_expr2
== old_child
then
3797 n_expr2
= new_child
.as(AExpr)
3802 redef fun n_expr
=(node
)
3807 redef fun n_expr2
=(node
)
3814 redef fun visit_all
(v
: Visitor)
3816 v
.enter_visit
(_n_expr
)
3817 v
.enter_visit
(_n_expr2
)
3820 redef class ASlashExpr
3821 init init_aslashexpr
(
3822 n_expr
: nullable AExpr,
3823 n_expr2
: nullable AExpr
3826 _n_expr
= n_expr
.as(not null)
3827 n_expr
.parent
= self
3828 _n_expr2
= n_expr2
.as(not null)
3829 n_expr2
.parent
= self
3832 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3834 if _n_expr
== old_child
then
3835 n_expr
= new_child
.as(AExpr)
3838 if _n_expr2
== old_child
then
3839 n_expr2
= new_child
.as(AExpr)
3844 redef fun n_expr
=(node
)
3849 redef fun n_expr2
=(node
)
3856 redef fun visit_all
(v
: Visitor)
3858 v
.enter_visit
(_n_expr
)
3859 v
.enter_visit
(_n_expr2
)
3862 redef class APercentExpr
3863 init init_apercentexpr
(
3864 n_expr
: nullable AExpr,
3865 n_expr2
: nullable AExpr
3868 _n_expr
= n_expr
.as(not null)
3869 n_expr
.parent
= self
3870 _n_expr2
= n_expr2
.as(not null)
3871 n_expr2
.parent
= self
3874 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3876 if _n_expr
== old_child
then
3877 n_expr
= new_child
.as(AExpr)
3880 if _n_expr2
== old_child
then
3881 n_expr2
= new_child
.as(AExpr)
3886 redef fun n_expr
=(node
)
3891 redef fun n_expr2
=(node
)
3898 redef fun visit_all
(v
: Visitor)
3900 v
.enter_visit
(_n_expr
)
3901 v
.enter_visit
(_n_expr2
)
3904 redef class AUminusExpr
3905 init init_auminusexpr
(
3906 n_minus
: nullable TMinus,
3907 n_expr
: nullable AExpr
3910 _n_minus
= n_minus
.as(not null)
3911 n_minus
.parent
= self
3912 _n_expr
= n_expr
.as(not null)
3913 n_expr
.parent
= self
3916 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3918 if _n_minus
== old_child
then
3919 n_minus
= new_child
.as(TMinus)
3922 if _n_expr
== old_child
then
3923 n_expr
= new_child
.as(AExpr)
3928 redef fun n_minus
=(node
)
3933 redef fun n_expr
=(node
)
3940 redef fun visit_all
(v
: Visitor)
3942 v
.enter_visit
(_n_minus
)
3943 v
.enter_visit
(_n_expr
)
3946 redef class ANewExpr
3947 init init_anewexpr
(
3948 n_kwnew
: nullable TKwnew,
3949 n_type
: nullable AType,
3951 n_args
: nullable AExprs
3954 _n_kwnew
= n_kwnew
.as(not null)
3955 n_kwnew
.parent
= self
3956 _n_type
= n_type
.as(not null)
3957 n_type
.parent
= self
3959 if n_id
!= null then n_id
.parent
= self
3960 _n_args
= n_args
.as(not null)
3961 n_args
.parent
= self
3964 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3966 if _n_kwnew
== old_child
then
3967 n_kwnew
= new_child
.as(TKwnew)
3970 if _n_type
== old_child
then
3971 n_type
= new_child
.as(AType)
3974 if _n_id
== old_child
then
3975 n_id
= new_child
.as(nullable TId)
3978 if _n_args
== old_child
then
3979 n_args
= new_child
.as(AExprs)
3984 redef fun n_kwnew
=(node
)
3989 redef fun n_type
=(node
)
3994 redef fun n_id
=(node
)
3997 if node
!= null then node
.parent
= self
3999 redef fun n_args
=(node
)
4006 redef fun visit_all
(v
: Visitor)
4008 v
.enter_visit
(_n_kwnew
)
4009 v
.enter_visit
(_n_type
)
4010 v
.enter_visit
(_n_id
)
4011 v
.enter_visit
(_n_args
)
4014 redef class AAttrExpr
4015 init init_aattrexpr
(
4016 n_expr
: nullable AExpr,
4017 n_id
: nullable TAttrid
4020 _n_expr
= n_expr
.as(not null)
4021 n_expr
.parent
= self
4022 _n_id
= n_id
.as(not null)
4026 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4028 if _n_expr
== old_child
then
4029 n_expr
= new_child
.as(AExpr)
4032 if _n_id
== old_child
then
4033 n_id
= new_child
.as(TAttrid)
4038 redef fun n_expr
=(node
)
4043 redef fun n_id
=(node
)
4050 redef fun visit_all
(v
: Visitor)
4052 v
.enter_visit
(_n_expr
)
4053 v
.enter_visit
(_n_id
)
4056 redef class AAttrAssignExpr
4057 init init_aattrassignexpr
(
4058 n_expr
: nullable AExpr,
4059 n_id
: nullable TAttrid,
4060 n_assign
: nullable TAssign,
4061 n_value
: nullable AExpr
4064 _n_expr
= n_expr
.as(not null)
4065 n_expr
.parent
= self
4066 _n_id
= n_id
.as(not null)
4068 _n_assign
= n_assign
.as(not null)
4069 n_assign
.parent
= self
4070 _n_value
= n_value
.as(not null)
4071 n_value
.parent
= self
4074 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4076 if _n_expr
== old_child
then
4077 n_expr
= new_child
.as(AExpr)
4080 if _n_id
== old_child
then
4081 n_id
= new_child
.as(TAttrid)
4084 if _n_assign
== old_child
then
4085 n_assign
= new_child
.as(TAssign)
4088 if _n_value
== old_child
then
4089 n_value
= new_child
.as(AExpr)
4094 redef fun n_expr
=(node
)
4099 redef fun n_id
=(node
)
4104 redef fun n_assign
=(node
)
4109 redef fun n_value
=(node
)
4116 redef fun visit_all
(v
: Visitor)
4118 v
.enter_visit
(_n_expr
)
4119 v
.enter_visit
(_n_id
)
4120 v
.enter_visit
(_n_assign
)
4121 v
.enter_visit
(_n_value
)
4124 redef class AAttrReassignExpr
4125 init init_aattrreassignexpr
(
4126 n_expr
: nullable AExpr,
4127 n_id
: nullable TAttrid,
4128 n_assign_op
: nullable AAssignOp,
4129 n_value
: nullable AExpr
4132 _n_expr
= n_expr
.as(not null)
4133 n_expr
.parent
= self
4134 _n_id
= n_id
.as(not null)
4136 _n_assign_op
= n_assign_op
.as(not null)
4137 n_assign_op
.parent
= self
4138 _n_value
= n_value
.as(not null)
4139 n_value
.parent
= self
4142 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4144 if _n_expr
== old_child
then
4145 n_expr
= new_child
.as(AExpr)
4148 if _n_id
== old_child
then
4149 n_id
= new_child
.as(TAttrid)
4152 if _n_assign_op
== old_child
then
4153 n_assign_op
= new_child
.as(AAssignOp)
4156 if _n_value
== old_child
then
4157 n_value
= new_child
.as(AExpr)
4162 redef fun n_expr
=(node
)
4167 redef fun n_id
=(node
)
4172 redef fun n_assign_op
=(node
)
4177 redef fun n_value
=(node
)
4184 redef fun visit_all
(v
: Visitor)
4186 v
.enter_visit
(_n_expr
)
4187 v
.enter_visit
(_n_id
)
4188 v
.enter_visit
(_n_assign_op
)
4189 v
.enter_visit
(_n_value
)
4192 redef class ACallExpr
4193 init init_acallexpr
(
4194 n_expr
: nullable AExpr,
4196 n_args
: nullable AExprs
4199 _n_expr
= n_expr
.as(not null)
4200 n_expr
.parent
= self
4201 _n_id
= n_id
.as(not null)
4203 _n_args
= n_args
.as(not null)
4204 n_args
.parent
= self
4207 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4209 if _n_expr
== old_child
then
4210 n_expr
= new_child
.as(AExpr)
4213 if _n_id
== old_child
then
4214 n_id
= new_child
.as(TId)
4217 if _n_args
== old_child
then
4218 n_args
= new_child
.as(AExprs)
4223 redef fun n_expr
=(node
)
4228 redef fun n_id
=(node
)
4233 redef fun n_args
=(node
)
4240 redef fun visit_all
(v
: Visitor)
4242 v
.enter_visit
(_n_expr
)
4243 v
.enter_visit
(_n_id
)
4244 v
.enter_visit
(_n_args
)
4247 redef class ACallAssignExpr
4248 init init_acallassignexpr
(
4249 n_expr
: nullable AExpr,
4251 n_args
: nullable AExprs,
4252 n_assign
: nullable TAssign,
4253 n_value
: nullable AExpr
4256 _n_expr
= n_expr
.as(not null)
4257 n_expr
.parent
= self
4258 _n_id
= n_id
.as(not null)
4260 _n_args
= n_args
.as(not null)
4261 n_args
.parent
= self
4262 _n_assign
= n_assign
.as(not null)
4263 n_assign
.parent
= self
4264 _n_value
= n_value
.as(not null)
4265 n_value
.parent
= self
4268 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4270 if _n_expr
== old_child
then
4271 n_expr
= new_child
.as(AExpr)
4274 if _n_id
== old_child
then
4275 n_id
= new_child
.as(TId)
4278 if _n_args
== old_child
then
4279 n_args
= new_child
.as(AExprs)
4282 if _n_assign
== old_child
then
4283 n_assign
= new_child
.as(TAssign)
4286 if _n_value
== old_child
then
4287 n_value
= new_child
.as(AExpr)
4292 redef fun n_expr
=(node
)
4297 redef fun n_id
=(node
)
4302 redef fun n_args
=(node
)
4307 redef fun n_assign
=(node
)
4312 redef fun n_value
=(node
)
4319 redef fun visit_all
(v
: Visitor)
4321 v
.enter_visit
(_n_expr
)
4322 v
.enter_visit
(_n_id
)
4323 v
.enter_visit
(_n_args
)
4324 v
.enter_visit
(_n_assign
)
4325 v
.enter_visit
(_n_value
)
4328 redef class ACallReassignExpr
4329 init init_acallreassignexpr
(
4330 n_expr
: nullable AExpr,
4332 n_args
: nullable AExprs,
4333 n_assign_op
: nullable AAssignOp,
4334 n_value
: nullable AExpr
4337 _n_expr
= n_expr
.as(not null)
4338 n_expr
.parent
= self
4339 _n_id
= n_id
.as(not null)
4341 _n_args
= n_args
.as(not null)
4342 n_args
.parent
= self
4343 _n_assign_op
= n_assign_op
.as(not null)
4344 n_assign_op
.parent
= self
4345 _n_value
= n_value
.as(not null)
4346 n_value
.parent
= self
4349 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4351 if _n_expr
== old_child
then
4352 n_expr
= new_child
.as(AExpr)
4355 if _n_id
== old_child
then
4356 n_id
= new_child
.as(TId)
4359 if _n_args
== old_child
then
4360 n_args
= new_child
.as(AExprs)
4363 if _n_assign_op
== old_child
then
4364 n_assign_op
= new_child
.as(AAssignOp)
4367 if _n_value
== old_child
then
4368 n_value
= new_child
.as(AExpr)
4373 redef fun n_expr
=(node
)
4378 redef fun n_id
=(node
)
4383 redef fun n_args
=(node
)
4388 redef fun n_assign_op
=(node
)
4393 redef fun n_value
=(node
)
4400 redef fun visit_all
(v
: Visitor)
4402 v
.enter_visit
(_n_expr
)
4403 v
.enter_visit
(_n_id
)
4404 v
.enter_visit
(_n_args
)
4405 v
.enter_visit
(_n_assign_op
)
4406 v
.enter_visit
(_n_value
)
4409 redef class ASuperExpr
4410 init init_asuperexpr
(
4411 n_qualified
: nullable AQualified,
4412 n_kwsuper
: nullable TKwsuper,
4413 n_args
: nullable AExprs
4416 _n_qualified
= n_qualified
4417 if n_qualified
!= null then n_qualified
.parent
= self
4418 _n_kwsuper
= n_kwsuper
.as(not null)
4419 n_kwsuper
.parent
= self
4420 _n_args
= n_args
.as(not null)
4421 n_args
.parent
= self
4424 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4426 if _n_qualified
== old_child
then
4427 n_qualified
= new_child
.as(nullable AQualified)
4430 if _n_kwsuper
== old_child
then
4431 n_kwsuper
= new_child
.as(TKwsuper)
4434 if _n_args
== old_child
then
4435 n_args
= new_child
.as(AExprs)
4440 redef fun n_qualified
=(node
)
4443 if node
!= null then node
.parent
= self
4445 redef fun n_kwsuper
=(node
)
4450 redef fun n_args
=(node
)
4457 redef fun visit_all
(v
: Visitor)
4459 v
.enter_visit
(_n_qualified
)
4460 v
.enter_visit
(_n_kwsuper
)
4461 v
.enter_visit
(_n_args
)
4464 redef class AInitExpr
4465 init init_ainitexpr
(
4466 n_expr
: nullable AExpr,
4467 n_kwinit
: nullable TKwinit,
4468 n_args
: nullable AExprs
4471 _n_expr
= n_expr
.as(not null)
4472 n_expr
.parent
= self
4473 _n_kwinit
= n_kwinit
.as(not null)
4474 n_kwinit
.parent
= self
4475 _n_args
= n_args
.as(not null)
4476 n_args
.parent
= self
4479 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4481 if _n_expr
== old_child
then
4482 n_expr
= new_child
.as(AExpr)
4485 if _n_kwinit
== old_child
then
4486 n_kwinit
= new_child
.as(TKwinit)
4489 if _n_args
== old_child
then
4490 n_args
= new_child
.as(AExprs)
4495 redef fun n_expr
=(node
)
4500 redef fun n_kwinit
=(node
)
4505 redef fun n_args
=(node
)
4512 redef fun visit_all
(v
: Visitor)
4514 v
.enter_visit
(_n_expr
)
4515 v
.enter_visit
(_n_kwinit
)
4516 v
.enter_visit
(_n_args
)
4519 redef class ABraExpr
4520 init init_abraexpr
(
4521 n_expr
: nullable AExpr,
4522 n_args
: nullable AExprs
4525 _n_expr
= n_expr
.as(not null)
4526 n_expr
.parent
= self
4527 _n_args
= n_args
.as(not null)
4528 n_args
.parent
= self
4531 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4533 if _n_expr
== old_child
then
4534 n_expr
= new_child
.as(AExpr)
4537 if _n_args
== old_child
then
4538 n_args
= new_child
.as(AExprs)
4543 redef fun n_expr
=(node
)
4548 redef fun n_args
=(node
)
4555 redef fun visit_all
(v
: Visitor)
4557 v
.enter_visit
(_n_expr
)
4558 v
.enter_visit
(_n_args
)
4561 redef class ABraAssignExpr
4562 init init_abraassignexpr
(
4563 n_expr
: nullable AExpr,
4564 n_args
: nullable AExprs,
4565 n_assign
: nullable TAssign,
4566 n_value
: nullable AExpr
4569 _n_expr
= n_expr
.as(not null)
4570 n_expr
.parent
= self
4571 _n_args
= n_args
.as(not null)
4572 n_args
.parent
= self
4573 _n_assign
= n_assign
.as(not null)
4574 n_assign
.parent
= self
4575 _n_value
= n_value
.as(not null)
4576 n_value
.parent
= self
4579 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4581 if _n_expr
== old_child
then
4582 n_expr
= new_child
.as(AExpr)
4585 if _n_args
== old_child
then
4586 n_args
= new_child
.as(AExprs)
4589 if _n_assign
== old_child
then
4590 n_assign
= new_child
.as(TAssign)
4593 if _n_value
== old_child
then
4594 n_value
= new_child
.as(AExpr)
4599 redef fun n_expr
=(node
)
4604 redef fun n_args
=(node
)
4609 redef fun n_assign
=(node
)
4614 redef fun n_value
=(node
)
4621 redef fun visit_all
(v
: Visitor)
4623 v
.enter_visit
(_n_expr
)
4624 v
.enter_visit
(_n_args
)
4625 v
.enter_visit
(_n_assign
)
4626 v
.enter_visit
(_n_value
)
4629 redef class ABraReassignExpr
4630 init init_abrareassignexpr
(
4631 n_expr
: nullable AExpr,
4632 n_args
: nullable AExprs,
4633 n_assign_op
: nullable AAssignOp,
4634 n_value
: nullable AExpr
4637 _n_expr
= n_expr
.as(not null)
4638 n_expr
.parent
= self
4639 _n_args
= n_args
.as(not null)
4640 n_args
.parent
= self
4641 _n_assign_op
= n_assign_op
.as(not null)
4642 n_assign_op
.parent
= self
4643 _n_value
= n_value
.as(not null)
4644 n_value
.parent
= self
4647 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4649 if _n_expr
== old_child
then
4650 n_expr
= new_child
.as(AExpr)
4653 if _n_args
== old_child
then
4654 n_args
= new_child
.as(AExprs)
4657 if _n_assign_op
== old_child
then
4658 n_assign_op
= new_child
.as(AAssignOp)
4661 if _n_value
== old_child
then
4662 n_value
= new_child
.as(AExpr)
4667 redef fun n_expr
=(node
)
4672 redef fun n_args
=(node
)
4677 redef fun n_assign_op
=(node
)
4682 redef fun n_value
=(node
)
4689 redef fun visit_all
(v
: Visitor)
4691 v
.enter_visit
(_n_expr
)
4692 v
.enter_visit
(_n_args
)
4693 v
.enter_visit
(_n_assign_op
)
4694 v
.enter_visit
(_n_value
)
4697 redef class AVarExpr
4698 init init_avarexpr
(
4702 _n_id
= n_id
.as(not null)
4706 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4708 if _n_id
== old_child
then
4709 n_id
= new_child
.as(TId)
4714 redef fun n_id
=(node
)
4721 redef fun visit_all
(v
: Visitor)
4723 v
.enter_visit
(_n_id
)
4726 redef class AVarAssignExpr
4727 init init_avarassignexpr
(
4729 n_assign
: nullable TAssign,
4730 n_value
: nullable AExpr
4733 _n_id
= n_id
.as(not null)
4735 _n_assign
= n_assign
.as(not null)
4736 n_assign
.parent
= self
4737 _n_value
= n_value
.as(not null)
4738 n_value
.parent
= self
4741 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4743 if _n_id
== old_child
then
4744 n_id
= new_child
.as(TId)
4747 if _n_assign
== old_child
then
4748 n_assign
= new_child
.as(TAssign)
4751 if _n_value
== old_child
then
4752 n_value
= new_child
.as(AExpr)
4757 redef fun n_id
=(node
)
4762 redef fun n_assign
=(node
)
4767 redef fun n_value
=(node
)
4774 redef fun visit_all
(v
: Visitor)
4776 v
.enter_visit
(_n_id
)
4777 v
.enter_visit
(_n_assign
)
4778 v
.enter_visit
(_n_value
)
4781 redef class AVarReassignExpr
4782 init init_avarreassignexpr
(
4784 n_assign_op
: nullable AAssignOp,
4785 n_value
: nullable AExpr
4788 _n_id
= n_id
.as(not null)
4790 _n_assign_op
= n_assign_op
.as(not null)
4791 n_assign_op
.parent
= self
4792 _n_value
= n_value
.as(not null)
4793 n_value
.parent
= self
4796 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4798 if _n_id
== old_child
then
4799 n_id
= new_child
.as(TId)
4802 if _n_assign_op
== old_child
then
4803 n_assign_op
= new_child
.as(AAssignOp)
4806 if _n_value
== old_child
then
4807 n_value
= new_child
.as(AExpr)
4812 redef fun n_id
=(node
)
4817 redef fun n_assign_op
=(node
)
4822 redef fun n_value
=(node
)
4829 redef fun visit_all
(v
: Visitor)
4831 v
.enter_visit
(_n_id
)
4832 v
.enter_visit
(_n_assign_op
)
4833 v
.enter_visit
(_n_value
)
4836 redef class ARangeExpr
4837 init init_arangeexpr
(
4838 n_expr
: nullable AExpr,
4839 n_expr2
: nullable AExpr,
4840 n_annotations
: nullable AAnnotations
4843 _n_expr
= n_expr
.as(not null)
4844 n_expr
.parent
= self
4845 _n_expr2
= n_expr2
.as(not null)
4846 n_expr2
.parent
= self
4847 _n_annotations
= n_annotations
4848 if n_annotations
!= null then n_annotations
.parent
= self
4851 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4853 if _n_expr
== old_child
then
4854 n_expr
= new_child
.as(AExpr)
4857 if _n_expr2
== old_child
then
4858 n_expr2
= new_child
.as(AExpr)
4861 if _n_annotations
== old_child
then
4862 n_annotations
= new_child
.as(nullable AAnnotations)
4867 redef fun n_expr
=(node
)
4872 redef fun n_expr2
=(node
)
4877 redef fun n_annotations
=(node
)
4879 _n_annotations
= node
4880 if node
!= null then node
.parent
= self
4884 redef fun visit_all
(v
: Visitor)
4886 v
.enter_visit
(_n_expr
)
4887 v
.enter_visit
(_n_expr2
)
4888 v
.enter_visit
(_n_annotations
)
4891 redef class ACrangeExpr
4892 init init_acrangeexpr
(
4893 n_obra
: nullable TObra,
4894 n_expr
: nullable AExpr,
4895 n_expr2
: nullable AExpr,
4896 n_cbra
: nullable TCbra,
4897 n_annotations
: nullable AAnnotations
4900 _n_obra
= n_obra
.as(not null)
4901 n_obra
.parent
= self
4902 _n_expr
= n_expr
.as(not null)
4903 n_expr
.parent
= self
4904 _n_expr2
= n_expr2
.as(not null)
4905 n_expr2
.parent
= self
4906 _n_cbra
= n_cbra
.as(not null)
4907 n_cbra
.parent
= self
4908 _n_annotations
= n_annotations
4909 if n_annotations
!= null then n_annotations
.parent
= self
4912 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4914 if _n_obra
== old_child
then
4915 n_obra
= new_child
.as(TObra)
4918 if _n_expr
== old_child
then
4919 n_expr
= new_child
.as(AExpr)
4922 if _n_expr2
== old_child
then
4923 n_expr2
= new_child
.as(AExpr)
4926 if _n_cbra
== old_child
then
4927 n_cbra
= new_child
.as(TCbra)
4930 if _n_annotations
== old_child
then
4931 n_annotations
= new_child
.as(nullable AAnnotations)
4936 redef fun n_obra
=(node
)
4941 redef fun n_expr
=(node
)
4946 redef fun n_expr2
=(node
)
4951 redef fun n_cbra
=(node
)
4956 redef fun n_annotations
=(node
)
4958 _n_annotations
= node
4959 if node
!= null then node
.parent
= self
4963 redef fun visit_all
(v
: Visitor)
4965 v
.enter_visit
(_n_obra
)
4966 v
.enter_visit
(_n_expr
)
4967 v
.enter_visit
(_n_expr2
)
4968 v
.enter_visit
(_n_cbra
)
4969 v
.enter_visit
(_n_annotations
)
4972 redef class AOrangeExpr
4973 init init_aorangeexpr
(
4974 n_obra
: nullable TObra,
4975 n_expr
: nullable AExpr,
4976 n_expr2
: nullable AExpr,
4977 n_cbra
: nullable TObra,
4978 n_annotations
: nullable AAnnotations
4981 _n_obra
= n_obra
.as(not null)
4982 n_obra
.parent
= self
4983 _n_expr
= n_expr
.as(not null)
4984 n_expr
.parent
= self
4985 _n_expr2
= n_expr2
.as(not null)
4986 n_expr2
.parent
= self
4987 _n_cbra
= n_cbra
.as(not null)
4988 n_cbra
.parent
= self
4989 _n_annotations
= n_annotations
4990 if n_annotations
!= null then n_annotations
.parent
= self
4993 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4995 if _n_obra
== old_child
then
4996 n_obra
= new_child
.as(TObra)
4999 if _n_expr
== old_child
then
5000 n_expr
= new_child
.as(AExpr)
5003 if _n_expr2
== old_child
then
5004 n_expr2
= new_child
.as(AExpr)
5007 if _n_cbra
== old_child
then
5008 n_cbra
= new_child
.as(TObra)
5011 if _n_annotations
== old_child
then
5012 n_annotations
= new_child
.as(nullable AAnnotations)
5017 redef fun n_obra
=(node
)
5022 redef fun n_expr
=(node
)
5027 redef fun n_expr2
=(node
)
5032 redef fun n_cbra
=(node
)
5037 redef fun n_annotations
=(node
)
5039 _n_annotations
= node
5040 if node
!= null then node
.parent
= self
5044 redef fun visit_all
(v
: Visitor)
5046 v
.enter_visit
(_n_obra
)
5047 v
.enter_visit
(_n_expr
)
5048 v
.enter_visit
(_n_expr2
)
5049 v
.enter_visit
(_n_cbra
)
5050 v
.enter_visit
(_n_annotations
)
5053 redef class AArrayExpr
5054 init init_aarrayexpr
(
5055 n_obra
: nullable TObra,
5056 n_exprs
: nullable AExprs,
5057 n_type
: nullable AType,
5058 n_cbra
: nullable TCbra,
5059 n_annotations
: nullable AAnnotations
5062 _n_obra
= n_obra
.as(not null)
5063 n_obra
.parent
= self
5064 _n_exprs
= n_exprs
.as(not null)
5065 n_exprs
.parent
= self
5067 if n_type
!= null then n_type
.parent
= self
5068 _n_cbra
= n_cbra
.as(not null)
5069 n_cbra
.parent
= self
5070 _n_annotations
= n_annotations
5071 if n_annotations
!= null then n_annotations
.parent
= self
5074 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5076 if _n_obra
== old_child
then
5077 n_obra
= new_child
.as(TObra)
5080 if _n_exprs
== old_child
then
5081 n_exprs
= new_child
.as(AExprs)
5084 if _n_type
== old_child
then
5085 n_type
= new_child
.as(nullable AType)
5088 if _n_cbra
== old_child
then
5089 n_cbra
= new_child
.as(TCbra)
5092 if _n_annotations
== old_child
then
5093 n_annotations
= new_child
.as(nullable AAnnotations)
5098 redef fun n_obra
=(node
)
5103 redef fun n_exprs
=(node
)
5108 redef fun n_type
=(node
)
5111 if node
!= null then node
.parent
= self
5113 redef fun n_cbra
=(node
)
5118 redef fun n_annotations
=(node
)
5120 _n_annotations
= node
5121 if node
!= null then node
.parent
= self
5125 redef fun visit_all
(v
: Visitor)
5127 v
.enter_visit
(_n_obra
)
5128 v
.enter_visit
(_n_exprs
)
5129 v
.enter_visit
(_n_type
)
5130 v
.enter_visit
(_n_cbra
)
5131 v
.enter_visit
(_n_annotations
)
5134 redef class ASelfExpr
5135 init init_aselfexpr
(
5136 n_kwself
: nullable TKwself,
5137 n_annotations
: nullable AAnnotations
5140 _n_kwself
= n_kwself
.as(not null)
5141 n_kwself
.parent
= self
5142 _n_annotations
= n_annotations
5143 if n_annotations
!= null then n_annotations
.parent
= self
5146 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5148 if _n_kwself
== old_child
then
5149 n_kwself
= new_child
.as(TKwself)
5152 if _n_annotations
== old_child
then
5153 n_annotations
= new_child
.as(nullable AAnnotations)
5158 redef fun n_kwself
=(node
)
5163 redef fun n_annotations
=(node
)
5165 _n_annotations
= node
5166 if node
!= null then node
.parent
= self
5170 redef fun visit_all
(v
: Visitor)
5172 v
.enter_visit
(_n_kwself
)
5173 v
.enter_visit
(_n_annotations
)
5176 redef class AImplicitSelfExpr
5177 init init_aimplicitselfexpr
5181 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5187 redef fun visit_all
(v
: Visitor)
5191 redef class ATrueExpr
5192 init init_atrueexpr
(
5193 n_kwtrue
: nullable TKwtrue,
5194 n_annotations
: nullable AAnnotations
5197 _n_kwtrue
= n_kwtrue
.as(not null)
5198 n_kwtrue
.parent
= self
5199 _n_annotations
= n_annotations
5200 if n_annotations
!= null then n_annotations
.parent
= self
5203 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5205 if _n_kwtrue
== old_child
then
5206 n_kwtrue
= new_child
.as(TKwtrue)
5209 if _n_annotations
== old_child
then
5210 n_annotations
= new_child
.as(nullable AAnnotations)
5215 redef fun n_kwtrue
=(node
)
5220 redef fun n_annotations
=(node
)
5222 _n_annotations
= node
5223 if node
!= null then node
.parent
= self
5227 redef fun visit_all
(v
: Visitor)
5229 v
.enter_visit
(_n_kwtrue
)
5230 v
.enter_visit
(_n_annotations
)
5233 redef class AFalseExpr
5234 init init_afalseexpr
(
5235 n_kwfalse
: nullable TKwfalse,
5236 n_annotations
: nullable AAnnotations
5239 _n_kwfalse
= n_kwfalse
.as(not null)
5240 n_kwfalse
.parent
= self
5241 _n_annotations
= n_annotations
5242 if n_annotations
!= null then n_annotations
.parent
= self
5245 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5247 if _n_kwfalse
== old_child
then
5248 n_kwfalse
= new_child
.as(TKwfalse)
5251 if _n_annotations
== old_child
then
5252 n_annotations
= new_child
.as(nullable AAnnotations)
5257 redef fun n_kwfalse
=(node
)
5262 redef fun n_annotations
=(node
)
5264 _n_annotations
= node
5265 if node
!= null then node
.parent
= self
5269 redef fun visit_all
(v
: Visitor)
5271 v
.enter_visit
(_n_kwfalse
)
5272 v
.enter_visit
(_n_annotations
)
5275 redef class ANullExpr
5276 init init_anullexpr
(
5277 n_kwnull
: nullable TKwnull,
5278 n_annotations
: nullable AAnnotations
5281 _n_kwnull
= n_kwnull
.as(not null)
5282 n_kwnull
.parent
= self
5283 _n_annotations
= n_annotations
5284 if n_annotations
!= null then n_annotations
.parent
= self
5287 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5289 if _n_kwnull
== old_child
then
5290 n_kwnull
= new_child
.as(TKwnull)
5293 if _n_annotations
== old_child
then
5294 n_annotations
= new_child
.as(nullable AAnnotations)
5299 redef fun n_kwnull
=(node
)
5304 redef fun n_annotations
=(node
)
5306 _n_annotations
= node
5307 if node
!= null then node
.parent
= self
5311 redef fun visit_all
(v
: Visitor)
5313 v
.enter_visit
(_n_kwnull
)
5314 v
.enter_visit
(_n_annotations
)
5317 redef class ADecIntExpr
5318 init init_adecintexpr
(
5319 n_number
: nullable TNumber,
5320 n_annotations
: nullable AAnnotations
5323 _n_number
= n_number
.as(not null)
5324 n_number
.parent
= self
5325 _n_annotations
= n_annotations
5326 if n_annotations
!= null then n_annotations
.parent
= self
5329 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5331 if _n_number
== old_child
then
5332 n_number
= new_child
.as(TNumber)
5335 if _n_annotations
== old_child
then
5336 n_annotations
= new_child
.as(nullable AAnnotations)
5341 redef fun n_number
=(node
)
5346 redef fun n_annotations
=(node
)
5348 _n_annotations
= node
5349 if node
!= null then node
.parent
= self
5353 redef fun visit_all
(v
: Visitor)
5355 v
.enter_visit
(_n_number
)
5356 v
.enter_visit
(_n_annotations
)
5359 redef class AHexIntExpr
5360 init init_ahexintexpr
(
5361 n_hex_number
: nullable THexNumber,
5362 n_annotations
: nullable AAnnotations
5365 _n_hex_number
= n_hex_number
.as(not null)
5366 n_hex_number
.parent
= self
5367 _n_annotations
= n_annotations
5368 if n_annotations
!= null then n_annotations
.parent
= self
5371 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5373 if _n_hex_number
== old_child
then
5374 n_hex_number
= new_child
.as(THexNumber)
5377 if _n_annotations
== old_child
then
5378 n_annotations
= new_child
.as(nullable AAnnotations)
5383 redef fun n_hex_number
=(node
)
5385 _n_hex_number
= node
5388 redef fun n_annotations
=(node
)
5390 _n_annotations
= node
5391 if node
!= null then node
.parent
= self
5395 redef fun visit_all
(v
: Visitor)
5397 v
.enter_visit
(_n_hex_number
)
5398 v
.enter_visit
(_n_annotations
)
5401 redef class AFloatExpr
5402 init init_afloatexpr
(
5403 n_float
: nullable TFloat,
5404 n_annotations
: nullable AAnnotations
5407 _n_float
= n_float
.as(not null)
5408 n_float
.parent
= self
5409 _n_annotations
= n_annotations
5410 if n_annotations
!= null then n_annotations
.parent
= self
5413 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5415 if _n_float
== old_child
then
5416 n_float
= new_child
.as(TFloat)
5419 if _n_annotations
== old_child
then
5420 n_annotations
= new_child
.as(nullable AAnnotations)
5425 redef fun n_float
=(node
)
5430 redef fun n_annotations
=(node
)
5432 _n_annotations
= node
5433 if node
!= null then node
.parent
= self
5437 redef fun visit_all
(v
: Visitor)
5439 v
.enter_visit
(_n_float
)
5440 v
.enter_visit
(_n_annotations
)
5443 redef class ACharExpr
5444 init init_acharexpr
(
5445 n_char
: nullable TChar,
5446 n_annotations
: nullable AAnnotations
5449 _n_char
= n_char
.as(not null)
5450 n_char
.parent
= self
5451 _n_annotations
= n_annotations
5452 if n_annotations
!= null then n_annotations
.parent
= self
5455 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5457 if _n_char
== old_child
then
5458 n_char
= new_child
.as(TChar)
5461 if _n_annotations
== old_child
then
5462 n_annotations
= new_child
.as(nullable AAnnotations)
5467 redef fun n_char
=(node
)
5472 redef fun n_annotations
=(node
)
5474 _n_annotations
= node
5475 if node
!= null then node
.parent
= self
5479 redef fun visit_all
(v
: Visitor)
5481 v
.enter_visit
(_n_char
)
5482 v
.enter_visit
(_n_annotations
)
5485 redef class AStringExpr
5486 init init_astringexpr
(
5487 n_string
: nullable TString,
5488 n_annotations
: nullable AAnnotations
5491 _n_string
= n_string
.as(not null)
5492 n_string
.parent
= self
5493 _n_annotations
= n_annotations
5494 if n_annotations
!= null then n_annotations
.parent
= self
5497 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5499 if _n_string
== old_child
then
5500 n_string
= new_child
.as(TString)
5503 if _n_annotations
== old_child
then
5504 n_annotations
= new_child
.as(nullable AAnnotations)
5509 redef fun n_string
=(node
)
5514 redef fun n_annotations
=(node
)
5516 _n_annotations
= node
5517 if node
!= null then node
.parent
= self
5521 redef fun visit_all
(v
: Visitor)
5523 v
.enter_visit
(_n_string
)
5524 v
.enter_visit
(_n_annotations
)
5527 redef class AStartStringExpr
5528 init init_astartstringexpr
(
5529 n_string
: nullable TStartString
5532 _n_string
= n_string
.as(not null)
5533 n_string
.parent
= self
5536 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5538 if _n_string
== old_child
then
5539 n_string
= new_child
.as(TStartString)
5544 redef fun n_string
=(node
)
5551 redef fun visit_all
(v
: Visitor)
5553 v
.enter_visit
(_n_string
)
5556 redef class AMidStringExpr
5557 init init_amidstringexpr
(
5558 n_string
: nullable TMidString
5561 _n_string
= n_string
.as(not null)
5562 n_string
.parent
= self
5565 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5567 if _n_string
== old_child
then
5568 n_string
= new_child
.as(TMidString)
5573 redef fun n_string
=(node
)
5580 redef fun visit_all
(v
: Visitor)
5582 v
.enter_visit
(_n_string
)
5585 redef class AEndStringExpr
5586 init init_aendstringexpr
(
5587 n_string
: nullable TEndString
5590 _n_string
= n_string
.as(not null)
5591 n_string
.parent
= self
5594 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5596 if _n_string
== old_child
then
5597 n_string
= new_child
.as(TEndString)
5602 redef fun n_string
=(node
)
5609 redef fun visit_all
(v
: Visitor)
5611 v
.enter_visit
(_n_string
)
5614 redef class ASuperstringExpr
5615 init init_asuperstringexpr
(
5616 n_exprs
: Collection[Object], # Should be Collection[AExpr]
5617 n_annotations
: nullable AAnnotations
5620 self.n_exprs
.unsafe_add_all
(n_exprs
)
5621 _n_annotations
= n_annotations
5622 if n_annotations
!= null then n_annotations
.parent
= self
5625 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5627 if n_exprs
.replace_child
(old_child
, new_child
) then return
5628 if _n_annotations
== old_child
then
5629 n_annotations
= new_child
.as(nullable AAnnotations)
5634 redef fun n_annotations
=(node
)
5636 _n_annotations
= node
5637 if node
!= null then node
.parent
= self
5641 redef fun visit_all
(v
: Visitor)
5643 n_exprs
.visit_all
(v
)
5644 v
.enter_visit
(_n_annotations
)
5647 redef class AParExpr
5648 init init_aparexpr
(
5649 n_opar
: nullable TOpar,
5650 n_expr
: nullable AExpr,
5651 n_cpar
: nullable TCpar,
5652 n_annotations
: nullable AAnnotations
5655 _n_opar
= n_opar
.as(not null)
5656 n_opar
.parent
= self
5657 _n_expr
= n_expr
.as(not null)
5658 n_expr
.parent
= self
5659 _n_cpar
= n_cpar
.as(not null)
5660 n_cpar
.parent
= self
5661 _n_annotations
= n_annotations
5662 if n_annotations
!= null then n_annotations
.parent
= self
5665 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5667 if _n_opar
== old_child
then
5668 n_opar
= new_child
.as(TOpar)
5671 if _n_expr
== old_child
then
5672 n_expr
= new_child
.as(AExpr)
5675 if _n_cpar
== old_child
then
5676 n_cpar
= new_child
.as(TCpar)
5679 if _n_annotations
== old_child
then
5680 n_annotations
= new_child
.as(nullable AAnnotations)
5685 redef fun n_opar
=(node
)
5690 redef fun n_expr
=(node
)
5695 redef fun n_cpar
=(node
)
5700 redef fun n_annotations
=(node
)
5702 _n_annotations
= node
5703 if node
!= null then node
.parent
= self
5707 redef fun visit_all
(v
: Visitor)
5709 v
.enter_visit
(_n_opar
)
5710 v
.enter_visit
(_n_expr
)
5711 v
.enter_visit
(_n_cpar
)
5712 v
.enter_visit
(_n_annotations
)
5715 redef class AAsCastExpr
5716 init init_aascastexpr
(
5717 n_expr
: nullable AExpr,
5718 n_kwas
: nullable TKwas,
5719 n_opar
: nullable TOpar,
5720 n_type
: nullable AType,
5721 n_cpar
: nullable TCpar
5724 _n_expr
= n_expr
.as(not null)
5725 n_expr
.parent
= self
5726 _n_kwas
= n_kwas
.as(not null)
5727 n_kwas
.parent
= self
5729 if n_opar
!= null then n_opar
.parent
= self
5730 _n_type
= n_type
.as(not null)
5731 n_type
.parent
= self
5733 if n_cpar
!= null then n_cpar
.parent
= self
5736 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5738 if _n_expr
== old_child
then
5739 n_expr
= new_child
.as(AExpr)
5742 if _n_kwas
== old_child
then
5743 n_kwas
= new_child
.as(TKwas)
5746 if _n_opar
== old_child
then
5747 n_opar
= new_child
.as(nullable TOpar)
5750 if _n_type
== old_child
then
5751 n_type
= new_child
.as(AType)
5754 if _n_cpar
== old_child
then
5755 n_cpar
= new_child
.as(nullable TCpar)
5760 redef fun n_expr
=(node
)
5765 redef fun n_kwas
=(node
)
5770 redef fun n_opar
=(node
)
5773 if node
!= null then node
.parent
= self
5775 redef fun n_type
=(node
)
5780 redef fun n_cpar
=(node
)
5783 if node
!= null then node
.parent
= self
5787 redef fun visit_all
(v
: Visitor)
5789 v
.enter_visit
(_n_expr
)
5790 v
.enter_visit
(_n_kwas
)
5791 v
.enter_visit
(_n_opar
)
5792 v
.enter_visit
(_n_type
)
5793 v
.enter_visit
(_n_cpar
)
5796 redef class AAsNotnullExpr
5797 init init_aasnotnullexpr
(
5798 n_expr
: nullable AExpr,
5799 n_kwas
: nullable TKwas,
5800 n_opar
: nullable TOpar,
5801 n_kwnot
: nullable TKwnot,
5802 n_kwnull
: nullable TKwnull,
5803 n_cpar
: nullable TCpar
5806 _n_expr
= n_expr
.as(not null)
5807 n_expr
.parent
= self
5808 _n_kwas
= n_kwas
.as(not null)
5809 n_kwas
.parent
= self
5811 if n_opar
!= null then n_opar
.parent
= self
5812 _n_kwnot
= n_kwnot
.as(not null)
5813 n_kwnot
.parent
= self
5814 _n_kwnull
= n_kwnull
.as(not null)
5815 n_kwnull
.parent
= self
5817 if n_cpar
!= null then n_cpar
.parent
= self
5820 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5822 if _n_expr
== old_child
then
5823 n_expr
= new_child
.as(AExpr)
5826 if _n_kwas
== old_child
then
5827 n_kwas
= new_child
.as(TKwas)
5830 if _n_opar
== old_child
then
5831 n_opar
= new_child
.as(nullable TOpar)
5834 if _n_kwnot
== old_child
then
5835 n_kwnot
= new_child
.as(TKwnot)
5838 if _n_kwnull
== old_child
then
5839 n_kwnull
= new_child
.as(TKwnull)
5842 if _n_cpar
== old_child
then
5843 n_cpar
= new_child
.as(nullable TCpar)
5848 redef fun n_expr
=(node
)
5853 redef fun n_kwas
=(node
)
5858 redef fun n_opar
=(node
)
5861 if node
!= null then node
.parent
= self
5863 redef fun n_kwnot
=(node
)
5868 redef fun n_kwnull
=(node
)
5873 redef fun n_cpar
=(node
)
5876 if node
!= null then node
.parent
= self
5880 redef fun visit_all
(v
: Visitor)
5882 v
.enter_visit
(_n_expr
)
5883 v
.enter_visit
(_n_kwas
)
5884 v
.enter_visit
(_n_opar
)
5885 v
.enter_visit
(_n_kwnot
)
5886 v
.enter_visit
(_n_kwnull
)
5887 v
.enter_visit
(_n_cpar
)
5890 redef class AIssetAttrExpr
5891 init init_aissetattrexpr
(
5892 n_kwisset
: nullable TKwisset,
5893 n_expr
: nullable AExpr,
5894 n_id
: nullable TAttrid
5897 _n_kwisset
= n_kwisset
.as(not null)
5898 n_kwisset
.parent
= self
5899 _n_expr
= n_expr
.as(not null)
5900 n_expr
.parent
= self
5901 _n_id
= n_id
.as(not null)
5905 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5907 if _n_kwisset
== old_child
then
5908 n_kwisset
= new_child
.as(TKwisset)
5911 if _n_expr
== old_child
then
5912 n_expr
= new_child
.as(AExpr)
5915 if _n_id
== old_child
then
5916 n_id
= new_child
.as(TAttrid)
5921 redef fun n_kwisset
=(node
)
5926 redef fun n_expr
=(node
)
5931 redef fun n_id
=(node
)
5938 redef fun visit_all
(v
: Visitor)
5940 v
.enter_visit
(_n_kwisset
)
5941 v
.enter_visit
(_n_expr
)
5942 v
.enter_visit
(_n_id
)
5945 redef class ADebugTypeExpr
5946 init init_adebugtypeexpr
(
5947 n_kwdebug
: nullable TKwdebug,
5948 n_kwtype
: nullable TKwtype,
5949 n_expr
: nullable AExpr,
5950 n_type
: nullable AType
5953 _n_kwdebug
= n_kwdebug
.as(not null)
5954 n_kwdebug
.parent
= self
5955 _n_kwtype
= n_kwtype
.as(not null)
5956 n_kwtype
.parent
= self
5957 _n_expr
= n_expr
.as(not null)
5958 n_expr
.parent
= self
5959 _n_type
= n_type
.as(not null)
5960 n_type
.parent
= self
5963 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5965 if _n_kwdebug
== old_child
then
5966 n_kwdebug
= new_child
.as(TKwdebug)
5969 if _n_kwtype
== old_child
then
5970 n_kwtype
= new_child
.as(TKwtype)
5973 if _n_expr
== old_child
then
5974 n_expr
= new_child
.as(AExpr)
5977 if _n_type
== old_child
then
5978 n_type
= new_child
.as(AType)
5983 redef fun n_kwdebug
=(node
)
5988 redef fun n_kwtype
=(node
)
5993 redef fun n_expr
=(node
)
5998 redef fun n_type
=(node
)
6005 redef fun visit_all
(v
: Visitor)
6007 v
.enter_visit
(_n_kwdebug
)
6008 v
.enter_visit
(_n_kwtype
)
6009 v
.enter_visit
(_n_expr
)
6010 v
.enter_visit
(_n_type
)
6013 redef class AVarargExpr
6014 init init_avarargexpr
(
6015 n_expr
: nullable AExpr,
6016 n_dotdotdot
: nullable TDotdotdot
6019 _n_expr
= n_expr
.as(not null)
6020 n_expr
.parent
= self
6021 _n_dotdotdot
= n_dotdotdot
.as(not null)
6022 n_dotdotdot
.parent
= self
6025 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6027 if _n_expr
== old_child
then
6028 n_expr
= new_child
.as(AExpr)
6031 if _n_dotdotdot
== old_child
then
6032 n_dotdotdot
= new_child
.as(TDotdotdot)
6037 redef fun n_expr
=(node
)
6042 redef fun n_dotdotdot
=(node
)
6049 redef fun visit_all
(v
: Visitor)
6051 v
.enter_visit
(_n_expr
)
6052 v
.enter_visit
(_n_dotdotdot
)
6055 redef class ATypeExpr
6056 init init_atypeexpr
(
6057 n_type
: nullable AType
6060 _n_type
= n_type
.as(not null)
6061 n_type
.parent
= self
6064 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6066 if _n_type
== old_child
then
6067 n_type
= new_child
.as(AType)
6072 redef fun n_type
=(node
)
6079 redef fun visit_all
(v
: Visitor)
6081 v
.enter_visit
(_n_type
)
6084 redef class AMethidExpr
6085 init init_amethidexpr
(
6086 n_expr
: nullable AExpr,
6087 n_id
: nullable AMethid
6090 _n_expr
= n_expr
.as(not null)
6091 n_expr
.parent
= self
6092 _n_id
= n_id
.as(not null)
6096 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6098 if _n_expr
== old_child
then
6099 n_expr
= new_child
.as(AExpr)
6102 if _n_id
== old_child
then
6103 n_id
= new_child
.as(AMethid)
6108 redef fun n_expr
=(node
)
6113 redef fun n_id
=(node
)
6120 redef fun visit_all
(v
: Visitor)
6122 v
.enter_visit
(_n_expr
)
6123 v
.enter_visit
(_n_id
)
6128 n_annotations
: nullable AAnnotations
6131 _n_annotations
= n_annotations
.as(not null)
6132 n_annotations
.parent
= self
6135 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6137 if _n_annotations
== old_child
then
6138 n_annotations
= new_child
.as(AAnnotations)
6143 redef fun n_annotations
=(node
)
6145 _n_annotations
= node
6150 redef fun visit_all
(v
: Visitor)
6152 v
.enter_visit
(_n_annotations
)
6155 redef class AManyExpr
6156 init init_amanyexpr
(
6157 n_exprs
: Collection[Object] # Should be Collection[AExpr]
6160 self.n_exprs
.unsafe_add_all
(n_exprs
)
6163 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6165 if n_exprs
.replace_child
(old_child
, new_child
) then return
6170 redef fun visit_all
(v
: Visitor)
6172 n_exprs
.visit_all
(v
)
6175 redef class AListExprs
6176 init init_alistexprs
(
6177 n_exprs
: Collection[Object] # Should be Collection[AExpr]
6180 self.n_exprs
.unsafe_add_all
(n_exprs
)
6183 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6185 if n_exprs
.replace_child
(old_child
, new_child
) then return
6190 redef fun visit_all
(v
: Visitor)
6192 n_exprs
.visit_all
(v
)
6195 redef class AParExprs
6196 init init_aparexprs
(
6197 n_opar
: nullable TOpar,
6198 n_exprs
: Collection[Object], # Should be Collection[AExpr]
6199 n_cpar
: nullable TCpar
6202 _n_opar
= n_opar
.as(not null)
6203 n_opar
.parent
= self
6204 self.n_exprs
.unsafe_add_all
(n_exprs
)
6205 _n_cpar
= n_cpar
.as(not null)
6206 n_cpar
.parent
= self
6209 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6211 if _n_opar
== old_child
then
6212 n_opar
= new_child
.as(TOpar)
6215 if n_exprs
.replace_child
(old_child
, new_child
) then return
6216 if _n_cpar
== old_child
then
6217 n_cpar
= new_child
.as(TCpar)
6222 redef fun n_opar
=(node
)
6227 redef fun n_cpar
=(node
)
6234 redef fun visit_all
(v
: Visitor)
6236 v
.enter_visit
(_n_opar
)
6237 n_exprs
.visit_all
(v
)
6238 v
.enter_visit
(_n_cpar
)
6241 redef class ABraExprs
6242 init init_abraexprs
(
6243 n_obra
: nullable TObra,
6244 n_exprs
: Collection[Object], # Should be Collection[AExpr]
6245 n_cbra
: nullable TCbra
6248 _n_obra
= n_obra
.as(not null)
6249 n_obra
.parent
= self
6250 self.n_exprs
.unsafe_add_all
(n_exprs
)
6251 _n_cbra
= n_cbra
.as(not null)
6252 n_cbra
.parent
= self
6255 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6257 if _n_obra
== old_child
then
6258 n_obra
= new_child
.as(TObra)
6261 if n_exprs
.replace_child
(old_child
, new_child
) then return
6262 if _n_cbra
== old_child
then
6263 n_cbra
= new_child
.as(TCbra)
6268 redef fun n_obra
=(node
)
6273 redef fun n_cbra
=(node
)
6280 redef fun visit_all
(v
: Visitor)
6282 v
.enter_visit
(_n_obra
)
6283 n_exprs
.visit_all
(v
)
6284 v
.enter_visit
(_n_cbra
)
6287 redef class APlusAssignOp
6288 init init_aplusassignop
(
6289 n_pluseq
: nullable TPluseq
6292 _n_pluseq
= n_pluseq
.as(not null)
6293 n_pluseq
.parent
= self
6296 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6298 if _n_pluseq
== old_child
then
6299 n_pluseq
= new_child
.as(TPluseq)
6304 redef fun n_pluseq
=(node
)
6311 redef fun visit_all
(v
: Visitor)
6313 v
.enter_visit
(_n_pluseq
)
6316 redef class AMinusAssignOp
6317 init init_aminusassignop
(
6318 n_minuseq
: nullable TMinuseq
6321 _n_minuseq
= n_minuseq
.as(not null)
6322 n_minuseq
.parent
= self
6325 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6327 if _n_minuseq
== old_child
then
6328 n_minuseq
= new_child
.as(TMinuseq)
6333 redef fun n_minuseq
=(node
)
6340 redef fun visit_all
(v
: Visitor)
6342 v
.enter_visit
(_n_minuseq
)
6345 redef class AModuleName
6346 init init_amodulename
(
6347 n_quad
: nullable TQuad,
6348 n_path
: Collection[Object], # Should be Collection[TId]
6353 if n_quad
!= null then n_quad
.parent
= self
6354 self.n_path
.unsafe_add_all
(n_path
)
6355 _n_id
= n_id
.as(not null)
6359 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6361 if _n_quad
== old_child
then
6362 n_quad
= new_child
.as(nullable TQuad)
6365 if n_path
.replace_child
(old_child
, new_child
) then return
6366 if _n_id
== old_child
then
6367 n_id
= new_child
.as(TId)
6372 redef fun n_quad
=(node
)
6375 if node
!= null then node
.parent
= self
6377 redef fun n_id
=(node
)
6384 redef fun visit_all
(v
: Visitor)
6386 v
.enter_visit
(_n_quad
)
6388 v
.enter_visit
(_n_id
)
6391 redef class AExternCalls
6392 init init_aexterncalls
(
6393 n_kwimport
: nullable TKwimport,
6394 n_extern_calls
: Collection[Object] # Should be Collection[AExternCall]
6397 _n_kwimport
= n_kwimport
.as(not null)
6398 n_kwimport
.parent
= self
6399 self.n_extern_calls
.unsafe_add_all
(n_extern_calls
)
6402 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6404 if _n_kwimport
== old_child
then
6405 n_kwimport
= new_child
.as(TKwimport)
6408 if n_extern_calls
.replace_child
(old_child
, new_child
) then return
6411 redef fun n_kwimport
=(node
)
6418 redef fun visit_all
(v
: Visitor)
6420 v
.enter_visit
(_n_kwimport
)
6421 n_extern_calls
.visit_all
(v
)
6424 redef class AExternCall
6425 init init_aexterncall
6429 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6435 redef fun visit_all
(v
: Visitor)
6439 redef class ASuperExternCall
6440 init init_asuperexterncall
(
6441 n_kwsuper
: nullable TKwsuper
6444 _n_kwsuper
= n_kwsuper
.as(not null)
6445 n_kwsuper
.parent
= self
6448 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6450 if _n_kwsuper
== old_child
then
6451 n_kwsuper
= new_child
.as(TKwsuper)
6456 redef fun n_kwsuper
=(node
)
6463 redef fun visit_all
(v
: Visitor)
6465 v
.enter_visit
(_n_kwsuper
)
6468 redef class ALocalPropExternCall
6469 init init_alocalpropexterncall
(
6470 n_methid
: nullable AMethid
6473 _n_methid
= n_methid
.as(not null)
6474 n_methid
.parent
= self
6477 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6479 if _n_methid
== old_child
then
6480 n_methid
= new_child
.as(AMethid)
6485 redef fun n_methid
=(node
)
6492 redef fun visit_all
(v
: Visitor)
6494 v
.enter_visit
(_n_methid
)
6497 redef class AFullPropExternCall
6498 init init_afullpropexterncall
(
6499 n_type
: nullable AType,
6500 n_dot
: nullable TDot,
6501 n_methid
: nullable AMethid
6504 _n_type
= n_type
.as(not null)
6505 n_type
.parent
= self
6507 if n_dot
!= null then n_dot
.parent
= self
6508 _n_methid
= n_methid
.as(not null)
6509 n_methid
.parent
= self
6512 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6514 if _n_type
== old_child
then
6515 n_type
= new_child
.as(AType)
6518 if _n_dot
== old_child
then
6519 n_dot
= new_child
.as(nullable TDot)
6522 if _n_methid
== old_child
then
6523 n_methid
= new_child
.as(AMethid)
6528 redef fun n_type
=(node
)
6533 redef fun n_dot
=(node
)
6536 if node
!= null then node
.parent
= self
6538 redef fun n_methid
=(node
)
6545 redef fun visit_all
(v
: Visitor)
6547 v
.enter_visit
(_n_type
)
6548 v
.enter_visit
(_n_dot
)
6549 v
.enter_visit
(_n_methid
)
6552 redef class AInitPropExternCall
6553 init init_ainitpropexterncall
(
6554 n_type
: nullable AType
6557 _n_type
= n_type
.as(not null)
6558 n_type
.parent
= self
6561 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6563 if _n_type
== old_child
then
6564 n_type
= new_child
.as(AType)
6569 redef fun n_type
=(node
)
6576 redef fun visit_all
(v
: Visitor)
6578 v
.enter_visit
(_n_type
)
6581 redef class ACastAsExternCall
6582 init init_acastasexterncall
(
6583 n_from_type
: nullable AType,
6584 n_dot
: nullable TDot,
6585 n_kwas
: nullable TKwas,
6586 n_to_type
: nullable AType
6589 _n_from_type
= n_from_type
.as(not null)
6590 n_from_type
.parent
= self
6592 if n_dot
!= null then n_dot
.parent
= self
6593 _n_kwas
= n_kwas
.as(not null)
6594 n_kwas
.parent
= self
6595 _n_to_type
= n_to_type
.as(not null)
6596 n_to_type
.parent
= self
6599 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6601 if _n_from_type
== old_child
then
6602 n_from_type
= new_child
.as(AType)
6605 if _n_dot
== old_child
then
6606 n_dot
= new_child
.as(nullable TDot)
6609 if _n_kwas
== old_child
then
6610 n_kwas
= new_child
.as(TKwas)
6613 if _n_to_type
== old_child
then
6614 n_to_type
= new_child
.as(AType)
6619 redef fun n_from_type
=(node
)
6624 redef fun n_dot
=(node
)
6627 if node
!= null then node
.parent
= self
6629 redef fun n_kwas
=(node
)
6634 redef fun n_to_type
=(node
)
6641 redef fun visit_all
(v
: Visitor)
6643 v
.enter_visit
(_n_from_type
)
6644 v
.enter_visit
(_n_dot
)
6645 v
.enter_visit
(_n_kwas
)
6646 v
.enter_visit
(_n_to_type
)
6649 redef class AAsNullableExternCall
6650 init init_aasnullableexterncall
(
6651 n_type
: nullable AType,
6652 n_kwas
: nullable TKwas,
6653 n_kwnullable
: nullable TKwnullable
6656 _n_type
= n_type
.as(not null)
6657 n_type
.parent
= self
6658 _n_kwas
= n_kwas
.as(not null)
6659 n_kwas
.parent
= self
6660 _n_kwnullable
= n_kwnullable
.as(not null)
6661 n_kwnullable
.parent
= self
6664 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6666 if _n_type
== old_child
then
6667 n_type
= new_child
.as(AType)
6670 if _n_kwas
== old_child
then
6671 n_kwas
= new_child
.as(TKwas)
6674 if _n_kwnullable
== old_child
then
6675 n_kwnullable
= new_child
.as(TKwnullable)
6680 redef fun n_type
=(node
)
6685 redef fun n_kwas
=(node
)
6690 redef fun n_kwnullable
=(node
)
6692 _n_kwnullable
= node
6697 redef fun visit_all
(v
: Visitor)
6699 v
.enter_visit
(_n_type
)
6700 v
.enter_visit
(_n_kwas
)
6701 v
.enter_visit
(_n_kwnullable
)
6704 redef class AAsNotNullableExternCall
6705 init init_aasnotnullableexterncall
(
6706 n_type
: nullable AType,
6707 n_kwas
: nullable TKwas,
6708 n_kwnot
: nullable TKwnot,
6709 n_kwnullable
: nullable TKwnullable
6712 _n_type
= n_type
.as(not null)
6713 n_type
.parent
= self
6714 _n_kwas
= n_kwas
.as(not null)
6715 n_kwas
.parent
= self
6716 _n_kwnot
= n_kwnot
.as(not null)
6717 n_kwnot
.parent
= self
6718 _n_kwnullable
= n_kwnullable
.as(not null)
6719 n_kwnullable
.parent
= self
6722 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6724 if _n_type
== old_child
then
6725 n_type
= new_child
.as(AType)
6728 if _n_kwas
== old_child
then
6729 n_kwas
= new_child
.as(TKwas)
6732 if _n_kwnot
== old_child
then
6733 n_kwnot
= new_child
.as(TKwnot)
6736 if _n_kwnullable
== old_child
then
6737 n_kwnullable
= new_child
.as(TKwnullable)
6742 redef fun n_type
=(node
)
6747 redef fun n_kwas
=(node
)
6752 redef fun n_kwnot
=(node
)
6757 redef fun n_kwnullable
=(node
)
6759 _n_kwnullable
= node
6764 redef fun visit_all
(v
: Visitor)
6766 v
.enter_visit
(_n_type
)
6767 v
.enter_visit
(_n_kwas
)
6768 v
.enter_visit
(_n_kwnot
)
6769 v
.enter_visit
(_n_kwnullable
)
6772 redef class AInLanguage
6773 init init_ainlanguage
(
6774 n_kwin
: nullable TKwin,
6775 n_string
: nullable TString
6778 _n_kwin
= n_kwin
.as(not null)
6779 n_kwin
.parent
= self
6780 _n_string
= n_string
.as(not null)
6781 n_string
.parent
= self
6784 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6786 if _n_kwin
== old_child
then
6787 n_kwin
= new_child
.as(TKwin)
6790 if _n_string
== old_child
then
6791 n_string
= new_child
.as(TString)
6796 redef fun n_kwin
=(node
)
6801 redef fun n_string
=(node
)
6808 redef fun visit_all
(v
: Visitor)
6810 v
.enter_visit
(_n_kwin
)
6811 v
.enter_visit
(_n_string
)
6814 redef class AExternCodeBlock
6815 init init_aexterncodeblock
(
6816 n_in_language
: nullable AInLanguage,
6817 n_extern_code_segment
: nullable TExternCodeSegment
6820 _n_in_language
= n_in_language
6821 if n_in_language
!= null then n_in_language
.parent
= self
6822 _n_extern_code_segment
= n_extern_code_segment
.as(not null)
6823 n_extern_code_segment
.parent
= self
6826 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6828 if _n_in_language
== old_child
then
6829 n_in_language
= new_child
.as(nullable AInLanguage)
6832 if _n_extern_code_segment
== old_child
then
6833 n_extern_code_segment
= new_child
.as(TExternCodeSegment)
6838 redef fun n_in_language
=(node
)
6840 _n_in_language
= node
6841 if node
!= null then node
.parent
= self
6843 redef fun n_extern_code_segment
=(node
)
6845 _n_extern_code_segment
= node
6850 redef fun visit_all
(v
: Visitor)
6852 v
.enter_visit
(_n_in_language
)
6853 v
.enter_visit
(_n_extern_code_segment
)
6856 redef class AQualified
6857 init init_aqualified
(
6858 n_id
: Collection[Object], # Should be Collection[TId]
6859 n_classid
: nullable TClassid
6862 self.n_id
.unsafe_add_all
(n_id
)
6863 _n_classid
= n_classid
6864 if n_classid
!= null then n_classid
.parent
= self
6867 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6869 if n_id
.replace_child
(old_child
, new_child
) then return
6870 if _n_classid
== old_child
then
6871 n_classid
= new_child
.as(nullable TClassid)
6876 redef fun n_classid
=(node
)
6879 if node
!= null then node
.parent
= self
6883 redef fun visit_all
(v
: Visitor)
6886 v
.enter_visit
(_n_classid
)
6891 n_comment
: Collection[Object] # Should be Collection[TComment]
6894 self.n_comment
.unsafe_add_all
(n_comment
)
6897 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6899 if n_comment
.replace_child
(old_child
, new_child
) then return
6904 redef fun visit_all
(v
: Visitor)
6906 n_comment
.visit_all
(v
)
6909 redef class AAnnotations
6910 init init_aannotations
(
6912 n_opar
: nullable TOpar,
6913 n_items
: Collection[Object], # Should be Collection[AAnnotation]
6914 n_cpar
: nullable TCpar
6918 if n_at
!= null then n_at
.parent
= self
6920 if n_opar
!= null then n_opar
.parent
= self
6921 self.n_items
.unsafe_add_all
(n_items
)
6923 if n_cpar
!= null then n_cpar
.parent
= self
6926 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6928 if _n_at
== old_child
then
6929 n_at
= new_child
.as(nullable TAt)
6932 if _n_opar
== old_child
then
6933 n_opar
= new_child
.as(nullable TOpar)
6936 if n_items
.replace_child
(old_child
, new_child
) then return
6937 if _n_cpar
== old_child
then
6938 n_cpar
= new_child
.as(nullable TCpar)
6943 redef fun n_at
=(node
)
6946 if node
!= null then node
.parent
= self
6948 redef fun n_opar
=(node
)
6951 if node
!= null then node
.parent
= self
6953 redef fun n_cpar
=(node
)
6956 if node
!= null then node
.parent
= self
6960 redef fun visit_all
(v
: Visitor)
6962 v
.enter_visit
(_n_at
)
6963 v
.enter_visit
(_n_opar
)
6964 n_items
.visit_all
(v
)
6965 v
.enter_visit
(_n_cpar
)
6968 redef class AAnnotation
6969 init init_aannotation
(
6970 n_doc
: nullable ADoc,
6971 n_kwredef
: nullable TKwredef,
6972 n_visibility
: nullable AVisibility,
6973 n_atid
: nullable AAtid,
6974 n_opar
: nullable TOpar,
6975 n_args
: Collection[Object], # Should be Collection[AExpr]
6976 n_cpar
: nullable TCpar,
6977 n_annotations
: nullable AAnnotations
6981 if n_doc
!= null then n_doc
.parent
= self
6982 _n_kwredef
= n_kwredef
6983 if n_kwredef
!= null then n_kwredef
.parent
= self
6984 _n_visibility
= n_visibility
6985 if n_visibility
!= null then n_visibility
.parent
= self
6986 _n_atid
= n_atid
.as(not null)
6987 n_atid
.parent
= self
6989 if n_opar
!= null then n_opar
.parent
= self
6990 self.n_args
.unsafe_add_all
(n_args
)
6992 if n_cpar
!= null then n_cpar
.parent
= self
6993 _n_annotations
= n_annotations
6994 if n_annotations
!= null then n_annotations
.parent
= self
6997 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6999 if _n_doc
== old_child
then
7000 n_doc
= new_child
.as(nullable ADoc)
7003 if _n_kwredef
== old_child
then
7004 n_kwredef
= new_child
.as(nullable TKwredef)
7007 if _n_visibility
== old_child
then
7008 n_visibility
= new_child
.as(nullable AVisibility)
7011 if _n_atid
== old_child
then
7012 n_atid
= new_child
.as(AAtid)
7015 if _n_opar
== old_child
then
7016 n_opar
= new_child
.as(nullable TOpar)
7019 if n_args
.replace_child
(old_child
, new_child
) then return
7020 if _n_cpar
== old_child
then
7021 n_cpar
= new_child
.as(nullable TCpar)
7024 if _n_annotations
== old_child
then
7025 n_annotations
= new_child
.as(nullable AAnnotations)
7030 redef fun n_doc
=(node
)
7033 if node
!= null then node
.parent
= self
7035 redef fun n_kwredef
=(node
)
7038 if node
!= null then node
.parent
= self
7040 redef fun n_visibility
=(node
)
7042 _n_visibility
= node
7043 if node
!= null then node
.parent
= self
7045 redef fun n_atid
=(node
)
7050 redef fun n_opar
=(node
)
7053 if node
!= null then node
.parent
= self
7055 redef fun n_cpar
=(node
)
7058 if node
!= null then node
.parent
= self
7060 redef fun n_annotations
=(node
)
7062 _n_annotations
= node
7063 if node
!= null then node
.parent
= self
7067 redef fun visit_all
(v
: Visitor)
7069 v
.enter_visit
(_n_doc
)
7070 v
.enter_visit
(_n_kwredef
)
7071 v
.enter_visit
(_n_visibility
)
7072 v
.enter_visit
(_n_atid
)
7073 v
.enter_visit
(_n_opar
)
7075 v
.enter_visit
(_n_cpar
)
7076 v
.enter_visit
(_n_annotations
)
7084 _n_id
= n_id
.as(not null)
7088 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7090 if _n_id
== old_child
then
7091 n_id
= new_child
.as(TId)
7096 redef fun n_id
=(node
)
7103 redef fun visit_all
(v
: Visitor)
7105 v
.enter_visit
(_n_id
)
7108 redef class AKwexternAtid
7109 init init_akwexternatid
(
7110 n_id
: nullable TKwextern
7113 _n_id
= n_id
.as(not null)
7117 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7119 if _n_id
== old_child
then
7120 n_id
= new_child
.as(TKwextern)
7125 redef fun n_id
=(node
)
7132 redef fun visit_all
(v
: Visitor)
7134 v
.enter_visit
(_n_id
)
7137 redef class AKwabstractAtid
7138 init init_akwabstractatid
(
7139 n_id
: nullable TKwabstract
7142 _n_id
= n_id
.as(not null)
7146 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7148 if _n_id
== old_child
then
7149 n_id
= new_child
.as(TKwabstract)
7154 redef fun n_id
=(node
)
7161 redef fun visit_all
(v
: Visitor)
7163 v
.enter_visit
(_n_id
)
7166 redef class AKwimportAtid
7167 init init_akwimportatid
(
7168 n_id
: nullable TKwimport
7171 _n_id
= n_id
.as(not null)
7175 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7177 if _n_id
== old_child
then
7178 n_id
= new_child
.as(TKwimport)
7183 redef fun n_id
=(node
)
7190 redef fun visit_all
(v
: Visitor)
7192 v
.enter_visit
(_n_id
)
7197 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7199 if _n_base
== old_child
then
7200 if new_child
== null then
7202 new_child
.parent
= self
7203 assert new_child
isa AModule
7206 old_child
.parent
= null
7211 redef fun visit_all
(v
: Visitor)
7213 if _n_base
!= null then
7214 v
.enter_visit
(_n_base
.as(not null))
7216 v
.enter_visit
(_n_eof
)