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
2298 if n_kwvar
!= null then 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(nullable 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
)
2342 if node
!= null then node
.parent
= self
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 AWithExpr
2975 init init_awithexpr
(
2976 n_kwwith
: nullable TKwwith,
2977 n_expr
: nullable AExpr,
2978 n_kwdo
: nullable TKwdo,
2979 n_block
: nullable AExpr,
2980 n_label
: nullable ALabel
2983 _n_kwwith
= n_kwwith
.as(not null)
2984 n_kwwith
.parent
= self
2985 _n_expr
= n_expr
.as(not null)
2986 n_expr
.parent
= self
2987 _n_kwdo
= n_kwdo
.as(not null)
2988 n_kwdo
.parent
= self
2990 if n_block
!= null then n_block
.parent
= self
2992 if n_label
!= null then n_label
.parent
= self
2995 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
2997 if _n_kwwith
== old_child
then
2998 n_kwwith
= new_child
.as(TKwwith)
3001 if _n_expr
== old_child
then
3002 n_expr
= new_child
.as(AExpr)
3005 if _n_kwdo
== old_child
then
3006 n_kwdo
= new_child
.as(TKwdo)
3009 if _n_block
== old_child
then
3010 n_block
= new_child
.as(nullable AExpr)
3013 if _n_label
== old_child
then
3014 n_label
= new_child
.as(nullable ALabel)
3019 redef fun n_kwwith
=(node
)
3024 redef fun n_expr
=(node
)
3029 redef fun n_kwdo
=(node
)
3034 redef fun n_block
=(node
)
3037 if node
!= null then node
.parent
= self
3039 redef fun n_label
=(node
)
3042 if node
!= null then node
.parent
= self
3046 redef fun visit_all
(v
: Visitor)
3048 v
.enter_visit
(_n_kwwith
)
3049 v
.enter_visit
(_n_expr
)
3050 v
.enter_visit
(_n_kwdo
)
3051 v
.enter_visit
(_n_block
)
3052 v
.enter_visit
(_n_label
)
3055 redef class AAssertExpr
3056 init init_aassertexpr
(
3057 n_kwassert
: nullable TKwassert,
3059 n_expr
: nullable AExpr,
3060 n_else
: nullable AExpr
3063 _n_kwassert
= n_kwassert
.as(not null)
3064 n_kwassert
.parent
= self
3066 if n_id
!= null then n_id
.parent
= self
3067 _n_expr
= n_expr
.as(not null)
3068 n_expr
.parent
= self
3070 if n_else
!= null then n_else
.parent
= self
3073 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3075 if _n_kwassert
== old_child
then
3076 n_kwassert
= new_child
.as(TKwassert)
3079 if _n_id
== old_child
then
3080 n_id
= new_child
.as(nullable TId)
3083 if _n_expr
== old_child
then
3084 n_expr
= new_child
.as(AExpr)
3087 if _n_else
== old_child
then
3088 n_else
= new_child
.as(nullable AExpr)
3093 redef fun n_kwassert
=(node
)
3098 redef fun n_id
=(node
)
3101 if node
!= null then node
.parent
= self
3103 redef fun n_expr
=(node
)
3108 redef fun n_else
=(node
)
3111 if node
!= null then node
.parent
= self
3115 redef fun visit_all
(v
: Visitor)
3117 v
.enter_visit
(_n_kwassert
)
3118 v
.enter_visit
(_n_id
)
3119 v
.enter_visit
(_n_expr
)
3120 v
.enter_visit
(_n_else
)
3123 redef class AOnceExpr
3124 init init_aonceexpr
(
3125 n_kwonce
: nullable TKwonce,
3126 n_expr
: nullable AExpr
3129 _n_kwonce
= n_kwonce
.as(not null)
3130 n_kwonce
.parent
= self
3131 _n_expr
= n_expr
.as(not null)
3132 n_expr
.parent
= self
3135 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3137 if _n_kwonce
== old_child
then
3138 n_kwonce
= new_child
.as(TKwonce)
3141 if _n_expr
== old_child
then
3142 n_expr
= new_child
.as(AExpr)
3147 redef fun n_kwonce
=(node
)
3152 redef fun n_expr
=(node
)
3159 redef fun visit_all
(v
: Visitor)
3161 v
.enter_visit
(_n_kwonce
)
3162 v
.enter_visit
(_n_expr
)
3165 redef class ASendExpr
3166 init init_asendexpr
(
3167 n_expr
: nullable AExpr
3170 _n_expr
= n_expr
.as(not null)
3171 n_expr
.parent
= self
3174 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3176 if _n_expr
== old_child
then
3177 n_expr
= new_child
.as(AExpr)
3182 redef fun n_expr
=(node
)
3189 redef fun visit_all
(v
: Visitor)
3191 v
.enter_visit
(_n_expr
)
3194 redef class ABinopExpr
3195 init init_abinopexpr
(
3196 n_expr
: nullable AExpr,
3197 n_expr2
: nullable AExpr
3200 _n_expr
= n_expr
.as(not null)
3201 n_expr
.parent
= self
3202 _n_expr2
= n_expr2
.as(not null)
3203 n_expr2
.parent
= self
3206 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3208 if _n_expr
== old_child
then
3209 n_expr
= new_child
.as(AExpr)
3212 if _n_expr2
== old_child
then
3213 n_expr2
= new_child
.as(AExpr)
3218 redef fun n_expr
=(node
)
3223 redef fun n_expr2
=(node
)
3230 redef fun visit_all
(v
: Visitor)
3232 v
.enter_visit
(_n_expr
)
3233 v
.enter_visit
(_n_expr2
)
3238 n_expr
: nullable AExpr,
3239 n_expr2
: nullable AExpr
3242 _n_expr
= n_expr
.as(not null)
3243 n_expr
.parent
= self
3244 _n_expr2
= n_expr2
.as(not null)
3245 n_expr2
.parent
= self
3248 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3250 if _n_expr
== old_child
then
3251 n_expr
= new_child
.as(AExpr)
3254 if _n_expr2
== old_child
then
3255 n_expr2
= new_child
.as(AExpr)
3260 redef fun n_expr
=(node
)
3265 redef fun n_expr2
=(node
)
3272 redef fun visit_all
(v
: Visitor)
3274 v
.enter_visit
(_n_expr
)
3275 v
.enter_visit
(_n_expr2
)
3278 redef class AAndExpr
3279 init init_aandexpr
(
3280 n_expr
: nullable AExpr,
3281 n_expr2
: nullable AExpr
3284 _n_expr
= n_expr
.as(not null)
3285 n_expr
.parent
= self
3286 _n_expr2
= n_expr2
.as(not null)
3287 n_expr2
.parent
= self
3290 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3292 if _n_expr
== old_child
then
3293 n_expr
= new_child
.as(AExpr)
3296 if _n_expr2
== old_child
then
3297 n_expr2
= new_child
.as(AExpr)
3302 redef fun n_expr
=(node
)
3307 redef fun n_expr2
=(node
)
3314 redef fun visit_all
(v
: Visitor)
3316 v
.enter_visit
(_n_expr
)
3317 v
.enter_visit
(_n_expr2
)
3320 redef class AOrElseExpr
3321 init init_aorelseexpr
(
3322 n_expr
: nullable AExpr,
3323 n_expr2
: nullable AExpr
3326 _n_expr
= n_expr
.as(not null)
3327 n_expr
.parent
= self
3328 _n_expr2
= n_expr2
.as(not null)
3329 n_expr2
.parent
= self
3332 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3334 if _n_expr
== old_child
then
3335 n_expr
= new_child
.as(AExpr)
3338 if _n_expr2
== old_child
then
3339 n_expr2
= new_child
.as(AExpr)
3344 redef fun n_expr
=(node
)
3349 redef fun n_expr2
=(node
)
3356 redef fun visit_all
(v
: Visitor)
3358 v
.enter_visit
(_n_expr
)
3359 v
.enter_visit
(_n_expr2
)
3362 redef class AImpliesExpr
3363 init init_aimpliesexpr
(
3364 n_expr
: nullable AExpr,
3365 n_expr2
: nullable AExpr
3368 _n_expr
= n_expr
.as(not null)
3369 n_expr
.parent
= self
3370 _n_expr2
= n_expr2
.as(not null)
3371 n_expr2
.parent
= self
3374 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3376 if _n_expr
== old_child
then
3377 n_expr
= new_child
.as(AExpr)
3380 if _n_expr2
== old_child
then
3381 n_expr2
= new_child
.as(AExpr)
3386 redef fun n_expr
=(node
)
3391 redef fun n_expr2
=(node
)
3398 redef fun visit_all
(v
: Visitor)
3400 v
.enter_visit
(_n_expr
)
3401 v
.enter_visit
(_n_expr2
)
3404 redef class ANotExpr
3405 init init_anotexpr
(
3406 n_kwnot
: nullable TKwnot,
3407 n_expr
: nullable AExpr
3410 _n_kwnot
= n_kwnot
.as(not null)
3411 n_kwnot
.parent
= self
3412 _n_expr
= n_expr
.as(not null)
3413 n_expr
.parent
= self
3416 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3418 if _n_kwnot
== old_child
then
3419 n_kwnot
= new_child
.as(TKwnot)
3422 if _n_expr
== old_child
then
3423 n_expr
= new_child
.as(AExpr)
3428 redef fun n_kwnot
=(node
)
3433 redef fun n_expr
=(node
)
3440 redef fun visit_all
(v
: Visitor)
3442 v
.enter_visit
(_n_kwnot
)
3443 v
.enter_visit
(_n_expr
)
3448 n_expr
: nullable AExpr,
3449 n_expr2
: nullable AExpr
3452 _n_expr
= n_expr
.as(not null)
3453 n_expr
.parent
= self
3454 _n_expr2
= n_expr2
.as(not null)
3455 n_expr2
.parent
= self
3458 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3460 if _n_expr
== old_child
then
3461 n_expr
= new_child
.as(AExpr)
3464 if _n_expr2
== old_child
then
3465 n_expr2
= new_child
.as(AExpr)
3470 redef fun n_expr
=(node
)
3475 redef fun n_expr2
=(node
)
3482 redef fun visit_all
(v
: Visitor)
3484 v
.enter_visit
(_n_expr
)
3485 v
.enter_visit
(_n_expr2
)
3490 n_expr
: nullable AExpr,
3491 n_expr2
: nullable AExpr
3494 _n_expr
= n_expr
.as(not null)
3495 n_expr
.parent
= self
3496 _n_expr2
= n_expr2
.as(not null)
3497 n_expr2
.parent
= self
3500 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3502 if _n_expr
== old_child
then
3503 n_expr
= new_child
.as(AExpr)
3506 if _n_expr2
== old_child
then
3507 n_expr2
= new_child
.as(AExpr)
3512 redef fun n_expr
=(node
)
3517 redef fun n_expr2
=(node
)
3524 redef fun visit_all
(v
: Visitor)
3526 v
.enter_visit
(_n_expr
)
3527 v
.enter_visit
(_n_expr2
)
3532 n_expr
: nullable AExpr,
3533 n_expr2
: nullable AExpr
3536 _n_expr
= n_expr
.as(not null)
3537 n_expr
.parent
= self
3538 _n_expr2
= n_expr2
.as(not null)
3539 n_expr2
.parent
= self
3542 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3544 if _n_expr
== old_child
then
3545 n_expr
= new_child
.as(AExpr)
3548 if _n_expr2
== old_child
then
3549 n_expr2
= new_child
.as(AExpr)
3554 redef fun n_expr
=(node
)
3559 redef fun n_expr2
=(node
)
3566 redef fun visit_all
(v
: Visitor)
3568 v
.enter_visit
(_n_expr
)
3569 v
.enter_visit
(_n_expr2
)
3574 n_expr
: nullable AExpr,
3575 n_expr2
: nullable AExpr
3578 _n_expr
= n_expr
.as(not null)
3579 n_expr
.parent
= self
3580 _n_expr2
= n_expr2
.as(not null)
3581 n_expr2
.parent
= self
3584 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3586 if _n_expr
== old_child
then
3587 n_expr
= new_child
.as(AExpr)
3590 if _n_expr2
== old_child
then
3591 n_expr2
= new_child
.as(AExpr)
3596 redef fun n_expr
=(node
)
3601 redef fun n_expr2
=(node
)
3608 redef fun visit_all
(v
: Visitor)
3610 v
.enter_visit
(_n_expr
)
3611 v
.enter_visit
(_n_expr2
)
3616 n_expr
: nullable AExpr,
3617 n_expr2
: nullable AExpr
3620 _n_expr
= n_expr
.as(not null)
3621 n_expr
.parent
= self
3622 _n_expr2
= n_expr2
.as(not null)
3623 n_expr2
.parent
= self
3626 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3628 if _n_expr
== old_child
then
3629 n_expr
= new_child
.as(AExpr)
3632 if _n_expr2
== old_child
then
3633 n_expr2
= new_child
.as(AExpr)
3638 redef fun n_expr
=(node
)
3643 redef fun n_expr2
=(node
)
3650 redef fun visit_all
(v
: Visitor)
3652 v
.enter_visit
(_n_expr
)
3653 v
.enter_visit
(_n_expr2
)
3658 n_expr
: nullable AExpr,
3659 n_expr2
: nullable AExpr
3662 _n_expr
= n_expr
.as(not null)
3663 n_expr
.parent
= self
3664 _n_expr2
= n_expr2
.as(not null)
3665 n_expr2
.parent
= self
3668 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3670 if _n_expr
== old_child
then
3671 n_expr
= new_child
.as(AExpr)
3674 if _n_expr2
== old_child
then
3675 n_expr2
= new_child
.as(AExpr)
3680 redef fun n_expr
=(node
)
3685 redef fun n_expr2
=(node
)
3692 redef fun visit_all
(v
: Visitor)
3694 v
.enter_visit
(_n_expr
)
3695 v
.enter_visit
(_n_expr2
)
3700 n_expr
: nullable AExpr,
3701 n_expr2
: nullable AExpr
3704 _n_expr
= n_expr
.as(not null)
3705 n_expr
.parent
= self
3706 _n_expr2
= n_expr2
.as(not null)
3707 n_expr2
.parent
= self
3710 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3712 if _n_expr
== old_child
then
3713 n_expr
= new_child
.as(AExpr)
3716 if _n_expr2
== old_child
then
3717 n_expr2
= new_child
.as(AExpr)
3722 redef fun n_expr
=(node
)
3727 redef fun n_expr2
=(node
)
3734 redef fun visit_all
(v
: Visitor)
3736 v
.enter_visit
(_n_expr
)
3737 v
.enter_visit
(_n_expr2
)
3742 n_expr
: nullable AExpr,
3743 n_expr2
: nullable AExpr
3746 _n_expr
= n_expr
.as(not null)
3747 n_expr
.parent
= self
3748 _n_expr2
= n_expr2
.as(not null)
3749 n_expr2
.parent
= self
3752 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3754 if _n_expr
== old_child
then
3755 n_expr
= new_child
.as(AExpr)
3758 if _n_expr2
== old_child
then
3759 n_expr2
= new_child
.as(AExpr)
3764 redef fun n_expr
=(node
)
3769 redef fun n_expr2
=(node
)
3776 redef fun visit_all
(v
: Visitor)
3778 v
.enter_visit
(_n_expr
)
3779 v
.enter_visit
(_n_expr2
)
3782 redef class AIsaExpr
3783 init init_aisaexpr
(
3784 n_expr
: nullable AExpr,
3785 n_type
: nullable AType
3788 _n_expr
= n_expr
.as(not null)
3789 n_expr
.parent
= self
3790 _n_type
= n_type
.as(not null)
3791 n_type
.parent
= self
3794 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3796 if _n_expr
== old_child
then
3797 n_expr
= new_child
.as(AExpr)
3800 if _n_type
== old_child
then
3801 n_type
= new_child
.as(AType)
3806 redef fun n_expr
=(node
)
3811 redef fun n_type
=(node
)
3818 redef fun visit_all
(v
: Visitor)
3820 v
.enter_visit
(_n_expr
)
3821 v
.enter_visit
(_n_type
)
3824 redef class APlusExpr
3825 init init_aplusexpr
(
3826 n_expr
: nullable AExpr,
3827 n_expr2
: nullable AExpr
3830 _n_expr
= n_expr
.as(not null)
3831 n_expr
.parent
= self
3832 _n_expr2
= n_expr2
.as(not null)
3833 n_expr2
.parent
= self
3836 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3838 if _n_expr
== old_child
then
3839 n_expr
= new_child
.as(AExpr)
3842 if _n_expr2
== old_child
then
3843 n_expr2
= new_child
.as(AExpr)
3848 redef fun n_expr
=(node
)
3853 redef fun n_expr2
=(node
)
3860 redef fun visit_all
(v
: Visitor)
3862 v
.enter_visit
(_n_expr
)
3863 v
.enter_visit
(_n_expr2
)
3866 redef class AMinusExpr
3867 init init_aminusexpr
(
3868 n_expr
: nullable AExpr,
3869 n_expr2
: nullable AExpr
3872 _n_expr
= n_expr
.as(not null)
3873 n_expr
.parent
= self
3874 _n_expr2
= n_expr2
.as(not null)
3875 n_expr2
.parent
= self
3878 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3880 if _n_expr
== old_child
then
3881 n_expr
= new_child
.as(AExpr)
3884 if _n_expr2
== old_child
then
3885 n_expr2
= new_child
.as(AExpr)
3890 redef fun n_expr
=(node
)
3895 redef fun n_expr2
=(node
)
3902 redef fun visit_all
(v
: Visitor)
3904 v
.enter_visit
(_n_expr
)
3905 v
.enter_visit
(_n_expr2
)
3908 redef class AStarshipExpr
3909 init init_astarshipexpr
(
3910 n_expr
: nullable AExpr,
3911 n_expr2
: nullable AExpr
3914 _n_expr
= n_expr
.as(not null)
3915 n_expr
.parent
= self
3916 _n_expr2
= n_expr2
.as(not null)
3917 n_expr2
.parent
= self
3920 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3922 if _n_expr
== old_child
then
3923 n_expr
= new_child
.as(AExpr)
3926 if _n_expr2
== old_child
then
3927 n_expr2
= new_child
.as(AExpr)
3932 redef fun n_expr
=(node
)
3937 redef fun n_expr2
=(node
)
3944 redef fun visit_all
(v
: Visitor)
3946 v
.enter_visit
(_n_expr
)
3947 v
.enter_visit
(_n_expr2
)
3950 redef class AStarExpr
3951 init init_astarexpr
(
3952 n_expr
: nullable AExpr,
3953 n_expr2
: nullable AExpr
3956 _n_expr
= n_expr
.as(not null)
3957 n_expr
.parent
= self
3958 _n_expr2
= n_expr2
.as(not null)
3959 n_expr2
.parent
= self
3962 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
3964 if _n_expr
== old_child
then
3965 n_expr
= new_child
.as(AExpr)
3968 if _n_expr2
== old_child
then
3969 n_expr2
= new_child
.as(AExpr)
3974 redef fun n_expr
=(node
)
3979 redef fun n_expr2
=(node
)
3986 redef fun visit_all
(v
: Visitor)
3988 v
.enter_visit
(_n_expr
)
3989 v
.enter_visit
(_n_expr2
)
3992 redef class AStarstarExpr
3993 init init_astarstarexpr
(
3994 n_expr
: nullable AExpr,
3995 n_expr2
: nullable AExpr
3998 _n_expr
= n_expr
.as(not null)
3999 n_expr
.parent
= self
4000 _n_expr2
= n_expr2
.as(not null)
4001 n_expr2
.parent
= self
4004 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4006 if _n_expr
== old_child
then
4007 n_expr
= new_child
.as(AExpr)
4010 if _n_expr2
== old_child
then
4011 n_expr2
= new_child
.as(AExpr)
4016 redef fun n_expr
=(node
)
4021 redef fun n_expr2
=(node
)
4028 redef fun visit_all
(v
: Visitor)
4030 v
.enter_visit
(_n_expr
)
4031 v
.enter_visit
(_n_expr2
)
4034 redef class ASlashExpr
4035 init init_aslashexpr
(
4036 n_expr
: nullable AExpr,
4037 n_expr2
: nullable AExpr
4040 _n_expr
= n_expr
.as(not null)
4041 n_expr
.parent
= self
4042 _n_expr2
= n_expr2
.as(not null)
4043 n_expr2
.parent
= self
4046 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4048 if _n_expr
== old_child
then
4049 n_expr
= new_child
.as(AExpr)
4052 if _n_expr2
== old_child
then
4053 n_expr2
= new_child
.as(AExpr)
4058 redef fun n_expr
=(node
)
4063 redef fun n_expr2
=(node
)
4070 redef fun visit_all
(v
: Visitor)
4072 v
.enter_visit
(_n_expr
)
4073 v
.enter_visit
(_n_expr2
)
4076 redef class APercentExpr
4077 init init_apercentexpr
(
4078 n_expr
: nullable AExpr,
4079 n_expr2
: nullable AExpr
4082 _n_expr
= n_expr
.as(not null)
4083 n_expr
.parent
= self
4084 _n_expr2
= n_expr2
.as(not null)
4085 n_expr2
.parent
= self
4088 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4090 if _n_expr
== old_child
then
4091 n_expr
= new_child
.as(AExpr)
4094 if _n_expr2
== old_child
then
4095 n_expr2
= new_child
.as(AExpr)
4100 redef fun n_expr
=(node
)
4105 redef fun n_expr2
=(node
)
4112 redef fun visit_all
(v
: Visitor)
4114 v
.enter_visit
(_n_expr
)
4115 v
.enter_visit
(_n_expr2
)
4118 redef class AUminusExpr
4119 init init_auminusexpr
(
4120 n_minus
: nullable TMinus,
4121 n_expr
: nullable AExpr
4124 _n_minus
= n_minus
.as(not null)
4125 n_minus
.parent
= self
4126 _n_expr
= n_expr
.as(not null)
4127 n_expr
.parent
= self
4130 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4132 if _n_minus
== old_child
then
4133 n_minus
= new_child
.as(TMinus)
4136 if _n_expr
== old_child
then
4137 n_expr
= new_child
.as(AExpr)
4142 redef fun n_minus
=(node
)
4147 redef fun n_expr
=(node
)
4154 redef fun visit_all
(v
: Visitor)
4156 v
.enter_visit
(_n_minus
)
4157 v
.enter_visit
(_n_expr
)
4160 redef class ANewExpr
4161 init init_anewexpr
(
4162 n_kwnew
: nullable TKwnew,
4163 n_type
: nullable AType,
4165 n_args
: nullable AExprs
4168 _n_kwnew
= n_kwnew
.as(not null)
4169 n_kwnew
.parent
= self
4170 _n_type
= n_type
.as(not null)
4171 n_type
.parent
= self
4173 if n_id
!= null then n_id
.parent
= self
4174 _n_args
= n_args
.as(not null)
4175 n_args
.parent
= self
4178 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4180 if _n_kwnew
== old_child
then
4181 n_kwnew
= new_child
.as(TKwnew)
4184 if _n_type
== old_child
then
4185 n_type
= new_child
.as(AType)
4188 if _n_id
== old_child
then
4189 n_id
= new_child
.as(nullable TId)
4192 if _n_args
== old_child
then
4193 n_args
= new_child
.as(AExprs)
4198 redef fun n_kwnew
=(node
)
4203 redef fun n_type
=(node
)
4208 redef fun n_id
=(node
)
4211 if node
!= null then node
.parent
= self
4213 redef fun n_args
=(node
)
4220 redef fun visit_all
(v
: Visitor)
4222 v
.enter_visit
(_n_kwnew
)
4223 v
.enter_visit
(_n_type
)
4224 v
.enter_visit
(_n_id
)
4225 v
.enter_visit
(_n_args
)
4228 redef class AAttrExpr
4229 init init_aattrexpr
(
4230 n_expr
: nullable AExpr,
4231 n_id
: nullable TAttrid
4234 _n_expr
= n_expr
.as(not null)
4235 n_expr
.parent
= self
4236 _n_id
= n_id
.as(not null)
4240 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4242 if _n_expr
== old_child
then
4243 n_expr
= new_child
.as(AExpr)
4246 if _n_id
== old_child
then
4247 n_id
= new_child
.as(TAttrid)
4252 redef fun n_expr
=(node
)
4257 redef fun n_id
=(node
)
4264 redef fun visit_all
(v
: Visitor)
4266 v
.enter_visit
(_n_expr
)
4267 v
.enter_visit
(_n_id
)
4270 redef class AAttrAssignExpr
4271 init init_aattrassignexpr
(
4272 n_expr
: nullable AExpr,
4273 n_id
: nullable TAttrid,
4274 n_assign
: nullable TAssign,
4275 n_value
: nullable AExpr
4278 _n_expr
= n_expr
.as(not null)
4279 n_expr
.parent
= self
4280 _n_id
= n_id
.as(not null)
4282 _n_assign
= n_assign
.as(not null)
4283 n_assign
.parent
= self
4284 _n_value
= n_value
.as(not null)
4285 n_value
.parent
= self
4288 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4290 if _n_expr
== old_child
then
4291 n_expr
= new_child
.as(AExpr)
4294 if _n_id
== old_child
then
4295 n_id
= new_child
.as(TAttrid)
4298 if _n_assign
== old_child
then
4299 n_assign
= new_child
.as(TAssign)
4302 if _n_value
== old_child
then
4303 n_value
= new_child
.as(AExpr)
4308 redef fun n_expr
=(node
)
4313 redef fun n_id
=(node
)
4318 redef fun n_assign
=(node
)
4323 redef fun n_value
=(node
)
4330 redef fun visit_all
(v
: Visitor)
4332 v
.enter_visit
(_n_expr
)
4333 v
.enter_visit
(_n_id
)
4334 v
.enter_visit
(_n_assign
)
4335 v
.enter_visit
(_n_value
)
4338 redef class AAttrReassignExpr
4339 init init_aattrreassignexpr
(
4340 n_expr
: nullable AExpr,
4341 n_id
: nullable TAttrid,
4342 n_assign_op
: nullable AAssignOp,
4343 n_value
: nullable AExpr
4346 _n_expr
= n_expr
.as(not null)
4347 n_expr
.parent
= self
4348 _n_id
= n_id
.as(not null)
4350 _n_assign_op
= n_assign_op
.as(not null)
4351 n_assign_op
.parent
= self
4352 _n_value
= n_value
.as(not null)
4353 n_value
.parent
= self
4356 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4358 if _n_expr
== old_child
then
4359 n_expr
= new_child
.as(AExpr)
4362 if _n_id
== old_child
then
4363 n_id
= new_child
.as(TAttrid)
4366 if _n_assign_op
== old_child
then
4367 n_assign_op
= new_child
.as(AAssignOp)
4370 if _n_value
== old_child
then
4371 n_value
= new_child
.as(AExpr)
4376 redef fun n_expr
=(node
)
4381 redef fun n_id
=(node
)
4386 redef fun n_assign_op
=(node
)
4391 redef fun n_value
=(node
)
4398 redef fun visit_all
(v
: Visitor)
4400 v
.enter_visit
(_n_expr
)
4401 v
.enter_visit
(_n_id
)
4402 v
.enter_visit
(_n_assign_op
)
4403 v
.enter_visit
(_n_value
)
4406 redef class ACallExpr
4407 init init_acallexpr
(
4408 n_expr
: nullable AExpr,
4410 n_args
: nullable AExprs
4413 _n_expr
= n_expr
.as(not null)
4414 n_expr
.parent
= self
4415 _n_id
= n_id
.as(not null)
4417 _n_args
= n_args
.as(not null)
4418 n_args
.parent
= self
4421 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4423 if _n_expr
== old_child
then
4424 n_expr
= new_child
.as(AExpr)
4427 if _n_id
== old_child
then
4428 n_id
= new_child
.as(TId)
4431 if _n_args
== old_child
then
4432 n_args
= new_child
.as(AExprs)
4437 redef fun n_expr
=(node
)
4442 redef fun n_id
=(node
)
4447 redef fun n_args
=(node
)
4454 redef fun visit_all
(v
: Visitor)
4456 v
.enter_visit
(_n_expr
)
4457 v
.enter_visit
(_n_id
)
4458 v
.enter_visit
(_n_args
)
4461 redef class ACallAssignExpr
4462 init init_acallassignexpr
(
4463 n_expr
: nullable AExpr,
4465 n_args
: nullable AExprs,
4466 n_assign
: nullable TAssign,
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
= n_assign
.as(not null)
4477 n_assign
.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
== old_child
then
4497 n_assign
= new_child
.as(TAssign)
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
=(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
)
4539 v
.enter_visit
(_n_value
)
4542 redef class ACallReassignExpr
4543 init init_acallreassignexpr
(
4544 n_expr
: nullable AExpr,
4546 n_args
: nullable AExprs,
4547 n_assign_op
: nullable AAssignOp,
4548 n_value
: nullable AExpr
4551 _n_expr
= n_expr
.as(not null)
4552 n_expr
.parent
= self
4553 _n_id
= n_id
.as(not null)
4555 _n_args
= n_args
.as(not null)
4556 n_args
.parent
= self
4557 _n_assign_op
= n_assign_op
.as(not null)
4558 n_assign_op
.parent
= self
4559 _n_value
= n_value
.as(not null)
4560 n_value
.parent
= self
4563 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4565 if _n_expr
== old_child
then
4566 n_expr
= new_child
.as(AExpr)
4569 if _n_id
== old_child
then
4570 n_id
= new_child
.as(TId)
4573 if _n_args
== old_child
then
4574 n_args
= new_child
.as(AExprs)
4577 if _n_assign_op
== old_child
then
4578 n_assign_op
= new_child
.as(AAssignOp)
4581 if _n_value
== old_child
then
4582 n_value
= new_child
.as(AExpr)
4587 redef fun n_expr
=(node
)
4592 redef fun n_id
=(node
)
4597 redef fun n_args
=(node
)
4602 redef fun n_assign_op
=(node
)
4607 redef fun n_value
=(node
)
4614 redef fun visit_all
(v
: Visitor)
4616 v
.enter_visit
(_n_expr
)
4617 v
.enter_visit
(_n_id
)
4618 v
.enter_visit
(_n_args
)
4619 v
.enter_visit
(_n_assign_op
)
4620 v
.enter_visit
(_n_value
)
4623 redef class ASuperExpr
4624 init init_asuperexpr
(
4625 n_qualified
: nullable AQualified,
4626 n_kwsuper
: nullable TKwsuper,
4627 n_args
: nullable AExprs
4630 _n_qualified
= n_qualified
4631 if n_qualified
!= null then n_qualified
.parent
= self
4632 _n_kwsuper
= n_kwsuper
.as(not null)
4633 n_kwsuper
.parent
= self
4634 _n_args
= n_args
.as(not null)
4635 n_args
.parent
= self
4638 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4640 if _n_qualified
== old_child
then
4641 n_qualified
= new_child
.as(nullable AQualified)
4644 if _n_kwsuper
== old_child
then
4645 n_kwsuper
= new_child
.as(TKwsuper)
4648 if _n_args
== old_child
then
4649 n_args
= new_child
.as(AExprs)
4654 redef fun n_qualified
=(node
)
4657 if node
!= null then node
.parent
= self
4659 redef fun n_kwsuper
=(node
)
4664 redef fun n_args
=(node
)
4671 redef fun visit_all
(v
: Visitor)
4673 v
.enter_visit
(_n_qualified
)
4674 v
.enter_visit
(_n_kwsuper
)
4675 v
.enter_visit
(_n_args
)
4678 redef class AInitExpr
4679 init init_ainitexpr
(
4680 n_expr
: nullable AExpr,
4681 n_kwinit
: nullable TKwinit,
4682 n_args
: nullable AExprs
4685 _n_expr
= n_expr
.as(not null)
4686 n_expr
.parent
= self
4687 _n_kwinit
= n_kwinit
.as(not null)
4688 n_kwinit
.parent
= self
4689 _n_args
= n_args
.as(not null)
4690 n_args
.parent
= self
4693 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4695 if _n_expr
== old_child
then
4696 n_expr
= new_child
.as(AExpr)
4699 if _n_kwinit
== old_child
then
4700 n_kwinit
= new_child
.as(TKwinit)
4703 if _n_args
== old_child
then
4704 n_args
= new_child
.as(AExprs)
4709 redef fun n_expr
=(node
)
4714 redef fun n_kwinit
=(node
)
4719 redef fun n_args
=(node
)
4726 redef fun visit_all
(v
: Visitor)
4728 v
.enter_visit
(_n_expr
)
4729 v
.enter_visit
(_n_kwinit
)
4730 v
.enter_visit
(_n_args
)
4733 redef class ABraExpr
4734 init init_abraexpr
(
4735 n_expr
: nullable AExpr,
4736 n_args
: nullable AExprs
4739 _n_expr
= n_expr
.as(not null)
4740 n_expr
.parent
= self
4741 _n_args
= n_args
.as(not null)
4742 n_args
.parent
= self
4745 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4747 if _n_expr
== old_child
then
4748 n_expr
= new_child
.as(AExpr)
4751 if _n_args
== old_child
then
4752 n_args
= new_child
.as(AExprs)
4757 redef fun n_expr
=(node
)
4762 redef fun n_args
=(node
)
4769 redef fun visit_all
(v
: Visitor)
4771 v
.enter_visit
(_n_expr
)
4772 v
.enter_visit
(_n_args
)
4775 redef class ABraAssignExpr
4776 init init_abraassignexpr
(
4777 n_expr
: nullable AExpr,
4778 n_args
: nullable AExprs,
4779 n_assign
: nullable TAssign,
4780 n_value
: nullable AExpr
4783 _n_expr
= n_expr
.as(not null)
4784 n_expr
.parent
= self
4785 _n_args
= n_args
.as(not null)
4786 n_args
.parent
= self
4787 _n_assign
= n_assign
.as(not null)
4788 n_assign
.parent
= self
4789 _n_value
= n_value
.as(not null)
4790 n_value
.parent
= self
4793 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4795 if _n_expr
== old_child
then
4796 n_expr
= new_child
.as(AExpr)
4799 if _n_args
== old_child
then
4800 n_args
= new_child
.as(AExprs)
4803 if _n_assign
== old_child
then
4804 n_assign
= new_child
.as(TAssign)
4807 if _n_value
== old_child
then
4808 n_value
= new_child
.as(AExpr)
4813 redef fun n_expr
=(node
)
4818 redef fun n_args
=(node
)
4823 redef fun n_assign
=(node
)
4828 redef fun n_value
=(node
)
4835 redef fun visit_all
(v
: Visitor)
4837 v
.enter_visit
(_n_expr
)
4838 v
.enter_visit
(_n_args
)
4839 v
.enter_visit
(_n_assign
)
4840 v
.enter_visit
(_n_value
)
4843 redef class ABraReassignExpr
4844 init init_abrareassignexpr
(
4845 n_expr
: nullable AExpr,
4846 n_args
: nullable AExprs,
4847 n_assign_op
: nullable AAssignOp,
4848 n_value
: nullable AExpr
4851 _n_expr
= n_expr
.as(not null)
4852 n_expr
.parent
= self
4853 _n_args
= n_args
.as(not null)
4854 n_args
.parent
= self
4855 _n_assign_op
= n_assign_op
.as(not null)
4856 n_assign_op
.parent
= self
4857 _n_value
= n_value
.as(not null)
4858 n_value
.parent
= self
4861 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4863 if _n_expr
== old_child
then
4864 n_expr
= new_child
.as(AExpr)
4867 if _n_args
== old_child
then
4868 n_args
= new_child
.as(AExprs)
4871 if _n_assign_op
== old_child
then
4872 n_assign_op
= new_child
.as(AAssignOp)
4875 if _n_value
== old_child
then
4876 n_value
= new_child
.as(AExpr)
4881 redef fun n_expr
=(node
)
4886 redef fun n_args
=(node
)
4891 redef fun n_assign_op
=(node
)
4896 redef fun n_value
=(node
)
4903 redef fun visit_all
(v
: Visitor)
4905 v
.enter_visit
(_n_expr
)
4906 v
.enter_visit
(_n_args
)
4907 v
.enter_visit
(_n_assign_op
)
4908 v
.enter_visit
(_n_value
)
4911 redef class AVarExpr
4912 init init_avarexpr
(
4916 _n_id
= n_id
.as(not null)
4920 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4922 if _n_id
== old_child
then
4923 n_id
= new_child
.as(TId)
4928 redef fun n_id
=(node
)
4935 redef fun visit_all
(v
: Visitor)
4937 v
.enter_visit
(_n_id
)
4940 redef class AVarAssignExpr
4941 init init_avarassignexpr
(
4943 n_assign
: nullable TAssign,
4944 n_value
: nullable AExpr
4947 _n_id
= n_id
.as(not null)
4949 _n_assign
= n_assign
.as(not null)
4950 n_assign
.parent
= self
4951 _n_value
= n_value
.as(not null)
4952 n_value
.parent
= self
4955 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
4957 if _n_id
== old_child
then
4958 n_id
= new_child
.as(TId)
4961 if _n_assign
== old_child
then
4962 n_assign
= new_child
.as(TAssign)
4965 if _n_value
== old_child
then
4966 n_value
= new_child
.as(AExpr)
4971 redef fun n_id
=(node
)
4976 redef fun n_assign
=(node
)
4981 redef fun n_value
=(node
)
4988 redef fun visit_all
(v
: Visitor)
4990 v
.enter_visit
(_n_id
)
4991 v
.enter_visit
(_n_assign
)
4992 v
.enter_visit
(_n_value
)
4995 redef class AVarReassignExpr
4996 init init_avarreassignexpr
(
4998 n_assign_op
: nullable AAssignOp,
4999 n_value
: nullable AExpr
5002 _n_id
= n_id
.as(not null)
5004 _n_assign_op
= n_assign_op
.as(not null)
5005 n_assign_op
.parent
= self
5006 _n_value
= n_value
.as(not null)
5007 n_value
.parent
= self
5010 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5012 if _n_id
== old_child
then
5013 n_id
= new_child
.as(TId)
5016 if _n_assign_op
== old_child
then
5017 n_assign_op
= new_child
.as(AAssignOp)
5020 if _n_value
== old_child
then
5021 n_value
= new_child
.as(AExpr)
5026 redef fun n_id
=(node
)
5031 redef fun n_assign_op
=(node
)
5036 redef fun n_value
=(node
)
5043 redef fun visit_all
(v
: Visitor)
5045 v
.enter_visit
(_n_id
)
5046 v
.enter_visit
(_n_assign_op
)
5047 v
.enter_visit
(_n_value
)
5050 redef class ARangeExpr
5051 init init_arangeexpr
(
5052 n_expr
: nullable AExpr,
5053 n_expr2
: nullable AExpr,
5054 n_annotations
: nullable AAnnotations
5057 _n_expr
= n_expr
.as(not null)
5058 n_expr
.parent
= self
5059 _n_expr2
= n_expr2
.as(not null)
5060 n_expr2
.parent
= self
5061 _n_annotations
= n_annotations
5062 if n_annotations
!= null then n_annotations
.parent
= self
5065 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5067 if _n_expr
== old_child
then
5068 n_expr
= new_child
.as(AExpr)
5071 if _n_expr2
== old_child
then
5072 n_expr2
= new_child
.as(AExpr)
5075 if _n_annotations
== old_child
then
5076 n_annotations
= new_child
.as(nullable AAnnotations)
5081 redef fun n_expr
=(node
)
5086 redef fun n_expr2
=(node
)
5091 redef fun n_annotations
=(node
)
5093 _n_annotations
= node
5094 if node
!= null then node
.parent
= self
5098 redef fun visit_all
(v
: Visitor)
5100 v
.enter_visit
(_n_expr
)
5101 v
.enter_visit
(_n_expr2
)
5102 v
.enter_visit
(_n_annotations
)
5105 redef class ACrangeExpr
5106 init init_acrangeexpr
(
5107 n_obra
: nullable TObra,
5108 n_expr
: nullable AExpr,
5109 n_expr2
: nullable AExpr,
5110 n_cbra
: nullable TCbra,
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(TCbra)
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 AOrangeExpr
5187 init init_aorangeexpr
(
5188 n_obra
: nullable TObra,
5189 n_expr
: nullable AExpr,
5190 n_expr2
: nullable AExpr,
5191 n_cbra
: nullable TObra,
5192 n_annotations
: nullable AAnnotations
5195 _n_obra
= n_obra
.as(not null)
5196 n_obra
.parent
= self
5197 _n_expr
= n_expr
.as(not null)
5198 n_expr
.parent
= self
5199 _n_expr2
= n_expr2
.as(not null)
5200 n_expr2
.parent
= self
5201 _n_cbra
= n_cbra
.as(not null)
5202 n_cbra
.parent
= self
5203 _n_annotations
= n_annotations
5204 if n_annotations
!= null then n_annotations
.parent
= self
5207 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5209 if _n_obra
== old_child
then
5210 n_obra
= new_child
.as(TObra)
5213 if _n_expr
== old_child
then
5214 n_expr
= new_child
.as(AExpr)
5217 if _n_expr2
== old_child
then
5218 n_expr2
= new_child
.as(AExpr)
5221 if _n_cbra
== old_child
then
5222 n_cbra
= new_child
.as(TObra)
5225 if _n_annotations
== old_child
then
5226 n_annotations
= new_child
.as(nullable AAnnotations)
5231 redef fun n_obra
=(node
)
5236 redef fun n_expr
=(node
)
5241 redef fun n_expr2
=(node
)
5246 redef fun n_cbra
=(node
)
5251 redef fun n_annotations
=(node
)
5253 _n_annotations
= node
5254 if node
!= null then node
.parent
= self
5258 redef fun visit_all
(v
: Visitor)
5260 v
.enter_visit
(_n_obra
)
5261 v
.enter_visit
(_n_expr
)
5262 v
.enter_visit
(_n_expr2
)
5263 v
.enter_visit
(_n_cbra
)
5264 v
.enter_visit
(_n_annotations
)
5267 redef class AArrayExpr
5268 init init_aarrayexpr
(
5269 n_obra
: nullable TObra,
5270 n_exprs
: Collection[Object], # Should be Collection[AExpr]
5271 n_type
: nullable AType,
5272 n_cbra
: nullable TCbra,
5273 n_annotations
: nullable AAnnotations
5276 _n_obra
= n_obra
.as(not null)
5277 n_obra
.parent
= self
5278 self.n_exprs
.unsafe_add_all
(n_exprs
)
5280 if n_type
!= null then n_type
.parent
= self
5281 _n_cbra
= n_cbra
.as(not null)
5282 n_cbra
.parent
= self
5283 _n_annotations
= n_annotations
5284 if n_annotations
!= null then n_annotations
.parent
= self
5287 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5289 if _n_obra
== old_child
then
5290 n_obra
= new_child
.as(TObra)
5293 if n_exprs
.replace_child
(old_child
, new_child
) then return
5294 if _n_type
== old_child
then
5295 n_type
= new_child
.as(nullable AType)
5298 if _n_cbra
== old_child
then
5299 n_cbra
= new_child
.as(TCbra)
5302 if _n_annotations
== old_child
then
5303 n_annotations
= new_child
.as(nullable AAnnotations)
5308 redef fun n_obra
=(node
)
5313 redef fun n_type
=(node
)
5316 if node
!= null then node
.parent
= self
5318 redef fun n_cbra
=(node
)
5323 redef fun n_annotations
=(node
)
5325 _n_annotations
= node
5326 if node
!= null then node
.parent
= self
5330 redef fun visit_all
(v
: Visitor)
5332 v
.enter_visit
(_n_obra
)
5333 n_exprs
.visit_all
(v
)
5334 v
.enter_visit
(_n_type
)
5335 v
.enter_visit
(_n_cbra
)
5336 v
.enter_visit
(_n_annotations
)
5339 redef class ASelfExpr
5340 init init_aselfexpr
(
5341 n_kwself
: nullable TKwself,
5342 n_annotations
: nullable AAnnotations
5345 _n_kwself
= n_kwself
.as(not null)
5346 n_kwself
.parent
= self
5347 _n_annotations
= n_annotations
5348 if n_annotations
!= null then n_annotations
.parent
= self
5351 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5353 if _n_kwself
== old_child
then
5354 n_kwself
= new_child
.as(TKwself)
5357 if _n_annotations
== old_child
then
5358 n_annotations
= new_child
.as(nullable AAnnotations)
5363 redef fun n_kwself
=(node
)
5368 redef fun n_annotations
=(node
)
5370 _n_annotations
= node
5371 if node
!= null then node
.parent
= self
5375 redef fun visit_all
(v
: Visitor)
5377 v
.enter_visit
(_n_kwself
)
5378 v
.enter_visit
(_n_annotations
)
5381 redef class AImplicitSelfExpr
5382 init init_aimplicitselfexpr
5386 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5392 redef fun visit_all
(v
: Visitor)
5396 redef class ATrueExpr
5397 init init_atrueexpr
(
5398 n_kwtrue
: nullable TKwtrue,
5399 n_annotations
: nullable AAnnotations
5402 _n_kwtrue
= n_kwtrue
.as(not null)
5403 n_kwtrue
.parent
= self
5404 _n_annotations
= n_annotations
5405 if n_annotations
!= null then n_annotations
.parent
= self
5408 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5410 if _n_kwtrue
== old_child
then
5411 n_kwtrue
= new_child
.as(TKwtrue)
5414 if _n_annotations
== old_child
then
5415 n_annotations
= new_child
.as(nullable AAnnotations)
5420 redef fun n_kwtrue
=(node
)
5425 redef fun n_annotations
=(node
)
5427 _n_annotations
= node
5428 if node
!= null then node
.parent
= self
5432 redef fun visit_all
(v
: Visitor)
5434 v
.enter_visit
(_n_kwtrue
)
5435 v
.enter_visit
(_n_annotations
)
5438 redef class AFalseExpr
5439 init init_afalseexpr
(
5440 n_kwfalse
: nullable TKwfalse,
5441 n_annotations
: nullable AAnnotations
5444 _n_kwfalse
= n_kwfalse
.as(not null)
5445 n_kwfalse
.parent
= self
5446 _n_annotations
= n_annotations
5447 if n_annotations
!= null then n_annotations
.parent
= self
5450 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5452 if _n_kwfalse
== old_child
then
5453 n_kwfalse
= new_child
.as(TKwfalse)
5456 if _n_annotations
== old_child
then
5457 n_annotations
= new_child
.as(nullable AAnnotations)
5462 redef fun n_kwfalse
=(node
)
5467 redef fun n_annotations
=(node
)
5469 _n_annotations
= node
5470 if node
!= null then node
.parent
= self
5474 redef fun visit_all
(v
: Visitor)
5476 v
.enter_visit
(_n_kwfalse
)
5477 v
.enter_visit
(_n_annotations
)
5480 redef class ANullExpr
5481 init init_anullexpr
(
5482 n_kwnull
: nullable TKwnull,
5483 n_annotations
: nullable AAnnotations
5486 _n_kwnull
= n_kwnull
.as(not null)
5487 n_kwnull
.parent
= self
5488 _n_annotations
= n_annotations
5489 if n_annotations
!= null then n_annotations
.parent
= self
5492 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5494 if _n_kwnull
== old_child
then
5495 n_kwnull
= new_child
.as(TKwnull)
5498 if _n_annotations
== old_child
then
5499 n_annotations
= new_child
.as(nullable AAnnotations)
5504 redef fun n_kwnull
=(node
)
5509 redef fun n_annotations
=(node
)
5511 _n_annotations
= node
5512 if node
!= null then node
.parent
= self
5516 redef fun visit_all
(v
: Visitor)
5518 v
.enter_visit
(_n_kwnull
)
5519 v
.enter_visit
(_n_annotations
)
5522 redef class ADecIntExpr
5523 init init_adecintexpr
(
5524 n_number
: nullable TNumber,
5525 n_annotations
: nullable AAnnotations
5528 _n_number
= n_number
.as(not null)
5529 n_number
.parent
= self
5530 _n_annotations
= n_annotations
5531 if n_annotations
!= null then n_annotations
.parent
= self
5534 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5536 if _n_number
== old_child
then
5537 n_number
= new_child
.as(TNumber)
5540 if _n_annotations
== old_child
then
5541 n_annotations
= new_child
.as(nullable AAnnotations)
5546 redef fun n_number
=(node
)
5551 redef fun n_annotations
=(node
)
5553 _n_annotations
= node
5554 if node
!= null then node
.parent
= self
5558 redef fun visit_all
(v
: Visitor)
5560 v
.enter_visit
(_n_number
)
5561 v
.enter_visit
(_n_annotations
)
5564 redef class AHexIntExpr
5565 init init_ahexintexpr
(
5566 n_hex_number
: nullable THexNumber,
5567 n_annotations
: nullable AAnnotations
5570 _n_hex_number
= n_hex_number
.as(not null)
5571 n_hex_number
.parent
= self
5572 _n_annotations
= n_annotations
5573 if n_annotations
!= null then n_annotations
.parent
= self
5576 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5578 if _n_hex_number
== old_child
then
5579 n_hex_number
= new_child
.as(THexNumber)
5582 if _n_annotations
== old_child
then
5583 n_annotations
= new_child
.as(nullable AAnnotations)
5588 redef fun n_hex_number
=(node
)
5590 _n_hex_number
= node
5593 redef fun n_annotations
=(node
)
5595 _n_annotations
= node
5596 if node
!= null then node
.parent
= self
5600 redef fun visit_all
(v
: Visitor)
5602 v
.enter_visit
(_n_hex_number
)
5603 v
.enter_visit
(_n_annotations
)
5606 redef class AFloatExpr
5607 init init_afloatexpr
(
5608 n_float
: nullable TFloat,
5609 n_annotations
: nullable AAnnotations
5612 _n_float
= n_float
.as(not null)
5613 n_float
.parent
= self
5614 _n_annotations
= n_annotations
5615 if n_annotations
!= null then n_annotations
.parent
= self
5618 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5620 if _n_float
== old_child
then
5621 n_float
= new_child
.as(TFloat)
5624 if _n_annotations
== old_child
then
5625 n_annotations
= new_child
.as(nullable AAnnotations)
5630 redef fun n_float
=(node
)
5635 redef fun n_annotations
=(node
)
5637 _n_annotations
= node
5638 if node
!= null then node
.parent
= self
5642 redef fun visit_all
(v
: Visitor)
5644 v
.enter_visit
(_n_float
)
5645 v
.enter_visit
(_n_annotations
)
5648 redef class ACharExpr
5649 init init_acharexpr
(
5650 n_char
: nullable TChar,
5651 n_annotations
: nullable AAnnotations
5654 _n_char
= n_char
.as(not null)
5655 n_char
.parent
= self
5656 _n_annotations
= n_annotations
5657 if n_annotations
!= null then n_annotations
.parent
= self
5660 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5662 if _n_char
== old_child
then
5663 n_char
= new_child
.as(TChar)
5666 if _n_annotations
== old_child
then
5667 n_annotations
= new_child
.as(nullable AAnnotations)
5672 redef fun n_char
=(node
)
5677 redef fun n_annotations
=(node
)
5679 _n_annotations
= node
5680 if node
!= null then node
.parent
= self
5684 redef fun visit_all
(v
: Visitor)
5686 v
.enter_visit
(_n_char
)
5687 v
.enter_visit
(_n_annotations
)
5690 redef class AStringExpr
5691 init init_astringexpr
(
5692 n_string
: nullable TString,
5693 n_annotations
: nullable AAnnotations
5696 _n_string
= n_string
.as(not null)
5697 n_string
.parent
= self
5698 _n_annotations
= n_annotations
5699 if n_annotations
!= null then n_annotations
.parent
= self
5702 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5704 if _n_string
== old_child
then
5705 n_string
= new_child
.as(TString)
5708 if _n_annotations
== old_child
then
5709 n_annotations
= new_child
.as(nullable AAnnotations)
5714 redef fun n_string
=(node
)
5719 redef fun n_annotations
=(node
)
5721 _n_annotations
= node
5722 if node
!= null then node
.parent
= self
5726 redef fun visit_all
(v
: Visitor)
5728 v
.enter_visit
(_n_string
)
5729 v
.enter_visit
(_n_annotations
)
5732 redef class AStartStringExpr
5733 init init_astartstringexpr
(
5734 n_string
: nullable TStartString
5737 _n_string
= n_string
.as(not null)
5738 n_string
.parent
= self
5741 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5743 if _n_string
== old_child
then
5744 n_string
= new_child
.as(TStartString)
5749 redef fun n_string
=(node
)
5756 redef fun visit_all
(v
: Visitor)
5758 v
.enter_visit
(_n_string
)
5761 redef class AMidStringExpr
5762 init init_amidstringexpr
(
5763 n_string
: nullable TMidString
5766 _n_string
= n_string
.as(not null)
5767 n_string
.parent
= self
5770 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5772 if _n_string
== old_child
then
5773 n_string
= new_child
.as(TMidString)
5778 redef fun n_string
=(node
)
5785 redef fun visit_all
(v
: Visitor)
5787 v
.enter_visit
(_n_string
)
5790 redef class AEndStringExpr
5791 init init_aendstringexpr
(
5792 n_string
: nullable TEndString
5795 _n_string
= n_string
.as(not null)
5796 n_string
.parent
= self
5799 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5801 if _n_string
== old_child
then
5802 n_string
= new_child
.as(TEndString)
5807 redef fun n_string
=(node
)
5814 redef fun visit_all
(v
: Visitor)
5816 v
.enter_visit
(_n_string
)
5819 redef class ASuperstringExpr
5820 init init_asuperstringexpr
(
5821 n_exprs
: Collection[Object], # Should be Collection[AExpr]
5822 n_annotations
: nullable AAnnotations
5825 self.n_exprs
.unsafe_add_all
(n_exprs
)
5826 _n_annotations
= n_annotations
5827 if n_annotations
!= null then n_annotations
.parent
= self
5830 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5832 if n_exprs
.replace_child
(old_child
, new_child
) then return
5833 if _n_annotations
== old_child
then
5834 n_annotations
= new_child
.as(nullable AAnnotations)
5839 redef fun n_annotations
=(node
)
5841 _n_annotations
= node
5842 if node
!= null then node
.parent
= self
5846 redef fun visit_all
(v
: Visitor)
5848 n_exprs
.visit_all
(v
)
5849 v
.enter_visit
(_n_annotations
)
5852 redef class AParExpr
5853 init init_aparexpr
(
5854 n_opar
: nullable TOpar,
5855 n_expr
: nullable AExpr,
5856 n_cpar
: nullable TCpar,
5857 n_annotations
: nullable AAnnotations
5860 _n_opar
= n_opar
.as(not null)
5861 n_opar
.parent
= self
5862 _n_expr
= n_expr
.as(not null)
5863 n_expr
.parent
= self
5864 _n_cpar
= n_cpar
.as(not null)
5865 n_cpar
.parent
= self
5866 _n_annotations
= n_annotations
5867 if n_annotations
!= null then n_annotations
.parent
= self
5870 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5872 if _n_opar
== old_child
then
5873 n_opar
= new_child
.as(TOpar)
5876 if _n_expr
== old_child
then
5877 n_expr
= new_child
.as(AExpr)
5880 if _n_cpar
== old_child
then
5881 n_cpar
= new_child
.as(TCpar)
5884 if _n_annotations
== old_child
then
5885 n_annotations
= new_child
.as(nullable AAnnotations)
5890 redef fun n_opar
=(node
)
5895 redef fun n_expr
=(node
)
5900 redef fun n_cpar
=(node
)
5905 redef fun n_annotations
=(node
)
5907 _n_annotations
= node
5908 if node
!= null then node
.parent
= self
5912 redef fun visit_all
(v
: Visitor)
5914 v
.enter_visit
(_n_opar
)
5915 v
.enter_visit
(_n_expr
)
5916 v
.enter_visit
(_n_cpar
)
5917 v
.enter_visit
(_n_annotations
)
5920 redef class AAsCastExpr
5921 init init_aascastexpr
(
5922 n_expr
: nullable AExpr,
5923 n_kwas
: nullable TKwas,
5924 n_opar
: nullable TOpar,
5925 n_type
: nullable AType,
5926 n_cpar
: nullable TCpar
5929 _n_expr
= n_expr
.as(not null)
5930 n_expr
.parent
= self
5931 _n_kwas
= n_kwas
.as(not null)
5932 n_kwas
.parent
= self
5934 if n_opar
!= null then n_opar
.parent
= self
5935 _n_type
= n_type
.as(not null)
5936 n_type
.parent
= self
5938 if n_cpar
!= null then n_cpar
.parent
= self
5941 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
5943 if _n_expr
== old_child
then
5944 n_expr
= new_child
.as(AExpr)
5947 if _n_kwas
== old_child
then
5948 n_kwas
= new_child
.as(TKwas)
5951 if _n_opar
== old_child
then
5952 n_opar
= new_child
.as(nullable TOpar)
5955 if _n_type
== old_child
then
5956 n_type
= new_child
.as(AType)
5959 if _n_cpar
== old_child
then
5960 n_cpar
= new_child
.as(nullable TCpar)
5965 redef fun n_expr
=(node
)
5970 redef fun n_kwas
=(node
)
5975 redef fun n_opar
=(node
)
5978 if node
!= null then node
.parent
= self
5980 redef fun n_type
=(node
)
5985 redef fun n_cpar
=(node
)
5988 if node
!= null then node
.parent
= self
5992 redef fun visit_all
(v
: Visitor)
5994 v
.enter_visit
(_n_expr
)
5995 v
.enter_visit
(_n_kwas
)
5996 v
.enter_visit
(_n_opar
)
5997 v
.enter_visit
(_n_type
)
5998 v
.enter_visit
(_n_cpar
)
6001 redef class AAsNotnullExpr
6002 init init_aasnotnullexpr
(
6003 n_expr
: nullable AExpr,
6004 n_kwas
: nullable TKwas,
6005 n_opar
: nullable TOpar,
6006 n_kwnot
: nullable TKwnot,
6007 n_kwnull
: nullable TKwnull,
6008 n_cpar
: nullable TCpar
6011 _n_expr
= n_expr
.as(not null)
6012 n_expr
.parent
= self
6013 _n_kwas
= n_kwas
.as(not null)
6014 n_kwas
.parent
= self
6016 if n_opar
!= null then n_opar
.parent
= self
6017 _n_kwnot
= n_kwnot
.as(not null)
6018 n_kwnot
.parent
= self
6019 _n_kwnull
= n_kwnull
.as(not null)
6020 n_kwnull
.parent
= self
6022 if n_cpar
!= null then n_cpar
.parent
= self
6025 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6027 if _n_expr
== old_child
then
6028 n_expr
= new_child
.as(AExpr)
6031 if _n_kwas
== old_child
then
6032 n_kwas
= new_child
.as(TKwas)
6035 if _n_opar
== old_child
then
6036 n_opar
= new_child
.as(nullable TOpar)
6039 if _n_kwnot
== old_child
then
6040 n_kwnot
= new_child
.as(TKwnot)
6043 if _n_kwnull
== old_child
then
6044 n_kwnull
= new_child
.as(TKwnull)
6047 if _n_cpar
== old_child
then
6048 n_cpar
= new_child
.as(nullable TCpar)
6053 redef fun n_expr
=(node
)
6058 redef fun n_kwas
=(node
)
6063 redef fun n_opar
=(node
)
6066 if node
!= null then node
.parent
= self
6068 redef fun n_kwnot
=(node
)
6073 redef fun n_kwnull
=(node
)
6078 redef fun n_cpar
=(node
)
6081 if node
!= null then node
.parent
= self
6085 redef fun visit_all
(v
: Visitor)
6087 v
.enter_visit
(_n_expr
)
6088 v
.enter_visit
(_n_kwas
)
6089 v
.enter_visit
(_n_opar
)
6090 v
.enter_visit
(_n_kwnot
)
6091 v
.enter_visit
(_n_kwnull
)
6092 v
.enter_visit
(_n_cpar
)
6095 redef class AIssetAttrExpr
6096 init init_aissetattrexpr
(
6097 n_kwisset
: nullable TKwisset,
6098 n_expr
: nullable AExpr,
6099 n_id
: nullable TAttrid
6102 _n_kwisset
= n_kwisset
.as(not null)
6103 n_kwisset
.parent
= self
6104 _n_expr
= n_expr
.as(not null)
6105 n_expr
.parent
= self
6106 _n_id
= n_id
.as(not null)
6110 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6112 if _n_kwisset
== old_child
then
6113 n_kwisset
= new_child
.as(TKwisset)
6116 if _n_expr
== old_child
then
6117 n_expr
= new_child
.as(AExpr)
6120 if _n_id
== old_child
then
6121 n_id
= new_child
.as(TAttrid)
6126 redef fun n_kwisset
=(node
)
6131 redef fun n_expr
=(node
)
6136 redef fun n_id
=(node
)
6143 redef fun visit_all
(v
: Visitor)
6145 v
.enter_visit
(_n_kwisset
)
6146 v
.enter_visit
(_n_expr
)
6147 v
.enter_visit
(_n_id
)
6150 redef class ADebugTypeExpr
6151 init init_adebugtypeexpr
(
6152 n_kwdebug
: nullable TKwdebug,
6153 n_kwtype
: nullable TKwtype,
6154 n_expr
: nullable AExpr,
6155 n_type
: nullable AType
6158 _n_kwdebug
= n_kwdebug
.as(not null)
6159 n_kwdebug
.parent
= self
6160 _n_kwtype
= n_kwtype
.as(not null)
6161 n_kwtype
.parent
= self
6162 _n_expr
= n_expr
.as(not null)
6163 n_expr
.parent
= self
6164 _n_type
= n_type
.as(not null)
6165 n_type
.parent
= self
6168 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6170 if _n_kwdebug
== old_child
then
6171 n_kwdebug
= new_child
.as(TKwdebug)
6174 if _n_kwtype
== old_child
then
6175 n_kwtype
= new_child
.as(TKwtype)
6178 if _n_expr
== old_child
then
6179 n_expr
= new_child
.as(AExpr)
6182 if _n_type
== old_child
then
6183 n_type
= new_child
.as(AType)
6188 redef fun n_kwdebug
=(node
)
6193 redef fun n_kwtype
=(node
)
6198 redef fun n_expr
=(node
)
6203 redef fun n_type
=(node
)
6210 redef fun visit_all
(v
: Visitor)
6212 v
.enter_visit
(_n_kwdebug
)
6213 v
.enter_visit
(_n_kwtype
)
6214 v
.enter_visit
(_n_expr
)
6215 v
.enter_visit
(_n_type
)
6218 redef class AVarargExpr
6219 init init_avarargexpr
(
6220 n_expr
: nullable AExpr,
6221 n_dotdotdot
: nullable TDotdotdot
6224 _n_expr
= n_expr
.as(not null)
6225 n_expr
.parent
= self
6226 _n_dotdotdot
= n_dotdotdot
.as(not null)
6227 n_dotdotdot
.parent
= self
6230 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6232 if _n_expr
== old_child
then
6233 n_expr
= new_child
.as(AExpr)
6236 if _n_dotdotdot
== old_child
then
6237 n_dotdotdot
= new_child
.as(TDotdotdot)
6242 redef fun n_expr
=(node
)
6247 redef fun n_dotdotdot
=(node
)
6254 redef fun visit_all
(v
: Visitor)
6256 v
.enter_visit
(_n_expr
)
6257 v
.enter_visit
(_n_dotdotdot
)
6260 redef class ATypeExpr
6261 init init_atypeexpr
(
6262 n_type
: nullable AType
6265 _n_type
= n_type
.as(not null)
6266 n_type
.parent
= self
6269 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6271 if _n_type
== old_child
then
6272 n_type
= new_child
.as(AType)
6277 redef fun n_type
=(node
)
6284 redef fun visit_all
(v
: Visitor)
6286 v
.enter_visit
(_n_type
)
6289 redef class AMethidExpr
6290 init init_amethidexpr
(
6291 n_expr
: nullable AExpr,
6292 n_id
: nullable AMethid
6295 _n_expr
= n_expr
.as(not null)
6296 n_expr
.parent
= self
6297 _n_id
= n_id
.as(not null)
6301 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6303 if _n_expr
== old_child
then
6304 n_expr
= new_child
.as(AExpr)
6307 if _n_id
== old_child
then
6308 n_id
= new_child
.as(AMethid)
6313 redef fun n_expr
=(node
)
6318 redef fun n_id
=(node
)
6325 redef fun visit_all
(v
: Visitor)
6327 v
.enter_visit
(_n_expr
)
6328 v
.enter_visit
(_n_id
)
6333 n_annotations
: nullable AAnnotations
6336 _n_annotations
= n_annotations
.as(not null)
6337 n_annotations
.parent
= self
6340 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6342 if _n_annotations
== old_child
then
6343 n_annotations
= new_child
.as(AAnnotations)
6348 redef fun n_annotations
=(node
)
6350 _n_annotations
= node
6355 redef fun visit_all
(v
: Visitor)
6357 v
.enter_visit
(_n_annotations
)
6360 redef class AManyExpr
6361 init init_amanyexpr
(
6362 n_exprs
: Collection[Object] # Should be Collection[AExpr]
6365 self.n_exprs
.unsafe_add_all
(n_exprs
)
6368 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6370 if n_exprs
.replace_child
(old_child
, new_child
) then return
6375 redef fun visit_all
(v
: Visitor)
6377 n_exprs
.visit_all
(v
)
6380 redef class AListExprs
6381 init init_alistexprs
(
6382 n_exprs
: Collection[Object] # Should be Collection[AExpr]
6385 self.n_exprs
.unsafe_add_all
(n_exprs
)
6388 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6390 if n_exprs
.replace_child
(old_child
, new_child
) then return
6395 redef fun visit_all
(v
: Visitor)
6397 n_exprs
.visit_all
(v
)
6400 redef class AParExprs
6401 init init_aparexprs
(
6402 n_opar
: nullable TOpar,
6403 n_exprs
: Collection[Object], # Should be Collection[AExpr]
6404 n_cpar
: nullable TCpar
6407 _n_opar
= n_opar
.as(not null)
6408 n_opar
.parent
= self
6409 self.n_exprs
.unsafe_add_all
(n_exprs
)
6410 _n_cpar
= n_cpar
.as(not null)
6411 n_cpar
.parent
= self
6414 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6416 if _n_opar
== old_child
then
6417 n_opar
= new_child
.as(TOpar)
6420 if n_exprs
.replace_child
(old_child
, new_child
) then return
6421 if _n_cpar
== old_child
then
6422 n_cpar
= new_child
.as(TCpar)
6427 redef fun n_opar
=(node
)
6432 redef fun n_cpar
=(node
)
6439 redef fun visit_all
(v
: Visitor)
6441 v
.enter_visit
(_n_opar
)
6442 n_exprs
.visit_all
(v
)
6443 v
.enter_visit
(_n_cpar
)
6446 redef class ABraExprs
6447 init init_abraexprs
(
6448 n_obra
: nullable TObra,
6449 n_exprs
: Collection[Object], # Should be Collection[AExpr]
6450 n_cbra
: nullable TCbra
6453 _n_obra
= n_obra
.as(not null)
6454 n_obra
.parent
= self
6455 self.n_exprs
.unsafe_add_all
(n_exprs
)
6456 _n_cbra
= n_cbra
.as(not null)
6457 n_cbra
.parent
= self
6460 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6462 if _n_obra
== old_child
then
6463 n_obra
= new_child
.as(TObra)
6466 if n_exprs
.replace_child
(old_child
, new_child
) then return
6467 if _n_cbra
== old_child
then
6468 n_cbra
= new_child
.as(TCbra)
6473 redef fun n_obra
=(node
)
6478 redef fun n_cbra
=(node
)
6485 redef fun visit_all
(v
: Visitor)
6487 v
.enter_visit
(_n_obra
)
6488 n_exprs
.visit_all
(v
)
6489 v
.enter_visit
(_n_cbra
)
6492 redef class APlusAssignOp
6493 init init_aplusassignop
(
6494 n_pluseq
: nullable TPluseq
6497 _n_pluseq
= n_pluseq
.as(not null)
6498 n_pluseq
.parent
= self
6501 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6503 if _n_pluseq
== old_child
then
6504 n_pluseq
= new_child
.as(TPluseq)
6509 redef fun n_pluseq
=(node
)
6516 redef fun visit_all
(v
: Visitor)
6518 v
.enter_visit
(_n_pluseq
)
6521 redef class AMinusAssignOp
6522 init init_aminusassignop
(
6523 n_minuseq
: nullable TMinuseq
6526 _n_minuseq
= n_minuseq
.as(not null)
6527 n_minuseq
.parent
= self
6530 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6532 if _n_minuseq
== old_child
then
6533 n_minuseq
= new_child
.as(TMinuseq)
6538 redef fun n_minuseq
=(node
)
6545 redef fun visit_all
(v
: Visitor)
6547 v
.enter_visit
(_n_minuseq
)
6550 redef class AModuleName
6551 init init_amodulename
(
6552 n_quad
: nullable TQuad,
6553 n_path
: Collection[Object], # Should be Collection[TId]
6558 if n_quad
!= null then n_quad
.parent
= self
6559 self.n_path
.unsafe_add_all
(n_path
)
6560 _n_id
= n_id
.as(not null)
6564 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6566 if _n_quad
== old_child
then
6567 n_quad
= new_child
.as(nullable TQuad)
6570 if n_path
.replace_child
(old_child
, new_child
) then return
6571 if _n_id
== old_child
then
6572 n_id
= new_child
.as(TId)
6577 redef fun n_quad
=(node
)
6580 if node
!= null then node
.parent
= self
6582 redef fun n_id
=(node
)
6589 redef fun visit_all
(v
: Visitor)
6591 v
.enter_visit
(_n_quad
)
6593 v
.enter_visit
(_n_id
)
6596 redef class AExternCalls
6597 init init_aexterncalls
(
6598 n_kwimport
: nullable TKwimport,
6599 n_extern_calls
: Collection[Object] # Should be Collection[AExternCall]
6602 _n_kwimport
= n_kwimport
.as(not null)
6603 n_kwimport
.parent
= self
6604 self.n_extern_calls
.unsafe_add_all
(n_extern_calls
)
6607 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6609 if _n_kwimport
== old_child
then
6610 n_kwimport
= new_child
.as(TKwimport)
6613 if n_extern_calls
.replace_child
(old_child
, new_child
) then return
6616 redef fun n_kwimport
=(node
)
6623 redef fun visit_all
(v
: Visitor)
6625 v
.enter_visit
(_n_kwimport
)
6626 n_extern_calls
.visit_all
(v
)
6629 redef class AExternCall
6630 init init_aexterncall
6634 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6640 redef fun visit_all
(v
: Visitor)
6644 redef class ASuperExternCall
6645 init init_asuperexterncall
(
6646 n_kwsuper
: nullable TKwsuper
6649 _n_kwsuper
= n_kwsuper
.as(not null)
6650 n_kwsuper
.parent
= self
6653 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6655 if _n_kwsuper
== old_child
then
6656 n_kwsuper
= new_child
.as(TKwsuper)
6661 redef fun n_kwsuper
=(node
)
6668 redef fun visit_all
(v
: Visitor)
6670 v
.enter_visit
(_n_kwsuper
)
6673 redef class ALocalPropExternCall
6674 init init_alocalpropexterncall
(
6675 n_methid
: nullable AMethid
6678 _n_methid
= n_methid
.as(not null)
6679 n_methid
.parent
= self
6682 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6684 if _n_methid
== old_child
then
6685 n_methid
= new_child
.as(AMethid)
6690 redef fun n_methid
=(node
)
6697 redef fun visit_all
(v
: Visitor)
6699 v
.enter_visit
(_n_methid
)
6702 redef class AFullPropExternCall
6703 init init_afullpropexterncall
(
6704 n_type
: nullable AType,
6705 n_dot
: nullable TDot,
6706 n_methid
: nullable AMethid
6709 _n_type
= n_type
.as(not null)
6710 n_type
.parent
= self
6712 if n_dot
!= null then n_dot
.parent
= self
6713 _n_methid
= n_methid
.as(not null)
6714 n_methid
.parent
= self
6717 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6719 if _n_type
== old_child
then
6720 n_type
= new_child
.as(AType)
6723 if _n_dot
== old_child
then
6724 n_dot
= new_child
.as(nullable TDot)
6727 if _n_methid
== old_child
then
6728 n_methid
= new_child
.as(AMethid)
6733 redef fun n_type
=(node
)
6738 redef fun n_dot
=(node
)
6741 if node
!= null then node
.parent
= self
6743 redef fun n_methid
=(node
)
6750 redef fun visit_all
(v
: Visitor)
6752 v
.enter_visit
(_n_type
)
6753 v
.enter_visit
(_n_dot
)
6754 v
.enter_visit
(_n_methid
)
6757 redef class AInitPropExternCall
6758 init init_ainitpropexterncall
(
6759 n_type
: nullable AType
6762 _n_type
= n_type
.as(not null)
6763 n_type
.parent
= self
6766 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6768 if _n_type
== old_child
then
6769 n_type
= new_child
.as(AType)
6774 redef fun n_type
=(node
)
6781 redef fun visit_all
(v
: Visitor)
6783 v
.enter_visit
(_n_type
)
6786 redef class ACastAsExternCall
6787 init init_acastasexterncall
(
6788 n_from_type
: nullable AType,
6789 n_dot
: nullable TDot,
6790 n_kwas
: nullable TKwas,
6791 n_to_type
: nullable AType
6794 _n_from_type
= n_from_type
.as(not null)
6795 n_from_type
.parent
= self
6797 if n_dot
!= null then n_dot
.parent
= self
6798 _n_kwas
= n_kwas
.as(not null)
6799 n_kwas
.parent
= self
6800 _n_to_type
= n_to_type
.as(not null)
6801 n_to_type
.parent
= self
6804 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6806 if _n_from_type
== old_child
then
6807 n_from_type
= new_child
.as(AType)
6810 if _n_dot
== old_child
then
6811 n_dot
= new_child
.as(nullable TDot)
6814 if _n_kwas
== old_child
then
6815 n_kwas
= new_child
.as(TKwas)
6818 if _n_to_type
== old_child
then
6819 n_to_type
= new_child
.as(AType)
6824 redef fun n_from_type
=(node
)
6829 redef fun n_dot
=(node
)
6832 if node
!= null then node
.parent
= self
6834 redef fun n_kwas
=(node
)
6839 redef fun n_to_type
=(node
)
6846 redef fun visit_all
(v
: Visitor)
6848 v
.enter_visit
(_n_from_type
)
6849 v
.enter_visit
(_n_dot
)
6850 v
.enter_visit
(_n_kwas
)
6851 v
.enter_visit
(_n_to_type
)
6854 redef class AAsNullableExternCall
6855 init init_aasnullableexterncall
(
6856 n_type
: nullable AType,
6857 n_kwas
: nullable TKwas,
6858 n_kwnullable
: nullable TKwnullable
6861 _n_type
= n_type
.as(not null)
6862 n_type
.parent
= self
6863 _n_kwas
= n_kwas
.as(not null)
6864 n_kwas
.parent
= self
6865 _n_kwnullable
= n_kwnullable
.as(not null)
6866 n_kwnullable
.parent
= self
6869 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6871 if _n_type
== old_child
then
6872 n_type
= new_child
.as(AType)
6875 if _n_kwas
== old_child
then
6876 n_kwas
= new_child
.as(TKwas)
6879 if _n_kwnullable
== old_child
then
6880 n_kwnullable
= new_child
.as(TKwnullable)
6885 redef fun n_type
=(node
)
6890 redef fun n_kwas
=(node
)
6895 redef fun n_kwnullable
=(node
)
6897 _n_kwnullable
= node
6902 redef fun visit_all
(v
: Visitor)
6904 v
.enter_visit
(_n_type
)
6905 v
.enter_visit
(_n_kwas
)
6906 v
.enter_visit
(_n_kwnullable
)
6909 redef class AAsNotNullableExternCall
6910 init init_aasnotnullableexterncall
(
6911 n_type
: nullable AType,
6912 n_kwas
: nullable TKwas,
6913 n_kwnot
: nullable TKwnot,
6914 n_kwnullable
: nullable TKwnullable
6917 _n_type
= n_type
.as(not null)
6918 n_type
.parent
= self
6919 _n_kwas
= n_kwas
.as(not null)
6920 n_kwas
.parent
= self
6921 _n_kwnot
= n_kwnot
.as(not null)
6922 n_kwnot
.parent
= self
6923 _n_kwnullable
= n_kwnullable
.as(not null)
6924 n_kwnullable
.parent
= self
6927 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6929 if _n_type
== old_child
then
6930 n_type
= new_child
.as(AType)
6933 if _n_kwas
== old_child
then
6934 n_kwas
= new_child
.as(TKwas)
6937 if _n_kwnot
== old_child
then
6938 n_kwnot
= new_child
.as(TKwnot)
6941 if _n_kwnullable
== old_child
then
6942 n_kwnullable
= new_child
.as(TKwnullable)
6947 redef fun n_type
=(node
)
6952 redef fun n_kwas
=(node
)
6957 redef fun n_kwnot
=(node
)
6962 redef fun n_kwnullable
=(node
)
6964 _n_kwnullable
= node
6969 redef fun visit_all
(v
: Visitor)
6971 v
.enter_visit
(_n_type
)
6972 v
.enter_visit
(_n_kwas
)
6973 v
.enter_visit
(_n_kwnot
)
6974 v
.enter_visit
(_n_kwnullable
)
6977 redef class AInLanguage
6978 init init_ainlanguage
(
6979 n_kwin
: nullable TKwin,
6980 n_string
: nullable TString
6983 _n_kwin
= n_kwin
.as(not null)
6984 n_kwin
.parent
= self
6985 _n_string
= n_string
.as(not null)
6986 n_string
.parent
= self
6989 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
6991 if _n_kwin
== old_child
then
6992 n_kwin
= new_child
.as(TKwin)
6995 if _n_string
== old_child
then
6996 n_string
= new_child
.as(TString)
7001 redef fun n_kwin
=(node
)
7006 redef fun n_string
=(node
)
7013 redef fun visit_all
(v
: Visitor)
7015 v
.enter_visit
(_n_kwin
)
7016 v
.enter_visit
(_n_string
)
7019 redef class AExternCodeBlock
7020 init init_aexterncodeblock
(
7021 n_in_language
: nullable AInLanguage,
7022 n_extern_code_segment
: nullable TExternCodeSegment
7025 _n_in_language
= n_in_language
7026 if n_in_language
!= null then n_in_language
.parent
= self
7027 _n_extern_code_segment
= n_extern_code_segment
.as(not null)
7028 n_extern_code_segment
.parent
= self
7031 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7033 if _n_in_language
== old_child
then
7034 n_in_language
= new_child
.as(nullable AInLanguage)
7037 if _n_extern_code_segment
== old_child
then
7038 n_extern_code_segment
= new_child
.as(TExternCodeSegment)
7043 redef fun n_in_language
=(node
)
7045 _n_in_language
= node
7046 if node
!= null then node
.parent
= self
7048 redef fun n_extern_code_segment
=(node
)
7050 _n_extern_code_segment
= node
7055 redef fun visit_all
(v
: Visitor)
7057 v
.enter_visit
(_n_in_language
)
7058 v
.enter_visit
(_n_extern_code_segment
)
7061 redef class AQualified
7062 init init_aqualified
(
7063 n_id
: Collection[Object], # Should be Collection[TId]
7064 n_classid
: nullable TClassid
7067 self.n_id
.unsafe_add_all
(n_id
)
7068 _n_classid
= n_classid
7069 if n_classid
!= null then n_classid
.parent
= self
7072 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7074 if n_id
.replace_child
(old_child
, new_child
) then return
7075 if _n_classid
== old_child
then
7076 n_classid
= new_child
.as(nullable TClassid)
7081 redef fun n_classid
=(node
)
7084 if node
!= null then node
.parent
= self
7088 redef fun visit_all
(v
: Visitor)
7091 v
.enter_visit
(_n_classid
)
7096 n_comment
: Collection[Object] # Should be Collection[TComment]
7099 self.n_comment
.unsafe_add_all
(n_comment
)
7102 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7104 if n_comment
.replace_child
(old_child
, new_child
) then return
7109 redef fun visit_all
(v
: Visitor)
7111 n_comment
.visit_all
(v
)
7114 redef class AAnnotations
7115 init init_aannotations
(
7117 n_opar
: nullable TOpar,
7118 n_items
: Collection[Object], # Should be Collection[AAnnotation]
7119 n_cpar
: nullable TCpar
7123 if n_at
!= null then n_at
.parent
= self
7125 if n_opar
!= null then n_opar
.parent
= self
7126 self.n_items
.unsafe_add_all
(n_items
)
7128 if n_cpar
!= null then n_cpar
.parent
= self
7131 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7133 if _n_at
== old_child
then
7134 n_at
= new_child
.as(nullable TAt)
7137 if _n_opar
== old_child
then
7138 n_opar
= new_child
.as(nullable TOpar)
7141 if n_items
.replace_child
(old_child
, new_child
) then return
7142 if _n_cpar
== old_child
then
7143 n_cpar
= new_child
.as(nullable TCpar)
7148 redef fun n_at
=(node
)
7151 if node
!= null then node
.parent
= self
7153 redef fun n_opar
=(node
)
7156 if node
!= null then node
.parent
= self
7158 redef fun n_cpar
=(node
)
7161 if node
!= null then node
.parent
= self
7165 redef fun visit_all
(v
: Visitor)
7167 v
.enter_visit
(_n_at
)
7168 v
.enter_visit
(_n_opar
)
7169 n_items
.visit_all
(v
)
7170 v
.enter_visit
(_n_cpar
)
7173 redef class AAnnotation
7174 init init_aannotation
(
7175 n_doc
: nullable ADoc,
7176 n_kwredef
: nullable TKwredef,
7177 n_visibility
: nullable AVisibility,
7178 n_atid
: nullable AAtid,
7179 n_opar
: nullable TOpar,
7180 n_args
: Collection[Object], # Should be Collection[AExpr]
7181 n_cpar
: nullable TCpar,
7182 n_annotations
: nullable AAnnotations
7186 if n_doc
!= null then n_doc
.parent
= self
7187 _n_kwredef
= n_kwredef
7188 if n_kwredef
!= null then n_kwredef
.parent
= self
7189 _n_visibility
= n_visibility
7190 if n_visibility
!= null then n_visibility
.parent
= self
7191 _n_atid
= n_atid
.as(not null)
7192 n_atid
.parent
= self
7194 if n_opar
!= null then n_opar
.parent
= self
7195 self.n_args
.unsafe_add_all
(n_args
)
7197 if n_cpar
!= null then n_cpar
.parent
= self
7198 _n_annotations
= n_annotations
7199 if n_annotations
!= null then n_annotations
.parent
= self
7202 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7204 if _n_doc
== old_child
then
7205 n_doc
= new_child
.as(nullable ADoc)
7208 if _n_kwredef
== old_child
then
7209 n_kwredef
= new_child
.as(nullable TKwredef)
7212 if _n_visibility
== old_child
then
7213 n_visibility
= new_child
.as(nullable AVisibility)
7216 if _n_atid
== old_child
then
7217 n_atid
= new_child
.as(AAtid)
7220 if _n_opar
== old_child
then
7221 n_opar
= new_child
.as(nullable TOpar)
7224 if n_args
.replace_child
(old_child
, new_child
) then return
7225 if _n_cpar
== old_child
then
7226 n_cpar
= new_child
.as(nullable TCpar)
7229 if _n_annotations
== old_child
then
7230 n_annotations
= new_child
.as(nullable AAnnotations)
7235 redef fun n_doc
=(node
)
7238 if node
!= null then node
.parent
= self
7240 redef fun n_kwredef
=(node
)
7243 if node
!= null then node
.parent
= self
7245 redef fun n_visibility
=(node
)
7247 _n_visibility
= node
7248 if node
!= null then node
.parent
= self
7250 redef fun n_atid
=(node
)
7255 redef fun n_opar
=(node
)
7258 if node
!= null then node
.parent
= self
7260 redef fun n_cpar
=(node
)
7263 if node
!= null then node
.parent
= self
7265 redef fun n_annotations
=(node
)
7267 _n_annotations
= node
7268 if node
!= null then node
.parent
= self
7272 redef fun visit_all
(v
: Visitor)
7274 v
.enter_visit
(_n_doc
)
7275 v
.enter_visit
(_n_kwredef
)
7276 v
.enter_visit
(_n_visibility
)
7277 v
.enter_visit
(_n_atid
)
7278 v
.enter_visit
(_n_opar
)
7280 v
.enter_visit
(_n_cpar
)
7281 v
.enter_visit
(_n_annotations
)
7289 _n_id
= n_id
.as(not null)
7293 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7295 if _n_id
== old_child
then
7296 n_id
= new_child
.as(TId)
7301 redef fun n_id
=(node
)
7308 redef fun visit_all
(v
: Visitor)
7310 v
.enter_visit
(_n_id
)
7313 redef class AKwexternAtid
7314 init init_akwexternatid
(
7315 n_id
: nullable TKwextern
7318 _n_id
= n_id
.as(not null)
7322 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7324 if _n_id
== old_child
then
7325 n_id
= new_child
.as(TKwextern)
7330 redef fun n_id
=(node
)
7337 redef fun visit_all
(v
: Visitor)
7339 v
.enter_visit
(_n_id
)
7342 redef class AKwabstractAtid
7343 init init_akwabstractatid
(
7344 n_id
: nullable TKwabstract
7347 _n_id
= n_id
.as(not null)
7351 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7353 if _n_id
== old_child
then
7354 n_id
= new_child
.as(TKwabstract)
7359 redef fun n_id
=(node
)
7366 redef fun visit_all
(v
: Visitor)
7368 v
.enter_visit
(_n_id
)
7371 redef class AKwimportAtid
7372 init init_akwimportatid
(
7373 n_id
: nullable TKwimport
7376 _n_id
= n_id
.as(not null)
7380 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7382 if _n_id
== old_child
then
7383 n_id
= new_child
.as(TKwimport)
7388 redef fun n_id
=(node
)
7395 redef fun visit_all
(v
: Visitor)
7397 v
.enter_visit
(_n_id
)
7402 redef fun replace_child
(old_child
: ANode, new_child
: nullable ANode)
7404 if _n_base
== old_child
then
7405 if new_child
== null then
7407 new_child
.parent
= self
7408 assert new_child
isa AModule
7411 old_child
.parent
= null
7416 redef fun visit_all
(v
: Visitor)
7418 if _n_base
!= null then
7419 v
.enter_visit
(_n_base
.as(not null))
7421 v
.enter_visit
(_n_eof
)