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_extern_code_block
: nullable AExternCodeBlock,
392 n_propdefs
: Collection[Object], # Should be Collection[APropdef]
393 n_kwend
: nullable TKwend
397 if n_doc
!= null then n_doc
.parent
= self
398 _n_kwredef
= n_kwredef
399 if n_kwredef
!= null then n_kwredef
.parent
= self
400 _n_visibility
= n_visibility
.as(not null)
401 n_visibility
.parent
= self
402 _n_classkind
= n_classkind
.as(not null)
403 n_classkind
.parent
= self
405 if n_id
!= null then n_id
.parent
= self
406 self.n_formaldefs
.unsafe_add_all
(n_formaldefs
)
407 _n_extern_code_block
= n_extern_code_block
408 if n_extern_code_block
!= null then n_extern_code_block
.parent
= self
409 self.n_propdefs
.unsafe_add_all
(n_propdefs
)
410 _n_kwend
= n_kwend
.as(not null)
411 n_kwend
.parent
= self
414 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
416 if _n_doc
== old_child
then
417 n_doc
= new_child
.as(nullable ADoc)
420 if _n_kwredef
== old_child
then
421 n_kwredef
= new_child
.as(nullable TKwredef)
424 if _n_visibility
== old_child
then
425 n_visibility
= new_child
.as(AVisibility)
428 if _n_classkind
== old_child
then
429 n_classkind
= new_child
.as(AClasskind)
432 if _n_id
== old_child
then
433 n_id
= new_child
.as(nullable TClassid)
436 if n_formaldefs
.replace_child
(old_child
, new_child
) then return
437 if _n_extern_code_block
== old_child
then
438 n_extern_code_block
= new_child
.as(nullable AExternCodeBlock)
441 if n_propdefs
.replace_child
(old_child
, new_child
) then return
442 if _n_kwend
== old_child
then
443 n_kwend
= new_child
.as(TKwend)
448 redef fun n_doc
=(node
)
451 if node
!= null then node
.parent
= self
453 redef fun n_kwredef
=(node
)
456 if node
!= null then node
.parent
= self
458 redef fun n_visibility
=(node
)
463 redef fun n_classkind
=(node
)
468 redef fun n_id
=(node
)
471 if node
!= null then node
.parent
= self
473 redef fun n_extern_code_block
=(node
)
475 _n_extern_code_block
= node
476 if node
!= null then node
.parent
= self
478 redef fun n_kwend
=(node
)
485 redef fun visit_all
(v
: Visitor)
487 v
.enter_visit
(_n_doc
)
488 v
.enter_visit
(_n_kwredef
)
489 v
.enter_visit
(_n_visibility
)
490 v
.enter_visit
(_n_classkind
)
492 n_formaldefs
.visit_all
(v
)
493 v
.enter_visit
(_n_extern_code_block
)
494 n_propdefs
.visit_all
(v
)
495 v
.enter_visit
(_n_kwend
)
498 redef class ATopClassdef
499 init init_atopclassdef
(
500 n_propdefs
: Collection[Object] # Should be Collection[APropdef]
503 self.n_propdefs
.unsafe_add_all
(n_propdefs
)
506 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
508 if n_propdefs
.replace_child
(old_child
, new_child
) then return
513 redef fun visit_all
(v
: Visitor)
515 n_propdefs
.visit_all
(v
)
518 redef class AMainClassdef
519 init init_amainclassdef
(
520 n_propdefs
: Collection[Object] # Should be Collection[APropdef]
523 self.n_propdefs
.unsafe_add_all
(n_propdefs
)
526 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
528 if n_propdefs
.replace_child
(old_child
, new_child
) then return
533 redef fun visit_all
(v
: Visitor)
535 n_propdefs
.visit_all
(v
)
538 redef class AConcreteClasskind
539 init init_aconcreteclasskind
(
540 n_kwclass
: nullable TKwclass
543 _n_kwclass
= n_kwclass
.as(not null)
544 n_kwclass
.parent
= self
547 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
549 if _n_kwclass
== old_child
then
550 n_kwclass
= new_child
.as(TKwclass)
555 redef fun n_kwclass
=(node
)
562 redef fun visit_all
(v
: Visitor)
564 v
.enter_visit
(_n_kwclass
)
567 redef class AAbstractClasskind
568 init init_aabstractclasskind
(
569 n_kwabstract
: nullable TKwabstract,
570 n_kwclass
: nullable TKwclass
573 _n_kwabstract
= n_kwabstract
.as(not null)
574 n_kwabstract
.parent
= self
575 _n_kwclass
= n_kwclass
.as(not null)
576 n_kwclass
.parent
= self
579 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
581 if _n_kwabstract
== old_child
then
582 n_kwabstract
= new_child
.as(TKwabstract)
585 if _n_kwclass
== old_child
then
586 n_kwclass
= new_child
.as(TKwclass)
591 redef fun n_kwabstract
=(node
)
596 redef fun n_kwclass
=(node
)
603 redef fun visit_all
(v
: Visitor)
605 v
.enter_visit
(_n_kwabstract
)
606 v
.enter_visit
(_n_kwclass
)
609 redef class AInterfaceClasskind
610 init init_ainterfaceclasskind
(
611 n_kwinterface
: nullable TKwinterface
614 _n_kwinterface
= n_kwinterface
.as(not null)
615 n_kwinterface
.parent
= self
618 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
620 if _n_kwinterface
== old_child
then
621 n_kwinterface
= new_child
.as(TKwinterface)
626 redef fun n_kwinterface
=(node
)
628 _n_kwinterface
= node
633 redef fun visit_all
(v
: Visitor)
635 v
.enter_visit
(_n_kwinterface
)
638 redef class AEnumClasskind
639 init init_aenumclasskind
(
640 n_kwenum
: nullable TKwenum
643 _n_kwenum
= n_kwenum
.as(not null)
644 n_kwenum
.parent
= self
647 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
649 if _n_kwenum
== old_child
then
650 n_kwenum
= new_child
.as(TKwenum)
655 redef fun n_kwenum
=(node
)
662 redef fun visit_all
(v
: Visitor)
664 v
.enter_visit
(_n_kwenum
)
667 redef class AExternClasskind
668 init init_aexternclasskind
(
669 n_kwextern
: nullable TKwextern,
670 n_kwclass
: nullable TKwclass
673 _n_kwextern
= n_kwextern
.as(not null)
674 n_kwextern
.parent
= self
675 _n_kwclass
= n_kwclass
676 if n_kwclass
!= null then n_kwclass
.parent
= self
679 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
681 if _n_kwextern
== old_child
then
682 n_kwextern
= new_child
.as(TKwextern)
685 if _n_kwclass
== old_child
then
686 n_kwclass
= new_child
.as(nullable TKwclass)
691 redef fun n_kwextern
=(node
)
696 redef fun n_kwclass
=(node
)
699 if node
!= null then node
.parent
= self
703 redef fun visit_all
(v
: Visitor)
705 v
.enter_visit
(_n_kwextern
)
706 v
.enter_visit
(_n_kwclass
)
709 redef class AFormaldef
710 init init_aformaldef
(
711 n_id
: nullable TClassid,
712 n_type
: nullable AType,
713 n_annotations
: nullable AAnnotations
716 _n_id
= n_id
.as(not null)
719 if n_type
!= null then n_type
.parent
= self
720 _n_annotations
= n_annotations
721 if n_annotations
!= null then n_annotations
.parent
= self
724 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
726 if _n_id
== old_child
then
727 n_id
= new_child
.as(TClassid)
730 if _n_type
== old_child
then
731 n_type
= new_child
.as(nullable AType)
734 if _n_annotations
== old_child
then
735 n_annotations
= new_child
.as(nullable AAnnotations)
740 redef fun n_id
=(node
)
745 redef fun n_type
=(node
)
748 if node
!= null then node
.parent
= self
750 redef fun n_annotations
=(node
)
752 _n_annotations
= node
753 if node
!= null then node
.parent
= self
757 redef fun visit_all
(v
: Visitor)
760 v
.enter_visit
(_n_type
)
761 v
.enter_visit
(_n_annotations
)
764 redef class AAttrPropdef
765 init init_aattrpropdef
(
766 n_doc
: nullable ADoc,
767 n_kwredef
: nullable TKwredef,
768 n_visibility
: nullable AVisibility,
769 n_kwvar
: nullable TKwvar,
771 n_type
: nullable AType,
772 n_expr
: nullable AExpr,
773 n_annotations
: nullable AAnnotations,
774 n_block
: nullable AExpr
778 if n_doc
!= null then n_doc
.parent
= self
779 _n_kwredef
= n_kwredef
780 if n_kwredef
!= null then n_kwredef
.parent
= self
781 _n_visibility
= n_visibility
.as(not null)
782 n_visibility
.parent
= self
783 _n_kwvar
= n_kwvar
.as(not null)
784 n_kwvar
.parent
= self
785 _n_id2
= n_id2
.as(not null)
788 if n_type
!= null then n_type
.parent
= self
790 if n_expr
!= null then n_expr
.parent
= self
791 _n_annotations
= n_annotations
792 if n_annotations
!= null then n_annotations
.parent
= self
794 if n_block
!= null then n_block
.parent
= self
797 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
799 if _n_doc
== old_child
then
800 n_doc
= new_child
.as(nullable ADoc)
803 if _n_kwredef
== old_child
then
804 n_kwredef
= new_child
.as(nullable TKwredef)
807 if _n_visibility
== old_child
then
808 n_visibility
= new_child
.as(AVisibility)
811 if _n_kwvar
== old_child
then
812 n_kwvar
= new_child
.as(TKwvar)
815 if _n_id2
== old_child
then
816 n_id2
= new_child
.as(TId)
819 if _n_type
== old_child
then
820 n_type
= new_child
.as(nullable AType)
823 if _n_expr
== old_child
then
824 n_expr
= new_child
.as(nullable AExpr)
827 if _n_annotations
== old_child
then
828 n_annotations
= new_child
.as(nullable AAnnotations)
831 if _n_block
== old_child
then
832 n_block
= new_child
.as(nullable AExpr)
837 redef fun n_doc
=(node
)
840 if node
!= null then node
.parent
= self
842 redef fun n_kwredef
=(node
)
845 if node
!= null then node
.parent
= self
847 redef fun n_visibility
=(node
)
852 redef fun n_kwvar
=(node
)
857 redef fun n_id2
=(node
)
862 redef fun n_type
=(node
)
865 if node
!= null then node
.parent
= self
867 redef fun n_expr
=(node
)
870 if node
!= null then node
.parent
= self
872 redef fun n_annotations
=(node
)
874 _n_annotations
= node
875 if node
!= null then node
.parent
= self
877 redef fun n_block
=(node
)
880 if node
!= null then node
.parent
= self
884 redef fun visit_all
(v
: Visitor)
886 v
.enter_visit
(_n_doc
)
887 v
.enter_visit
(_n_kwredef
)
888 v
.enter_visit
(_n_visibility
)
889 v
.enter_visit
(_n_kwvar
)
890 v
.enter_visit
(_n_id2
)
891 v
.enter_visit
(_n_type
)
892 v
.enter_visit
(_n_expr
)
893 v
.enter_visit
(_n_annotations
)
894 v
.enter_visit
(_n_block
)
897 redef class AMainMethPropdef
898 init init_amainmethpropdef
(
899 n_kwredef
: nullable TKwredef,
900 n_block
: nullable AExpr
903 _n_kwredef
= n_kwredef
904 if n_kwredef
!= null then n_kwredef
.parent
= self
906 if n_block
!= null then n_block
.parent
= self
909 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
911 if _n_kwredef
== old_child
then
912 n_kwredef
= new_child
.as(nullable TKwredef)
915 if _n_block
== old_child
then
916 n_block
= new_child
.as(nullable AExpr)
921 redef fun n_kwredef
=(node
)
924 if node
!= null then node
.parent
= self
926 redef fun n_block
=(node
)
929 if node
!= null then node
.parent
= self
933 redef fun visit_all
(v
: Visitor)
935 v
.enter_visit
(_n_kwredef
)
936 v
.enter_visit
(_n_block
)
939 redef class ATypePropdef
940 init init_atypepropdef
(
941 n_doc
: nullable ADoc,
942 n_kwredef
: nullable TKwredef,
943 n_visibility
: nullable AVisibility,
944 n_kwtype
: nullable TKwtype,
945 n_id
: nullable TClassid,
946 n_type
: nullable AType,
947 n_annotations
: nullable AAnnotations
951 if n_doc
!= null then n_doc
.parent
= self
952 _n_kwredef
= n_kwredef
953 if n_kwredef
!= null then n_kwredef
.parent
= self
954 _n_visibility
= n_visibility
.as(not null)
955 n_visibility
.parent
= self
956 _n_kwtype
= n_kwtype
.as(not null)
957 n_kwtype
.parent
= self
958 _n_id
= n_id
.as(not null)
960 _n_type
= n_type
.as(not null)
962 _n_annotations
= n_annotations
963 if n_annotations
!= null then n_annotations
.parent
= self
966 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
968 if _n_doc
== old_child
then
969 n_doc
= new_child
.as(nullable ADoc)
972 if _n_kwredef
== old_child
then
973 n_kwredef
= new_child
.as(nullable TKwredef)
976 if _n_visibility
== old_child
then
977 n_visibility
= new_child
.as(AVisibility)
980 if _n_kwtype
== old_child
then
981 n_kwtype
= new_child
.as(TKwtype)
984 if _n_id
== old_child
then
985 n_id
= new_child
.as(TClassid)
988 if _n_type
== old_child
then
989 n_type
= new_child
.as(AType)
992 if _n_annotations
== old_child
then
993 n_annotations
= new_child
.as(nullable AAnnotations)
998 redef fun n_doc
=(node
)
1001 if node
!= null then node
.parent
= self
1003 redef fun n_kwredef
=(node
)
1006 if node
!= null then node
.parent
= self
1008 redef fun n_visibility
=(node
)
1010 _n_visibility
= node
1013 redef fun n_kwtype
=(node
)
1018 redef fun n_id
=(node
)
1023 redef fun n_type
=(node
)
1028 redef fun n_annotations
=(node
)
1030 _n_annotations
= node
1031 if node
!= null then node
.parent
= self
1035 redef fun visit_all
(v
: Visitor)
1037 v
.enter_visit
(_n_doc
)
1038 v
.enter_visit
(_n_kwredef
)
1039 v
.enter_visit
(_n_visibility
)
1040 v
.enter_visit
(_n_kwtype
)
1041 v
.enter_visit
(_n_id
)
1042 v
.enter_visit
(_n_type
)
1043 v
.enter_visit
(_n_annotations
)
1046 redef class AMethPropdef
1047 init init_amethpropdef
(
1048 n_doc
: nullable ADoc,
1049 n_kwredef
: nullable TKwredef,
1050 n_visibility
: nullable AVisibility,
1051 n_kwmeth
: nullable TKwmeth,
1052 n_kwinit
: nullable TKwinit,
1053 n_kwnew
: nullable TKwnew,
1054 n_methid
: nullable AMethid,
1055 n_signature
: nullable ASignature,
1056 n_annotations
: nullable AAnnotations,
1057 n_extern_calls
: nullable AExternCalls,
1058 n_extern_code_block
: nullable AExternCodeBlock,
1059 n_block
: nullable AExpr
1063 if n_doc
!= null then n_doc
.parent
= self
1064 _n_kwredef
= n_kwredef
1065 if n_kwredef
!= null then n_kwredef
.parent
= self
1066 _n_visibility
= n_visibility
.as(not null)
1067 n_visibility
.parent
= self
1068 _n_kwmeth
= n_kwmeth
1069 if n_kwmeth
!= null then n_kwmeth
.parent
= self
1070 _n_kwinit
= n_kwinit
1071 if n_kwinit
!= null then n_kwinit
.parent
= self
1073 if n_kwnew
!= null then n_kwnew
.parent
= self
1074 _n_methid
= n_methid
1075 if n_methid
!= null then n_methid
.parent
= self
1076 _n_signature
= n_signature
.as(not null)
1077 n_signature
.parent
= self
1078 _n_annotations
= n_annotations
1079 if n_annotations
!= null then n_annotations
.parent
= self
1080 _n_extern_calls
= n_extern_calls
1081 if n_extern_calls
!= null then n_extern_calls
.parent
= self
1082 _n_extern_code_block
= n_extern_code_block
1083 if n_extern_code_block
!= null then n_extern_code_block
.parent
= self
1085 if n_block
!= null then n_block
.parent
= self
1088 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1090 if _n_doc
== old_child
then
1091 n_doc
= new_child
.as(nullable ADoc)
1094 if _n_kwredef
== old_child
then
1095 n_kwredef
= new_child
.as(nullable TKwredef)
1098 if _n_visibility
== old_child
then
1099 n_visibility
= new_child
.as(AVisibility)
1102 if _n_kwmeth
== old_child
then
1103 n_kwmeth
= new_child
.as(nullable TKwmeth)
1106 if _n_kwinit
== old_child
then
1107 n_kwinit
= new_child
.as(nullable TKwinit)
1110 if _n_kwnew
== old_child
then
1111 n_kwnew
= new_child
.as(nullable TKwnew)
1114 if _n_methid
== old_child
then
1115 n_methid
= new_child
.as(nullable AMethid)
1118 if _n_signature
== old_child
then
1119 n_signature
= new_child
.as(ASignature)
1122 if _n_annotations
== old_child
then
1123 n_annotations
= new_child
.as(nullable AAnnotations)
1126 if _n_extern_calls
== old_child
then
1127 n_extern_calls
= new_child
.as(nullable AExternCalls)
1130 if _n_extern_code_block
== old_child
then
1131 n_extern_code_block
= new_child
.as(nullable AExternCodeBlock)
1134 if _n_block
== old_child
then
1135 n_block
= new_child
.as(nullable AExpr)
1140 redef fun n_doc
=(node
)
1143 if node
!= null then node
.parent
= self
1145 redef fun n_kwredef
=(node
)
1148 if node
!= null then node
.parent
= self
1150 redef fun n_visibility
=(node
)
1152 _n_visibility
= node
1155 redef fun n_kwmeth
=(node
)
1158 if node
!= null then node
.parent
= self
1160 redef fun n_kwinit
=(node
)
1163 if node
!= null then node
.parent
= self
1165 redef fun n_kwnew
=(node
)
1168 if node
!= null then node
.parent
= self
1170 redef fun n_methid
=(node
)
1173 if node
!= null then node
.parent
= self
1175 redef fun n_signature
=(node
)
1180 redef fun n_annotations
=(node
)
1182 _n_annotations
= node
1183 if node
!= null then node
.parent
= self
1185 redef fun n_extern_calls
=(node
)
1187 _n_extern_calls
= node
1188 if node
!= null then node
.parent
= self
1190 redef fun n_extern_code_block
=(node
)
1192 _n_extern_code_block
= node
1193 if node
!= null then node
.parent
= self
1195 redef fun n_block
=(node
)
1198 if node
!= null then node
.parent
= self
1202 redef fun visit_all
(v
: Visitor)
1204 v
.enter_visit
(_n_doc
)
1205 v
.enter_visit
(_n_kwredef
)
1206 v
.enter_visit
(_n_visibility
)
1207 v
.enter_visit
(_n_kwmeth
)
1208 v
.enter_visit
(_n_kwinit
)
1209 v
.enter_visit
(_n_kwnew
)
1210 v
.enter_visit
(_n_methid
)
1211 v
.enter_visit
(_n_signature
)
1212 v
.enter_visit
(_n_annotations
)
1213 v
.enter_visit
(_n_extern_calls
)
1214 v
.enter_visit
(_n_extern_code_block
)
1215 v
.enter_visit
(_n_block
)
1218 redef class ASuperPropdef
1219 init init_asuperpropdef
(
1220 n_doc
: nullable ADoc,
1221 n_kwredef
: nullable TKwredef,
1222 n_visibility
: nullable AVisibility,
1223 n_kwsuper
: nullable TKwsuper,
1224 n_type
: nullable AType,
1225 n_annotations
: nullable AAnnotations
1229 if n_doc
!= null then n_doc
.parent
= self
1230 _n_kwredef
= n_kwredef
1231 if n_kwredef
!= null then n_kwredef
.parent
= self
1232 _n_visibility
= n_visibility
.as(not null)
1233 n_visibility
.parent
= self
1234 _n_kwsuper
= n_kwsuper
.as(not null)
1235 n_kwsuper
.parent
= self
1236 _n_type
= n_type
.as(not null)
1237 n_type
.parent
= self
1238 _n_annotations
= n_annotations
1239 if n_annotations
!= null then n_annotations
.parent
= self
1242 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1244 if _n_doc
== old_child
then
1245 n_doc
= new_child
.as(nullable ADoc)
1248 if _n_kwredef
== old_child
then
1249 n_kwredef
= new_child
.as(nullable TKwredef)
1252 if _n_visibility
== old_child
then
1253 n_visibility
= new_child
.as(AVisibility)
1256 if _n_kwsuper
== old_child
then
1257 n_kwsuper
= new_child
.as(TKwsuper)
1260 if _n_type
== old_child
then
1261 n_type
= new_child
.as(AType)
1264 if _n_annotations
== old_child
then
1265 n_annotations
= new_child
.as(nullable AAnnotations)
1270 redef fun n_doc
=(node
)
1273 if node
!= null then node
.parent
= self
1275 redef fun n_kwredef
=(node
)
1278 if node
!= null then node
.parent
= self
1280 redef fun n_visibility
=(node
)
1282 _n_visibility
= node
1285 redef fun n_kwsuper
=(node
)
1290 redef fun n_type
=(node
)
1295 redef fun n_annotations
=(node
)
1297 _n_annotations
= node
1298 if node
!= null then node
.parent
= self
1302 redef fun visit_all
(v
: Visitor)
1304 v
.enter_visit
(_n_doc
)
1305 v
.enter_visit
(_n_kwredef
)
1306 v
.enter_visit
(_n_visibility
)
1307 v
.enter_visit
(_n_kwsuper
)
1308 v
.enter_visit
(_n_type
)
1309 v
.enter_visit
(_n_annotations
)
1312 redef class AAnnotPropdef
1313 init init_aannotpropdef
(
1314 n_doc
: nullable ADoc,
1315 n_kwredef
: nullable TKwredef,
1316 n_visibility
: nullable AVisibility,
1317 n_atid
: nullable AAtid,
1318 n_opar
: nullable TOpar,
1319 n_args
: Collection[Object], # Should be Collection[AExpr]
1320 n_cpar
: nullable TCpar,
1321 n_annotations
: nullable AAnnotations
1325 if n_doc
!= null then n_doc
.parent
= self
1326 _n_kwredef
= n_kwredef
1327 if n_kwredef
!= null then n_kwredef
.parent
= self
1328 _n_visibility
= n_visibility
1329 if n_visibility
!= null then n_visibility
.parent
= self
1330 _n_atid
= n_atid
.as(not null)
1331 n_atid
.parent
= self
1333 if n_opar
!= null then n_opar
.parent
= self
1334 self.n_args
.unsafe_add_all
(n_args
)
1336 if n_cpar
!= null then n_cpar
.parent
= self
1337 _n_annotations
= n_annotations
1338 if n_annotations
!= null then n_annotations
.parent
= self
1341 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1343 if _n_doc
== old_child
then
1344 n_doc
= new_child
.as(nullable ADoc)
1347 if _n_kwredef
== old_child
then
1348 n_kwredef
= new_child
.as(nullable TKwredef)
1351 if _n_visibility
== old_child
then
1352 n_visibility
= new_child
.as(nullable AVisibility)
1355 if _n_atid
== old_child
then
1356 n_atid
= new_child
.as(AAtid)
1359 if _n_opar
== old_child
then
1360 n_opar
= new_child
.as(nullable TOpar)
1363 if n_args
.replace_child
(old_child
, new_child
) then return
1364 if _n_cpar
== old_child
then
1365 n_cpar
= new_child
.as(nullable TCpar)
1368 if _n_annotations
== old_child
then
1369 n_annotations
= new_child
.as(nullable AAnnotations)
1374 redef fun n_doc
=(node
)
1377 if node
!= null then node
.parent
= self
1379 redef fun n_kwredef
=(node
)
1382 if node
!= null then node
.parent
= self
1384 redef fun n_visibility
=(node
)
1386 _n_visibility
= node
1387 if node
!= null then node
.parent
= self
1389 redef fun n_atid
=(node
)
1394 redef fun n_opar
=(node
)
1397 if node
!= null then node
.parent
= self
1399 redef fun n_cpar
=(node
)
1402 if node
!= null then node
.parent
= self
1404 redef fun n_annotations
=(node
)
1406 _n_annotations
= node
1407 if node
!= null then node
.parent
= self
1411 redef fun visit_all
(v
: Visitor)
1413 v
.enter_visit
(_n_doc
)
1414 v
.enter_visit
(_n_kwredef
)
1415 v
.enter_visit
(_n_visibility
)
1416 v
.enter_visit
(_n_atid
)
1417 v
.enter_visit
(_n_opar
)
1419 v
.enter_visit
(_n_cpar
)
1420 v
.enter_visit
(_n_annotations
)
1423 redef class AIdMethid
1424 init init_aidmethid
(
1428 _n_id
= n_id
.as(not null)
1432 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1434 if _n_id
== old_child
then
1435 n_id
= new_child
.as(TId)
1440 redef fun n_id
=(node
)
1447 redef fun visit_all
(v
: Visitor)
1449 v
.enter_visit
(_n_id
)
1452 redef class APlusMethid
1453 init init_aplusmethid
(
1454 n_plus
: nullable TPlus
1457 _n_plus
= n_plus
.as(not null)
1458 n_plus
.parent
= self
1461 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1463 if _n_plus
== old_child
then
1464 n_plus
= new_child
.as(TPlus)
1469 redef fun n_plus
=(node
)
1476 redef fun visit_all
(v
: Visitor)
1478 v
.enter_visit
(_n_plus
)
1481 redef class AMinusMethid
1482 init init_aminusmethid
(
1483 n_minus
: nullable TMinus
1486 _n_minus
= n_minus
.as(not null)
1487 n_minus
.parent
= self
1490 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1492 if _n_minus
== old_child
then
1493 n_minus
= new_child
.as(TMinus)
1498 redef fun n_minus
=(node
)
1505 redef fun visit_all
(v
: Visitor)
1507 v
.enter_visit
(_n_minus
)
1510 redef class AStarMethid
1511 init init_astarmethid
(
1512 n_star
: nullable TStar
1515 _n_star
= n_star
.as(not null)
1516 n_star
.parent
= self
1519 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1521 if _n_star
== old_child
then
1522 n_star
= new_child
.as(TStar)
1527 redef fun n_star
=(node
)
1534 redef fun visit_all
(v
: Visitor)
1536 v
.enter_visit
(_n_star
)
1539 redef class AStarstarMethid
1540 init init_astarstarmethid
(
1541 n_starstar
: nullable TStarstar
1544 _n_starstar
= n_starstar
.as(not null)
1545 n_starstar
.parent
= self
1548 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1550 if _n_starstar
== old_child
then
1551 n_starstar
= new_child
.as(TStarstar)
1556 redef fun n_starstar
=(node
)
1563 redef fun visit_all
(v
: Visitor)
1565 v
.enter_visit
(_n_starstar
)
1568 redef class ASlashMethid
1569 init init_aslashmethid
(
1570 n_slash
: nullable TSlash
1573 _n_slash
= n_slash
.as(not null)
1574 n_slash
.parent
= self
1577 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1579 if _n_slash
== old_child
then
1580 n_slash
= new_child
.as(TSlash)
1585 redef fun n_slash
=(node
)
1592 redef fun visit_all
(v
: Visitor)
1594 v
.enter_visit
(_n_slash
)
1597 redef class APercentMethid
1598 init init_apercentmethid
(
1599 n_percent
: nullable TPercent
1602 _n_percent
= n_percent
.as(not null)
1603 n_percent
.parent
= self
1606 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1608 if _n_percent
== old_child
then
1609 n_percent
= new_child
.as(TPercent)
1614 redef fun n_percent
=(node
)
1621 redef fun visit_all
(v
: Visitor)
1623 v
.enter_visit
(_n_percent
)
1626 redef class AEqMethid
1627 init init_aeqmethid
(
1631 _n_eq
= n_eq
.as(not null)
1635 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1637 if _n_eq
== old_child
then
1638 n_eq
= new_child
.as(TEq)
1643 redef fun n_eq
=(node
)
1650 redef fun visit_all
(v
: Visitor)
1652 v
.enter_visit
(_n_eq
)
1655 redef class ANeMethid
1656 init init_anemethid
(
1660 _n_ne
= n_ne
.as(not null)
1664 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1666 if _n_ne
== old_child
then
1667 n_ne
= new_child
.as(TNe)
1672 redef fun n_ne
=(node
)
1679 redef fun visit_all
(v
: Visitor)
1681 v
.enter_visit
(_n_ne
)
1684 redef class ALeMethid
1685 init init_alemethid
(
1689 _n_le
= n_le
.as(not null)
1693 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1695 if _n_le
== old_child
then
1696 n_le
= new_child
.as(TLe)
1701 redef fun n_le
=(node
)
1708 redef fun visit_all
(v
: Visitor)
1710 v
.enter_visit
(_n_le
)
1713 redef class AGeMethid
1714 init init_agemethid
(
1718 _n_ge
= n_ge
.as(not null)
1722 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1724 if _n_ge
== old_child
then
1725 n_ge
= new_child
.as(TGe)
1730 redef fun n_ge
=(node
)
1737 redef fun visit_all
(v
: Visitor)
1739 v
.enter_visit
(_n_ge
)
1742 redef class ALtMethid
1743 init init_altmethid
(
1747 _n_lt
= n_lt
.as(not null)
1751 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1753 if _n_lt
== old_child
then
1754 n_lt
= new_child
.as(TLt)
1759 redef fun n_lt
=(node
)
1766 redef fun visit_all
(v
: Visitor)
1768 v
.enter_visit
(_n_lt
)
1771 redef class AGtMethid
1772 init init_agtmethid
(
1776 _n_gt
= n_gt
.as(not null)
1780 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1782 if _n_gt
== old_child
then
1783 n_gt
= new_child
.as(TGt)
1788 redef fun n_gt
=(node
)
1795 redef fun visit_all
(v
: Visitor)
1797 v
.enter_visit
(_n_gt
)
1800 redef class ALlMethid
1801 init init_allmethid
(
1805 _n_ll
= n_ll
.as(not null)
1809 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1811 if _n_ll
== old_child
then
1812 n_ll
= new_child
.as(TLl)
1817 redef fun n_ll
=(node
)
1824 redef fun visit_all
(v
: Visitor)
1826 v
.enter_visit
(_n_ll
)
1829 redef class AGgMethid
1830 init init_aggmethid
(
1834 _n_gg
= n_gg
.as(not null)
1838 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1840 if _n_gg
== old_child
then
1841 n_gg
= new_child
.as(TGg)
1846 redef fun n_gg
=(node
)
1853 redef fun visit_all
(v
: Visitor)
1855 v
.enter_visit
(_n_gg
)
1858 redef class ABraMethid
1859 init init_abramethid
(
1860 n_obra
: nullable TObra,
1861 n_cbra
: nullable TCbra
1864 _n_obra
= n_obra
.as(not null)
1865 n_obra
.parent
= self
1866 _n_cbra
= n_cbra
.as(not null)
1867 n_cbra
.parent
= self
1870 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1872 if _n_obra
== old_child
then
1873 n_obra
= new_child
.as(TObra)
1876 if _n_cbra
== old_child
then
1877 n_cbra
= new_child
.as(TCbra)
1882 redef fun n_obra
=(node
)
1887 redef fun n_cbra
=(node
)
1894 redef fun visit_all
(v
: Visitor)
1896 v
.enter_visit
(_n_obra
)
1897 v
.enter_visit
(_n_cbra
)
1900 redef class AStarshipMethid
1901 init init_astarshipmethid
(
1902 n_starship
: nullable TStarship
1905 _n_starship
= n_starship
.as(not null)
1906 n_starship
.parent
= self
1909 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1911 if _n_starship
== old_child
then
1912 n_starship
= new_child
.as(TStarship)
1917 redef fun n_starship
=(node
)
1924 redef fun visit_all
(v
: Visitor)
1926 v
.enter_visit
(_n_starship
)
1929 redef class AAssignMethid
1930 init init_aassignmethid
(
1932 n_assign
: nullable TAssign
1935 _n_id
= n_id
.as(not null)
1937 _n_assign
= n_assign
.as(not null)
1938 n_assign
.parent
= self
1941 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1943 if _n_id
== old_child
then
1944 n_id
= new_child
.as(TId)
1947 if _n_assign
== old_child
then
1948 n_assign
= new_child
.as(TAssign)
1953 redef fun n_id
=(node
)
1958 redef fun n_assign
=(node
)
1965 redef fun visit_all
(v
: Visitor)
1967 v
.enter_visit
(_n_id
)
1968 v
.enter_visit
(_n_assign
)
1971 redef class ABraassignMethid
1972 init init_abraassignmethid
(
1973 n_obra
: nullable TObra,
1974 n_cbra
: nullable TCbra,
1975 n_assign
: nullable TAssign
1978 _n_obra
= n_obra
.as(not null)
1979 n_obra
.parent
= self
1980 _n_cbra
= n_cbra
.as(not null)
1981 n_cbra
.parent
= self
1982 _n_assign
= n_assign
.as(not null)
1983 n_assign
.parent
= self
1986 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
1988 if _n_obra
== old_child
then
1989 n_obra
= new_child
.as(TObra)
1992 if _n_cbra
== old_child
then
1993 n_cbra
= new_child
.as(TCbra)
1996 if _n_assign
== old_child
then
1997 n_assign
= new_child
.as(TAssign)
2002 redef fun n_obra
=(node
)
2007 redef fun n_cbra
=(node
)
2012 redef fun n_assign
=(node
)
2019 redef fun visit_all
(v
: Visitor)
2021 v
.enter_visit
(_n_obra
)
2022 v
.enter_visit
(_n_cbra
)
2023 v
.enter_visit
(_n_assign
)
2026 redef class ASignature
2027 init init_asignature
(
2028 n_opar
: nullable TOpar,
2029 n_params
: Collection[Object], # Should be Collection[AParam]
2030 n_cpar
: nullable TCpar,
2031 n_type
: nullable AType
2035 if n_opar
!= null then n_opar
.parent
= self
2036 self.n_params
.unsafe_add_all
(n_params
)
2038 if n_cpar
!= null then n_cpar
.parent
= self
2040 if n_type
!= null then n_type
.parent
= self
2043 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2045 if _n_opar
== old_child
then
2046 n_opar
= new_child
.as(nullable TOpar)
2049 if n_params
.replace_child
(old_child
, new_child
) then return
2050 if _n_cpar
== old_child
then
2051 n_cpar
= new_child
.as(nullable TCpar)
2054 if _n_type
== old_child
then
2055 n_type
= new_child
.as(nullable AType)
2060 redef fun n_opar
=(node
)
2063 if node
!= null then node
.parent
= self
2065 redef fun n_cpar
=(node
)
2068 if node
!= null then node
.parent
= self
2070 redef fun n_type
=(node
)
2073 if node
!= null then node
.parent
= self
2077 redef fun visit_all
(v
: Visitor)
2079 v
.enter_visit
(_n_opar
)
2080 n_params
.visit_all
(v
)
2081 v
.enter_visit
(_n_cpar
)
2082 v
.enter_visit
(_n_type
)
2088 n_type
: nullable AType,
2089 n_dotdotdot
: nullable TDotdotdot,
2090 n_annotations
: nullable AAnnotations
2093 _n_id
= n_id
.as(not null)
2096 if n_type
!= null then n_type
.parent
= self
2097 _n_dotdotdot
= n_dotdotdot
2098 if n_dotdotdot
!= null then n_dotdotdot
.parent
= self
2099 _n_annotations
= n_annotations
2100 if n_annotations
!= null then n_annotations
.parent
= self
2103 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2105 if _n_id
== old_child
then
2106 n_id
= new_child
.as(TId)
2109 if _n_type
== old_child
then
2110 n_type
= new_child
.as(nullable AType)
2113 if _n_dotdotdot
== old_child
then
2114 n_dotdotdot
= new_child
.as(nullable TDotdotdot)
2117 if _n_annotations
== old_child
then
2118 n_annotations
= new_child
.as(nullable AAnnotations)
2123 redef fun n_id
=(node
)
2128 redef fun n_type
=(node
)
2131 if node
!= null then node
.parent
= self
2133 redef fun n_dotdotdot
=(node
)
2136 if node
!= null then node
.parent
= self
2138 redef fun n_annotations
=(node
)
2140 _n_annotations
= node
2141 if node
!= null then node
.parent
= self
2145 redef fun visit_all
(v
: Visitor)
2147 v
.enter_visit
(_n_id
)
2148 v
.enter_visit
(_n_type
)
2149 v
.enter_visit
(_n_dotdotdot
)
2150 v
.enter_visit
(_n_annotations
)
2155 n_kwnullable
: nullable TKwnullable,
2156 n_id
: nullable TClassid,
2157 n_types
: Collection[Object], # Should be Collection[AType]
2158 n_annotations
: nullable AAnnotations
2161 _n_kwnullable
= n_kwnullable
2162 if n_kwnullable
!= null then n_kwnullable
.parent
= self
2163 _n_id
= n_id
.as(not null)
2165 self.n_types
.unsafe_add_all
(n_types
)
2166 _n_annotations
= n_annotations
2167 if n_annotations
!= null then n_annotations
.parent
= self
2170 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2172 if _n_kwnullable
== old_child
then
2173 n_kwnullable
= new_child
.as(nullable TKwnullable)
2176 if _n_id
== old_child
then
2177 n_id
= new_child
.as(TClassid)
2180 if n_types
.replace_child
(old_child
, new_child
) then return
2181 if _n_annotations
== old_child
then
2182 n_annotations
= new_child
.as(nullable AAnnotations)
2187 redef fun n_kwnullable
=(node
)
2189 _n_kwnullable
= node
2190 if node
!= null then node
.parent
= self
2192 redef fun n_id
=(node
)
2197 redef fun n_annotations
=(node
)
2199 _n_annotations
= node
2200 if node
!= null then node
.parent
= self
2204 redef fun visit_all
(v
: Visitor)
2206 v
.enter_visit
(_n_kwnullable
)
2207 v
.enter_visit
(_n_id
)
2208 n_types
.visit_all
(v
)
2209 v
.enter_visit
(_n_annotations
)
2214 n_kwlabel
: nullable TKwlabel,
2218 _n_kwlabel
= n_kwlabel
.as(not null)
2219 n_kwlabel
.parent
= self
2221 if n_id
!= null then n_id
.parent
= self
2224 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2226 if _n_kwlabel
== old_child
then
2227 n_kwlabel
= new_child
.as(TKwlabel)
2230 if _n_id
== old_child
then
2231 n_id
= new_child
.as(nullable TId)
2236 redef fun n_kwlabel
=(node
)
2241 redef fun n_id
=(node
)
2244 if node
!= null then node
.parent
= self
2248 redef fun visit_all
(v
: Visitor)
2250 v
.enter_visit
(_n_kwlabel
)
2251 v
.enter_visit
(_n_id
)
2254 redef class ABlockExpr
2255 init init_ablockexpr
(
2256 n_expr
: Collection[Object], # Should be Collection[AExpr]
2257 n_kwend
: nullable TKwend
2260 self.n_expr
.unsafe_add_all
(n_expr
)
2262 if n_kwend
!= null then n_kwend
.parent
= self
2265 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2267 if n_expr
.replace_child
(old_child
, new_child
) then return
2268 if _n_kwend
== old_child
then
2269 n_kwend
= new_child
.as(nullable TKwend)
2274 redef fun n_kwend
=(node
)
2277 if node
!= null then node
.parent
= self
2281 redef fun visit_all
(v
: Visitor)
2284 v
.enter_visit
(_n_kwend
)
2287 redef class AVardeclExpr
2288 init init_avardeclexpr
(
2289 n_kwvar
: nullable TKwvar,
2291 n_type
: nullable AType,
2292 n_assign
: nullable TAssign,
2293 n_expr
: nullable AExpr,
2294 n_annotations
: nullable AAnnotations
2297 _n_kwvar
= n_kwvar
.as(not null)
2298 n_kwvar
.parent
= self
2299 _n_id
= n_id
.as(not null)
2302 if n_type
!= null then n_type
.parent
= self
2303 _n_assign
= n_assign
2304 if n_assign
!= null then n_assign
.parent
= self
2306 if n_expr
!= null then n_expr
.parent
= self
2307 _n_annotations
= n_annotations
2308 if n_annotations
!= null then n_annotations
.parent
= self
2311 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2313 if _n_kwvar
== old_child
then
2314 n_kwvar
= new_child
.as(TKwvar)
2317 if _n_id
== old_child
then
2318 n_id
= new_child
.as(TId)
2321 if _n_type
== old_child
then
2322 n_type
= new_child
.as(nullable AType)
2325 if _n_assign
== old_child
then
2326 n_assign
= new_child
.as(nullable TAssign)
2329 if _n_expr
== old_child
then
2330 n_expr
= new_child
.as(nullable AExpr)
2333 if _n_annotations
== old_child
then
2334 n_annotations
= new_child
.as(nullable AAnnotations)
2339 redef fun n_kwvar
=(node
)
2344 redef fun n_id
=(node
)
2349 redef fun n_type
=(node
)
2352 if node
!= null then node
.parent
= self
2354 redef fun n_assign
=(node
)
2357 if node
!= null then node
.parent
= self
2359 redef fun n_expr
=(node
)
2362 if node
!= null then node
.parent
= self
2364 redef fun n_annotations
=(node
)
2366 _n_annotations
= node
2367 if node
!= null then node
.parent
= self
2371 redef fun visit_all
(v
: Visitor)
2373 v
.enter_visit
(_n_kwvar
)
2374 v
.enter_visit
(_n_id
)
2375 v
.enter_visit
(_n_type
)
2376 v
.enter_visit
(_n_assign
)
2377 v
.enter_visit
(_n_expr
)
2378 v
.enter_visit
(_n_annotations
)
2381 redef class AReturnExpr
2382 init init_areturnexpr
(
2383 n_kwreturn
: nullable TKwreturn,
2384 n_expr
: nullable AExpr
2387 _n_kwreturn
= n_kwreturn
2388 if n_kwreturn
!= null then n_kwreturn
.parent
= self
2390 if n_expr
!= null then n_expr
.parent
= self
2393 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2395 if _n_kwreturn
== old_child
then
2396 n_kwreturn
= new_child
.as(nullable TKwreturn)
2399 if _n_expr
== old_child
then
2400 n_expr
= new_child
.as(nullable AExpr)
2405 redef fun n_kwreturn
=(node
)
2408 if node
!= null then node
.parent
= self
2410 redef fun n_expr
=(node
)
2413 if node
!= null then node
.parent
= self
2417 redef fun visit_all
(v
: Visitor)
2419 v
.enter_visit
(_n_kwreturn
)
2420 v
.enter_visit
(_n_expr
)
2423 redef class ABreakExpr
2424 init init_abreakexpr
(
2425 n_kwbreak
: nullable TKwbreak,
2426 n_label
: nullable ALabel
2429 _n_kwbreak
= n_kwbreak
.as(not null)
2430 n_kwbreak
.parent
= self
2432 if n_label
!= null then n_label
.parent
= self
2435 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2437 if _n_kwbreak
== old_child
then
2438 n_kwbreak
= new_child
.as(TKwbreak)
2441 if _n_label
== old_child
then
2442 n_label
= new_child
.as(nullable ALabel)
2447 redef fun n_kwbreak
=(node
)
2452 redef fun n_label
=(node
)
2455 if node
!= null then node
.parent
= self
2459 redef fun visit_all
(v
: Visitor)
2461 v
.enter_visit
(_n_kwbreak
)
2462 v
.enter_visit
(_n_label
)
2465 redef class AAbortExpr
2466 init init_aabortexpr
(
2467 n_kwabort
: nullable TKwabort
2470 _n_kwabort
= n_kwabort
.as(not null)
2471 n_kwabort
.parent
= self
2474 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2476 if _n_kwabort
== old_child
then
2477 n_kwabort
= new_child
.as(TKwabort)
2482 redef fun n_kwabort
=(node
)
2489 redef fun visit_all
(v
: Visitor)
2491 v
.enter_visit
(_n_kwabort
)
2494 redef class AContinueExpr
2495 init init_acontinueexpr
(
2496 n_kwcontinue
: nullable TKwcontinue,
2497 n_label
: nullable ALabel
2500 _n_kwcontinue
= n_kwcontinue
2501 if n_kwcontinue
!= null then n_kwcontinue
.parent
= self
2503 if n_label
!= null then n_label
.parent
= self
2506 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2508 if _n_kwcontinue
== old_child
then
2509 n_kwcontinue
= new_child
.as(nullable TKwcontinue)
2512 if _n_label
== old_child
then
2513 n_label
= new_child
.as(nullable ALabel)
2518 redef fun n_kwcontinue
=(node
)
2520 _n_kwcontinue
= node
2521 if node
!= null then node
.parent
= self
2523 redef fun n_label
=(node
)
2526 if node
!= null then node
.parent
= self
2530 redef fun visit_all
(v
: Visitor)
2532 v
.enter_visit
(_n_kwcontinue
)
2533 v
.enter_visit
(_n_label
)
2538 n_kwdo
: nullable TKwdo,
2539 n_block
: nullable AExpr,
2540 n_label
: nullable ALabel
2543 _n_kwdo
= n_kwdo
.as(not null)
2544 n_kwdo
.parent
= self
2546 if n_block
!= null then n_block
.parent
= self
2548 if n_label
!= null then n_label
.parent
= self
2551 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2553 if _n_kwdo
== old_child
then
2554 n_kwdo
= new_child
.as(TKwdo)
2557 if _n_block
== old_child
then
2558 n_block
= new_child
.as(nullable AExpr)
2561 if _n_label
== old_child
then
2562 n_label
= new_child
.as(nullable ALabel)
2567 redef fun n_kwdo
=(node
)
2572 redef fun n_block
=(node
)
2575 if node
!= null then node
.parent
= self
2577 redef fun n_label
=(node
)
2580 if node
!= null then node
.parent
= self
2584 redef fun visit_all
(v
: Visitor)
2586 v
.enter_visit
(_n_kwdo
)
2587 v
.enter_visit
(_n_block
)
2588 v
.enter_visit
(_n_label
)
2593 n_kwif
: nullable TKwif,
2594 n_expr
: nullable AExpr,
2595 n_then
: nullable AExpr,
2596 n_else
: nullable AExpr
2599 _n_kwif
= n_kwif
.as(not null)
2600 n_kwif
.parent
= self
2601 _n_expr
= n_expr
.as(not null)
2602 n_expr
.parent
= self
2604 if n_then
!= null then n_then
.parent
= self
2606 if n_else
!= null then n_else
.parent
= self
2609 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2611 if _n_kwif
== old_child
then
2612 n_kwif
= new_child
.as(TKwif)
2615 if _n_expr
== old_child
then
2616 n_expr
= new_child
.as(AExpr)
2619 if _n_then
== old_child
then
2620 n_then
= new_child
.as(nullable AExpr)
2623 if _n_else
== old_child
then
2624 n_else
= new_child
.as(nullable AExpr)
2629 redef fun n_kwif
=(node
)
2634 redef fun n_expr
=(node
)
2639 redef fun n_then
=(node
)
2642 if node
!= null then node
.parent
= self
2644 redef fun n_else
=(node
)
2647 if node
!= null then node
.parent
= self
2651 redef fun visit_all
(v
: Visitor)
2653 v
.enter_visit
(_n_kwif
)
2654 v
.enter_visit
(_n_expr
)
2655 v
.enter_visit
(_n_then
)
2656 v
.enter_visit
(_n_else
)
2659 redef class AIfexprExpr
2660 init init_aifexprexpr
(
2661 n_kwif
: nullable TKwif,
2662 n_expr
: nullable AExpr,
2663 n_kwthen
: nullable TKwthen,
2664 n_then
: nullable AExpr,
2665 n_kwelse
: nullable TKwelse,
2666 n_else
: nullable AExpr
2669 _n_kwif
= n_kwif
.as(not null)
2670 n_kwif
.parent
= self
2671 _n_expr
= n_expr
.as(not null)
2672 n_expr
.parent
= self
2673 _n_kwthen
= n_kwthen
.as(not null)
2674 n_kwthen
.parent
= self
2675 _n_then
= n_then
.as(not null)
2676 n_then
.parent
= self
2677 _n_kwelse
= n_kwelse
.as(not null)
2678 n_kwelse
.parent
= self
2679 _n_else
= n_else
.as(not null)
2680 n_else
.parent
= self
2683 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2685 if _n_kwif
== old_child
then
2686 n_kwif
= new_child
.as(TKwif)
2689 if _n_expr
== old_child
then
2690 n_expr
= new_child
.as(AExpr)
2693 if _n_kwthen
== old_child
then
2694 n_kwthen
= new_child
.as(TKwthen)
2697 if _n_then
== old_child
then
2698 n_then
= new_child
.as(AExpr)
2701 if _n_kwelse
== old_child
then
2702 n_kwelse
= new_child
.as(TKwelse)
2705 if _n_else
== old_child
then
2706 n_else
= new_child
.as(AExpr)
2711 redef fun n_kwif
=(node
)
2716 redef fun n_expr
=(node
)
2721 redef fun n_kwthen
=(node
)
2726 redef fun n_then
=(node
)
2731 redef fun n_kwelse
=(node
)
2736 redef fun n_else
=(node
)
2743 redef fun visit_all
(v
: Visitor)
2745 v
.enter_visit
(_n_kwif
)
2746 v
.enter_visit
(_n_expr
)
2747 v
.enter_visit
(_n_kwthen
)
2748 v
.enter_visit
(_n_then
)
2749 v
.enter_visit
(_n_kwelse
)
2750 v
.enter_visit
(_n_else
)
2753 redef class AWhileExpr
2754 init init_awhileexpr
(
2755 n_kwwhile
: nullable TKwwhile,
2756 n_expr
: nullable AExpr,
2757 n_kwdo
: nullable TKwdo,
2758 n_block
: nullable AExpr,
2759 n_label
: nullable ALabel
2762 _n_kwwhile
= n_kwwhile
.as(not null)
2763 n_kwwhile
.parent
= self
2764 _n_expr
= n_expr
.as(not null)
2765 n_expr
.parent
= self
2766 _n_kwdo
= n_kwdo
.as(not null)
2767 n_kwdo
.parent
= self
2769 if n_block
!= null then n_block
.parent
= self
2771 if n_label
!= null then n_label
.parent
= self
2774 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2776 if _n_kwwhile
== old_child
then
2777 n_kwwhile
= new_child
.as(TKwwhile)
2780 if _n_expr
== old_child
then
2781 n_expr
= new_child
.as(AExpr)
2784 if _n_kwdo
== old_child
then
2785 n_kwdo
= new_child
.as(TKwdo)
2788 if _n_block
== old_child
then
2789 n_block
= new_child
.as(nullable AExpr)
2792 if _n_label
== old_child
then
2793 n_label
= new_child
.as(nullable ALabel)
2798 redef fun n_kwwhile
=(node
)
2803 redef fun n_expr
=(node
)
2808 redef fun n_kwdo
=(node
)
2813 redef fun n_block
=(node
)
2816 if node
!= null then node
.parent
= self
2818 redef fun n_label
=(node
)
2821 if node
!= null then node
.parent
= self
2825 redef fun visit_all
(v
: Visitor)
2827 v
.enter_visit
(_n_kwwhile
)
2828 v
.enter_visit
(_n_expr
)
2829 v
.enter_visit
(_n_kwdo
)
2830 v
.enter_visit
(_n_block
)
2831 v
.enter_visit
(_n_label
)
2834 redef class ALoopExpr
2835 init init_aloopexpr
(
2836 n_kwloop
: nullable TKwloop,
2837 n_block
: nullable AExpr,
2838 n_label
: nullable ALabel
2841 _n_kwloop
= n_kwloop
.as(not null)
2842 n_kwloop
.parent
= self
2844 if n_block
!= null then n_block
.parent
= self
2846 if n_label
!= null then n_label
.parent
= self
2849 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2851 if _n_kwloop
== old_child
then
2852 n_kwloop
= new_child
.as(TKwloop)
2855 if _n_block
== old_child
then
2856 n_block
= new_child
.as(nullable AExpr)
2859 if _n_label
== old_child
then
2860 n_label
= new_child
.as(nullable ALabel)
2865 redef fun n_kwloop
=(node
)
2870 redef fun n_block
=(node
)
2873 if node
!= null then node
.parent
= self
2875 redef fun n_label
=(node
)
2878 if node
!= null then node
.parent
= self
2882 redef fun visit_all
(v
: Visitor)
2884 v
.enter_visit
(_n_kwloop
)
2885 v
.enter_visit
(_n_block
)
2886 v
.enter_visit
(_n_label
)
2889 redef class AForExpr
2890 init init_aforexpr
(
2891 n_kwfor
: nullable TKwfor,
2892 n_ids
: Collection[Object], # Should be Collection[TId]
2893 n_expr
: nullable AExpr,
2894 n_kwdo
: nullable TKwdo,
2895 n_block
: nullable AExpr,
2896 n_label
: nullable ALabel
2899 _n_kwfor
= n_kwfor
.as(not null)
2900 n_kwfor
.parent
= self
2901 self.n_ids
.unsafe_add_all
(n_ids
)
2902 _n_expr
= n_expr
.as(not null)
2903 n_expr
.parent
= self
2904 _n_kwdo
= n_kwdo
.as(not null)
2905 n_kwdo
.parent
= self
2907 if n_block
!= null then n_block
.parent
= self
2909 if n_label
!= null then n_label
.parent
= self
2912 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2914 if _n_kwfor
== old_child
then
2915 n_kwfor
= new_child
.as(TKwfor)
2918 if n_ids
.replace_child
(old_child
, new_child
) then return
2919 if _n_expr
== old_child
then
2920 n_expr
= new_child
.as(AExpr)
2923 if _n_kwdo
== old_child
then
2924 n_kwdo
= new_child
.as(TKwdo)
2927 if _n_block
== old_child
then
2928 n_block
= new_child
.as(nullable AExpr)
2931 if _n_label
== old_child
then
2932 n_label
= new_child
.as(nullable ALabel)
2937 redef fun n_kwfor
=(node
)
2942 redef fun n_expr
=(node
)
2947 redef fun n_kwdo
=(node
)
2952 redef fun n_block
=(node
)
2955 if node
!= null then node
.parent
= self
2957 redef fun n_label
=(node
)
2960 if node
!= null then node
.parent
= self
2964 redef fun visit_all
(v
: Visitor)
2966 v
.enter_visit
(_n_kwfor
)
2968 v
.enter_visit
(_n_expr
)
2969 v
.enter_visit
(_n_kwdo
)
2970 v
.enter_visit
(_n_block
)
2971 v
.enter_visit
(_n_label
)
2974 redef class AAssertExpr
2975 init init_aassertexpr
(
2976 n_kwassert
: nullable TKwassert,
2978 n_expr
: nullable AExpr,
2979 n_else
: nullable AExpr
2982 _n_kwassert
= n_kwassert
.as(not null)
2983 n_kwassert
.parent
= self
2985 if n_id
!= null then n_id
.parent
= self
2986 _n_expr
= n_expr
.as(not null)
2987 n_expr
.parent
= self
2989 if n_else
!= null then n_else
.parent
= self
2992 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2994 if _n_kwassert
== old_child
then
2995 n_kwassert
= new_child
.as(TKwassert)
2998 if _n_id
== old_child
then
2999 n_id
= new_child
.as(nullable TId)
3002 if _n_expr
== old_child
then
3003 n_expr
= new_child
.as(AExpr)
3006 if _n_else
== old_child
then
3007 n_else
= new_child
.as(nullable AExpr)
3012 redef fun n_kwassert
=(node
)
3017 redef fun n_id
=(node
)
3020 if node
!= null then node
.parent
= self
3022 redef fun n_expr
=(node
)
3027 redef fun n_else
=(node
)
3030 if node
!= null then node
.parent
= self
3034 redef fun visit_all
(v
: Visitor)
3036 v
.enter_visit
(_n_kwassert
)
3037 v
.enter_visit
(_n_id
)
3038 v
.enter_visit
(_n_expr
)
3039 v
.enter_visit
(_n_else
)
3042 redef class AOnceExpr
3043 init init_aonceexpr
(
3044 n_kwonce
: nullable TKwonce,
3045 n_expr
: nullable AExpr
3048 _n_kwonce
= n_kwonce
.as(not null)
3049 n_kwonce
.parent
= self
3050 _n_expr
= n_expr
.as(not null)
3051 n_expr
.parent
= self
3054 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3056 if _n_kwonce
== old_child
then
3057 n_kwonce
= new_child
.as(TKwonce)
3060 if _n_expr
== old_child
then
3061 n_expr
= new_child
.as(AExpr)
3066 redef fun n_kwonce
=(node
)
3071 redef fun n_expr
=(node
)
3078 redef fun visit_all
(v
: Visitor)
3080 v
.enter_visit
(_n_kwonce
)
3081 v
.enter_visit
(_n_expr
)
3084 redef class ASendExpr
3085 init init_asendexpr
(
3086 n_expr
: nullable AExpr
3089 _n_expr
= n_expr
.as(not null)
3090 n_expr
.parent
= self
3093 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3095 if _n_expr
== old_child
then
3096 n_expr
= new_child
.as(AExpr)
3101 redef fun n_expr
=(node
)
3108 redef fun visit_all
(v
: Visitor)
3110 v
.enter_visit
(_n_expr
)
3113 redef class ABinopExpr
3114 init init_abinopexpr
(
3115 n_expr
: nullable AExpr,
3116 n_expr2
: nullable AExpr
3119 _n_expr
= n_expr
.as(not null)
3120 n_expr
.parent
= self
3121 _n_expr2
= n_expr2
.as(not null)
3122 n_expr2
.parent
= self
3125 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3127 if _n_expr
== old_child
then
3128 n_expr
= new_child
.as(AExpr)
3131 if _n_expr2
== old_child
then
3132 n_expr2
= new_child
.as(AExpr)
3137 redef fun n_expr
=(node
)
3142 redef fun n_expr2
=(node
)
3149 redef fun visit_all
(v
: Visitor)
3151 v
.enter_visit
(_n_expr
)
3152 v
.enter_visit
(_n_expr2
)
3157 n_expr
: nullable AExpr,
3158 n_expr2
: nullable AExpr
3161 _n_expr
= n_expr
.as(not null)
3162 n_expr
.parent
= self
3163 _n_expr2
= n_expr2
.as(not null)
3164 n_expr2
.parent
= self
3167 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3169 if _n_expr
== old_child
then
3170 n_expr
= new_child
.as(AExpr)
3173 if _n_expr2
== old_child
then
3174 n_expr2
= new_child
.as(AExpr)
3179 redef fun n_expr
=(node
)
3184 redef fun n_expr2
=(node
)
3191 redef fun visit_all
(v
: Visitor)
3193 v
.enter_visit
(_n_expr
)
3194 v
.enter_visit
(_n_expr2
)
3197 redef class AAndExpr
3198 init init_aandexpr
(
3199 n_expr
: nullable AExpr,
3200 n_expr2
: nullable AExpr
3203 _n_expr
= n_expr
.as(not null)
3204 n_expr
.parent
= self
3205 _n_expr2
= n_expr2
.as(not null)
3206 n_expr2
.parent
= self
3209 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3211 if _n_expr
== old_child
then
3212 n_expr
= new_child
.as(AExpr)
3215 if _n_expr2
== old_child
then
3216 n_expr2
= new_child
.as(AExpr)
3221 redef fun n_expr
=(node
)
3226 redef fun n_expr2
=(node
)
3233 redef fun visit_all
(v
: Visitor)
3235 v
.enter_visit
(_n_expr
)
3236 v
.enter_visit
(_n_expr2
)
3239 redef class AOrElseExpr
3240 init init_aorelseexpr
(
3241 n_expr
: nullable AExpr,
3242 n_expr2
: nullable AExpr
3245 _n_expr
= n_expr
.as(not null)
3246 n_expr
.parent
= self
3247 _n_expr2
= n_expr2
.as(not null)
3248 n_expr2
.parent
= self
3251 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3253 if _n_expr
== old_child
then
3254 n_expr
= new_child
.as(AExpr)
3257 if _n_expr2
== old_child
then
3258 n_expr2
= new_child
.as(AExpr)
3263 redef fun n_expr
=(node
)
3268 redef fun n_expr2
=(node
)
3275 redef fun visit_all
(v
: Visitor)
3277 v
.enter_visit
(_n_expr
)
3278 v
.enter_visit
(_n_expr2
)
3281 redef class AImpliesExpr
3282 init init_aimpliesexpr
(
3283 n_expr
: nullable AExpr,
3284 n_expr2
: nullable AExpr
3287 _n_expr
= n_expr
.as(not null)
3288 n_expr
.parent
= self
3289 _n_expr2
= n_expr2
.as(not null)
3290 n_expr2
.parent
= self
3293 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3295 if _n_expr
== old_child
then
3296 n_expr
= new_child
.as(AExpr)
3299 if _n_expr2
== old_child
then
3300 n_expr2
= new_child
.as(AExpr)
3305 redef fun n_expr
=(node
)
3310 redef fun n_expr2
=(node
)
3317 redef fun visit_all
(v
: Visitor)
3319 v
.enter_visit
(_n_expr
)
3320 v
.enter_visit
(_n_expr2
)
3323 redef class ANotExpr
3324 init init_anotexpr
(
3325 n_kwnot
: nullable TKwnot,
3326 n_expr
: nullable AExpr
3329 _n_kwnot
= n_kwnot
.as(not null)
3330 n_kwnot
.parent
= self
3331 _n_expr
= n_expr
.as(not null)
3332 n_expr
.parent
= self
3335 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3337 if _n_kwnot
== old_child
then
3338 n_kwnot
= new_child
.as(TKwnot)
3341 if _n_expr
== old_child
then
3342 n_expr
= new_child
.as(AExpr)
3347 redef fun n_kwnot
=(node
)
3352 redef fun n_expr
=(node
)
3359 redef fun visit_all
(v
: Visitor)
3361 v
.enter_visit
(_n_kwnot
)
3362 v
.enter_visit
(_n_expr
)
3367 n_expr
: nullable AExpr,
3368 n_expr2
: nullable AExpr
3371 _n_expr
= n_expr
.as(not null)
3372 n_expr
.parent
= self
3373 _n_expr2
= n_expr2
.as(not null)
3374 n_expr2
.parent
= self
3377 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3379 if _n_expr
== old_child
then
3380 n_expr
= new_child
.as(AExpr)
3383 if _n_expr2
== old_child
then
3384 n_expr2
= new_child
.as(AExpr)
3389 redef fun n_expr
=(node
)
3394 redef fun n_expr2
=(node
)
3401 redef fun visit_all
(v
: Visitor)
3403 v
.enter_visit
(_n_expr
)
3404 v
.enter_visit
(_n_expr2
)
3409 n_expr
: nullable AExpr,
3410 n_expr2
: nullable AExpr
3413 _n_expr
= n_expr
.as(not null)
3414 n_expr
.parent
= self
3415 _n_expr2
= n_expr2
.as(not null)
3416 n_expr2
.parent
= self
3419 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3421 if _n_expr
== old_child
then
3422 n_expr
= new_child
.as(AExpr)
3425 if _n_expr2
== old_child
then
3426 n_expr2
= new_child
.as(AExpr)
3431 redef fun n_expr
=(node
)
3436 redef fun n_expr2
=(node
)
3443 redef fun visit_all
(v
: Visitor)
3445 v
.enter_visit
(_n_expr
)
3446 v
.enter_visit
(_n_expr2
)
3451 n_expr
: nullable AExpr,
3452 n_expr2
: nullable AExpr
3455 _n_expr
= n_expr
.as(not null)
3456 n_expr
.parent
= self
3457 _n_expr2
= n_expr2
.as(not null)
3458 n_expr2
.parent
= self
3461 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3463 if _n_expr
== old_child
then
3464 n_expr
= new_child
.as(AExpr)
3467 if _n_expr2
== old_child
then
3468 n_expr2
= new_child
.as(AExpr)
3473 redef fun n_expr
=(node
)
3478 redef fun n_expr2
=(node
)
3485 redef fun visit_all
(v
: Visitor)
3487 v
.enter_visit
(_n_expr
)
3488 v
.enter_visit
(_n_expr2
)
3493 n_expr
: nullable AExpr,
3494 n_expr2
: nullable AExpr
3497 _n_expr
= n_expr
.as(not null)
3498 n_expr
.parent
= self
3499 _n_expr2
= n_expr2
.as(not null)
3500 n_expr2
.parent
= self
3503 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3505 if _n_expr
== old_child
then
3506 n_expr
= new_child
.as(AExpr)
3509 if _n_expr2
== old_child
then
3510 n_expr2
= new_child
.as(AExpr)
3515 redef fun n_expr
=(node
)
3520 redef fun n_expr2
=(node
)
3527 redef fun visit_all
(v
: Visitor)
3529 v
.enter_visit
(_n_expr
)
3530 v
.enter_visit
(_n_expr2
)
3535 n_expr
: nullable AExpr,
3536 n_expr2
: nullable AExpr
3539 _n_expr
= n_expr
.as(not null)
3540 n_expr
.parent
= self
3541 _n_expr2
= n_expr2
.as(not null)
3542 n_expr2
.parent
= self
3545 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3547 if _n_expr
== old_child
then
3548 n_expr
= new_child
.as(AExpr)
3551 if _n_expr2
== old_child
then
3552 n_expr2
= new_child
.as(AExpr)
3557 redef fun n_expr
=(node
)
3562 redef fun n_expr2
=(node
)
3569 redef fun visit_all
(v
: Visitor)
3571 v
.enter_visit
(_n_expr
)
3572 v
.enter_visit
(_n_expr2
)
3577 n_expr
: nullable AExpr,
3578 n_expr2
: nullable AExpr
3581 _n_expr
= n_expr
.as(not null)
3582 n_expr
.parent
= self
3583 _n_expr2
= n_expr2
.as(not null)
3584 n_expr2
.parent
= self
3587 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3589 if _n_expr
== old_child
then
3590 n_expr
= new_child
.as(AExpr)
3593 if _n_expr2
== old_child
then
3594 n_expr2
= new_child
.as(AExpr)
3599 redef fun n_expr
=(node
)
3604 redef fun n_expr2
=(node
)
3611 redef fun visit_all
(v
: Visitor)
3613 v
.enter_visit
(_n_expr
)
3614 v
.enter_visit
(_n_expr2
)
3619 n_expr
: nullable AExpr,
3620 n_expr2
: nullable AExpr
3623 _n_expr
= n_expr
.as(not null)
3624 n_expr
.parent
= self
3625 _n_expr2
= n_expr2
.as(not null)
3626 n_expr2
.parent
= self
3629 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3631 if _n_expr
== old_child
then
3632 n_expr
= new_child
.as(AExpr)
3635 if _n_expr2
== old_child
then
3636 n_expr2
= new_child
.as(AExpr)
3641 redef fun n_expr
=(node
)
3646 redef fun n_expr2
=(node
)
3653 redef fun visit_all
(v
: Visitor)
3655 v
.enter_visit
(_n_expr
)
3656 v
.enter_visit
(_n_expr2
)
3661 n_expr
: nullable AExpr,
3662 n_expr2
: nullable AExpr
3665 _n_expr
= n_expr
.as(not null)
3666 n_expr
.parent
= self
3667 _n_expr2
= n_expr2
.as(not null)
3668 n_expr2
.parent
= self
3671 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3673 if _n_expr
== old_child
then
3674 n_expr
= new_child
.as(AExpr)
3677 if _n_expr2
== old_child
then
3678 n_expr2
= new_child
.as(AExpr)
3683 redef fun n_expr
=(node
)
3688 redef fun n_expr2
=(node
)
3695 redef fun visit_all
(v
: Visitor)
3697 v
.enter_visit
(_n_expr
)
3698 v
.enter_visit
(_n_expr2
)
3701 redef class AIsaExpr
3702 init init_aisaexpr
(
3703 n_expr
: nullable AExpr,
3704 n_type
: nullable AType
3707 _n_expr
= n_expr
.as(not null)
3708 n_expr
.parent
= self
3709 _n_type
= n_type
.as(not null)
3710 n_type
.parent
= self
3713 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3715 if _n_expr
== old_child
then
3716 n_expr
= new_child
.as(AExpr)
3719 if _n_type
== old_child
then
3720 n_type
= new_child
.as(AType)
3725 redef fun n_expr
=(node
)
3730 redef fun n_type
=(node
)
3737 redef fun visit_all
(v
: Visitor)
3739 v
.enter_visit
(_n_expr
)
3740 v
.enter_visit
(_n_type
)
3743 redef class APlusExpr
3744 init init_aplusexpr
(
3745 n_expr
: nullable AExpr,
3746 n_expr2
: nullable AExpr
3749 _n_expr
= n_expr
.as(not null)
3750 n_expr
.parent
= self
3751 _n_expr2
= n_expr2
.as(not null)
3752 n_expr2
.parent
= self
3755 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3757 if _n_expr
== old_child
then
3758 n_expr
= new_child
.as(AExpr)
3761 if _n_expr2
== old_child
then
3762 n_expr2
= new_child
.as(AExpr)
3767 redef fun n_expr
=(node
)
3772 redef fun n_expr2
=(node
)
3779 redef fun visit_all
(v
: Visitor)
3781 v
.enter_visit
(_n_expr
)
3782 v
.enter_visit
(_n_expr2
)
3785 redef class AMinusExpr
3786 init init_aminusexpr
(
3787 n_expr
: nullable AExpr,
3788 n_expr2
: nullable AExpr
3791 _n_expr
= n_expr
.as(not null)
3792 n_expr
.parent
= self
3793 _n_expr2
= n_expr2
.as(not null)
3794 n_expr2
.parent
= self
3797 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3799 if _n_expr
== old_child
then
3800 n_expr
= new_child
.as(AExpr)
3803 if _n_expr2
== old_child
then
3804 n_expr2
= new_child
.as(AExpr)
3809 redef fun n_expr
=(node
)
3814 redef fun n_expr2
=(node
)
3821 redef fun visit_all
(v
: Visitor)
3823 v
.enter_visit
(_n_expr
)
3824 v
.enter_visit
(_n_expr2
)
3827 redef class AStarshipExpr
3828 init init_astarshipexpr
(
3829 n_expr
: nullable AExpr,
3830 n_expr2
: nullable AExpr
3833 _n_expr
= n_expr
.as(not null)
3834 n_expr
.parent
= self
3835 _n_expr2
= n_expr2
.as(not null)
3836 n_expr2
.parent
= self
3839 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3841 if _n_expr
== old_child
then
3842 n_expr
= new_child
.as(AExpr)
3845 if _n_expr2
== old_child
then
3846 n_expr2
= new_child
.as(AExpr)
3851 redef fun n_expr
=(node
)
3856 redef fun n_expr2
=(node
)
3863 redef fun visit_all
(v
: Visitor)
3865 v
.enter_visit
(_n_expr
)
3866 v
.enter_visit
(_n_expr2
)
3869 redef class AStarExpr
3870 init init_astarexpr
(
3871 n_expr
: nullable AExpr,
3872 n_expr2
: nullable AExpr
3875 _n_expr
= n_expr
.as(not null)
3876 n_expr
.parent
= self
3877 _n_expr2
= n_expr2
.as(not null)
3878 n_expr2
.parent
= self
3881 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3883 if _n_expr
== old_child
then
3884 n_expr
= new_child
.as(AExpr)
3887 if _n_expr2
== old_child
then
3888 n_expr2
= new_child
.as(AExpr)
3893 redef fun n_expr
=(node
)
3898 redef fun n_expr2
=(node
)
3905 redef fun visit_all
(v
: Visitor)
3907 v
.enter_visit
(_n_expr
)
3908 v
.enter_visit
(_n_expr2
)
3911 redef class AStarstarExpr
3912 init init_astarstarexpr
(
3913 n_expr
: nullable AExpr,
3914 n_expr2
: nullable AExpr
3917 _n_expr
= n_expr
.as(not null)
3918 n_expr
.parent
= self
3919 _n_expr2
= n_expr2
.as(not null)
3920 n_expr2
.parent
= self
3923 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3925 if _n_expr
== old_child
then
3926 n_expr
= new_child
.as(AExpr)
3929 if _n_expr2
== old_child
then
3930 n_expr2
= new_child
.as(AExpr)
3935 redef fun n_expr
=(node
)
3940 redef fun n_expr2
=(node
)
3947 redef fun visit_all
(v
: Visitor)
3949 v
.enter_visit
(_n_expr
)
3950 v
.enter_visit
(_n_expr2
)
3953 redef class ASlashExpr
3954 init init_aslashexpr
(
3955 n_expr
: nullable AExpr,
3956 n_expr2
: nullable AExpr
3959 _n_expr
= n_expr
.as(not null)
3960 n_expr
.parent
= self
3961 _n_expr2
= n_expr2
.as(not null)
3962 n_expr2
.parent
= self
3965 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3967 if _n_expr
== old_child
then
3968 n_expr
= new_child
.as(AExpr)
3971 if _n_expr2
== old_child
then
3972 n_expr2
= new_child
.as(AExpr)
3977 redef fun n_expr
=(node
)
3982 redef fun n_expr2
=(node
)
3989 redef fun visit_all
(v
: Visitor)
3991 v
.enter_visit
(_n_expr
)
3992 v
.enter_visit
(_n_expr2
)
3995 redef class APercentExpr
3996 init init_apercentexpr
(
3997 n_expr
: nullable AExpr,
3998 n_expr2
: nullable AExpr
4001 _n_expr
= n_expr
.as(not null)
4002 n_expr
.parent
= self
4003 _n_expr2
= n_expr2
.as(not null)
4004 n_expr2
.parent
= self
4007 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4009 if _n_expr
== old_child
then
4010 n_expr
= new_child
.as(AExpr)
4013 if _n_expr2
== old_child
then
4014 n_expr2
= new_child
.as(AExpr)
4019 redef fun n_expr
=(node
)
4024 redef fun n_expr2
=(node
)
4031 redef fun visit_all
(v
: Visitor)
4033 v
.enter_visit
(_n_expr
)
4034 v
.enter_visit
(_n_expr2
)
4037 redef class AUminusExpr
4038 init init_auminusexpr
(
4039 n_minus
: nullable TMinus,
4040 n_expr
: nullable AExpr
4043 _n_minus
= n_minus
.as(not null)
4044 n_minus
.parent
= self
4045 _n_expr
= n_expr
.as(not null)
4046 n_expr
.parent
= self
4049 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4051 if _n_minus
== old_child
then
4052 n_minus
= new_child
.as(TMinus)
4055 if _n_expr
== old_child
then
4056 n_expr
= new_child
.as(AExpr)
4061 redef fun n_minus
=(node
)
4066 redef fun n_expr
=(node
)
4073 redef fun visit_all
(v
: Visitor)
4075 v
.enter_visit
(_n_minus
)
4076 v
.enter_visit
(_n_expr
)
4079 redef class ANewExpr
4080 init init_anewexpr
(
4081 n_kwnew
: nullable TKwnew,
4082 n_type
: nullable AType,
4084 n_args
: nullable AExprs
4087 _n_kwnew
= n_kwnew
.as(not null)
4088 n_kwnew
.parent
= self
4089 _n_type
= n_type
.as(not null)
4090 n_type
.parent
= self
4092 if n_id
!= null then n_id
.parent
= self
4093 _n_args
= n_args
.as(not null)
4094 n_args
.parent
= self
4097 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4099 if _n_kwnew
== old_child
then
4100 n_kwnew
= new_child
.as(TKwnew)
4103 if _n_type
== old_child
then
4104 n_type
= new_child
.as(AType)
4107 if _n_id
== old_child
then
4108 n_id
= new_child
.as(nullable TId)
4111 if _n_args
== old_child
then
4112 n_args
= new_child
.as(AExprs)
4117 redef fun n_kwnew
=(node
)
4122 redef fun n_type
=(node
)
4127 redef fun n_id
=(node
)
4130 if node
!= null then node
.parent
= self
4132 redef fun n_args
=(node
)
4139 redef fun visit_all
(v
: Visitor)
4141 v
.enter_visit
(_n_kwnew
)
4142 v
.enter_visit
(_n_type
)
4143 v
.enter_visit
(_n_id
)
4144 v
.enter_visit
(_n_args
)
4147 redef class AAttrExpr
4148 init init_aattrexpr
(
4149 n_expr
: nullable AExpr,
4150 n_id
: nullable TAttrid
4153 _n_expr
= n_expr
.as(not null)
4154 n_expr
.parent
= self
4155 _n_id
= n_id
.as(not null)
4159 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4161 if _n_expr
== old_child
then
4162 n_expr
= new_child
.as(AExpr)
4165 if _n_id
== old_child
then
4166 n_id
= new_child
.as(TAttrid)
4171 redef fun n_expr
=(node
)
4176 redef fun n_id
=(node
)
4183 redef fun visit_all
(v
: Visitor)
4185 v
.enter_visit
(_n_expr
)
4186 v
.enter_visit
(_n_id
)
4189 redef class AAttrAssignExpr
4190 init init_aattrassignexpr
(
4191 n_expr
: nullable AExpr,
4192 n_id
: nullable TAttrid,
4193 n_assign
: nullable TAssign,
4194 n_value
: nullable AExpr
4197 _n_expr
= n_expr
.as(not null)
4198 n_expr
.parent
= self
4199 _n_id
= n_id
.as(not null)
4201 _n_assign
= n_assign
.as(not null)
4202 n_assign
.parent
= self
4203 _n_value
= n_value
.as(not null)
4204 n_value
.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(TAttrid)
4217 if _n_assign
== old_child
then
4218 n_assign
= new_child
.as(TAssign)
4221 if _n_value
== old_child
then
4222 n_value
= new_child
.as(AExpr)
4227 redef fun n_expr
=(node
)
4232 redef fun n_id
=(node
)
4237 redef fun n_assign
=(node
)
4242 redef fun n_value
=(node
)
4249 redef fun visit_all
(v
: Visitor)
4251 v
.enter_visit
(_n_expr
)
4252 v
.enter_visit
(_n_id
)
4253 v
.enter_visit
(_n_assign
)
4254 v
.enter_visit
(_n_value
)
4257 redef class AAttrReassignExpr
4258 init init_aattrreassignexpr
(
4259 n_expr
: nullable AExpr,
4260 n_id
: nullable TAttrid,
4261 n_assign_op
: nullable AAssignOp,
4262 n_value
: nullable AExpr
4265 _n_expr
= n_expr
.as(not null)
4266 n_expr
.parent
= self
4267 _n_id
= n_id
.as(not null)
4269 _n_assign_op
= n_assign_op
.as(not null)
4270 n_assign_op
.parent
= self
4271 _n_value
= n_value
.as(not null)
4272 n_value
.parent
= self
4275 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4277 if _n_expr
== old_child
then
4278 n_expr
= new_child
.as(AExpr)
4281 if _n_id
== old_child
then
4282 n_id
= new_child
.as(TAttrid)
4285 if _n_assign_op
== old_child
then
4286 n_assign_op
= new_child
.as(AAssignOp)
4289 if _n_value
== old_child
then
4290 n_value
= new_child
.as(AExpr)
4295 redef fun n_expr
=(node
)
4300 redef fun n_id
=(node
)
4305 redef fun n_assign_op
=(node
)
4310 redef fun n_value
=(node
)
4317 redef fun visit_all
(v
: Visitor)
4319 v
.enter_visit
(_n_expr
)
4320 v
.enter_visit
(_n_id
)
4321 v
.enter_visit
(_n_assign_op
)
4322 v
.enter_visit
(_n_value
)
4325 redef class ACallExpr
4326 init init_acallexpr
(
4327 n_expr
: nullable AExpr,
4329 n_args
: nullable AExprs
4332 _n_expr
= n_expr
.as(not null)
4333 n_expr
.parent
= self
4334 _n_id
= n_id
.as(not null)
4336 _n_args
= n_args
.as(not null)
4337 n_args
.parent
= self
4340 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4342 if _n_expr
== old_child
then
4343 n_expr
= new_child
.as(AExpr)
4346 if _n_id
== old_child
then
4347 n_id
= new_child
.as(TId)
4350 if _n_args
== old_child
then
4351 n_args
= new_child
.as(AExprs)
4356 redef fun n_expr
=(node
)
4361 redef fun n_id
=(node
)
4366 redef fun n_args
=(node
)
4373 redef fun visit_all
(v
: Visitor)
4375 v
.enter_visit
(_n_expr
)
4376 v
.enter_visit
(_n_id
)
4377 v
.enter_visit
(_n_args
)
4380 redef class ACallAssignExpr
4381 init init_acallassignexpr
(
4382 n_expr
: nullable AExpr,
4384 n_args
: nullable AExprs,
4385 n_assign
: nullable TAssign,
4386 n_value
: nullable AExpr
4389 _n_expr
= n_expr
.as(not null)
4390 n_expr
.parent
= self
4391 _n_id
= n_id
.as(not null)
4393 _n_args
= n_args
.as(not null)
4394 n_args
.parent
= self
4395 _n_assign
= n_assign
.as(not null)
4396 n_assign
.parent
= self
4397 _n_value
= n_value
.as(not null)
4398 n_value
.parent
= self
4401 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4403 if _n_expr
== old_child
then
4404 n_expr
= new_child
.as(AExpr)
4407 if _n_id
== old_child
then
4408 n_id
= new_child
.as(TId)
4411 if _n_args
== old_child
then
4412 n_args
= new_child
.as(AExprs)
4415 if _n_assign
== old_child
then
4416 n_assign
= new_child
.as(TAssign)
4419 if _n_value
== old_child
then
4420 n_value
= new_child
.as(AExpr)
4425 redef fun n_expr
=(node
)
4430 redef fun n_id
=(node
)
4435 redef fun n_args
=(node
)
4440 redef fun n_assign
=(node
)
4445 redef fun n_value
=(node
)
4452 redef fun visit_all
(v
: Visitor)
4454 v
.enter_visit
(_n_expr
)
4455 v
.enter_visit
(_n_id
)
4456 v
.enter_visit
(_n_args
)
4457 v
.enter_visit
(_n_assign
)
4458 v
.enter_visit
(_n_value
)
4461 redef class ACallReassignExpr
4462 init init_acallreassignexpr
(
4463 n_expr
: nullable AExpr,
4465 n_args
: nullable AExprs,
4466 n_assign_op
: nullable AAssignOp,
4467 n_value
: nullable AExpr
4470 _n_expr
= n_expr
.as(not null)
4471 n_expr
.parent
= self
4472 _n_id
= n_id
.as(not null)
4474 _n_args
= n_args
.as(not null)
4475 n_args
.parent
= self
4476 _n_assign_op
= n_assign_op
.as(not null)
4477 n_assign_op
.parent
= self
4478 _n_value
= n_value
.as(not null)
4479 n_value
.parent
= self
4482 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4484 if _n_expr
== old_child
then
4485 n_expr
= new_child
.as(AExpr)
4488 if _n_id
== old_child
then
4489 n_id
= new_child
.as(TId)
4492 if _n_args
== old_child
then
4493 n_args
= new_child
.as(AExprs)
4496 if _n_assign_op
== old_child
then
4497 n_assign_op
= new_child
.as(AAssignOp)
4500 if _n_value
== old_child
then
4501 n_value
= new_child
.as(AExpr)
4506 redef fun n_expr
=(node
)
4511 redef fun n_id
=(node
)
4516 redef fun n_args
=(node
)
4521 redef fun n_assign_op
=(node
)
4526 redef fun n_value
=(node
)
4533 redef fun visit_all
(v
: Visitor)
4535 v
.enter_visit
(_n_expr
)
4536 v
.enter_visit
(_n_id
)
4537 v
.enter_visit
(_n_args
)
4538 v
.enter_visit
(_n_assign_op
)
4539 v
.enter_visit
(_n_value
)
4542 redef class ASuperExpr
4543 init init_asuperexpr
(
4544 n_qualified
: nullable AQualified,
4545 n_kwsuper
: nullable TKwsuper,
4546 n_args
: nullable AExprs
4549 _n_qualified
= n_qualified
4550 if n_qualified
!= null then n_qualified
.parent
= self
4551 _n_kwsuper
= n_kwsuper
.as(not null)
4552 n_kwsuper
.parent
= self
4553 _n_args
= n_args
.as(not null)
4554 n_args
.parent
= self
4557 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4559 if _n_qualified
== old_child
then
4560 n_qualified
= new_child
.as(nullable AQualified)
4563 if _n_kwsuper
== old_child
then
4564 n_kwsuper
= new_child
.as(TKwsuper)
4567 if _n_args
== old_child
then
4568 n_args
= new_child
.as(AExprs)
4573 redef fun n_qualified
=(node
)
4576 if node
!= null then node
.parent
= self
4578 redef fun n_kwsuper
=(node
)
4583 redef fun n_args
=(node
)
4590 redef fun visit_all
(v
: Visitor)
4592 v
.enter_visit
(_n_qualified
)
4593 v
.enter_visit
(_n_kwsuper
)
4594 v
.enter_visit
(_n_args
)
4597 redef class AInitExpr
4598 init init_ainitexpr
(
4599 n_expr
: nullable AExpr,
4600 n_kwinit
: nullable TKwinit,
4601 n_args
: nullable AExprs
4604 _n_expr
= n_expr
.as(not null)
4605 n_expr
.parent
= self
4606 _n_kwinit
= n_kwinit
.as(not null)
4607 n_kwinit
.parent
= self
4608 _n_args
= n_args
.as(not null)
4609 n_args
.parent
= self
4612 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4614 if _n_expr
== old_child
then
4615 n_expr
= new_child
.as(AExpr)
4618 if _n_kwinit
== old_child
then
4619 n_kwinit
= new_child
.as(TKwinit)
4622 if _n_args
== old_child
then
4623 n_args
= new_child
.as(AExprs)
4628 redef fun n_expr
=(node
)
4633 redef fun n_kwinit
=(node
)
4638 redef fun n_args
=(node
)
4645 redef fun visit_all
(v
: Visitor)
4647 v
.enter_visit
(_n_expr
)
4648 v
.enter_visit
(_n_kwinit
)
4649 v
.enter_visit
(_n_args
)
4652 redef class ABraExpr
4653 init init_abraexpr
(
4654 n_expr
: nullable AExpr,
4655 n_args
: nullable AExprs
4658 _n_expr
= n_expr
.as(not null)
4659 n_expr
.parent
= self
4660 _n_args
= n_args
.as(not null)
4661 n_args
.parent
= self
4664 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4666 if _n_expr
== old_child
then
4667 n_expr
= new_child
.as(AExpr)
4670 if _n_args
== old_child
then
4671 n_args
= new_child
.as(AExprs)
4676 redef fun n_expr
=(node
)
4681 redef fun n_args
=(node
)
4688 redef fun visit_all
(v
: Visitor)
4690 v
.enter_visit
(_n_expr
)
4691 v
.enter_visit
(_n_args
)
4694 redef class ABraAssignExpr
4695 init init_abraassignexpr
(
4696 n_expr
: nullable AExpr,
4697 n_args
: nullable AExprs,
4698 n_assign
: nullable TAssign,
4699 n_value
: nullable AExpr
4702 _n_expr
= n_expr
.as(not null)
4703 n_expr
.parent
= self
4704 _n_args
= n_args
.as(not null)
4705 n_args
.parent
= self
4706 _n_assign
= n_assign
.as(not null)
4707 n_assign
.parent
= self
4708 _n_value
= n_value
.as(not null)
4709 n_value
.parent
= self
4712 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4714 if _n_expr
== old_child
then
4715 n_expr
= new_child
.as(AExpr)
4718 if _n_args
== old_child
then
4719 n_args
= new_child
.as(AExprs)
4722 if _n_assign
== old_child
then
4723 n_assign
= new_child
.as(TAssign)
4726 if _n_value
== old_child
then
4727 n_value
= new_child
.as(AExpr)
4732 redef fun n_expr
=(node
)
4737 redef fun n_args
=(node
)
4742 redef fun n_assign
=(node
)
4747 redef fun n_value
=(node
)
4754 redef fun visit_all
(v
: Visitor)
4756 v
.enter_visit
(_n_expr
)
4757 v
.enter_visit
(_n_args
)
4758 v
.enter_visit
(_n_assign
)
4759 v
.enter_visit
(_n_value
)
4762 redef class ABraReassignExpr
4763 init init_abrareassignexpr
(
4764 n_expr
: nullable AExpr,
4765 n_args
: nullable AExprs,
4766 n_assign_op
: nullable AAssignOp,
4767 n_value
: nullable AExpr
4770 _n_expr
= n_expr
.as(not null)
4771 n_expr
.parent
= self
4772 _n_args
= n_args
.as(not null)
4773 n_args
.parent
= self
4774 _n_assign_op
= n_assign_op
.as(not null)
4775 n_assign_op
.parent
= self
4776 _n_value
= n_value
.as(not null)
4777 n_value
.parent
= self
4780 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4782 if _n_expr
== old_child
then
4783 n_expr
= new_child
.as(AExpr)
4786 if _n_args
== old_child
then
4787 n_args
= new_child
.as(AExprs)
4790 if _n_assign_op
== old_child
then
4791 n_assign_op
= new_child
.as(AAssignOp)
4794 if _n_value
== old_child
then
4795 n_value
= new_child
.as(AExpr)
4800 redef fun n_expr
=(node
)
4805 redef fun n_args
=(node
)
4810 redef fun n_assign_op
=(node
)
4815 redef fun n_value
=(node
)
4822 redef fun visit_all
(v
: Visitor)
4824 v
.enter_visit
(_n_expr
)
4825 v
.enter_visit
(_n_args
)
4826 v
.enter_visit
(_n_assign_op
)
4827 v
.enter_visit
(_n_value
)
4830 redef class AVarExpr
4831 init init_avarexpr
(
4835 _n_id
= n_id
.as(not null)
4839 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4841 if _n_id
== old_child
then
4842 n_id
= new_child
.as(TId)
4847 redef fun n_id
=(node
)
4854 redef fun visit_all
(v
: Visitor)
4856 v
.enter_visit
(_n_id
)
4859 redef class AVarAssignExpr
4860 init init_avarassignexpr
(
4862 n_assign
: nullable TAssign,
4863 n_value
: nullable AExpr
4866 _n_id
= n_id
.as(not null)
4868 _n_assign
= n_assign
.as(not null)
4869 n_assign
.parent
= self
4870 _n_value
= n_value
.as(not null)
4871 n_value
.parent
= self
4874 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4876 if _n_id
== old_child
then
4877 n_id
= new_child
.as(TId)
4880 if _n_assign
== old_child
then
4881 n_assign
= new_child
.as(TAssign)
4884 if _n_value
== old_child
then
4885 n_value
= new_child
.as(AExpr)
4890 redef fun n_id
=(node
)
4895 redef fun n_assign
=(node
)
4900 redef fun n_value
=(node
)
4907 redef fun visit_all
(v
: Visitor)
4909 v
.enter_visit
(_n_id
)
4910 v
.enter_visit
(_n_assign
)
4911 v
.enter_visit
(_n_value
)
4914 redef class AVarReassignExpr
4915 init init_avarreassignexpr
(
4917 n_assign_op
: nullable AAssignOp,
4918 n_value
: nullable AExpr
4921 _n_id
= n_id
.as(not null)
4923 _n_assign_op
= n_assign_op
.as(not null)
4924 n_assign_op
.parent
= self
4925 _n_value
= n_value
.as(not null)
4926 n_value
.parent
= self
4929 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4931 if _n_id
== old_child
then
4932 n_id
= new_child
.as(TId)
4935 if _n_assign_op
== old_child
then
4936 n_assign_op
= new_child
.as(AAssignOp)
4939 if _n_value
== old_child
then
4940 n_value
= new_child
.as(AExpr)
4945 redef fun n_id
=(node
)
4950 redef fun n_assign_op
=(node
)
4955 redef fun n_value
=(node
)
4962 redef fun visit_all
(v
: Visitor)
4964 v
.enter_visit
(_n_id
)
4965 v
.enter_visit
(_n_assign_op
)
4966 v
.enter_visit
(_n_value
)
4969 redef class ARangeExpr
4970 init init_arangeexpr
(
4971 n_expr
: nullable AExpr,
4972 n_expr2
: nullable AExpr,
4973 n_annotations
: nullable AAnnotations
4976 _n_expr
= n_expr
.as(not null)
4977 n_expr
.parent
= self
4978 _n_expr2
= n_expr2
.as(not null)
4979 n_expr2
.parent
= self
4980 _n_annotations
= n_annotations
4981 if n_annotations
!= null then n_annotations
.parent
= self
4984 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4986 if _n_expr
== old_child
then
4987 n_expr
= new_child
.as(AExpr)
4990 if _n_expr2
== old_child
then
4991 n_expr2
= new_child
.as(AExpr)
4994 if _n_annotations
== old_child
then
4995 n_annotations
= new_child
.as(nullable AAnnotations)
5000 redef fun n_expr
=(node
)
5005 redef fun n_expr2
=(node
)
5010 redef fun n_annotations
=(node
)
5012 _n_annotations
= node
5013 if node
!= null then node
.parent
= self
5017 redef fun visit_all
(v
: Visitor)
5019 v
.enter_visit
(_n_expr
)
5020 v
.enter_visit
(_n_expr2
)
5021 v
.enter_visit
(_n_annotations
)
5024 redef class ACrangeExpr
5025 init init_acrangeexpr
(
5026 n_obra
: nullable TObra,
5027 n_expr
: nullable AExpr,
5028 n_expr2
: nullable AExpr,
5029 n_cbra
: nullable TCbra,
5030 n_annotations
: nullable AAnnotations
5033 _n_obra
= n_obra
.as(not null)
5034 n_obra
.parent
= self
5035 _n_expr
= n_expr
.as(not null)
5036 n_expr
.parent
= self
5037 _n_expr2
= n_expr2
.as(not null)
5038 n_expr2
.parent
= self
5039 _n_cbra
= n_cbra
.as(not null)
5040 n_cbra
.parent
= self
5041 _n_annotations
= n_annotations
5042 if n_annotations
!= null then n_annotations
.parent
= self
5045 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5047 if _n_obra
== old_child
then
5048 n_obra
= new_child
.as(TObra)
5051 if _n_expr
== old_child
then
5052 n_expr
= new_child
.as(AExpr)
5055 if _n_expr2
== old_child
then
5056 n_expr2
= new_child
.as(AExpr)
5059 if _n_cbra
== old_child
then
5060 n_cbra
= new_child
.as(TCbra)
5063 if _n_annotations
== old_child
then
5064 n_annotations
= new_child
.as(nullable AAnnotations)
5069 redef fun n_obra
=(node
)
5074 redef fun n_expr
=(node
)
5079 redef fun n_expr2
=(node
)
5084 redef fun n_cbra
=(node
)
5089 redef fun n_annotations
=(node
)
5091 _n_annotations
= node
5092 if node
!= null then node
.parent
= self
5096 redef fun visit_all
(v
: Visitor)
5098 v
.enter_visit
(_n_obra
)
5099 v
.enter_visit
(_n_expr
)
5100 v
.enter_visit
(_n_expr2
)
5101 v
.enter_visit
(_n_cbra
)
5102 v
.enter_visit
(_n_annotations
)
5105 redef class AOrangeExpr
5106 init init_aorangeexpr
(
5107 n_obra
: nullable TObra,
5108 n_expr
: nullable AExpr,
5109 n_expr2
: nullable AExpr,
5110 n_cbra
: nullable TObra,
5111 n_annotations
: nullable AAnnotations
5114 _n_obra
= n_obra
.as(not null)
5115 n_obra
.parent
= self
5116 _n_expr
= n_expr
.as(not null)
5117 n_expr
.parent
= self
5118 _n_expr2
= n_expr2
.as(not null)
5119 n_expr2
.parent
= self
5120 _n_cbra
= n_cbra
.as(not null)
5121 n_cbra
.parent
= self
5122 _n_annotations
= n_annotations
5123 if n_annotations
!= null then n_annotations
.parent
= self
5126 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5128 if _n_obra
== old_child
then
5129 n_obra
= new_child
.as(TObra)
5132 if _n_expr
== old_child
then
5133 n_expr
= new_child
.as(AExpr)
5136 if _n_expr2
== old_child
then
5137 n_expr2
= new_child
.as(AExpr)
5140 if _n_cbra
== old_child
then
5141 n_cbra
= new_child
.as(TObra)
5144 if _n_annotations
== old_child
then
5145 n_annotations
= new_child
.as(nullable AAnnotations)
5150 redef fun n_obra
=(node
)
5155 redef fun n_expr
=(node
)
5160 redef fun n_expr2
=(node
)
5165 redef fun n_cbra
=(node
)
5170 redef fun n_annotations
=(node
)
5172 _n_annotations
= node
5173 if node
!= null then node
.parent
= self
5177 redef fun visit_all
(v
: Visitor)
5179 v
.enter_visit
(_n_obra
)
5180 v
.enter_visit
(_n_expr
)
5181 v
.enter_visit
(_n_expr2
)
5182 v
.enter_visit
(_n_cbra
)
5183 v
.enter_visit
(_n_annotations
)
5186 redef class AArrayExpr
5187 init init_aarrayexpr
(
5188 n_obra
: nullable TObra,
5189 n_exprs
: Collection[Object], # Should be Collection[AExpr]
5190 n_type
: nullable AType,
5191 n_cbra
: nullable TCbra,
5192 n_annotations
: nullable AAnnotations
5195 _n_obra
= n_obra
.as(not null)
5196 n_obra
.parent
= self
5197 self.n_exprs
.unsafe_add_all
(n_exprs
)
5199 if n_type
!= null then n_type
.parent
= self
5200 _n_cbra
= n_cbra
.as(not null)
5201 n_cbra
.parent
= self
5202 _n_annotations
= n_annotations
5203 if n_annotations
!= null then n_annotations
.parent
= self
5206 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5208 if _n_obra
== old_child
then
5209 n_obra
= new_child
.as(TObra)
5212 if n_exprs
.replace_child
(old_child
, new_child
) then return
5213 if _n_type
== old_child
then
5214 n_type
= new_child
.as(nullable AType)
5217 if _n_cbra
== old_child
then
5218 n_cbra
= new_child
.as(TCbra)
5221 if _n_annotations
== old_child
then
5222 n_annotations
= new_child
.as(nullable AAnnotations)
5227 redef fun n_obra
=(node
)
5232 redef fun n_type
=(node
)
5235 if node
!= null then node
.parent
= self
5237 redef fun n_cbra
=(node
)
5242 redef fun n_annotations
=(node
)
5244 _n_annotations
= node
5245 if node
!= null then node
.parent
= self
5249 redef fun visit_all
(v
: Visitor)
5251 v
.enter_visit
(_n_obra
)
5252 n_exprs
.visit_all
(v
)
5253 v
.enter_visit
(_n_type
)
5254 v
.enter_visit
(_n_cbra
)
5255 v
.enter_visit
(_n_annotations
)
5258 redef class ASelfExpr
5259 init init_aselfexpr
(
5260 n_kwself
: nullable TKwself,
5261 n_annotations
: nullable AAnnotations
5264 _n_kwself
= n_kwself
.as(not null)
5265 n_kwself
.parent
= self
5266 _n_annotations
= n_annotations
5267 if n_annotations
!= null then n_annotations
.parent
= self
5270 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5272 if _n_kwself
== old_child
then
5273 n_kwself
= new_child
.as(TKwself)
5276 if _n_annotations
== old_child
then
5277 n_annotations
= new_child
.as(nullable AAnnotations)
5282 redef fun n_kwself
=(node
)
5287 redef fun n_annotations
=(node
)
5289 _n_annotations
= node
5290 if node
!= null then node
.parent
= self
5294 redef fun visit_all
(v
: Visitor)
5296 v
.enter_visit
(_n_kwself
)
5297 v
.enter_visit
(_n_annotations
)
5300 redef class AImplicitSelfExpr
5301 init init_aimplicitselfexpr
5305 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5311 redef fun visit_all
(v
: Visitor)
5315 redef class ATrueExpr
5316 init init_atrueexpr
(
5317 n_kwtrue
: nullable TKwtrue,
5318 n_annotations
: nullable AAnnotations
5321 _n_kwtrue
= n_kwtrue
.as(not null)
5322 n_kwtrue
.parent
= self
5323 _n_annotations
= n_annotations
5324 if n_annotations
!= null then n_annotations
.parent
= self
5327 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5329 if _n_kwtrue
== old_child
then
5330 n_kwtrue
= new_child
.as(TKwtrue)
5333 if _n_annotations
== old_child
then
5334 n_annotations
= new_child
.as(nullable AAnnotations)
5339 redef fun n_kwtrue
=(node
)
5344 redef fun n_annotations
=(node
)
5346 _n_annotations
= node
5347 if node
!= null then node
.parent
= self
5351 redef fun visit_all
(v
: Visitor)
5353 v
.enter_visit
(_n_kwtrue
)
5354 v
.enter_visit
(_n_annotations
)
5357 redef class AFalseExpr
5358 init init_afalseexpr
(
5359 n_kwfalse
: nullable TKwfalse,
5360 n_annotations
: nullable AAnnotations
5363 _n_kwfalse
= n_kwfalse
.as(not null)
5364 n_kwfalse
.parent
= self
5365 _n_annotations
= n_annotations
5366 if n_annotations
!= null then n_annotations
.parent
= self
5369 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5371 if _n_kwfalse
== old_child
then
5372 n_kwfalse
= new_child
.as(TKwfalse)
5375 if _n_annotations
== old_child
then
5376 n_annotations
= new_child
.as(nullable AAnnotations)
5381 redef fun n_kwfalse
=(node
)
5386 redef fun n_annotations
=(node
)
5388 _n_annotations
= node
5389 if node
!= null then node
.parent
= self
5393 redef fun visit_all
(v
: Visitor)
5395 v
.enter_visit
(_n_kwfalse
)
5396 v
.enter_visit
(_n_annotations
)
5399 redef class ANullExpr
5400 init init_anullexpr
(
5401 n_kwnull
: nullable TKwnull,
5402 n_annotations
: nullable AAnnotations
5405 _n_kwnull
= n_kwnull
.as(not null)
5406 n_kwnull
.parent
= self
5407 _n_annotations
= n_annotations
5408 if n_annotations
!= null then n_annotations
.parent
= self
5411 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5413 if _n_kwnull
== old_child
then
5414 n_kwnull
= new_child
.as(TKwnull)
5417 if _n_annotations
== old_child
then
5418 n_annotations
= new_child
.as(nullable AAnnotations)
5423 redef fun n_kwnull
=(node
)
5428 redef fun n_annotations
=(node
)
5430 _n_annotations
= node
5431 if node
!= null then node
.parent
= self
5435 redef fun visit_all
(v
: Visitor)
5437 v
.enter_visit
(_n_kwnull
)
5438 v
.enter_visit
(_n_annotations
)
5441 redef class ADecIntExpr
5442 init init_adecintexpr
(
5443 n_number
: nullable TNumber,
5444 n_annotations
: nullable AAnnotations
5447 _n_number
= n_number
.as(not null)
5448 n_number
.parent
= self
5449 _n_annotations
= n_annotations
5450 if n_annotations
!= null then n_annotations
.parent
= self
5453 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5455 if _n_number
== old_child
then
5456 n_number
= new_child
.as(TNumber)
5459 if _n_annotations
== old_child
then
5460 n_annotations
= new_child
.as(nullable AAnnotations)
5465 redef fun n_number
=(node
)
5470 redef fun n_annotations
=(node
)
5472 _n_annotations
= node
5473 if node
!= null then node
.parent
= self
5477 redef fun visit_all
(v
: Visitor)
5479 v
.enter_visit
(_n_number
)
5480 v
.enter_visit
(_n_annotations
)
5483 redef class AHexIntExpr
5484 init init_ahexintexpr
(
5485 n_hex_number
: nullable THexNumber,
5486 n_annotations
: nullable AAnnotations
5489 _n_hex_number
= n_hex_number
.as(not null)
5490 n_hex_number
.parent
= self
5491 _n_annotations
= n_annotations
5492 if n_annotations
!= null then n_annotations
.parent
= self
5495 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5497 if _n_hex_number
== old_child
then
5498 n_hex_number
= new_child
.as(THexNumber)
5501 if _n_annotations
== old_child
then
5502 n_annotations
= new_child
.as(nullable AAnnotations)
5507 redef fun n_hex_number
=(node
)
5509 _n_hex_number
= node
5512 redef fun n_annotations
=(node
)
5514 _n_annotations
= node
5515 if node
!= null then node
.parent
= self
5519 redef fun visit_all
(v
: Visitor)
5521 v
.enter_visit
(_n_hex_number
)
5522 v
.enter_visit
(_n_annotations
)
5525 redef class AFloatExpr
5526 init init_afloatexpr
(
5527 n_float
: nullable TFloat,
5528 n_annotations
: nullable AAnnotations
5531 _n_float
= n_float
.as(not null)
5532 n_float
.parent
= self
5533 _n_annotations
= n_annotations
5534 if n_annotations
!= null then n_annotations
.parent
= self
5537 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5539 if _n_float
== old_child
then
5540 n_float
= new_child
.as(TFloat)
5543 if _n_annotations
== old_child
then
5544 n_annotations
= new_child
.as(nullable AAnnotations)
5549 redef fun n_float
=(node
)
5554 redef fun n_annotations
=(node
)
5556 _n_annotations
= node
5557 if node
!= null then node
.parent
= self
5561 redef fun visit_all
(v
: Visitor)
5563 v
.enter_visit
(_n_float
)
5564 v
.enter_visit
(_n_annotations
)
5567 redef class ACharExpr
5568 init init_acharexpr
(
5569 n_char
: nullable TChar,
5570 n_annotations
: nullable AAnnotations
5573 _n_char
= n_char
.as(not null)
5574 n_char
.parent
= self
5575 _n_annotations
= n_annotations
5576 if n_annotations
!= null then n_annotations
.parent
= self
5579 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5581 if _n_char
== old_child
then
5582 n_char
= new_child
.as(TChar)
5585 if _n_annotations
== old_child
then
5586 n_annotations
= new_child
.as(nullable AAnnotations)
5591 redef fun n_char
=(node
)
5596 redef fun n_annotations
=(node
)
5598 _n_annotations
= node
5599 if node
!= null then node
.parent
= self
5603 redef fun visit_all
(v
: Visitor)
5605 v
.enter_visit
(_n_char
)
5606 v
.enter_visit
(_n_annotations
)
5609 redef class AStringExpr
5610 init init_astringexpr
(
5611 n_string
: nullable TString,
5612 n_annotations
: nullable AAnnotations
5615 _n_string
= n_string
.as(not null)
5616 n_string
.parent
= self
5617 _n_annotations
= n_annotations
5618 if n_annotations
!= null then n_annotations
.parent
= self
5621 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5623 if _n_string
== old_child
then
5624 n_string
= new_child
.as(TString)
5627 if _n_annotations
== old_child
then
5628 n_annotations
= new_child
.as(nullable AAnnotations)
5633 redef fun n_string
=(node
)
5638 redef fun n_annotations
=(node
)
5640 _n_annotations
= node
5641 if node
!= null then node
.parent
= self
5645 redef fun visit_all
(v
: Visitor)
5647 v
.enter_visit
(_n_string
)
5648 v
.enter_visit
(_n_annotations
)
5651 redef class AStartStringExpr
5652 init init_astartstringexpr
(
5653 n_string
: nullable TStartString
5656 _n_string
= n_string
.as(not null)
5657 n_string
.parent
= self
5660 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5662 if _n_string
== old_child
then
5663 n_string
= new_child
.as(TStartString)
5668 redef fun n_string
=(node
)
5675 redef fun visit_all
(v
: Visitor)
5677 v
.enter_visit
(_n_string
)
5680 redef class AMidStringExpr
5681 init init_amidstringexpr
(
5682 n_string
: nullable TMidString
5685 _n_string
= n_string
.as(not null)
5686 n_string
.parent
= self
5689 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5691 if _n_string
== old_child
then
5692 n_string
= new_child
.as(TMidString)
5697 redef fun n_string
=(node
)
5704 redef fun visit_all
(v
: Visitor)
5706 v
.enter_visit
(_n_string
)
5709 redef class AEndStringExpr
5710 init init_aendstringexpr
(
5711 n_string
: nullable TEndString
5714 _n_string
= n_string
.as(not null)
5715 n_string
.parent
= self
5718 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5720 if _n_string
== old_child
then
5721 n_string
= new_child
.as(TEndString)
5726 redef fun n_string
=(node
)
5733 redef fun visit_all
(v
: Visitor)
5735 v
.enter_visit
(_n_string
)
5738 redef class ASuperstringExpr
5739 init init_asuperstringexpr
(
5740 n_exprs
: Collection[Object], # Should be Collection[AExpr]
5741 n_annotations
: nullable AAnnotations
5744 self.n_exprs
.unsafe_add_all
(n_exprs
)
5745 _n_annotations
= n_annotations
5746 if n_annotations
!= null then n_annotations
.parent
= self
5749 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5751 if n_exprs
.replace_child
(old_child
, new_child
) then return
5752 if _n_annotations
== old_child
then
5753 n_annotations
= new_child
.as(nullable AAnnotations)
5758 redef fun n_annotations
=(node
)
5760 _n_annotations
= node
5761 if node
!= null then node
.parent
= self
5765 redef fun visit_all
(v
: Visitor)
5767 n_exprs
.visit_all
(v
)
5768 v
.enter_visit
(_n_annotations
)
5771 redef class AParExpr
5772 init init_aparexpr
(
5773 n_opar
: nullable TOpar,
5774 n_expr
: nullable AExpr,
5775 n_cpar
: nullable TCpar,
5776 n_annotations
: nullable AAnnotations
5779 _n_opar
= n_opar
.as(not null)
5780 n_opar
.parent
= self
5781 _n_expr
= n_expr
.as(not null)
5782 n_expr
.parent
= self
5783 _n_cpar
= n_cpar
.as(not null)
5784 n_cpar
.parent
= self
5785 _n_annotations
= n_annotations
5786 if n_annotations
!= null then n_annotations
.parent
= self
5789 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5791 if _n_opar
== old_child
then
5792 n_opar
= new_child
.as(TOpar)
5795 if _n_expr
== old_child
then
5796 n_expr
= new_child
.as(AExpr)
5799 if _n_cpar
== old_child
then
5800 n_cpar
= new_child
.as(TCpar)
5803 if _n_annotations
== old_child
then
5804 n_annotations
= new_child
.as(nullable AAnnotations)
5809 redef fun n_opar
=(node
)
5814 redef fun n_expr
=(node
)
5819 redef fun n_cpar
=(node
)
5824 redef fun n_annotations
=(node
)
5826 _n_annotations
= node
5827 if node
!= null then node
.parent
= self
5831 redef fun visit_all
(v
: Visitor)
5833 v
.enter_visit
(_n_opar
)
5834 v
.enter_visit
(_n_expr
)
5835 v
.enter_visit
(_n_cpar
)
5836 v
.enter_visit
(_n_annotations
)
5839 redef class AAsCastExpr
5840 init init_aascastexpr
(
5841 n_expr
: nullable AExpr,
5842 n_kwas
: nullable TKwas,
5843 n_opar
: nullable TOpar,
5844 n_type
: nullable AType,
5845 n_cpar
: nullable TCpar
5848 _n_expr
= n_expr
.as(not null)
5849 n_expr
.parent
= self
5850 _n_kwas
= n_kwas
.as(not null)
5851 n_kwas
.parent
= self
5853 if n_opar
!= null then n_opar
.parent
= self
5854 _n_type
= n_type
.as(not null)
5855 n_type
.parent
= self
5857 if n_cpar
!= null then n_cpar
.parent
= self
5860 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5862 if _n_expr
== old_child
then
5863 n_expr
= new_child
.as(AExpr)
5866 if _n_kwas
== old_child
then
5867 n_kwas
= new_child
.as(TKwas)
5870 if _n_opar
== old_child
then
5871 n_opar
= new_child
.as(nullable TOpar)
5874 if _n_type
== old_child
then
5875 n_type
= new_child
.as(AType)
5878 if _n_cpar
== old_child
then
5879 n_cpar
= new_child
.as(nullable TCpar)
5884 redef fun n_expr
=(node
)
5889 redef fun n_kwas
=(node
)
5894 redef fun n_opar
=(node
)
5897 if node
!= null then node
.parent
= self
5899 redef fun n_type
=(node
)
5904 redef fun n_cpar
=(node
)
5907 if node
!= null then node
.parent
= self
5911 redef fun visit_all
(v
: Visitor)
5913 v
.enter_visit
(_n_expr
)
5914 v
.enter_visit
(_n_kwas
)
5915 v
.enter_visit
(_n_opar
)
5916 v
.enter_visit
(_n_type
)
5917 v
.enter_visit
(_n_cpar
)
5920 redef class AAsNotnullExpr
5921 init init_aasnotnullexpr
(
5922 n_expr
: nullable AExpr,
5923 n_kwas
: nullable TKwas,
5924 n_opar
: nullable TOpar,
5925 n_kwnot
: nullable TKwnot,
5926 n_kwnull
: nullable TKwnull,
5927 n_cpar
: nullable TCpar
5930 _n_expr
= n_expr
.as(not null)
5931 n_expr
.parent
= self
5932 _n_kwas
= n_kwas
.as(not null)
5933 n_kwas
.parent
= self
5935 if n_opar
!= null then n_opar
.parent
= self
5936 _n_kwnot
= n_kwnot
.as(not null)
5937 n_kwnot
.parent
= self
5938 _n_kwnull
= n_kwnull
.as(not null)
5939 n_kwnull
.parent
= self
5941 if n_cpar
!= null then n_cpar
.parent
= self
5944 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5946 if _n_expr
== old_child
then
5947 n_expr
= new_child
.as(AExpr)
5950 if _n_kwas
== old_child
then
5951 n_kwas
= new_child
.as(TKwas)
5954 if _n_opar
== old_child
then
5955 n_opar
= new_child
.as(nullable TOpar)
5958 if _n_kwnot
== old_child
then
5959 n_kwnot
= new_child
.as(TKwnot)
5962 if _n_kwnull
== old_child
then
5963 n_kwnull
= new_child
.as(TKwnull)
5966 if _n_cpar
== old_child
then
5967 n_cpar
= new_child
.as(nullable TCpar)
5972 redef fun n_expr
=(node
)
5977 redef fun n_kwas
=(node
)
5982 redef fun n_opar
=(node
)
5985 if node
!= null then node
.parent
= self
5987 redef fun n_kwnot
=(node
)
5992 redef fun n_kwnull
=(node
)
5997 redef fun n_cpar
=(node
)
6000 if node
!= null then node
.parent
= self
6004 redef fun visit_all
(v
: Visitor)
6006 v
.enter_visit
(_n_expr
)
6007 v
.enter_visit
(_n_kwas
)
6008 v
.enter_visit
(_n_opar
)
6009 v
.enter_visit
(_n_kwnot
)
6010 v
.enter_visit
(_n_kwnull
)
6011 v
.enter_visit
(_n_cpar
)
6014 redef class AIssetAttrExpr
6015 init init_aissetattrexpr
(
6016 n_kwisset
: nullable TKwisset,
6017 n_expr
: nullable AExpr,
6018 n_id
: nullable TAttrid
6021 _n_kwisset
= n_kwisset
.as(not null)
6022 n_kwisset
.parent
= self
6023 _n_expr
= n_expr
.as(not null)
6024 n_expr
.parent
= self
6025 _n_id
= n_id
.as(not null)
6029 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6031 if _n_kwisset
== old_child
then
6032 n_kwisset
= new_child
.as(TKwisset)
6035 if _n_expr
== old_child
then
6036 n_expr
= new_child
.as(AExpr)
6039 if _n_id
== old_child
then
6040 n_id
= new_child
.as(TAttrid)
6045 redef fun n_kwisset
=(node
)
6050 redef fun n_expr
=(node
)
6055 redef fun n_id
=(node
)
6062 redef fun visit_all
(v
: Visitor)
6064 v
.enter_visit
(_n_kwisset
)
6065 v
.enter_visit
(_n_expr
)
6066 v
.enter_visit
(_n_id
)
6069 redef class ADebugTypeExpr
6070 init init_adebugtypeexpr
(
6071 n_kwdebug
: nullable TKwdebug,
6072 n_kwtype
: nullable TKwtype,
6073 n_expr
: nullable AExpr,
6074 n_type
: nullable AType
6077 _n_kwdebug
= n_kwdebug
.as(not null)
6078 n_kwdebug
.parent
= self
6079 _n_kwtype
= n_kwtype
.as(not null)
6080 n_kwtype
.parent
= self
6081 _n_expr
= n_expr
.as(not null)
6082 n_expr
.parent
= self
6083 _n_type
= n_type
.as(not null)
6084 n_type
.parent
= self
6087 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6089 if _n_kwdebug
== old_child
then
6090 n_kwdebug
= new_child
.as(TKwdebug)
6093 if _n_kwtype
== old_child
then
6094 n_kwtype
= new_child
.as(TKwtype)
6097 if _n_expr
== old_child
then
6098 n_expr
= new_child
.as(AExpr)
6101 if _n_type
== old_child
then
6102 n_type
= new_child
.as(AType)
6107 redef fun n_kwdebug
=(node
)
6112 redef fun n_kwtype
=(node
)
6117 redef fun n_expr
=(node
)
6122 redef fun n_type
=(node
)
6129 redef fun visit_all
(v
: Visitor)
6131 v
.enter_visit
(_n_kwdebug
)
6132 v
.enter_visit
(_n_kwtype
)
6133 v
.enter_visit
(_n_expr
)
6134 v
.enter_visit
(_n_type
)
6137 redef class AVarargExpr
6138 init init_avarargexpr
(
6139 n_expr
: nullable AExpr,
6140 n_dotdotdot
: nullable TDotdotdot
6143 _n_expr
= n_expr
.as(not null)
6144 n_expr
.parent
= self
6145 _n_dotdotdot
= n_dotdotdot
.as(not null)
6146 n_dotdotdot
.parent
= self
6149 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6151 if _n_expr
== old_child
then
6152 n_expr
= new_child
.as(AExpr)
6155 if _n_dotdotdot
== old_child
then
6156 n_dotdotdot
= new_child
.as(TDotdotdot)
6161 redef fun n_expr
=(node
)
6166 redef fun n_dotdotdot
=(node
)
6173 redef fun visit_all
(v
: Visitor)
6175 v
.enter_visit
(_n_expr
)
6176 v
.enter_visit
(_n_dotdotdot
)
6179 redef class ATypeExpr
6180 init init_atypeexpr
(
6181 n_type
: nullable AType
6184 _n_type
= n_type
.as(not null)
6185 n_type
.parent
= self
6188 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6190 if _n_type
== old_child
then
6191 n_type
= new_child
.as(AType)
6196 redef fun n_type
=(node
)
6203 redef fun visit_all
(v
: Visitor)
6205 v
.enter_visit
(_n_type
)
6208 redef class AMethidExpr
6209 init init_amethidexpr
(
6210 n_expr
: nullable AExpr,
6211 n_id
: nullable AMethid
6214 _n_expr
= n_expr
.as(not null)
6215 n_expr
.parent
= self
6216 _n_id
= n_id
.as(not null)
6220 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6222 if _n_expr
== old_child
then
6223 n_expr
= new_child
.as(AExpr)
6226 if _n_id
== old_child
then
6227 n_id
= new_child
.as(AMethid)
6232 redef fun n_expr
=(node
)
6237 redef fun n_id
=(node
)
6244 redef fun visit_all
(v
: Visitor)
6246 v
.enter_visit
(_n_expr
)
6247 v
.enter_visit
(_n_id
)
6252 n_annotations
: nullable AAnnotations
6255 _n_annotations
= n_annotations
.as(not null)
6256 n_annotations
.parent
= self
6259 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6261 if _n_annotations
== old_child
then
6262 n_annotations
= new_child
.as(AAnnotations)
6267 redef fun n_annotations
=(node
)
6269 _n_annotations
= node
6274 redef fun visit_all
(v
: Visitor)
6276 v
.enter_visit
(_n_annotations
)
6279 redef class AManyExpr
6280 init init_amanyexpr
(
6281 n_exprs
: Collection[Object] # Should be Collection[AExpr]
6284 self.n_exprs
.unsafe_add_all
(n_exprs
)
6287 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6289 if n_exprs
.replace_child
(old_child
, new_child
) then return
6294 redef fun visit_all
(v
: Visitor)
6296 n_exprs
.visit_all
(v
)
6299 redef class AListExprs
6300 init init_alistexprs
(
6301 n_exprs
: Collection[Object] # Should be Collection[AExpr]
6304 self.n_exprs
.unsafe_add_all
(n_exprs
)
6307 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6309 if n_exprs
.replace_child
(old_child
, new_child
) then return
6314 redef fun visit_all
(v
: Visitor)
6316 n_exprs
.visit_all
(v
)
6319 redef class AParExprs
6320 init init_aparexprs
(
6321 n_opar
: nullable TOpar,
6322 n_exprs
: Collection[Object], # Should be Collection[AExpr]
6323 n_cpar
: nullable TCpar
6326 _n_opar
= n_opar
.as(not null)
6327 n_opar
.parent
= self
6328 self.n_exprs
.unsafe_add_all
(n_exprs
)
6329 _n_cpar
= n_cpar
.as(not null)
6330 n_cpar
.parent
= self
6333 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6335 if _n_opar
== old_child
then
6336 n_opar
= new_child
.as(TOpar)
6339 if n_exprs
.replace_child
(old_child
, new_child
) then return
6340 if _n_cpar
== old_child
then
6341 n_cpar
= new_child
.as(TCpar)
6346 redef fun n_opar
=(node
)
6351 redef fun n_cpar
=(node
)
6358 redef fun visit_all
(v
: Visitor)
6360 v
.enter_visit
(_n_opar
)
6361 n_exprs
.visit_all
(v
)
6362 v
.enter_visit
(_n_cpar
)
6365 redef class ABraExprs
6366 init init_abraexprs
(
6367 n_obra
: nullable TObra,
6368 n_exprs
: Collection[Object], # Should be Collection[AExpr]
6369 n_cbra
: nullable TCbra
6372 _n_obra
= n_obra
.as(not null)
6373 n_obra
.parent
= self
6374 self.n_exprs
.unsafe_add_all
(n_exprs
)
6375 _n_cbra
= n_cbra
.as(not null)
6376 n_cbra
.parent
= self
6379 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6381 if _n_obra
== old_child
then
6382 n_obra
= new_child
.as(TObra)
6385 if n_exprs
.replace_child
(old_child
, new_child
) then return
6386 if _n_cbra
== old_child
then
6387 n_cbra
= new_child
.as(TCbra)
6392 redef fun n_obra
=(node
)
6397 redef fun n_cbra
=(node
)
6404 redef fun visit_all
(v
: Visitor)
6406 v
.enter_visit
(_n_obra
)
6407 n_exprs
.visit_all
(v
)
6408 v
.enter_visit
(_n_cbra
)
6411 redef class APlusAssignOp
6412 init init_aplusassignop
(
6413 n_pluseq
: nullable TPluseq
6416 _n_pluseq
= n_pluseq
.as(not null)
6417 n_pluseq
.parent
= self
6420 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6422 if _n_pluseq
== old_child
then
6423 n_pluseq
= new_child
.as(TPluseq)
6428 redef fun n_pluseq
=(node
)
6435 redef fun visit_all
(v
: Visitor)
6437 v
.enter_visit
(_n_pluseq
)
6440 redef class AMinusAssignOp
6441 init init_aminusassignop
(
6442 n_minuseq
: nullable TMinuseq
6445 _n_minuseq
= n_minuseq
.as(not null)
6446 n_minuseq
.parent
= self
6449 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6451 if _n_minuseq
== old_child
then
6452 n_minuseq
= new_child
.as(TMinuseq)
6457 redef fun n_minuseq
=(node
)
6464 redef fun visit_all
(v
: Visitor)
6466 v
.enter_visit
(_n_minuseq
)
6469 redef class AModuleName
6470 init init_amodulename
(
6471 n_quad
: nullable TQuad,
6472 n_path
: Collection[Object], # Should be Collection[TId]
6477 if n_quad
!= null then n_quad
.parent
= self
6478 self.n_path
.unsafe_add_all
(n_path
)
6479 _n_id
= n_id
.as(not null)
6483 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6485 if _n_quad
== old_child
then
6486 n_quad
= new_child
.as(nullable TQuad)
6489 if n_path
.replace_child
(old_child
, new_child
) then return
6490 if _n_id
== old_child
then
6491 n_id
= new_child
.as(TId)
6496 redef fun n_quad
=(node
)
6499 if node
!= null then node
.parent
= self
6501 redef fun n_id
=(node
)
6508 redef fun visit_all
(v
: Visitor)
6510 v
.enter_visit
(_n_quad
)
6512 v
.enter_visit
(_n_id
)
6515 redef class AExternCalls
6516 init init_aexterncalls
(
6517 n_kwimport
: nullable TKwimport,
6518 n_extern_calls
: Collection[Object] # Should be Collection[AExternCall]
6521 _n_kwimport
= n_kwimport
.as(not null)
6522 n_kwimport
.parent
= self
6523 self.n_extern_calls
.unsafe_add_all
(n_extern_calls
)
6526 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6528 if _n_kwimport
== old_child
then
6529 n_kwimport
= new_child
.as(TKwimport)
6532 if n_extern_calls
.replace_child
(old_child
, new_child
) then return
6535 redef fun n_kwimport
=(node
)
6542 redef fun visit_all
(v
: Visitor)
6544 v
.enter_visit
(_n_kwimport
)
6545 n_extern_calls
.visit_all
(v
)
6548 redef class AExternCall
6549 init init_aexterncall
6553 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6559 redef fun visit_all
(v
: Visitor)
6563 redef class ASuperExternCall
6564 init init_asuperexterncall
(
6565 n_kwsuper
: nullable TKwsuper
6568 _n_kwsuper
= n_kwsuper
.as(not null)
6569 n_kwsuper
.parent
= self
6572 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6574 if _n_kwsuper
== old_child
then
6575 n_kwsuper
= new_child
.as(TKwsuper)
6580 redef fun n_kwsuper
=(node
)
6587 redef fun visit_all
(v
: Visitor)
6589 v
.enter_visit
(_n_kwsuper
)
6592 redef class ALocalPropExternCall
6593 init init_alocalpropexterncall
(
6594 n_methid
: nullable AMethid
6597 _n_methid
= n_methid
.as(not null)
6598 n_methid
.parent
= self
6601 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6603 if _n_methid
== old_child
then
6604 n_methid
= new_child
.as(AMethid)
6609 redef fun n_methid
=(node
)
6616 redef fun visit_all
(v
: Visitor)
6618 v
.enter_visit
(_n_methid
)
6621 redef class AFullPropExternCall
6622 init init_afullpropexterncall
(
6623 n_type
: nullable AType,
6624 n_dot
: nullable TDot,
6625 n_methid
: nullable AMethid
6628 _n_type
= n_type
.as(not null)
6629 n_type
.parent
= self
6631 if n_dot
!= null then n_dot
.parent
= self
6632 _n_methid
= n_methid
.as(not null)
6633 n_methid
.parent
= self
6636 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6638 if _n_type
== old_child
then
6639 n_type
= new_child
.as(AType)
6642 if _n_dot
== old_child
then
6643 n_dot
= new_child
.as(nullable TDot)
6646 if _n_methid
== old_child
then
6647 n_methid
= new_child
.as(AMethid)
6652 redef fun n_type
=(node
)
6657 redef fun n_dot
=(node
)
6660 if node
!= null then node
.parent
= self
6662 redef fun n_methid
=(node
)
6669 redef fun visit_all
(v
: Visitor)
6671 v
.enter_visit
(_n_type
)
6672 v
.enter_visit
(_n_dot
)
6673 v
.enter_visit
(_n_methid
)
6676 redef class AInitPropExternCall
6677 init init_ainitpropexterncall
(
6678 n_type
: nullable AType
6681 _n_type
= n_type
.as(not null)
6682 n_type
.parent
= self
6685 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6687 if _n_type
== old_child
then
6688 n_type
= new_child
.as(AType)
6693 redef fun n_type
=(node
)
6700 redef fun visit_all
(v
: Visitor)
6702 v
.enter_visit
(_n_type
)
6705 redef class ACastAsExternCall
6706 init init_acastasexterncall
(
6707 n_from_type
: nullable AType,
6708 n_dot
: nullable TDot,
6709 n_kwas
: nullable TKwas,
6710 n_to_type
: nullable AType
6713 _n_from_type
= n_from_type
.as(not null)
6714 n_from_type
.parent
= self
6716 if n_dot
!= null then n_dot
.parent
= self
6717 _n_kwas
= n_kwas
.as(not null)
6718 n_kwas
.parent
= self
6719 _n_to_type
= n_to_type
.as(not null)
6720 n_to_type
.parent
= self
6723 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6725 if _n_from_type
== old_child
then
6726 n_from_type
= new_child
.as(AType)
6729 if _n_dot
== old_child
then
6730 n_dot
= new_child
.as(nullable TDot)
6733 if _n_kwas
== old_child
then
6734 n_kwas
= new_child
.as(TKwas)
6737 if _n_to_type
== old_child
then
6738 n_to_type
= new_child
.as(AType)
6743 redef fun n_from_type
=(node
)
6748 redef fun n_dot
=(node
)
6751 if node
!= null then node
.parent
= self
6753 redef fun n_kwas
=(node
)
6758 redef fun n_to_type
=(node
)
6765 redef fun visit_all
(v
: Visitor)
6767 v
.enter_visit
(_n_from_type
)
6768 v
.enter_visit
(_n_dot
)
6769 v
.enter_visit
(_n_kwas
)
6770 v
.enter_visit
(_n_to_type
)
6773 redef class AAsNullableExternCall
6774 init init_aasnullableexterncall
(
6775 n_type
: nullable AType,
6776 n_kwas
: nullable TKwas,
6777 n_kwnullable
: nullable TKwnullable
6780 _n_type
= n_type
.as(not null)
6781 n_type
.parent
= self
6782 _n_kwas
= n_kwas
.as(not null)
6783 n_kwas
.parent
= self
6784 _n_kwnullable
= n_kwnullable
.as(not null)
6785 n_kwnullable
.parent
= self
6788 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6790 if _n_type
== old_child
then
6791 n_type
= new_child
.as(AType)
6794 if _n_kwas
== old_child
then
6795 n_kwas
= new_child
.as(TKwas)
6798 if _n_kwnullable
== old_child
then
6799 n_kwnullable
= new_child
.as(TKwnullable)
6804 redef fun n_type
=(node
)
6809 redef fun n_kwas
=(node
)
6814 redef fun n_kwnullable
=(node
)
6816 _n_kwnullable
= node
6821 redef fun visit_all
(v
: Visitor)
6823 v
.enter_visit
(_n_type
)
6824 v
.enter_visit
(_n_kwas
)
6825 v
.enter_visit
(_n_kwnullable
)
6828 redef class AAsNotNullableExternCall
6829 init init_aasnotnullableexterncall
(
6830 n_type
: nullable AType,
6831 n_kwas
: nullable TKwas,
6832 n_kwnot
: nullable TKwnot,
6833 n_kwnullable
: nullable TKwnullable
6836 _n_type
= n_type
.as(not null)
6837 n_type
.parent
= self
6838 _n_kwas
= n_kwas
.as(not null)
6839 n_kwas
.parent
= self
6840 _n_kwnot
= n_kwnot
.as(not null)
6841 n_kwnot
.parent
= self
6842 _n_kwnullable
= n_kwnullable
.as(not null)
6843 n_kwnullable
.parent
= self
6846 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6848 if _n_type
== old_child
then
6849 n_type
= new_child
.as(AType)
6852 if _n_kwas
== old_child
then
6853 n_kwas
= new_child
.as(TKwas)
6856 if _n_kwnot
== old_child
then
6857 n_kwnot
= new_child
.as(TKwnot)
6860 if _n_kwnullable
== old_child
then
6861 n_kwnullable
= new_child
.as(TKwnullable)
6866 redef fun n_type
=(node
)
6871 redef fun n_kwas
=(node
)
6876 redef fun n_kwnot
=(node
)
6881 redef fun n_kwnullable
=(node
)
6883 _n_kwnullable
= node
6888 redef fun visit_all
(v
: Visitor)
6890 v
.enter_visit
(_n_type
)
6891 v
.enter_visit
(_n_kwas
)
6892 v
.enter_visit
(_n_kwnot
)
6893 v
.enter_visit
(_n_kwnullable
)
6896 redef class AInLanguage
6897 init init_ainlanguage
(
6898 n_kwin
: nullable TKwin,
6899 n_string
: nullable TString
6902 _n_kwin
= n_kwin
.as(not null)
6903 n_kwin
.parent
= self
6904 _n_string
= n_string
.as(not null)
6905 n_string
.parent
= self
6908 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6910 if _n_kwin
== old_child
then
6911 n_kwin
= new_child
.as(TKwin)
6914 if _n_string
== old_child
then
6915 n_string
= new_child
.as(TString)
6920 redef fun n_kwin
=(node
)
6925 redef fun n_string
=(node
)
6932 redef fun visit_all
(v
: Visitor)
6934 v
.enter_visit
(_n_kwin
)
6935 v
.enter_visit
(_n_string
)
6938 redef class AExternCodeBlock
6939 init init_aexterncodeblock
(
6940 n_in_language
: nullable AInLanguage,
6941 n_extern_code_segment
: nullable TExternCodeSegment
6944 _n_in_language
= n_in_language
6945 if n_in_language
!= null then n_in_language
.parent
= self
6946 _n_extern_code_segment
= n_extern_code_segment
.as(not null)
6947 n_extern_code_segment
.parent
= self
6950 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6952 if _n_in_language
== old_child
then
6953 n_in_language
= new_child
.as(nullable AInLanguage)
6956 if _n_extern_code_segment
== old_child
then
6957 n_extern_code_segment
= new_child
.as(TExternCodeSegment)
6962 redef fun n_in_language
=(node
)
6964 _n_in_language
= node
6965 if node
!= null then node
.parent
= self
6967 redef fun n_extern_code_segment
=(node
)
6969 _n_extern_code_segment
= node
6974 redef fun visit_all
(v
: Visitor)
6976 v
.enter_visit
(_n_in_language
)
6977 v
.enter_visit
(_n_extern_code_segment
)
6980 redef class AQualified
6981 init init_aqualified
(
6982 n_id
: Collection[Object], # Should be Collection[TId]
6983 n_classid
: nullable TClassid
6986 self.n_id
.unsafe_add_all
(n_id
)
6987 _n_classid
= n_classid
6988 if n_classid
!= null then n_classid
.parent
= self
6991 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6993 if n_id
.replace_child
(old_child
, new_child
) then return
6994 if _n_classid
== old_child
then
6995 n_classid
= new_child
.as(nullable TClassid)
7000 redef fun n_classid
=(node
)
7003 if node
!= null then node
.parent
= self
7007 redef fun visit_all
(v
: Visitor)
7010 v
.enter_visit
(_n_classid
)
7015 n_comment
: Collection[Object] # Should be Collection[TComment]
7018 self.n_comment
.unsafe_add_all
(n_comment
)
7021 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7023 if n_comment
.replace_child
(old_child
, new_child
) then return
7028 redef fun visit_all
(v
: Visitor)
7030 n_comment
.visit_all
(v
)
7033 redef class AAnnotations
7034 init init_aannotations
(
7036 n_opar
: nullable TOpar,
7037 n_items
: Collection[Object], # Should be Collection[AAnnotation]
7038 n_cpar
: nullable TCpar
7042 if n_at
!= null then n_at
.parent
= self
7044 if n_opar
!= null then n_opar
.parent
= self
7045 self.n_items
.unsafe_add_all
(n_items
)
7047 if n_cpar
!= null then n_cpar
.parent
= self
7050 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7052 if _n_at
== old_child
then
7053 n_at
= new_child
.as(nullable TAt)
7056 if _n_opar
== old_child
then
7057 n_opar
= new_child
.as(nullable TOpar)
7060 if n_items
.replace_child
(old_child
, new_child
) then return
7061 if _n_cpar
== old_child
then
7062 n_cpar
= new_child
.as(nullable TCpar)
7067 redef fun n_at
=(node
)
7070 if node
!= null then node
.parent
= self
7072 redef fun n_opar
=(node
)
7075 if node
!= null then node
.parent
= self
7077 redef fun n_cpar
=(node
)
7080 if node
!= null then node
.parent
= self
7084 redef fun visit_all
(v
: Visitor)
7086 v
.enter_visit
(_n_at
)
7087 v
.enter_visit
(_n_opar
)
7088 n_items
.visit_all
(v
)
7089 v
.enter_visit
(_n_cpar
)
7092 redef class AAnnotation
7093 init init_aannotation
(
7094 n_doc
: nullable ADoc,
7095 n_kwredef
: nullable TKwredef,
7096 n_visibility
: nullable AVisibility,
7097 n_atid
: nullable AAtid,
7098 n_opar
: nullable TOpar,
7099 n_args
: Collection[Object], # Should be Collection[AExpr]
7100 n_cpar
: nullable TCpar,
7101 n_annotations
: nullable AAnnotations
7105 if n_doc
!= null then n_doc
.parent
= self
7106 _n_kwredef
= n_kwredef
7107 if n_kwredef
!= null then n_kwredef
.parent
= self
7108 _n_visibility
= n_visibility
7109 if n_visibility
!= null then n_visibility
.parent
= self
7110 _n_atid
= n_atid
.as(not null)
7111 n_atid
.parent
= self
7113 if n_opar
!= null then n_opar
.parent
= self
7114 self.n_args
.unsafe_add_all
(n_args
)
7116 if n_cpar
!= null then n_cpar
.parent
= self
7117 _n_annotations
= n_annotations
7118 if n_annotations
!= null then n_annotations
.parent
= self
7121 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7123 if _n_doc
== old_child
then
7124 n_doc
= new_child
.as(nullable ADoc)
7127 if _n_kwredef
== old_child
then
7128 n_kwredef
= new_child
.as(nullable TKwredef)
7131 if _n_visibility
== old_child
then
7132 n_visibility
= new_child
.as(nullable AVisibility)
7135 if _n_atid
== old_child
then
7136 n_atid
= new_child
.as(AAtid)
7139 if _n_opar
== old_child
then
7140 n_opar
= new_child
.as(nullable TOpar)
7143 if n_args
.replace_child
(old_child
, new_child
) then return
7144 if _n_cpar
== old_child
then
7145 n_cpar
= new_child
.as(nullable TCpar)
7148 if _n_annotations
== old_child
then
7149 n_annotations
= new_child
.as(nullable AAnnotations)
7154 redef fun n_doc
=(node
)
7157 if node
!= null then node
.parent
= self
7159 redef fun n_kwredef
=(node
)
7162 if node
!= null then node
.parent
= self
7164 redef fun n_visibility
=(node
)
7166 _n_visibility
= node
7167 if node
!= null then node
.parent
= self
7169 redef fun n_atid
=(node
)
7174 redef fun n_opar
=(node
)
7177 if node
!= null then node
.parent
= self
7179 redef fun n_cpar
=(node
)
7182 if node
!= null then node
.parent
= self
7184 redef fun n_annotations
=(node
)
7186 _n_annotations
= node
7187 if node
!= null then node
.parent
= self
7191 redef fun visit_all
(v
: Visitor)
7193 v
.enter_visit
(_n_doc
)
7194 v
.enter_visit
(_n_kwredef
)
7195 v
.enter_visit
(_n_visibility
)
7196 v
.enter_visit
(_n_atid
)
7197 v
.enter_visit
(_n_opar
)
7199 v
.enter_visit
(_n_cpar
)
7200 v
.enter_visit
(_n_annotations
)
7208 _n_id
= n_id
.as(not null)
7212 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7214 if _n_id
== old_child
then
7215 n_id
= new_child
.as(TId)
7220 redef fun n_id
=(node
)
7227 redef fun visit_all
(v
: Visitor)
7229 v
.enter_visit
(_n_id
)
7232 redef class AKwexternAtid
7233 init init_akwexternatid
(
7234 n_id
: nullable TKwextern
7237 _n_id
= n_id
.as(not null)
7241 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7243 if _n_id
== old_child
then
7244 n_id
= new_child
.as(TKwextern)
7249 redef fun n_id
=(node
)
7256 redef fun visit_all
(v
: Visitor)
7258 v
.enter_visit
(_n_id
)
7261 redef class AKwabstractAtid
7262 init init_akwabstractatid
(
7263 n_id
: nullable TKwabstract
7266 _n_id
= n_id
.as(not null)
7270 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7272 if _n_id
== old_child
then
7273 n_id
= new_child
.as(TKwabstract)
7278 redef fun n_id
=(node
)
7285 redef fun visit_all
(v
: Visitor)
7287 v
.enter_visit
(_n_id
)
7290 redef class AKwimportAtid
7291 init init_akwimportatid
(
7292 n_id
: nullable TKwimport
7295 _n_id
= n_id
.as(not null)
7299 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7301 if _n_id
== old_child
then
7302 n_id
= new_child
.as(TKwimport)
7307 redef fun n_id
=(node
)
7314 redef fun visit_all
(v
: Visitor)
7316 v
.enter_visit
(_n_id
)
7321 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7323 if _n_base
== old_child
then
7324 if new_child
== null then
7326 new_child
.parent
= self
7327 assert new_child
isa AModule
7330 old_child
.parent
= null
7335 redef fun visit_all
(v
: Visitor)
7337 if _n_base
!= null then
7338 v
.enter_visit
(_n_base
.as(not null))
7340 v
.enter_visit
(_n_eof
)