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
: Collection[Object], # Should be Collection[AExpr]
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 self.n_exprs
.unsafe_add_all
(n_exprs
)
5066 if n_type
!= null then n_type
.parent
= self
5067 _n_cbra
= n_cbra
.as(not null)
5068 n_cbra
.parent
= self
5069 _n_annotations
= n_annotations
5070 if n_annotations
!= null then n_annotations
.parent
= self
5073 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5075 if _n_obra
== old_child
then
5076 n_obra
= new_child
.as(TObra)
5079 if n_exprs
.replace_child
(old_child
, new_child
) then return
5080 if _n_type
== old_child
then
5081 n_type
= new_child
.as(nullable AType)
5084 if _n_cbra
== old_child
then
5085 n_cbra
= new_child
.as(TCbra)
5088 if _n_annotations
== old_child
then
5089 n_annotations
= new_child
.as(nullable AAnnotations)
5094 redef fun n_obra
=(node
)
5099 redef fun n_type
=(node
)
5102 if node
!= null then node
.parent
= self
5104 redef fun n_cbra
=(node
)
5109 redef fun n_annotations
=(node
)
5111 _n_annotations
= node
5112 if node
!= null then node
.parent
= self
5116 redef fun visit_all
(v
: Visitor)
5118 v
.enter_visit
(_n_obra
)
5119 n_exprs
.visit_all
(v
)
5120 v
.enter_visit
(_n_type
)
5121 v
.enter_visit
(_n_cbra
)
5122 v
.enter_visit
(_n_annotations
)
5125 redef class ASelfExpr
5126 init init_aselfexpr
(
5127 n_kwself
: nullable TKwself,
5128 n_annotations
: nullable AAnnotations
5131 _n_kwself
= n_kwself
.as(not null)
5132 n_kwself
.parent
= self
5133 _n_annotations
= n_annotations
5134 if n_annotations
!= null then n_annotations
.parent
= self
5137 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5139 if _n_kwself
== old_child
then
5140 n_kwself
= new_child
.as(TKwself)
5143 if _n_annotations
== old_child
then
5144 n_annotations
= new_child
.as(nullable AAnnotations)
5149 redef fun n_kwself
=(node
)
5154 redef fun n_annotations
=(node
)
5156 _n_annotations
= node
5157 if node
!= null then node
.parent
= self
5161 redef fun visit_all
(v
: Visitor)
5163 v
.enter_visit
(_n_kwself
)
5164 v
.enter_visit
(_n_annotations
)
5167 redef class AImplicitSelfExpr
5168 init init_aimplicitselfexpr
5172 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5178 redef fun visit_all
(v
: Visitor)
5182 redef class ATrueExpr
5183 init init_atrueexpr
(
5184 n_kwtrue
: nullable TKwtrue,
5185 n_annotations
: nullable AAnnotations
5188 _n_kwtrue
= n_kwtrue
.as(not null)
5189 n_kwtrue
.parent
= self
5190 _n_annotations
= n_annotations
5191 if n_annotations
!= null then n_annotations
.parent
= self
5194 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5196 if _n_kwtrue
== old_child
then
5197 n_kwtrue
= new_child
.as(TKwtrue)
5200 if _n_annotations
== old_child
then
5201 n_annotations
= new_child
.as(nullable AAnnotations)
5206 redef fun n_kwtrue
=(node
)
5211 redef fun n_annotations
=(node
)
5213 _n_annotations
= node
5214 if node
!= null then node
.parent
= self
5218 redef fun visit_all
(v
: Visitor)
5220 v
.enter_visit
(_n_kwtrue
)
5221 v
.enter_visit
(_n_annotations
)
5224 redef class AFalseExpr
5225 init init_afalseexpr
(
5226 n_kwfalse
: nullable TKwfalse,
5227 n_annotations
: nullable AAnnotations
5230 _n_kwfalse
= n_kwfalse
.as(not null)
5231 n_kwfalse
.parent
= self
5232 _n_annotations
= n_annotations
5233 if n_annotations
!= null then n_annotations
.parent
= self
5236 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5238 if _n_kwfalse
== old_child
then
5239 n_kwfalse
= new_child
.as(TKwfalse)
5242 if _n_annotations
== old_child
then
5243 n_annotations
= new_child
.as(nullable AAnnotations)
5248 redef fun n_kwfalse
=(node
)
5253 redef fun n_annotations
=(node
)
5255 _n_annotations
= node
5256 if node
!= null then node
.parent
= self
5260 redef fun visit_all
(v
: Visitor)
5262 v
.enter_visit
(_n_kwfalse
)
5263 v
.enter_visit
(_n_annotations
)
5266 redef class ANullExpr
5267 init init_anullexpr
(
5268 n_kwnull
: nullable TKwnull,
5269 n_annotations
: nullable AAnnotations
5272 _n_kwnull
= n_kwnull
.as(not null)
5273 n_kwnull
.parent
= self
5274 _n_annotations
= n_annotations
5275 if n_annotations
!= null then n_annotations
.parent
= self
5278 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5280 if _n_kwnull
== old_child
then
5281 n_kwnull
= new_child
.as(TKwnull)
5284 if _n_annotations
== old_child
then
5285 n_annotations
= new_child
.as(nullable AAnnotations)
5290 redef fun n_kwnull
=(node
)
5295 redef fun n_annotations
=(node
)
5297 _n_annotations
= node
5298 if node
!= null then node
.parent
= self
5302 redef fun visit_all
(v
: Visitor)
5304 v
.enter_visit
(_n_kwnull
)
5305 v
.enter_visit
(_n_annotations
)
5308 redef class ADecIntExpr
5309 init init_adecintexpr
(
5310 n_number
: nullable TNumber,
5311 n_annotations
: nullable AAnnotations
5314 _n_number
= n_number
.as(not null)
5315 n_number
.parent
= self
5316 _n_annotations
= n_annotations
5317 if n_annotations
!= null then n_annotations
.parent
= self
5320 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5322 if _n_number
== old_child
then
5323 n_number
= new_child
.as(TNumber)
5326 if _n_annotations
== old_child
then
5327 n_annotations
= new_child
.as(nullable AAnnotations)
5332 redef fun n_number
=(node
)
5337 redef fun n_annotations
=(node
)
5339 _n_annotations
= node
5340 if node
!= null then node
.parent
= self
5344 redef fun visit_all
(v
: Visitor)
5346 v
.enter_visit
(_n_number
)
5347 v
.enter_visit
(_n_annotations
)
5350 redef class AHexIntExpr
5351 init init_ahexintexpr
(
5352 n_hex_number
: nullable THexNumber,
5353 n_annotations
: nullable AAnnotations
5356 _n_hex_number
= n_hex_number
.as(not null)
5357 n_hex_number
.parent
= self
5358 _n_annotations
= n_annotations
5359 if n_annotations
!= null then n_annotations
.parent
= self
5362 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5364 if _n_hex_number
== old_child
then
5365 n_hex_number
= new_child
.as(THexNumber)
5368 if _n_annotations
== old_child
then
5369 n_annotations
= new_child
.as(nullable AAnnotations)
5374 redef fun n_hex_number
=(node
)
5376 _n_hex_number
= node
5379 redef fun n_annotations
=(node
)
5381 _n_annotations
= node
5382 if node
!= null then node
.parent
= self
5386 redef fun visit_all
(v
: Visitor)
5388 v
.enter_visit
(_n_hex_number
)
5389 v
.enter_visit
(_n_annotations
)
5392 redef class AFloatExpr
5393 init init_afloatexpr
(
5394 n_float
: nullable TFloat,
5395 n_annotations
: nullable AAnnotations
5398 _n_float
= n_float
.as(not null)
5399 n_float
.parent
= self
5400 _n_annotations
= n_annotations
5401 if n_annotations
!= null then n_annotations
.parent
= self
5404 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5406 if _n_float
== old_child
then
5407 n_float
= new_child
.as(TFloat)
5410 if _n_annotations
== old_child
then
5411 n_annotations
= new_child
.as(nullable AAnnotations)
5416 redef fun n_float
=(node
)
5421 redef fun n_annotations
=(node
)
5423 _n_annotations
= node
5424 if node
!= null then node
.parent
= self
5428 redef fun visit_all
(v
: Visitor)
5430 v
.enter_visit
(_n_float
)
5431 v
.enter_visit
(_n_annotations
)
5434 redef class ACharExpr
5435 init init_acharexpr
(
5436 n_char
: nullable TChar,
5437 n_annotations
: nullable AAnnotations
5440 _n_char
= n_char
.as(not null)
5441 n_char
.parent
= self
5442 _n_annotations
= n_annotations
5443 if n_annotations
!= null then n_annotations
.parent
= self
5446 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5448 if _n_char
== old_child
then
5449 n_char
= new_child
.as(TChar)
5452 if _n_annotations
== old_child
then
5453 n_annotations
= new_child
.as(nullable AAnnotations)
5458 redef fun n_char
=(node
)
5463 redef fun n_annotations
=(node
)
5465 _n_annotations
= node
5466 if node
!= null then node
.parent
= self
5470 redef fun visit_all
(v
: Visitor)
5472 v
.enter_visit
(_n_char
)
5473 v
.enter_visit
(_n_annotations
)
5476 redef class AStringExpr
5477 init init_astringexpr
(
5478 n_string
: nullable TString,
5479 n_annotations
: nullable AAnnotations
5482 _n_string
= n_string
.as(not null)
5483 n_string
.parent
= self
5484 _n_annotations
= n_annotations
5485 if n_annotations
!= null then n_annotations
.parent
= self
5488 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5490 if _n_string
== old_child
then
5491 n_string
= new_child
.as(TString)
5494 if _n_annotations
== old_child
then
5495 n_annotations
= new_child
.as(nullable AAnnotations)
5500 redef fun n_string
=(node
)
5505 redef fun n_annotations
=(node
)
5507 _n_annotations
= node
5508 if node
!= null then node
.parent
= self
5512 redef fun visit_all
(v
: Visitor)
5514 v
.enter_visit
(_n_string
)
5515 v
.enter_visit
(_n_annotations
)
5518 redef class AStartStringExpr
5519 init init_astartstringexpr
(
5520 n_string
: nullable TStartString
5523 _n_string
= n_string
.as(not null)
5524 n_string
.parent
= self
5527 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5529 if _n_string
== old_child
then
5530 n_string
= new_child
.as(TStartString)
5535 redef fun n_string
=(node
)
5542 redef fun visit_all
(v
: Visitor)
5544 v
.enter_visit
(_n_string
)
5547 redef class AMidStringExpr
5548 init init_amidstringexpr
(
5549 n_string
: nullable TMidString
5552 _n_string
= n_string
.as(not null)
5553 n_string
.parent
= self
5556 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5558 if _n_string
== old_child
then
5559 n_string
= new_child
.as(TMidString)
5564 redef fun n_string
=(node
)
5571 redef fun visit_all
(v
: Visitor)
5573 v
.enter_visit
(_n_string
)
5576 redef class AEndStringExpr
5577 init init_aendstringexpr
(
5578 n_string
: nullable TEndString
5581 _n_string
= n_string
.as(not null)
5582 n_string
.parent
= self
5585 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5587 if _n_string
== old_child
then
5588 n_string
= new_child
.as(TEndString)
5593 redef fun n_string
=(node
)
5600 redef fun visit_all
(v
: Visitor)
5602 v
.enter_visit
(_n_string
)
5605 redef class ASuperstringExpr
5606 init init_asuperstringexpr
(
5607 n_exprs
: Collection[Object], # Should be Collection[AExpr]
5608 n_annotations
: nullable AAnnotations
5611 self.n_exprs
.unsafe_add_all
(n_exprs
)
5612 _n_annotations
= n_annotations
5613 if n_annotations
!= null then n_annotations
.parent
= self
5616 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5618 if n_exprs
.replace_child
(old_child
, new_child
) then return
5619 if _n_annotations
== old_child
then
5620 n_annotations
= new_child
.as(nullable AAnnotations)
5625 redef fun n_annotations
=(node
)
5627 _n_annotations
= node
5628 if node
!= null then node
.parent
= self
5632 redef fun visit_all
(v
: Visitor)
5634 n_exprs
.visit_all
(v
)
5635 v
.enter_visit
(_n_annotations
)
5638 redef class AParExpr
5639 init init_aparexpr
(
5640 n_opar
: nullable TOpar,
5641 n_expr
: nullable AExpr,
5642 n_cpar
: nullable TCpar,
5643 n_annotations
: nullable AAnnotations
5646 _n_opar
= n_opar
.as(not null)
5647 n_opar
.parent
= self
5648 _n_expr
= n_expr
.as(not null)
5649 n_expr
.parent
= self
5650 _n_cpar
= n_cpar
.as(not null)
5651 n_cpar
.parent
= self
5652 _n_annotations
= n_annotations
5653 if n_annotations
!= null then n_annotations
.parent
= self
5656 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5658 if _n_opar
== old_child
then
5659 n_opar
= new_child
.as(TOpar)
5662 if _n_expr
== old_child
then
5663 n_expr
= new_child
.as(AExpr)
5666 if _n_cpar
== old_child
then
5667 n_cpar
= new_child
.as(TCpar)
5670 if _n_annotations
== old_child
then
5671 n_annotations
= new_child
.as(nullable AAnnotations)
5676 redef fun n_opar
=(node
)
5681 redef fun n_expr
=(node
)
5686 redef fun n_cpar
=(node
)
5691 redef fun n_annotations
=(node
)
5693 _n_annotations
= node
5694 if node
!= null then node
.parent
= self
5698 redef fun visit_all
(v
: Visitor)
5700 v
.enter_visit
(_n_opar
)
5701 v
.enter_visit
(_n_expr
)
5702 v
.enter_visit
(_n_cpar
)
5703 v
.enter_visit
(_n_annotations
)
5706 redef class AAsCastExpr
5707 init init_aascastexpr
(
5708 n_expr
: nullable AExpr,
5709 n_kwas
: nullable TKwas,
5710 n_opar
: nullable TOpar,
5711 n_type
: nullable AType,
5712 n_cpar
: nullable TCpar
5715 _n_expr
= n_expr
.as(not null)
5716 n_expr
.parent
= self
5717 _n_kwas
= n_kwas
.as(not null)
5718 n_kwas
.parent
= self
5720 if n_opar
!= null then n_opar
.parent
= self
5721 _n_type
= n_type
.as(not null)
5722 n_type
.parent
= self
5724 if n_cpar
!= null then n_cpar
.parent
= self
5727 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5729 if _n_expr
== old_child
then
5730 n_expr
= new_child
.as(AExpr)
5733 if _n_kwas
== old_child
then
5734 n_kwas
= new_child
.as(TKwas)
5737 if _n_opar
== old_child
then
5738 n_opar
= new_child
.as(nullable TOpar)
5741 if _n_type
== old_child
then
5742 n_type
= new_child
.as(AType)
5745 if _n_cpar
== old_child
then
5746 n_cpar
= new_child
.as(nullable TCpar)
5751 redef fun n_expr
=(node
)
5756 redef fun n_kwas
=(node
)
5761 redef fun n_opar
=(node
)
5764 if node
!= null then node
.parent
= self
5766 redef fun n_type
=(node
)
5771 redef fun n_cpar
=(node
)
5774 if node
!= null then node
.parent
= self
5778 redef fun visit_all
(v
: Visitor)
5780 v
.enter_visit
(_n_expr
)
5781 v
.enter_visit
(_n_kwas
)
5782 v
.enter_visit
(_n_opar
)
5783 v
.enter_visit
(_n_type
)
5784 v
.enter_visit
(_n_cpar
)
5787 redef class AAsNotnullExpr
5788 init init_aasnotnullexpr
(
5789 n_expr
: nullable AExpr,
5790 n_kwas
: nullable TKwas,
5791 n_opar
: nullable TOpar,
5792 n_kwnot
: nullable TKwnot,
5793 n_kwnull
: nullable TKwnull,
5794 n_cpar
: nullable TCpar
5797 _n_expr
= n_expr
.as(not null)
5798 n_expr
.parent
= self
5799 _n_kwas
= n_kwas
.as(not null)
5800 n_kwas
.parent
= self
5802 if n_opar
!= null then n_opar
.parent
= self
5803 _n_kwnot
= n_kwnot
.as(not null)
5804 n_kwnot
.parent
= self
5805 _n_kwnull
= n_kwnull
.as(not null)
5806 n_kwnull
.parent
= self
5808 if n_cpar
!= null then n_cpar
.parent
= self
5811 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5813 if _n_expr
== old_child
then
5814 n_expr
= new_child
.as(AExpr)
5817 if _n_kwas
== old_child
then
5818 n_kwas
= new_child
.as(TKwas)
5821 if _n_opar
== old_child
then
5822 n_opar
= new_child
.as(nullable TOpar)
5825 if _n_kwnot
== old_child
then
5826 n_kwnot
= new_child
.as(TKwnot)
5829 if _n_kwnull
== old_child
then
5830 n_kwnull
= new_child
.as(TKwnull)
5833 if _n_cpar
== old_child
then
5834 n_cpar
= new_child
.as(nullable TCpar)
5839 redef fun n_expr
=(node
)
5844 redef fun n_kwas
=(node
)
5849 redef fun n_opar
=(node
)
5852 if node
!= null then node
.parent
= self
5854 redef fun n_kwnot
=(node
)
5859 redef fun n_kwnull
=(node
)
5864 redef fun n_cpar
=(node
)
5867 if node
!= null then node
.parent
= self
5871 redef fun visit_all
(v
: Visitor)
5873 v
.enter_visit
(_n_expr
)
5874 v
.enter_visit
(_n_kwas
)
5875 v
.enter_visit
(_n_opar
)
5876 v
.enter_visit
(_n_kwnot
)
5877 v
.enter_visit
(_n_kwnull
)
5878 v
.enter_visit
(_n_cpar
)
5881 redef class AIssetAttrExpr
5882 init init_aissetattrexpr
(
5883 n_kwisset
: nullable TKwisset,
5884 n_expr
: nullable AExpr,
5885 n_id
: nullable TAttrid
5888 _n_kwisset
= n_kwisset
.as(not null)
5889 n_kwisset
.parent
= self
5890 _n_expr
= n_expr
.as(not null)
5891 n_expr
.parent
= self
5892 _n_id
= n_id
.as(not null)
5896 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5898 if _n_kwisset
== old_child
then
5899 n_kwisset
= new_child
.as(TKwisset)
5902 if _n_expr
== old_child
then
5903 n_expr
= new_child
.as(AExpr)
5906 if _n_id
== old_child
then
5907 n_id
= new_child
.as(TAttrid)
5912 redef fun n_kwisset
=(node
)
5917 redef fun n_expr
=(node
)
5922 redef fun n_id
=(node
)
5929 redef fun visit_all
(v
: Visitor)
5931 v
.enter_visit
(_n_kwisset
)
5932 v
.enter_visit
(_n_expr
)
5933 v
.enter_visit
(_n_id
)
5936 redef class ADebugTypeExpr
5937 init init_adebugtypeexpr
(
5938 n_kwdebug
: nullable TKwdebug,
5939 n_kwtype
: nullable TKwtype,
5940 n_expr
: nullable AExpr,
5941 n_type
: nullable AType
5944 _n_kwdebug
= n_kwdebug
.as(not null)
5945 n_kwdebug
.parent
= self
5946 _n_kwtype
= n_kwtype
.as(not null)
5947 n_kwtype
.parent
= self
5948 _n_expr
= n_expr
.as(not null)
5949 n_expr
.parent
= self
5950 _n_type
= n_type
.as(not null)
5951 n_type
.parent
= self
5954 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5956 if _n_kwdebug
== old_child
then
5957 n_kwdebug
= new_child
.as(TKwdebug)
5960 if _n_kwtype
== old_child
then
5961 n_kwtype
= new_child
.as(TKwtype)
5964 if _n_expr
== old_child
then
5965 n_expr
= new_child
.as(AExpr)
5968 if _n_type
== old_child
then
5969 n_type
= new_child
.as(AType)
5974 redef fun n_kwdebug
=(node
)
5979 redef fun n_kwtype
=(node
)
5984 redef fun n_expr
=(node
)
5989 redef fun n_type
=(node
)
5996 redef fun visit_all
(v
: Visitor)
5998 v
.enter_visit
(_n_kwdebug
)
5999 v
.enter_visit
(_n_kwtype
)
6000 v
.enter_visit
(_n_expr
)
6001 v
.enter_visit
(_n_type
)
6004 redef class AVarargExpr
6005 init init_avarargexpr
(
6006 n_expr
: nullable AExpr,
6007 n_dotdotdot
: nullable TDotdotdot
6010 _n_expr
= n_expr
.as(not null)
6011 n_expr
.parent
= self
6012 _n_dotdotdot
= n_dotdotdot
.as(not null)
6013 n_dotdotdot
.parent
= self
6016 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6018 if _n_expr
== old_child
then
6019 n_expr
= new_child
.as(AExpr)
6022 if _n_dotdotdot
== old_child
then
6023 n_dotdotdot
= new_child
.as(TDotdotdot)
6028 redef fun n_expr
=(node
)
6033 redef fun n_dotdotdot
=(node
)
6040 redef fun visit_all
(v
: Visitor)
6042 v
.enter_visit
(_n_expr
)
6043 v
.enter_visit
(_n_dotdotdot
)
6046 redef class ATypeExpr
6047 init init_atypeexpr
(
6048 n_type
: nullable AType
6051 _n_type
= n_type
.as(not null)
6052 n_type
.parent
= self
6055 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6057 if _n_type
== old_child
then
6058 n_type
= new_child
.as(AType)
6063 redef fun n_type
=(node
)
6070 redef fun visit_all
(v
: Visitor)
6072 v
.enter_visit
(_n_type
)
6075 redef class AMethidExpr
6076 init init_amethidexpr
(
6077 n_expr
: nullable AExpr,
6078 n_id
: nullable AMethid
6081 _n_expr
= n_expr
.as(not null)
6082 n_expr
.parent
= self
6083 _n_id
= n_id
.as(not null)
6087 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6089 if _n_expr
== old_child
then
6090 n_expr
= new_child
.as(AExpr)
6093 if _n_id
== old_child
then
6094 n_id
= new_child
.as(AMethid)
6099 redef fun n_expr
=(node
)
6104 redef fun n_id
=(node
)
6111 redef fun visit_all
(v
: Visitor)
6113 v
.enter_visit
(_n_expr
)
6114 v
.enter_visit
(_n_id
)
6119 n_annotations
: nullable AAnnotations
6122 _n_annotations
= n_annotations
.as(not null)
6123 n_annotations
.parent
= self
6126 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6128 if _n_annotations
== old_child
then
6129 n_annotations
= new_child
.as(AAnnotations)
6134 redef fun n_annotations
=(node
)
6136 _n_annotations
= node
6141 redef fun visit_all
(v
: Visitor)
6143 v
.enter_visit
(_n_annotations
)
6146 redef class AManyExpr
6147 init init_amanyexpr
(
6148 n_exprs
: Collection[Object] # Should be Collection[AExpr]
6151 self.n_exprs
.unsafe_add_all
(n_exprs
)
6154 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6156 if n_exprs
.replace_child
(old_child
, new_child
) then return
6161 redef fun visit_all
(v
: Visitor)
6163 n_exprs
.visit_all
(v
)
6166 redef class AListExprs
6167 init init_alistexprs
(
6168 n_exprs
: Collection[Object] # Should be Collection[AExpr]
6171 self.n_exprs
.unsafe_add_all
(n_exprs
)
6174 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6176 if n_exprs
.replace_child
(old_child
, new_child
) then return
6181 redef fun visit_all
(v
: Visitor)
6183 n_exprs
.visit_all
(v
)
6186 redef class AParExprs
6187 init init_aparexprs
(
6188 n_opar
: nullable TOpar,
6189 n_exprs
: Collection[Object], # Should be Collection[AExpr]
6190 n_cpar
: nullable TCpar
6193 _n_opar
= n_opar
.as(not null)
6194 n_opar
.parent
= self
6195 self.n_exprs
.unsafe_add_all
(n_exprs
)
6196 _n_cpar
= n_cpar
.as(not null)
6197 n_cpar
.parent
= self
6200 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6202 if _n_opar
== old_child
then
6203 n_opar
= new_child
.as(TOpar)
6206 if n_exprs
.replace_child
(old_child
, new_child
) then return
6207 if _n_cpar
== old_child
then
6208 n_cpar
= new_child
.as(TCpar)
6213 redef fun n_opar
=(node
)
6218 redef fun n_cpar
=(node
)
6225 redef fun visit_all
(v
: Visitor)
6227 v
.enter_visit
(_n_opar
)
6228 n_exprs
.visit_all
(v
)
6229 v
.enter_visit
(_n_cpar
)
6232 redef class ABraExprs
6233 init init_abraexprs
(
6234 n_obra
: nullable TObra,
6235 n_exprs
: Collection[Object], # Should be Collection[AExpr]
6236 n_cbra
: nullable TCbra
6239 _n_obra
= n_obra
.as(not null)
6240 n_obra
.parent
= self
6241 self.n_exprs
.unsafe_add_all
(n_exprs
)
6242 _n_cbra
= n_cbra
.as(not null)
6243 n_cbra
.parent
= self
6246 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6248 if _n_obra
== old_child
then
6249 n_obra
= new_child
.as(TObra)
6252 if n_exprs
.replace_child
(old_child
, new_child
) then return
6253 if _n_cbra
== old_child
then
6254 n_cbra
= new_child
.as(TCbra)
6259 redef fun n_obra
=(node
)
6264 redef fun n_cbra
=(node
)
6271 redef fun visit_all
(v
: Visitor)
6273 v
.enter_visit
(_n_obra
)
6274 n_exprs
.visit_all
(v
)
6275 v
.enter_visit
(_n_cbra
)
6278 redef class APlusAssignOp
6279 init init_aplusassignop
(
6280 n_pluseq
: nullable TPluseq
6283 _n_pluseq
= n_pluseq
.as(not null)
6284 n_pluseq
.parent
= self
6287 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6289 if _n_pluseq
== old_child
then
6290 n_pluseq
= new_child
.as(TPluseq)
6295 redef fun n_pluseq
=(node
)
6302 redef fun visit_all
(v
: Visitor)
6304 v
.enter_visit
(_n_pluseq
)
6307 redef class AMinusAssignOp
6308 init init_aminusassignop
(
6309 n_minuseq
: nullable TMinuseq
6312 _n_minuseq
= n_minuseq
.as(not null)
6313 n_minuseq
.parent
= self
6316 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6318 if _n_minuseq
== old_child
then
6319 n_minuseq
= new_child
.as(TMinuseq)
6324 redef fun n_minuseq
=(node
)
6331 redef fun visit_all
(v
: Visitor)
6333 v
.enter_visit
(_n_minuseq
)
6336 redef class AModuleName
6337 init init_amodulename
(
6338 n_quad
: nullable TQuad,
6339 n_path
: Collection[Object], # Should be Collection[TId]
6344 if n_quad
!= null then n_quad
.parent
= self
6345 self.n_path
.unsafe_add_all
(n_path
)
6346 _n_id
= n_id
.as(not null)
6350 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6352 if _n_quad
== old_child
then
6353 n_quad
= new_child
.as(nullable TQuad)
6356 if n_path
.replace_child
(old_child
, new_child
) then return
6357 if _n_id
== old_child
then
6358 n_id
= new_child
.as(TId)
6363 redef fun n_quad
=(node
)
6366 if node
!= null then node
.parent
= self
6368 redef fun n_id
=(node
)
6375 redef fun visit_all
(v
: Visitor)
6377 v
.enter_visit
(_n_quad
)
6379 v
.enter_visit
(_n_id
)
6382 redef class AExternCalls
6383 init init_aexterncalls
(
6384 n_kwimport
: nullable TKwimport,
6385 n_extern_calls
: Collection[Object] # Should be Collection[AExternCall]
6388 _n_kwimport
= n_kwimport
.as(not null)
6389 n_kwimport
.parent
= self
6390 self.n_extern_calls
.unsafe_add_all
(n_extern_calls
)
6393 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6395 if _n_kwimport
== old_child
then
6396 n_kwimport
= new_child
.as(TKwimport)
6399 if n_extern_calls
.replace_child
(old_child
, new_child
) then return
6402 redef fun n_kwimport
=(node
)
6409 redef fun visit_all
(v
: Visitor)
6411 v
.enter_visit
(_n_kwimport
)
6412 n_extern_calls
.visit_all
(v
)
6415 redef class AExternCall
6416 init init_aexterncall
6420 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6426 redef fun visit_all
(v
: Visitor)
6430 redef class ASuperExternCall
6431 init init_asuperexterncall
(
6432 n_kwsuper
: nullable TKwsuper
6435 _n_kwsuper
= n_kwsuper
.as(not null)
6436 n_kwsuper
.parent
= self
6439 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6441 if _n_kwsuper
== old_child
then
6442 n_kwsuper
= new_child
.as(TKwsuper)
6447 redef fun n_kwsuper
=(node
)
6454 redef fun visit_all
(v
: Visitor)
6456 v
.enter_visit
(_n_kwsuper
)
6459 redef class ALocalPropExternCall
6460 init init_alocalpropexterncall
(
6461 n_methid
: nullable AMethid
6464 _n_methid
= n_methid
.as(not null)
6465 n_methid
.parent
= self
6468 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6470 if _n_methid
== old_child
then
6471 n_methid
= new_child
.as(AMethid)
6476 redef fun n_methid
=(node
)
6483 redef fun visit_all
(v
: Visitor)
6485 v
.enter_visit
(_n_methid
)
6488 redef class AFullPropExternCall
6489 init init_afullpropexterncall
(
6490 n_type
: nullable AType,
6491 n_dot
: nullable TDot,
6492 n_methid
: nullable AMethid
6495 _n_type
= n_type
.as(not null)
6496 n_type
.parent
= self
6498 if n_dot
!= null then n_dot
.parent
= self
6499 _n_methid
= n_methid
.as(not null)
6500 n_methid
.parent
= self
6503 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6505 if _n_type
== old_child
then
6506 n_type
= new_child
.as(AType)
6509 if _n_dot
== old_child
then
6510 n_dot
= new_child
.as(nullable TDot)
6513 if _n_methid
== old_child
then
6514 n_methid
= new_child
.as(AMethid)
6519 redef fun n_type
=(node
)
6524 redef fun n_dot
=(node
)
6527 if node
!= null then node
.parent
= self
6529 redef fun n_methid
=(node
)
6536 redef fun visit_all
(v
: Visitor)
6538 v
.enter_visit
(_n_type
)
6539 v
.enter_visit
(_n_dot
)
6540 v
.enter_visit
(_n_methid
)
6543 redef class AInitPropExternCall
6544 init init_ainitpropexterncall
(
6545 n_type
: nullable AType
6548 _n_type
= n_type
.as(not null)
6549 n_type
.parent
= self
6552 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6554 if _n_type
== old_child
then
6555 n_type
= new_child
.as(AType)
6560 redef fun n_type
=(node
)
6567 redef fun visit_all
(v
: Visitor)
6569 v
.enter_visit
(_n_type
)
6572 redef class ACastAsExternCall
6573 init init_acastasexterncall
(
6574 n_from_type
: nullable AType,
6575 n_dot
: nullable TDot,
6576 n_kwas
: nullable TKwas,
6577 n_to_type
: nullable AType
6580 _n_from_type
= n_from_type
.as(not null)
6581 n_from_type
.parent
= self
6583 if n_dot
!= null then n_dot
.parent
= self
6584 _n_kwas
= n_kwas
.as(not null)
6585 n_kwas
.parent
= self
6586 _n_to_type
= n_to_type
.as(not null)
6587 n_to_type
.parent
= self
6590 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6592 if _n_from_type
== old_child
then
6593 n_from_type
= new_child
.as(AType)
6596 if _n_dot
== old_child
then
6597 n_dot
= new_child
.as(nullable TDot)
6600 if _n_kwas
== old_child
then
6601 n_kwas
= new_child
.as(TKwas)
6604 if _n_to_type
== old_child
then
6605 n_to_type
= new_child
.as(AType)
6610 redef fun n_from_type
=(node
)
6615 redef fun n_dot
=(node
)
6618 if node
!= null then node
.parent
= self
6620 redef fun n_kwas
=(node
)
6625 redef fun n_to_type
=(node
)
6632 redef fun visit_all
(v
: Visitor)
6634 v
.enter_visit
(_n_from_type
)
6635 v
.enter_visit
(_n_dot
)
6636 v
.enter_visit
(_n_kwas
)
6637 v
.enter_visit
(_n_to_type
)
6640 redef class AAsNullableExternCall
6641 init init_aasnullableexterncall
(
6642 n_type
: nullable AType,
6643 n_kwas
: nullable TKwas,
6644 n_kwnullable
: nullable TKwnullable
6647 _n_type
= n_type
.as(not null)
6648 n_type
.parent
= self
6649 _n_kwas
= n_kwas
.as(not null)
6650 n_kwas
.parent
= self
6651 _n_kwnullable
= n_kwnullable
.as(not null)
6652 n_kwnullable
.parent
= self
6655 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6657 if _n_type
== old_child
then
6658 n_type
= new_child
.as(AType)
6661 if _n_kwas
== old_child
then
6662 n_kwas
= new_child
.as(TKwas)
6665 if _n_kwnullable
== old_child
then
6666 n_kwnullable
= new_child
.as(TKwnullable)
6671 redef fun n_type
=(node
)
6676 redef fun n_kwas
=(node
)
6681 redef fun n_kwnullable
=(node
)
6683 _n_kwnullable
= node
6688 redef fun visit_all
(v
: Visitor)
6690 v
.enter_visit
(_n_type
)
6691 v
.enter_visit
(_n_kwas
)
6692 v
.enter_visit
(_n_kwnullable
)
6695 redef class AAsNotNullableExternCall
6696 init init_aasnotnullableexterncall
(
6697 n_type
: nullable AType,
6698 n_kwas
: nullable TKwas,
6699 n_kwnot
: nullable TKwnot,
6700 n_kwnullable
: nullable TKwnullable
6703 _n_type
= n_type
.as(not null)
6704 n_type
.parent
= self
6705 _n_kwas
= n_kwas
.as(not null)
6706 n_kwas
.parent
= self
6707 _n_kwnot
= n_kwnot
.as(not null)
6708 n_kwnot
.parent
= self
6709 _n_kwnullable
= n_kwnullable
.as(not null)
6710 n_kwnullable
.parent
= self
6713 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6715 if _n_type
== old_child
then
6716 n_type
= new_child
.as(AType)
6719 if _n_kwas
== old_child
then
6720 n_kwas
= new_child
.as(TKwas)
6723 if _n_kwnot
== old_child
then
6724 n_kwnot
= new_child
.as(TKwnot)
6727 if _n_kwnullable
== old_child
then
6728 n_kwnullable
= new_child
.as(TKwnullable)
6733 redef fun n_type
=(node
)
6738 redef fun n_kwas
=(node
)
6743 redef fun n_kwnot
=(node
)
6748 redef fun n_kwnullable
=(node
)
6750 _n_kwnullable
= node
6755 redef fun visit_all
(v
: Visitor)
6757 v
.enter_visit
(_n_type
)
6758 v
.enter_visit
(_n_kwas
)
6759 v
.enter_visit
(_n_kwnot
)
6760 v
.enter_visit
(_n_kwnullable
)
6763 redef class AInLanguage
6764 init init_ainlanguage
(
6765 n_kwin
: nullable TKwin,
6766 n_string
: nullable TString
6769 _n_kwin
= n_kwin
.as(not null)
6770 n_kwin
.parent
= self
6771 _n_string
= n_string
.as(not null)
6772 n_string
.parent
= self
6775 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6777 if _n_kwin
== old_child
then
6778 n_kwin
= new_child
.as(TKwin)
6781 if _n_string
== old_child
then
6782 n_string
= new_child
.as(TString)
6787 redef fun n_kwin
=(node
)
6792 redef fun n_string
=(node
)
6799 redef fun visit_all
(v
: Visitor)
6801 v
.enter_visit
(_n_kwin
)
6802 v
.enter_visit
(_n_string
)
6805 redef class AExternCodeBlock
6806 init init_aexterncodeblock
(
6807 n_in_language
: nullable AInLanguage,
6808 n_extern_code_segment
: nullable TExternCodeSegment
6811 _n_in_language
= n_in_language
6812 if n_in_language
!= null then n_in_language
.parent
= self
6813 _n_extern_code_segment
= n_extern_code_segment
.as(not null)
6814 n_extern_code_segment
.parent
= self
6817 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6819 if _n_in_language
== old_child
then
6820 n_in_language
= new_child
.as(nullable AInLanguage)
6823 if _n_extern_code_segment
== old_child
then
6824 n_extern_code_segment
= new_child
.as(TExternCodeSegment)
6829 redef fun n_in_language
=(node
)
6831 _n_in_language
= node
6832 if node
!= null then node
.parent
= self
6834 redef fun n_extern_code_segment
=(node
)
6836 _n_extern_code_segment
= node
6841 redef fun visit_all
(v
: Visitor)
6843 v
.enter_visit
(_n_in_language
)
6844 v
.enter_visit
(_n_extern_code_segment
)
6847 redef class AQualified
6848 init init_aqualified
(
6849 n_id
: Collection[Object], # Should be Collection[TId]
6850 n_classid
: nullable TClassid
6853 self.n_id
.unsafe_add_all
(n_id
)
6854 _n_classid
= n_classid
6855 if n_classid
!= null then n_classid
.parent
= self
6858 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6860 if n_id
.replace_child
(old_child
, new_child
) then return
6861 if _n_classid
== old_child
then
6862 n_classid
= new_child
.as(nullable TClassid)
6867 redef fun n_classid
=(node
)
6870 if node
!= null then node
.parent
= self
6874 redef fun visit_all
(v
: Visitor)
6877 v
.enter_visit
(_n_classid
)
6882 n_comment
: Collection[Object] # Should be Collection[TComment]
6885 self.n_comment
.unsafe_add_all
(n_comment
)
6888 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6890 if n_comment
.replace_child
(old_child
, new_child
) then return
6895 redef fun visit_all
(v
: Visitor)
6897 n_comment
.visit_all
(v
)
6900 redef class AAnnotations
6901 init init_aannotations
(
6903 n_opar
: nullable TOpar,
6904 n_items
: Collection[Object], # Should be Collection[AAnnotation]
6905 n_cpar
: nullable TCpar
6909 if n_at
!= null then n_at
.parent
= self
6911 if n_opar
!= null then n_opar
.parent
= self
6912 self.n_items
.unsafe_add_all
(n_items
)
6914 if n_cpar
!= null then n_cpar
.parent
= self
6917 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6919 if _n_at
== old_child
then
6920 n_at
= new_child
.as(nullable TAt)
6923 if _n_opar
== old_child
then
6924 n_opar
= new_child
.as(nullable TOpar)
6927 if n_items
.replace_child
(old_child
, new_child
) then return
6928 if _n_cpar
== old_child
then
6929 n_cpar
= new_child
.as(nullable TCpar)
6934 redef fun n_at
=(node
)
6937 if node
!= null then node
.parent
= self
6939 redef fun n_opar
=(node
)
6942 if node
!= null then node
.parent
= self
6944 redef fun n_cpar
=(node
)
6947 if node
!= null then node
.parent
= self
6951 redef fun visit_all
(v
: Visitor)
6953 v
.enter_visit
(_n_at
)
6954 v
.enter_visit
(_n_opar
)
6955 n_items
.visit_all
(v
)
6956 v
.enter_visit
(_n_cpar
)
6959 redef class AAnnotation
6960 init init_aannotation
(
6961 n_doc
: nullable ADoc,
6962 n_kwredef
: nullable TKwredef,
6963 n_visibility
: nullable AVisibility,
6964 n_atid
: nullable AAtid,
6965 n_opar
: nullable TOpar,
6966 n_args
: Collection[Object], # Should be Collection[AExpr]
6967 n_cpar
: nullable TCpar,
6968 n_annotations
: nullable AAnnotations
6972 if n_doc
!= null then n_doc
.parent
= self
6973 _n_kwredef
= n_kwredef
6974 if n_kwredef
!= null then n_kwredef
.parent
= self
6975 _n_visibility
= n_visibility
6976 if n_visibility
!= null then n_visibility
.parent
= self
6977 _n_atid
= n_atid
.as(not null)
6978 n_atid
.parent
= self
6980 if n_opar
!= null then n_opar
.parent
= self
6981 self.n_args
.unsafe_add_all
(n_args
)
6983 if n_cpar
!= null then n_cpar
.parent
= self
6984 _n_annotations
= n_annotations
6985 if n_annotations
!= null then n_annotations
.parent
= self
6988 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6990 if _n_doc
== old_child
then
6991 n_doc
= new_child
.as(nullable ADoc)
6994 if _n_kwredef
== old_child
then
6995 n_kwredef
= new_child
.as(nullable TKwredef)
6998 if _n_visibility
== old_child
then
6999 n_visibility
= new_child
.as(nullable AVisibility)
7002 if _n_atid
== old_child
then
7003 n_atid
= new_child
.as(AAtid)
7006 if _n_opar
== old_child
then
7007 n_opar
= new_child
.as(nullable TOpar)
7010 if n_args
.replace_child
(old_child
, new_child
) then return
7011 if _n_cpar
== old_child
then
7012 n_cpar
= new_child
.as(nullable TCpar)
7015 if _n_annotations
== old_child
then
7016 n_annotations
= new_child
.as(nullable AAnnotations)
7021 redef fun n_doc
=(node
)
7024 if node
!= null then node
.parent
= self
7026 redef fun n_kwredef
=(node
)
7029 if node
!= null then node
.parent
= self
7031 redef fun n_visibility
=(node
)
7033 _n_visibility
= node
7034 if node
!= null then node
.parent
= self
7036 redef fun n_atid
=(node
)
7041 redef fun n_opar
=(node
)
7044 if node
!= null then node
.parent
= self
7046 redef fun n_cpar
=(node
)
7049 if node
!= null then node
.parent
= self
7051 redef fun n_annotations
=(node
)
7053 _n_annotations
= node
7054 if node
!= null then node
.parent
= self
7058 redef fun visit_all
(v
: Visitor)
7060 v
.enter_visit
(_n_doc
)
7061 v
.enter_visit
(_n_kwredef
)
7062 v
.enter_visit
(_n_visibility
)
7063 v
.enter_visit
(_n_atid
)
7064 v
.enter_visit
(_n_opar
)
7066 v
.enter_visit
(_n_cpar
)
7067 v
.enter_visit
(_n_annotations
)
7075 _n_id
= n_id
.as(not null)
7079 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7081 if _n_id
== old_child
then
7082 n_id
= new_child
.as(TId)
7087 redef fun n_id
=(node
)
7094 redef fun visit_all
(v
: Visitor)
7096 v
.enter_visit
(_n_id
)
7099 redef class AKwexternAtid
7100 init init_akwexternatid
(
7101 n_id
: nullable TKwextern
7104 _n_id
= n_id
.as(not null)
7108 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7110 if _n_id
== old_child
then
7111 n_id
= new_child
.as(TKwextern)
7116 redef fun n_id
=(node
)
7123 redef fun visit_all
(v
: Visitor)
7125 v
.enter_visit
(_n_id
)
7128 redef class AKwabstractAtid
7129 init init_akwabstractatid
(
7130 n_id
: nullable TKwabstract
7133 _n_id
= n_id
.as(not null)
7137 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7139 if _n_id
== old_child
then
7140 n_id
= new_child
.as(TKwabstract)
7145 redef fun n_id
=(node
)
7152 redef fun visit_all
(v
: Visitor)
7154 v
.enter_visit
(_n_id
)
7157 redef class AKwimportAtid
7158 init init_akwimportatid
(
7159 n_id
: nullable TKwimport
7162 _n_id
= n_id
.as(not null)
7166 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7168 if _n_id
== old_child
then
7169 n_id
= new_child
.as(TKwimport)
7174 redef fun n_id
=(node
)
7181 redef fun visit_all
(v
: Visitor)
7183 v
.enter_visit
(_n_id
)
7188 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7190 if _n_base
== old_child
then
7191 if new_child
== null then
7193 new_child
.parent
= self
7194 assert new_child
isa AModule
7197 old_child
.parent
= null
7202 redef fun visit_all
(v
: Visitor)
7204 if _n_base
!= null then
7205 v
.enter_visit
(_n_base
.as(not null))
7207 v
.enter_visit
(_n_eof
)