1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 64
3 #define NIM_EmulateOverflowChecks
4
5 #include "nimbase.h"
6 #include <string.h>
7 #undef LANGUAGE_C
8 #undef MIPSEB
9 #undef MIPSEL
10 #undef PPC
11 #undef R3000
12 #undef R4000
13 #undef i386
14 #undef linux
15 #undef mips
16 #undef near
17 #undef far
18 #undef powerpc
19 #undef unix
20 #define nimfr_(x, y)
21 #define nimln_(x, y)
22 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
23 typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
24 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
25 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
26 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
27 typedef struct RootObj RootObj;
28 typedef struct TNimType TNimType;
29 typedef struct TNimNode TNimNode;
30 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
31 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
32 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
33 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
34 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
35 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
36 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
37 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
38 typedef struct NimStringDesc NimStringDesc;
39 typedef struct TGenericSeq TGenericSeq;
40 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
41 typedef struct tyObject_Con__mVYRtnERc9advo79cBQUudxg tyObject_Con__mVYRtnERc9advo79cBQUudxg;
42 typedef struct tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ;
43 typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
44 typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
45 typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
46 typedef struct tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg;
47 typedef struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ tySequence__4mZLwkxT8rbt9bf3wXrXYNQ;
48 typedef struct tySequence__rQHmYk1HzcwNxKBymIFHpA tySequence__rQHmYk1HzcwNxKBymIFHpA;
49 typedef struct tySequence__XMM60DtBsc6xYsIpNANkrA tySequence__XMM60DtBsc6xYsIpNANkrA;
50 typedef struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw;
51 typedef struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg;
52 typedef struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg;
53 typedef struct tySequence__mWRMiYLthG9coLjkbElCxkw tySequence__mWRMiYLthG9coLjkbElCxkw;
54 typedef struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyObject_Table__iowAVDkco3qpbEH0z8OmkQ;
55 typedef struct tySequence__bTDCDwD2P7TodzbAefLcSw tySequence__bTDCDwD2P7TodzbAefLcSw;
56 typedef struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w;
57 typedef struct tySequence__3MPVXAHA08SszBrU4ffqEg tySequence__3MPVXAHA08SszBrU4ffqEg;
58 typedef struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw tyObject_Table__KcymdZjUsmGSK8BxmvoJgw;
59 typedef struct tySequence__YCf5zJHm4JI06qpmKwPUWg tySequence__YCf5zJHm4JI06qpmKwPUWg;
60 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
61 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
62 typedef struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ;
63 typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
64 typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
65 typedef struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA;
66 typedef struct tySequence__61s9cbAniKuBrdHwBhMDfQg tySequence__61s9cbAniKuBrdHwBhMDfQg;
67 typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
68 typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
69 typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
70 typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
71 typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
72 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
73 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
74 typedef struct tySequence__s9byh6WFJ16lPMcmqdaMTHA tySequence__s9byh6WFJ16lPMcmqdaMTHA;
75 typedef struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw tyObject_Table__Ue6w4c82v7gc7t2qntTbAw;
76 typedef struct tySequence__1U9bG8RcAedEeYkQLZjVFKA tySequence__1U9bG8RcAedEeYkQLZjVFKA;
77 typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
78 typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
79 typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
80 typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
81 typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
82 typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
83 typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
84 typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
85 typedef struct tySequence__MAQKEADohlpnXTModtugbQ tySequence__MAQKEADohlpnXTModtugbQ;
86 typedef struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA;
87 typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
88 typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
89 typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
90 typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
91 typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
92 typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
93 typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
94 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
95 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
96 typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
97 typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
98 typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
99 typedef struct tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g;
100 typedef struct tySequence__sh9b9afdJBB3bJbViXY7yNAg tySequence__sh9b9afdJBB3bJbViXY7yNAg;
101 typedef struct tyTuple__YXXBMUJBtW9corlxevWVfYQ tyTuple__YXXBMUJBtW9corlxevWVfYQ;
102 typedef struct tyTuple__EFqgCXJ4d8PgqOdFJmldsQ tyTuple__EFqgCXJ4d8PgqOdFJmldsQ;
103 typedef struct tySequence__mFtVDW3p7w6wfPPNodKzsA tySequence__mFtVDW3p7w6wfPPNodKzsA;
104 typedef struct tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw;
105 typedef struct tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ;
106 typedef struct tySequence__Y6pVop4P8VSwSorRqc2aQA tySequence__Y6pVop4P8VSwSorRqc2aQA;
107 typedef struct tyTuple__TeyVVRby9bj1JQeNMm9aeI2w tyTuple__TeyVVRby9bj1JQeNMm9aeI2w;
108 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
109 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
110 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
111 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
112 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
113 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
114 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
115 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
116 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
117 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
118 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
119 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
120 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
121 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
122 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
123 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
124 typedef struct tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag;
125 typedef struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw;
126 typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
127 typedef struct Exception Exception;
128 typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
129 typedef struct tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ;
130 typedef struct tySequence__JGK6WZYU2JHWLoPdKRO4AQ tySequence__JGK6WZYU2JHWLoPdKRO4AQ;
131 typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
132 typedef struct tyTuple__jCPpzNasrXtz9cFJFxT1NHQ tyTuple__jCPpzNasrXtz9cFJFxT1NHQ;
133 typedef struct tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ;
134 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
135 typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
136 typedef struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA;
137 typedef struct tySequence__vv5mGmK03BCr5e3LTZA5Hw tySequence__vv5mGmK03BCr5e3LTZA5Hw;
138 typedef struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w;
139 typedef struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ;
140 typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
141 typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
142 typedef struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw;
143 typedef struct tySequence__29bS0n2QNyO1R7e0qMMOvLA tySequence__29bS0n2QNyO1R7e0qMMOvLA;
144 typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
145 typedef struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg tySequence__REuPuHuSlOkZ0Q5oqzDrQg;
146 typedef struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA tySequence__I9aQmO9asXXWJ58UI9c8BCSzA;
147 typedef struct tySequence__NyaOkf8ZwxP6rkRF5TOkew tySequence__NyaOkf8ZwxP6rkRF5TOkew;
148 typedef struct tySequence__L9bOt8CaTEmIjgtuZvp6syg tySequence__L9bOt8CaTEmIjgtuZvp6syg;
149 typedef struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ tySequence__im8UB2GsZvUaQ4a1wKGWhQ;
150 typedef struct tySequence__xxnXDLpoqBo8zJzP9b1073g tySequence__xxnXDLpoqBo8zJzP9b1073g;
151 typedef struct tySequence__DfmUmNgVGnYaiV1I6227tw tySequence__DfmUmNgVGnYaiV1I6227tw;
152 typedef struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA tySequence__t8Uv4lEJ4lkuECvP9c6JMhA;
153 typedef struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg;
154 typedef struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ;
155 typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
156 typedef struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g tyObject_Table__CE4eiu6FavV1vmUiTXQ70g;
157 typedef struct tySequence__9bT7o0CflHuiE4VhmtqBPCw tySequence__9bT7o0CflHuiE4VhmtqBPCw;
158 typedef struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw;
159 typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q;
160 typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
161 typedef struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ;
162 typedef struct tySequence__O5RcspOP32YJ4YtU5ppxxA tySequence__O5RcspOP32YJ4YtU5ppxxA;
163 typedef struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg;
164 typedef struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ;
165 typedef struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ;
166 typedef struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg tyTuple__o67sDX0wYbEuhI9cJYAbDtg;
167 typedef struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA;
168 typedef struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg;
169 typedef struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA tySequence__ipEvhpHAmm8ZCn9bZAOdNYA;
170 typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
171 typedef struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q tyTuple__9aNnDWBFMF44sfFinBpMT4Q;
172 typedef struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg;
173 typedef struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g tySequence__159bHWBGAOOs6U7OZ9cQlO0g;
174 typedef struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ tyTuple__VrD6plbUKJjYKM0lCr3hGQ;
175 typedef struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA;
176 typedef struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA tyTuple__1ZbjBgxAbnye0IFMZ6w4OA;
177 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
178 typedef struct tyTuple__rplX06U9bjhu9asm5pWdgqsA tyTuple__rplX06U9bjhu9asm5pWdgqsA;
179 typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
180 typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
181 typedef struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A;
182 typedef struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ tyTuple__3i6hlQmqrn6m7tuVN8FHjQ;
183 typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
184 typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
185 typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
186 typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
187 typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
188 typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
189 typedef struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ;
190 typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
191 typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
192 typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
193 typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
194 typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
195 typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
196 typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
197 typedef struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow;
198 typedef struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg;
199 typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
200 typedef struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA tyTuple__Q7r9caOmeWqQGZCIBHhGRUA;
201 typedef struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg;
202 typedef struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw tyTuple__XyJ8LOAZzVVXSsmt09b8uWw;
203 typedef struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA;
204 typedef struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw tySequence__vC9cvg0R8tfBaOXXi3sfMzw;
205 typedef struct tyTuple__9aoobCDZB4x41HJSOmh0mwA tyTuple__9aoobCDZB4x41HJSOmh0mwA;
206 typedef struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA tyTuple__g0Q6Qx15nK53ce9aLo7YyrA;
207 typedef struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw;
208 typedef struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw;
209 typedef struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA;
210 typedef struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ;
211 typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
212 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
213 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
214 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
215 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
216 struct TNimType {
217 NI size;
218 NI align;
219 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
220 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
221 TNimType* base;
222 TNimNode* node;
223 void* finalizer;
224 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
225 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
226 };
227 struct RootObj {
228 TNimType* m_type;
229 };
230 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
231 NI32 module;
232 NI32 item;
233 };
234 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
235 RootObj Sup;
236 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
237 };
238 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
239 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
240 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
241 NU16 line;
242 NI16 col;
243 NI32 fileIndex;
244 };
245 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
246 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
247 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
248 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
249 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
250 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
251 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
252 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
253 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
254 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
255 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
256 };
257 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
258 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
259 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
260 union{
261 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
262 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
263 } _kind_1;
264 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
265 NI bitsize;
266 NI alignment;
267 } _kind_2;
268 };
269 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
270 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
271 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
272 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
273 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
274 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
275 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
276 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
277 NI position;
278 NI offset;
279 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
280 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
281 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
282 };
283 typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
284 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
285 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
286 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
287 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
288 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
289 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
290 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
291 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
292 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
293 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
294 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
295 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
296 NI64 size;
297 NI16 align;
298 NI16 paddingAtEnd;
299 NI16 lockLevel;
300 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
301 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
302 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
303 };
304 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
305 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
306 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
307 struct TGenericSeq {
308 NI len;
309 NI reserved;
310 };
311 struct NimStringDesc {
312 TGenericSeq Sup;
313 NIM_CHAR data[SEQ_DECL_SIZE];
314 };
315 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
316 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
317 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
318 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
319 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
320 union{
321 struct {NI64 intVal;
322 } _kind_1;
323 struct {NF floatVal;
324 } _kind_2;
325 struct {NimStringDesc* strVal;
326 } _kind_3;
327 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
328 } _kind_4;
329 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
330 } _kind_5;
331 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
332 } _kind_6;
333 };
334 };
335 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
336 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
337 NI elems;
338 NI counter;
339 NI max;
340 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
341 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
342 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
343 };
344 struct tyObject_Con__mVYRtnERc9advo79cBQUudxg {
345 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
346 tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ* g;
347 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph;
348 NI inLoop;
349 NI inSpawn;
350 NI inLoopCond;
351 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA uninit;
352 NIM_BOOL uninitComputed;
353 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
354 };
355 typedef NU8 tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ;
356 struct tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg {
357 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
358 tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ kind;
359 union{
360 NI dest;
361 };
362 };
363 struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw {
364 tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg* data;
365 NI counter;
366 };
367 struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg {
368 tySequence__mWRMiYLthG9coLjkbElCxkw* data;
369 NI counter;
370 };
371 struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ {
372 tySequence__bTDCDwD2P7TodzbAefLcSw* data;
373 NI counter;
374 };
375 typedef tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ[5];
376 struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w {
377 tySequence__3MPVXAHA08SszBrU4ffqEg* data;
378 NI counter;
379 };
380 struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw {
381 tySequence__YCf5zJHm4JI06qpmKwPUWg* data;
382 NI counter;
383 };
384 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
385 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
386 NI counter;
387 };
388 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
389 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
390 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
391 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
392 struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ {
393 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
394 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
395 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
396 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
397 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
398 };
399 struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
400 NI counter;
401 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data;
402 };
403 struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA {
404 tySequence__61s9cbAniKuBrdHwBhMDfQg* data;
405 NI counter;
406 };
407 struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
408 tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
409 NI counter;
410 };
411 struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
412 tySequence__kxu4GK0onha2t9bo86mdVAg* data;
413 NI counter;
414 };
415 typedef struct {
416 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
417 void* ClE_0;
418 } tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
419 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__9bjuenwQUcqO3lbmS2wX7uA[65];
420 struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw {
421 tySequence__1U9bG8RcAedEeYkQLZjVFKA* data;
422 NI counter;
423 };
424 struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
425 tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
426 NI counter;
427 };
428 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__VHDwJFdIqpwtpUGuxiXUwg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
429 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__mjUN9alLJ31lnSKkUsuyWMw) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
430 struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
431 tySequence__23SMqauuRsbDANhthj9bWlA* data;
432 NI counter;
433 };
434 struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
435 tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
436 NI counter;
437 };
438 struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
439 tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
440 NI counter;
441 };
442 typedef N_NIMCALL_PTR(void, tyProc__TjycsqkDBjsxd4da6KYTng) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
443 typedef N_NIMCALL_PTR(void, tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
444 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__J7Jq15ZScfKLqcLx8sEz9cA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
445 struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA {
446 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opNot;
447 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opContains;
448 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLe;
449 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLt;
450 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAnd;
451 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opOr;
452 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opIsNil;
453 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opEq;
454 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAdd;
455 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opSub;
456 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opMul;
457 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opDiv;
458 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLen;
459 };
460 struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ {
461 tySequence__4mZLwkxT8rbt9bf3wXrXYNQ* ifaces;
462 tySequence__rQHmYk1HzcwNxKBymIFHpA* packed_0;
463 tySequence__XMM60DtBsc6xYsIpNANkrA* encoders;
464 tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw typeInstCache;
465 tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg procInstCache;
466 tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ attachedOps;
467 tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w methodsPerType;
468 tyObject_Table__KcymdZjUsmGSK8BxmvoJgw enumToStringProcs;
469 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
470 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ startupPackedConfig;
471 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms;
472 tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA modulesPerPackage;
473 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
474 tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
475 NIM_BOOL suggestMode;
476 NIM_BOOL invalidTransitiveClosure;
477 tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
478 tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
479 RootObj* backend;
480 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
481 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
482 RootObj* vm;
483 tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
484 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* usageSym;
485 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* owners;
486 tySequence__s9byh6WFJ16lPMcmqdaMTHA* methods;
487 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* systemModule;
488 tyArray__9bjuenwQUcqO3lbmS2wX7uA sysTypes;
489 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs;
490 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed;
491 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageTypes;
492 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
493 tyObject_Table__Ue6w4c82v7gc7t2qntTbAw canonTypes;
494 tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
495 tyProc__VHDwJFdIqpwtpUGuxiXUwg importModuleCallback;
496 tyProc__mjUN9alLJ31lnSKkUsuyWMw includeFileCallback;
497 tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
498 tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
499 tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables;
500 tySequence__MAQKEADohlpnXTModtugbQ* passes;
501 tyProc__TjycsqkDBjsxd4da6KYTng onDefinition;
502 tyProc__TjycsqkDBjsxd4da6KYTng onDefinitionResolveForward;
503 tyProc__TjycsqkDBjsxd4da6KYTng onUsage;
504 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
505 tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ strongSemCheck;
506 tyProc__J7Jq15ZScfKLqcLx8sEz9cA compatibleProps;
507 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
508 tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA operators;
509 };
510 typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
511 typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
512 struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
513 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
514 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
515 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
516 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
517 NI intSize;
518 NI floatSize;
519 NI ptrSize;
520 NimStringDesc* tnl;
521 };
522 typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
523 struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
524 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
525 NIM_BOOL trackPosAttached;
526 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
527 tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
528 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
529 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
530 tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
531 NI32 systemFileIdx;
532 };
533 typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ;
534 typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA;
535 typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
536 typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
537 struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
538 tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
539 NI counter;
540 };
541 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
542 typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
543 typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
544 typedef NU8 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug[11];
545 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
546 NI Field0;
547 NI Field1;
548 NI Field2;
549 };
550 typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug;
551 typedef struct {
552 N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
553 void* ClE_0;
554 } tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
555 typedef struct {
556 N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
557 void* ClE_0;
558 } tyProc__k2HFjxisIgDALbEUFojxaQ;
559 typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
560 typedef struct {
561 N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
562 void* ClE_0;
563 } tyProc__oL9coyIA2VDTGdUcur9aL9bew;
564 struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
565 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
566 tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
567 NI linesCompiled;
568 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
569 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
570 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
571 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
572 tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
573 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption;
574 NimStringDesc* unitSep;
575 NI evalTemplateCounter;
576 NI evalMacroCounter;
577 NI8 exitcode;
578 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd;
579 NimStringDesc* cmdInput;
580 NIM_BOOL projectIsCmd;
581 NIM_BOOL implicitCmd;
582 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
583 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
584 NIM_BOOL hintProcessingDots;
585 NI verbosity;
586 NI numberOfProcessors;
587 NF lastCmdTime;
588 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
589 NI spellSuggestMax;
590 tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
591 NimStringDesc* headerFile;
592 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
593 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
594 NimStringDesc* arguments;
595 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
596 NIM_BOOL oldNewlines;
597 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
598 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug modifiedyNotes;
599 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug cmdlineNotes;
600 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug foreignPackageNotes;
601 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
602 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
603 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug mainPackageNotes;
604 NI mainPackageId;
605 NI errorCounter;
606 NI hintCounter;
607 NI warnCounter;
608 NI errorMax;
609 NI maxLoopIterationsVM;
610 NIM_BOOL isVmTrace;
611 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
612 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
613 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
614 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
615 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
616 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
617 NimStringDesc* outFile;
618 NimStringDesc* outDir;
619 NimStringDesc* jsonBuildFile;
620 NimStringDesc* prefixDir;
621 NimStringDesc* libpath;
622 NimStringDesc* nimcacheDir;
623 tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
624 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
625 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
626 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
627 NimStringDesc* projectName;
628 NimStringDesc* projectPath;
629 NimStringDesc* projectFull;
630 NIM_BOOL projectIsStdin;
631 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug lastMsgWasDot;
632 NI32 projectMainIdx;
633 NI32 projectMainIdx2;
634 NimStringDesc* command;
635 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
636 NimStringDesc* commandLine;
637 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
638 NIM_BOOL keepComments;
639 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
640 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
641 NimStringDesc* docSeeSrcUrl;
642 NimStringDesc* docRoot;
643 NimStringDesc* docCmd;
644 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
645 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
646 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
647 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
648 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
649 NimStringDesc* linkOptionsCmd;
650 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
651 NimStringDesc* linkOptions;
652 NimStringDesc* compileOptions;
653 NimStringDesc* cCompilerPath;
654 tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
655 tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
656 NI suggestVersion;
657 NI suggestMaxResults;
658 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
659 tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
660 tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
661 NimStringDesc* cppCustomNamespace;
662 NimStringDesc* nimMainPrefix;
663 tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
664 };
665 typedef NU8 tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
666 struct tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g {
667 tySequence__sh9b9afdJBB3bJbViXY7yNAg* data;
668 NI counter;
669 };
670 struct tyTuple__EFqgCXJ4d8PgqOdFJmldsQ {
671 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field0;
672 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field1;
673 };
674 typedef NU8 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg;
675 struct tyTuple__YXXBMUJBtW9corlxevWVfYQ {
676 NI Field0;
677 tyTuple__EFqgCXJ4d8PgqOdFJmldsQ Field1;
678 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg Field2;
679 };
680 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
681 struct TNimNode {
682 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
683 NI offset;
684 TNimType* typ;
685 NCSTRING name;
686 NI len;
687 TNimNode** sons;
688 };
689 struct tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ {
690 tySequence__Y6pVop4P8VSwSorRqc2aQA* data;
691 NI counter;
692 };
693 struct tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw {
694 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA lastReads;
695 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA potentialLastReads;
696 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA notLastReads;
697 tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ alreadySeen;
698 };
699 struct tyTuple__TeyVVRby9bj1JQeNMm9aeI2w {
700 NI Field0;
701 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field1;
702 };
703 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
704 NI refcount;
705 TNimType* typ;
706 };
707 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
708 void* bottom;
709 };
710 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
711 NI len;
712 NI cap;
713 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
714 };
715 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
716 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
717 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
718 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
719 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
720 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
721 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
722 };
723 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
724 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
725 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
726 NI key;
727 NI upperBound;
728 NI level;
729 };
730 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
731 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
732 NI Field1;
733 };
734 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
735 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
736 NI len;
737 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
738 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
739 };
740 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
741 NI minLargeObj;
742 NI maxLargeObj;
743 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
744 NU32 flBitmap;
745 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
746 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
747 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
748 NI currMem;
749 NI maxMem;
750 NI freeMem;
751 NI occ;
752 NI lastSize;
753 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
754 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
755 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
756 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
757 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
758 NIM_BOOL locked;
759 NIM_BOOL blockChunkSizeIncrease;
760 NI nextChunkSize;
761 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
762 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
763 };
764 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
765 NI stackScans;
766 NI cycleCollections;
767 NI maxThreshold;
768 NI maxStackSize;
769 NI maxStackCells;
770 NI cycleTableSize;
771 NI64 maxPause;
772 };
773 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
774 NI counter;
775 NI max;
776 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
777 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
778 };
779 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
780 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
781 NI cycleThreshold;
782 NI zctThreshold;
783 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
784 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
785 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
786 NI recGcLock;
787 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
788 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
789 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
790 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
791 NI gcThreadId;
792 };
793 struct Exception {
794 RootObj Sup;
795 Exception* parent;
796 NCSTRING name;
797 NimStringDesc* message;
798 tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
799 Exception* up;
800 };
801 struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
802 Exception Sup;
803 };
804 struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw {
805 tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
806 };
807 struct tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag {
808 tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw Sup;
809 };
810 typedef NU tyArray__VqSA39cBDWnwnJySTumCdjw[8];
811 struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA {
812 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* next;
813 NI key;
814 tyArray__VqSA39cBDWnwnJySTumCdjw bits;
815 };
816 typedef NU8 tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
817 struct tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ {
818 tySequence__JGK6WZYU2JHWLoPdKRO4AQ* data;
819 NI counter;
820 };
821 struct tyTuple__jCPpzNasrXtz9cFJFxT1NHQ {
822 NI Field0;
823 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field1;
824 tySequence__qwqHTkRvwhrRyENtudHQ7g* Field2;
825 };
826 struct tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ {
827 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* vars;
828 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* wasMoved;
829 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* final;
830 NIM_BOOL needsTry;
831 tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* parent;
832 };
833 typedef NU8 tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw;
834 typedef NU8 tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw[21];
835 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__T6RKPw8xfAeNaoei9aZGzXg[3];
836 struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q {
837 NI32 module;
838 NI32 symId;
839 NI32 typeId_0;
840 NIM_BOOL sealed;
841 };
842 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
843 typedef NU8 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg;
844 typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
845 typedef NU8 tySet_tyEnum_ConsiderFlag__9a9az8WnKmq9bvt8EXoSUES7g;
846 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
847 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
848 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
849 NimStringDesc* Field0;
850 NI Field1;
851 NI Field2;
852 };
853 typedef NimStringDesc* tyArray__JXkBzVsE9bvmcpuZvrueLVg[5];
854 typedef NU8 tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw;
855 typedef NU16 tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw;
856 struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
857 NI a;
858 NI b;
859 };
860 struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA {
861 NI id;
862 NimStringDesc* s;
863 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* next;
864 NI h;
865 };
866 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__AB6yfoUgfWM2NtGe9bzkCmw[2];
867 typedef NU8 tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
868 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__jlWPjgtbdjE069arIWHC9c9bg[1];
869 typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2];
870 typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
871 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__cypz0nHJsd9cnKgpO7fP5hQ[1];
872 struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA {
873 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
874 tySequence__vv5mGmK03BCr5e3LTZA5Hw* converters;
875 tySequence__vv5mGmK03BCr5e3LTZA5Hw* patterns;
876 tySequence__vv5mGmK03BCr5e3LTZA5Hw* pureEnums;
877 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interf;
878 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interfHidden;
879 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* uniqueName;
880 };
881 typedef NU8 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q;
882 struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw {
883 tySequence__29bS0n2QNyO1R7e0qMMOvLA* nodes;
884 };
885 typedef NU8 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g;
886 struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg {
887 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* vals;
888 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
889 };
890 struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ {
891 tySequence__IHUFRsFxZNv7YydiUO2esQ* vals;
892 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
893 };
894 struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ {
895 NimStringDesc* definedSymbols;
896 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw moduleFlags;
897 tySequence__PXIzfWocnrafGz5p3CP5LA* includes;
898 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* imports;
899 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw toReplay;
900 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw topLevel;
901 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw bodies;
902 tySequence__b89aLriiJnVTD186H6zNIgg* exports;
903 tySequence__b89aLriiJnVTD186H6zNIgg* hidden;
904 tySequence__REuPuHuSlOkZ0Q5oqzDrQg* reexports;
905 tySequence__b89aLriiJnVTD186H6zNIgg* compilerProcs;
906 tySequence__48JTohSgTy339bRxHzUD8KA* converters;
907 tySequence__48JTohSgTy339bRxHzUD8KA* methods;
908 tySequence__48JTohSgTy339bRxHzUD8KA* trmacros;
909 tySequence__48JTohSgTy339bRxHzUD8KA* pureEnums;
910 tySequence__I9aQmO9asXXWJ58UI9c8BCSzA* macroUsages;
911 tySequence__NyaOkf8ZwxP6rkRF5TOkew* typeInstCache;
912 tySequence__L9bOt8CaTEmIjgtuZvp6syg* procInstCache;
913 tySequence__im8UB2GsZvUaQ4a1wKGWhQ* attachedOps;
914 tySequence__xxnXDLpoqBo8zJzP9b1073g* methodsPerType;
915 tySequence__NyaOkf8ZwxP6rkRF5TOkew* enumToStringProcs;
916 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* emittedTypeInfo;
917 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g backendFlags;
918 tySequence__DfmUmNgVGnYaiV1I6227tw* syms;
919 tySequence__t8Uv4lEJ4lkuECvP9c6JMhA* types;
920 tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg strings;
921 tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ numbers;
922 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ cfg;
923 };
924 struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g {
925 tySequence__9bT7o0CflHuiE4VhmtqBPCw* data;
926 NI counter;
927 };
928 struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w {
929 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q status;
930 NIM_BOOL symsInit;
931 NIM_BOOL typesInit;
932 NIM_BOOL loadedButAliveSetChanged;
933 tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ fromDisk;
934 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* syms;
935 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
936 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
937 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g iface;
938 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g ifaceHidden;
939 };
940 struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q {
941 tySequence__9cnx3zXnWzeclW8Ko4oUgAQ* data;
942 NI counter;
943 };
944 struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw {
945 NI32 thisModule;
946 NI32 lastFile;
947 NU32 lastLit;
948 tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames;
949 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* pendingTypes;
950 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* pendingSyms;
951 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker;
952 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker;
953 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
954 };
955 struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ {
956 NU32 module;
957 NI32 item;
958 };
959 struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ {
960 NI module;
961 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ packed_0;
962 };
963 struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg {
964 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
965 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
966 };
967 struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ {
968 NI Field0;
969 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
970 tySequence__O5RcspOP32YJ4YtU5ppxxA* Field2;
971 };
972 struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg {
973 NI module;
974 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ sym;
975 tySequence__ipEvhpHAmm8ZCn9bZAOdNYA* concreteTypes;
976 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
977 };
978 struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg {
979 NI Field0;
980 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
981 tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA* Field2;
982 };
983 struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q {
984 NI Field0;
985 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
986 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
987 };
988 struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA {
989 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
990 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
991 };
992 struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ {
993 NI Field0;
994 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field1;
995 };
996 struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg {
997 NI Field0;
998 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
999 tySequence__159bHWBGAOOs6U7OZ9cQlO0g* Field2;
1000 };
1001 struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA {
1002 NI Field0;
1003 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1004 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field2;
1005 };
1006 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
1007 NI Field0;
1008 NimStringDesc* Field1;
1009 NI32 Field2;
1010 };
1011 struct tyTuple__rplX06U9bjhu9asm5pWdgqsA {
1012 NI Field0;
1013 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1014 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA Field2;
1015 };
1016 struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
1017 NI Field0;
1018 NI32 Field1;
1019 tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
1020 };
1021 struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
1022 NI Field0;
1023 NI32 Field1;
1024 NI32 Field2;
1025 };
1026 struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A {
1027 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* Field0;
1028 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
1029 };
1030 struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ {
1031 NI Field0;
1032 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
1033 tyObject_TType__facALICuu8zUj0hjvbTLFg* Field2;
1034 };
1035 struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
1036 NI Field0;
1037 NI Field1;
1038 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
1039 };
1040 struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
1041 NI Field0;
1042 NimStringDesc* Field1;
1043 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
1044 };
1045 struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
1046 NI Field0;
1047 NimStringDesc* Field1;
1048 NI64 Field2;
1049 };
1050 struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
1051 tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
1052 NI entries;
1053 };
1054 struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
1055 NI Field0;
1056 NimStringDesc* Field1;
1057 tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
1058 };
1059 typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__jkSFMhvPZ1AdGcvT2dK9a2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1060 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
1061 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1062 struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ {
1063 tyProc__jkSFMhvPZ1AdGcvT2dK9a2w Field0;
1064 tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1;
1065 tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2;
1066 NIM_BOOL Field3;
1067 };
1068 struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
1069 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
1070 NimStringDesc* Field1;
1071 };
1072 struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
1073 NimStringDesc* fullPath;
1074 NimStringDesc* projPath;
1075 NimStringDesc* shortName;
1076 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
1077 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
1078 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
1079 NimStringDesc* dirtyFile;
1080 NimStringDesc* hash;
1081 NIM_BOOL dirty;
1082 };
1083 struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
1084 NI Field0;
1085 NimStringDesc* Field1;
1086 };
1087 typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
1088 struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
1089 NimStringDesc* nimname;
1090 NimStringDesc* cname;
1091 NimStringDesc* obj;
1092 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
1093 NimStringDesc* customArgs;
1094 };
1095 struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
1096 NCSTRING procname;
1097 NI line;
1098 NCSTRING filename;
1099 };
1100 struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
1101 NU32 Field0;
1102 NimStringDesc* Field1;
1103 };
1104 struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg {
1105 NU16 line;
1106 NI16 col;
1107 NU32 file;
1108 };
1109 struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow {
1110 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
1111 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
1112 NI32 operand;
1113 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeId_0;
1114 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1115 };
1116 struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
1117 NU32 Field0;
1118 NI32 Field1;
1119 };
1120 struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA {
1121 NU32 Field0;
1122 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1123 };
1124 struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg {
1125 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1126 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg Field1;
1127 };
1128 struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw {
1129 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1130 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1131 };
1132 struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA {
1133 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ key;
1134 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1135 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* concreteTypes;
1136 };
1137 struct tyTuple__9aoobCDZB4x41HJSOmh0mwA {
1138 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg Field0;
1139 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1140 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1141 };
1142 struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA {
1143 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1144 NI Field1;
1145 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1146 };
1147 typedef NU8 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ;
1148 struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw {
1149 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ kind;
1150 NIM_BOOL generated;
1151 NIM_BOOL isOverriden;
1152 NU32 name;
1153 NI32 path;
1154 };
1155 struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw {
1156 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
1157 NU32 name;
1158 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typ;
1159 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
1160 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
1161 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1162 NI32 ast;
1163 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1164 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ guard;
1165 NI bitsize;
1166 NI alignment;
1167 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
1168 NI position;
1169 NI offset;
1170 NU32 externalName;
1171 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA locFlags;
1172 tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw annex;
1173 NI32 constraint;
1174 };
1175 struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA {
1176 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
1177 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
1178 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
1179 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* types;
1180 NI32 n;
1181 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1182 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1183 NI64 size;
1184 NI16 align;
1185 NI16 paddingAtEnd;
1186 NI16 lockLevel;
1187 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeInst;
1188 NI32 nonUniqueId;
1189 };
1190 struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ {
1191 NI Field0;
1192 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* Field1;
1193 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* Field2;
1194 };
1195 struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
1196 NI Field0;
1197 NI32 Field1;
1198 NU32 Field2;
1199 };
1200 struct tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ {
1201 TGenericSeq Sup;
1202 tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg data[SEQ_DECL_SIZE];
1203 };
1204 struct tySequence__sh9b9afdJBB3bJbViXY7yNAg {
1205 TGenericSeq Sup;
1206 tyTuple__YXXBMUJBtW9corlxevWVfYQ data[SEQ_DECL_SIZE];
1207 };
1208 struct tySequence__mFtVDW3p7w6wfPPNodKzsA {
1209 TGenericSeq Sup;
1210 tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* data[SEQ_DECL_SIZE];
1211 };
1212 struct tySequence__Y6pVop4P8VSwSorRqc2aQA {
1213 TGenericSeq Sup;
1214 tyTuple__TeyVVRby9bj1JQeNMm9aeI2w data[SEQ_DECL_SIZE];
1215 };
1216 struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
1217 TGenericSeq Sup;
1218 NI data[SEQ_DECL_SIZE];
1219 };
1220 struct tySequence__JGK6WZYU2JHWLoPdKRO4AQ {
1221 TGenericSeq Sup;
1222 tyTuple__jCPpzNasrXtz9cFJFxT1NHQ data[SEQ_DECL_SIZE];
1223 };
1224 struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
1225 TGenericSeq Sup;
1226 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
1227 };
1228 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
1229 TGenericSeq Sup;
1230 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
1231 };
1232 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
1233 TGenericSeq Sup;
1234 tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
1235 };
1236 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
1237 TGenericSeq Sup;
1238 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
1239 };
1240 struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ {
1241 TGenericSeq Sup;
1242 tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA data[SEQ_DECL_SIZE];
1243 };
1244 struct tySequence__rQHmYk1HzcwNxKBymIFHpA {
1245 TGenericSeq Sup;
1246 tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w data[SEQ_DECL_SIZE];
1247 };
1248 struct tySequence__XMM60DtBsc6xYsIpNANkrA {
1249 TGenericSeq Sup;
1250 tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw data[SEQ_DECL_SIZE];
1251 };
1252 struct tySequence__O5RcspOP32YJ4YtU5ppxxA {
1253 TGenericSeq Sup;
1254 tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg data[SEQ_DECL_SIZE];
1255 };
1256 struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg {
1257 TGenericSeq Sup;
1258 tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ data[SEQ_DECL_SIZE];
1259 };
1260 struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA {
1261 TGenericSeq Sup;
1262 tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg data[SEQ_DECL_SIZE];
1263 };
1264 struct tySequence__mWRMiYLthG9coLjkbElCxkw {
1265 TGenericSeq Sup;
1266 tyTuple__o67sDX0wYbEuhI9cJYAbDtg data[SEQ_DECL_SIZE];
1267 };
1268 struct tySequence__bTDCDwD2P7TodzbAefLcSw {
1269 TGenericSeq Sup;
1270 tyTuple__9aNnDWBFMF44sfFinBpMT4Q data[SEQ_DECL_SIZE];
1271 };
1272 struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g {
1273 TGenericSeq Sup;
1274 tyTuple__VrD6plbUKJjYKM0lCr3hGQ data[SEQ_DECL_SIZE];
1275 };
1276 struct tySequence__3MPVXAHA08SszBrU4ffqEg {
1277 TGenericSeq Sup;
1278 tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg data[SEQ_DECL_SIZE];
1279 };
1280 struct tySequence__YCf5zJHm4JI06qpmKwPUWg {
1281 TGenericSeq Sup;
1282 tyTuple__1ZbjBgxAbnye0IFMZ6w4OA data[SEQ_DECL_SIZE];
1283 };
1284 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
1285 TGenericSeq Sup;
1286 tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
1287 };
1288 struct tySequence__61s9cbAniKuBrdHwBhMDfQg {
1289 TGenericSeq Sup;
1290 tyTuple__rplX06U9bjhu9asm5pWdgqsA data[SEQ_DECL_SIZE];
1291 };
1292 struct tySequence__48JTohSgTy339bRxHzUD8KA {
1293 TGenericSeq Sup;
1294 NI32 data[SEQ_DECL_SIZE];
1295 };
1296 struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
1297 TGenericSeq Sup;
1298 tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
1299 };
1300 struct tySequence__kxu4GK0onha2t9bo86mdVAg {
1301 TGenericSeq Sup;
1302 tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
1303 };
1304 struct tySequence__s9byh6WFJ16lPMcmqdaMTHA {
1305 TGenericSeq Sup;
1306 tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A data[SEQ_DECL_SIZE];
1307 };
1308 struct tySequence__1U9bG8RcAedEeYkQLZjVFKA {
1309 TGenericSeq Sup;
1310 tyTuple__3i6hlQmqrn6m7tuVN8FHjQ data[SEQ_DECL_SIZE];
1311 };
1312 struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
1313 TGenericSeq Sup;
1314 tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
1315 };
1316 struct tySequence__23SMqauuRsbDANhthj9bWlA {
1317 TGenericSeq Sup;
1318 tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
1319 };
1320 struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
1321 TGenericSeq Sup;
1322 tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
1323 };
1324 struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
1325 TGenericSeq Sup;
1326 tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
1327 };
1328 struct tySequence__MAQKEADohlpnXTModtugbQ {
1329 TGenericSeq Sup;
1330 tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ data[SEQ_DECL_SIZE];
1331 };
1332 struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
1333 TGenericSeq Sup;
1334 tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
1335 };
1336 struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
1337 TGenericSeq Sup;
1338 tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
1339 };
1340 struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
1341 TGenericSeq Sup;
1342 tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
1343 };
1344 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
1345 TGenericSeq Sup;
1346 NimStringDesc* data[SEQ_DECL_SIZE];
1347 };
1348 struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
1349 TGenericSeq Sup;
1350 tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
1351 };
1352 struct tySequence__uB9b75OUPRENsBAu4AnoePA {
1353 TGenericSeq Sup;
1354 tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
1355 };
1356 struct tySequence__vv5mGmK03BCr5e3LTZA5Hw {
1357 TGenericSeq Sup;
1358 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA data[SEQ_DECL_SIZE];
1359 };
1360 struct tySequence__PXIzfWocnrafGz5p3CP5LA {
1361 TGenericSeq Sup;
1362 tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE];
1363 };
1364 struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
1365 TGenericSeq Sup;
1366 NU32 data[SEQ_DECL_SIZE];
1367 };
1368 struct tySequence__29bS0n2QNyO1R7e0qMMOvLA {
1369 TGenericSeq Sup;
1370 tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow data[SEQ_DECL_SIZE];
1371 };
1372 struct tySequence__b89aLriiJnVTD186H6zNIgg {
1373 TGenericSeq Sup;
1374 tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];
1375 };
1376 struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg {
1377 TGenericSeq Sup;
1378 tyTuple__Q7r9caOmeWqQGZCIBHhGRUA data[SEQ_DECL_SIZE];
1379 };
1380 struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA {
1381 TGenericSeq Sup;
1382 tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg data[SEQ_DECL_SIZE];
1383 };
1384 struct tySequence__NyaOkf8ZwxP6rkRF5TOkew {
1385 TGenericSeq Sup;
1386 tyTuple__XyJ8LOAZzVVXSsmt09b8uWw data[SEQ_DECL_SIZE];
1387 };
1388 struct tySequence__L9bOt8CaTEmIjgtuZvp6syg {
1389 TGenericSeq Sup;
1390 tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA data[SEQ_DECL_SIZE];
1391 };
1392 struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ {
1393 TGenericSeq Sup;
1394 tyTuple__9aoobCDZB4x41HJSOmh0mwA data[SEQ_DECL_SIZE];
1395 };
1396 struct tySequence__xxnXDLpoqBo8zJzP9b1073g {
1397 TGenericSeq Sup;
1398 tyTuple__g0Q6Qx15nK53ce9aLo7YyrA data[SEQ_DECL_SIZE];
1399 };
1400 struct tySequence__DfmUmNgVGnYaiV1I6227tw {
1401 TGenericSeq Sup;
1402 tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw data[SEQ_DECL_SIZE];
1403 };
1404 struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA {
1405 TGenericSeq Sup;
1406 tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA data[SEQ_DECL_SIZE];
1407 };
1408 struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
1409 TGenericSeq Sup;
1410 NI64 data[SEQ_DECL_SIZE];
1411 };
1412 struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw {
1413 TGenericSeq Sup;
1414 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ data[SEQ_DECL_SIZE];
1415 };
1416 struct tySequence__9bT7o0CflHuiE4VhmtqBPCw {
1417 TGenericSeq Sup;
1418 tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ data[SEQ_DECL_SIZE];
1419 };
1420 struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
1421 TGenericSeq Sup;
1422 tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];
1423 };
1424 struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA {
1425 TGenericSeq Sup;
1426 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ data[SEQ_DECL_SIZE];
1427 };
1428 static N_INLINE(NIM_BOOL, isInlineIterator__ast_4989)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1429 static N_INLINE(void, nimZeroMem)(void* p, NI size);
1430 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
1431 N_LIB_PRIVATE N_NIMCALL(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*, constructCfg__dfa_1135)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
1432 N_LIB_PRIVATE N_NIMCALL(void, computeCursors__varpartitions_1784)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g);
1433 N_LIB_PRIVATE N_NIMCALL(void, computeLastReadsAndFirstWrites__injectdestructors_3780)(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ* cfg);
1434 N_LIB_PRIVATE N_NIMCALL(void, initTable__injectdestructors_3782)(NI initialSize, tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* Result);
1435 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
1436 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count);
1437 N_LIB_PRIVATE N_NIMCALL(NI, nextPowerOfTwo__pureZmath_176)(NI x);
1438 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
1439 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
1440 static N_NIMCALL(void, Marker_tySequence__sh9b9afdJBB3bJbViXY7yNAg)(void* p, NI op);
1441 N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
1442 N_LIB_PRIVATE N_NIMCALL(void, preprocessCfg__injectdestructors_1924)(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ** cfg);
1443 N_LIB_PRIVATE N_NIMCALL(tySequence__mFtVDW3p7w6wfPPNodKzsA*, newSeq__injectdestructors_3802)(NI len);
1444 static N_NIMCALL(void, Marker_tySequence__Y6pVop4P8VSwSorRqc2aQA)(void* p, NI op);
1445 static N_NIMCALL(void, Marker_tyRef__xMu9aauGSW9bIwiWptXaXX0Q)(void* p, NI op);
1446 static N_NIMCALL(void, Marker_tySequence__mFtVDW3p7w6wfPPNodKzsA)(void* p, NI op);
1447 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
1448 static N_INLINE(void, asgnRef)(void** dest, void* src);
1449 static N_INLINE(void, incRef__system_5338)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1450 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
1451 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5300)(void* usr);
1452 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
1453 static N_INLINE(void, decRef__system_5345)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1454 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
1455 static N_INLINE(void, rtlAddZCT__system_5343)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1456 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5294)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1457 N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
1458 N_LIB_PRIVATE N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg, aliasesCached__injectdestructors_121)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* cache, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field);
1459 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__injectdestructors_174)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key);
1460 static N_INLINE(NI, rawGet__injectdestructors_181)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key, NI* hc);
1461 N_LIB_PRIVATE N_NIMCALL(NI, hash__injectdestructors_188)(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ x);
1462 static N_INLINE(NI, emarkamp___pureZhashes_3)(NI h, NI val);
1463 N_LIB_PRIVATE N_NIMCALL(NI, hash__injectdestructors_118)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1464 static N_INLINE(NI, hash__pureZhashes_124)(void* x);
1465 static N_INLINE(NI, hash__pureZhashes_128)(NI x);
1466 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x);
1467 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b);
1468 static N_INLINE(NI, emarkdollar___pureZhashes_18)(NI h);
1469 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode);
1470 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___injectdestructors_430)(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ x, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ y);
1471 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash);
1472 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___injectdestructors_509)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key, tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg val);
1473 static N_INLINE(NIM_BOOL, mustRehash__injectdestructors_708)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g t);
1474 N_LIB_PRIVATE N_NIMCALL(void, enlarge__injectdestructors_894)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* t);
1475 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__injectdestructors_1229)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* t, tySequence__sh9b9afdJBB3bJbViXY7yNAg** data, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key, tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg val, NI hc, NI h);
1476 static N_INLINE(NI, rawGetKnownHC__injectdestructors_1410)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key, NI hc);
1477 N_LIB_PRIVATE N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg, aliases__dfa_792)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field);
1478 N_LIB_PRIVATE N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg*, X5BX5D___injectdestructors_1731)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key);
1479 N_LIB_PRIVATE N_NOINLINE(void, raiseKeyError__injectdestructors_1802)(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key) __attribute__((noreturn));
1480 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
1481 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
1482 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
1483 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___injectdestructors_1854)(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ x);
1484 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
1485 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
1486 N_LIB_PRIVATE N_NIMCALL(void, addQuoted__injectdestructors_1880)(NimStringDesc** s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x);
1487 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___renderer_2106)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1488 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
1489 N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
1490 N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_55)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
1491 N_LIB_PRIVATE N_NIMCALL(void, excl__reorder_264)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
1492 N_LIB_PRIVATE N_NIMCALL(void, commenteq___ast_1361)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NimStringDesc* a);
1493 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
1494 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
1495 N_LIB_PRIVATE N_NIMCALL(NI, len__injectdestructors_2169)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ s);
1496 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZsets_38)(NI hcode);
1497 N_LIB_PRIVATE N_NIMCALL(void, incl__injectdestructors_2395)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key);
1498 static N_INLINE(NI, slotsNeeded__pureZcollectionsZsets_49)(NI count);
1499 static N_INLINE(NI, rawGet__injectdestructors_2482)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI* hc);
1500 static N_INLINE(NI, nextTry__pureZcollectionsZsets_41)(NI h, NI maxHash);
1501 static N_INLINE(NIM_BOOL, mustRehash__injectdestructors_2730)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ t);
1502 N_LIB_PRIVATE N_NIMCALL(void, enlarge__injectdestructors_2922)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ* s);
1503 static N_INLINE(NI, rawGetKnownHC__injectdestructors_3173)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI hc);
1504 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__injectdestructors_3539)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ* s, tySequence__Y6pVop4P8VSwSorRqc2aQA** data, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI hc, NI h);
1505 N_LIB_PRIVATE N_NIMCALL(void, mergeStates__injectdestructors_1944)(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw** a, tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* b);
1506 N_LIB_PRIVATE N_NIMCALL(void, incl__importer_1492)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* other);
1507 N_LIB_PRIVATE N_NIMCALL(void, excl__injectdestructors_2012)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* other);
1508 N_LIB_PRIVATE N_NIMCALL(void, incl__injectdestructors_2107)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ* s, tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ other);
1509 static N_INLINE(void, minus___sem_4040)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
1510 N_LIB_PRIVATE N_NIMCALL(void, difference__sem_4045)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
1511 N_LIB_PRIVATE N_NIMCALL(void, genericShallowAssign)(void* dest, void* src, TNimType* mt);
1512 static N_INLINE(void, plus___injectdestructors_4122)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
1513 N_LIB_PRIVATE N_NIMCALL(void, union__injectdestructors_4127)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
1514 N_LIB_PRIVATE N_NIMCALL(void, assign__types_3929)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* dest, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* src);
1515 static N_INLINE(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw**, X5BX5D___injectdestructors_4096)(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw** s, NI sLen_0, NI i);
1516 N_LIB_PRIVATE N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g**, mgetOrPut__injectdestructors_4249)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, tySequence__qwqHTkRvwhrRyENtudHQ7g* val);
1517 static N_NIMCALL(void, Marker_tySequence__JGK6WZYU2JHWLoPdKRO4AQ)(void* p, NI op);
1518 static N_INLINE(NI, rawGet__injectdestructors_4322)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI* hc);
1519 static N_INLINE(NIM_BOOL, mustRehash__injectdestructors_4652)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ t);
1520 N_LIB_PRIVATE N_NIMCALL(void, enlarge__injectdestructors_4838)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ* t);
1521 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__injectdestructors_5169)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ* t, tySequence__JGK6WZYU2JHWLoPdKRO4AQ** data, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, tySequence__qwqHTkRvwhrRyENtudHQ7g* val, NI hc, NI h);
1522 static N_INLINE(NI, rawGetKnownHC__injectdestructors_5350)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI hc);
1523 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
1524 N_LIB_PRIVATE N_NIMCALL(NI, len__injectdestructors_5743)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ t);
1525 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__astalgo_3496)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
1526 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, p__injectdestructors_105)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw mode);
1527 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1528 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyNode__ast_4336)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1529 N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
1530 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1531 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, shallowCopy__ast_4413)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1532 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyTree__ast_4431)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1533 N_LIB_PRIVATE N_NIMCALL(void, nestedScope__injectdestructors_72)(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* parent, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* Result);
1534 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, processScope__injectdestructors_7016)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ret);
1535 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3356)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1536 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTree__ast_3392)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** children, NI childrenLen_0);
1537 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3716)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1538 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTryFinally__lowerings_202)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* final);
1539 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getTemp__injectdestructors_61)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1540 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newSym__ast_3445)(tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw symKind, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options);
1541 N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*, getIdent__idents_143)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* ic, NimStringDesc* identifier);
1542 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1543 static N_INLINE(NIM_BOOL, hasDestructor__injectdestructors_49)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1544 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genDestroy__injectdestructors_6527)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest);
1545 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
1546 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genOp__injectdestructors_6430)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri);
1547 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getAttachedOp__modulegraphs_4011)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op);
1548 static N_INLINE(NIM_BOOL, isGenericRoutine__ast_4627)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1549 static N_INLINE(NIM_BOOL, isGenericParams__ast_4616)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1550 N_LIB_PRIVATE N_NIMCALL(void, hashType__sighashes_462)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_ConsiderFlag__9a9az8WnKmq9bvt8EXoSUES7g flags, tyArray__qtqsWM5aXmcpMIVmvq3kAA Result);
1551 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getOrDefault__liftdestructors_976)(tyObject_Table__Ue6w4c82v7gc7t2qntTbAw t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key);
1552 N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_1118)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw eh, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2, NIM_BOOL isRaw);
1553 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, typeToString__types_50)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
1554 N_LIB_PRIVATE N_NIMCALL(void, checkForErrorPragma__injectdestructors_6380)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NimStringDesc* opname);
1555 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
1556 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
1557 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
1558 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderTree__renderer_46)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags);
1559 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
1560 static N_INLINE(NIM_BOOL, startsWith__pureZstrutils_1246)(NimStringDesc* s, NIM_CHAR prefix);
1561 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, comment__ast_993)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1562 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___msgs_624)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1563 N_LIB_PRIVATE N_NIMCALL(NI, nsuParseInt)(NimStringDesc* s);
1564 static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_3215)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x);
1565 N_NIMCALL(NimStringDesc*, mnewString)(NI len);
1566 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZenumutils_80)(NI a, NI b);
1567 static N_INLINE(NIM_BOOL, isSinkType__ast_5045)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1568 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genOp__injectdestructors_6420)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest);
1569 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeIT__ast_3378)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1570 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makePtrType__injectdestructors_6416)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType);
1571 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newType__ast_3896)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1572 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1573 N_LIB_PRIVATE N_NIMCALL(void, addSonSkipIntLit__magicsys_136)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id);
1574 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, moveOrCopy__injectdestructors_110)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, NIM_BOOL isDecl);
1575 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameLocation__injectdestructors_8432)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1576 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameConstant__injectdestructors_8436)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1577 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCursor__injectdestructors_6369)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1578 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genSink__injectdestructors_6564)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NIM_BOOL isDecl);
1579 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isAnalysableFieldAccess__dfa_903)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1580 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isFirstWrite__injectdestructors_6120)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c);
1581 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConvDfa__dfa_780)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1582 static N_INLINE(NIM_BOOL, isNoInit__injectdestructors_6553)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest);
1583 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLastRead__injectdestructors_6103)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c);
1584 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genWasMoved__injectdestructors_6739)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1585 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, createMagic__modulegraphs_9008)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, NimStringDesc* name, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m);
1586 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, destructiveMoveVar__injectdestructors_6760)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s);
1587 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3360)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NI children);
1588 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConv__types_3597)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1589 N_LIB_PRIVATE N_NIMCALL(void, genMarkCyclic__injectdestructors_6612)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest);
1590 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cyclicType__liftdestructors_1366)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1591 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, callCodegenProc__lowerings_635)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NimStringDesc* name, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg1, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg2, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg3, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* optionalArgs);
1592 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genBuiltin__liftdestructors_113)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic, NimStringDesc* name, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* i);
1593 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getSysType__magicsys_60)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind);
1594 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genCopy__injectdestructors_6647)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri);
1595 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genCopyNoCheck__injectdestructors_6634)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri);
1596 N_LIB_PRIVATE N_NIMCALL(void, finishCopy__injectdestructors_6598)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, NIM_BOOL isFromSink);
1597 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, boolLit__liftdestructors_427)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NIM_BOOL value);
1598 static N_INLINE(NIM_BOOL, isCriticalLink__injectdestructors_6591)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest);
1599 static N_INLINE(NIM_BOOL, isDangerousSeq__injectdestructors_6847)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1600 static N_INLINE(NIM_BOOL, isSinkParam__ast_5030)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1601 static N_INLINE(NIM_BOOL, canBeMoved__injectdestructors_6532)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1602 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, pRaiseStmt__injectdestructors_7126)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s);
1603 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1604 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsConstSeq__injectdestructors_6860)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1605 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1606 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, passCopyToSink__injectdestructors_6805)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s);
1607 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLValue__parampatterns_497)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1608 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCapturedVar__injectdestructors_6797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1609 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getRoot__trees_390)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1610 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
1611 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookupFieldAgain__types_4062)(tyObject_TType__facALICuu8zUj0hjvbTLFg* ty, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field);
1612 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, ensureDestruction__injectdestructors_6885)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s);
1613 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1614 static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_3528)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1615 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isSinkTypeForParam__types_4055)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1616 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canRaise__ast_5088)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fn);
1617 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lowerTupleUnpacking__lowerings_116)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1618 N_LIB_PRIVATE N_NIMCALL(void, pVarTopLevel__injectdestructors_6967)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* res);
1619 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genDefaultCall__injectdestructors_6751)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1620 N_LIB_PRIVATE N_NIMCALL(void, cycleCheck__injectdestructors_6908)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c);
1621 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, exprStructuralEquivalent__trees_56)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, NIM_BOOL strictSymEquality);
1622 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
1623 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDiscriminantField__astalgo_4335)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1624 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genDiscriminantAsgn__injectdestructors_6668)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1625 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, produceDestructorForDiscriminator__liftdestructors_2002)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1626 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getMagicEqSymForType__magicsys_171)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1627 N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1431)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
1628 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
1629 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, optimize__optimizer_390)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1630 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsthasKey)(tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* t, NimStringDesc* key);
1631 N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0);
1632 N_LIB_PRIVATE TNimType NTIkeyvaluepair__YXXBMUJBtW9corlxevWVfYQ_;
1633 extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
1634 extern TNimType NTItupleLa58pnode_b58pnodeT__EFqgCXJ4d8PgqOdFJmldsQ_;
1635 extern TNimType NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_;
1636 N_LIB_PRIVATE TNimType NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_;
1637 extern TNimType NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_;
1638 N_LIB_PRIVATE TNimType NTIstate58objecttype__G9bbCRpuemWPWC66CPVRKyw_;
1639 extern TNimType NTIpackedset__IhxwDBRi51nGrosBGFKcsA_;
1640 N_LIB_PRIVATE TNimType NTIhashset__YByQS2i9cOlUupxNMscAMwQ_;
1641 N_LIB_PRIVATE TNimType NTIkeyvaluepair__TeyVVRby9bj1JQeNMm9aeI2w_;
1642 extern TNimType NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_;
1643 N_LIB_PRIVATE TNimType NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_;
1644 N_LIB_PRIVATE TNimType NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_;
1645 N_LIB_PRIVATE TNimType NTIseqLstateT__mFtVDW3p7w6wfPPNodKzsA_;
1646 extern TNimType NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_;
1647 extern TNimType NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_;
1648 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_6, "key not found: ", 15);
1649 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_7, "(", 1);
1650 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_8, ", ", 2);
1651 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_9, "nil", 3);
1652 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_10, ",", 1);
1653 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_11, ")", 1);
1654 N_LIB_PRIVATE TNimType NTIkeyvaluepair__jCPpzNasrXtz9cFJFxT1NHQ_;
1655 extern TNimType NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_;
1656 N_LIB_PRIVATE TNimType NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_;
1657 static NIM_CONST tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw TM__dJ4qrEWDmqGA8FWJ0TYKJQ_13 = {
1658 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
1659 0x00, 0x00, 0x00, 0xb0, 0x03, 0x04, 0x09, 0xc0,
1660 0x00, 0x00, 0x00, 0x00, 0x00}
1661 ;
1662 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_14, ":tmpD", 5);
1663 extern TNimType NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_;
1664 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__dJ4qrEWDmqGA8FWJ0TYKJQ_15 = {
1665 0x10, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
1666 0x00}
1667 ;
1668 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_16, "internal error: \'", 17);
1669 extern NIM_CONST tyArray__JXkBzVsE9bvmcpuZvrueLVg AttachedOpToStr__ast_3848;
1670 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_17, "\' operator not found for type ", 30);
1671 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19, "/home/runner/work/nightlies/nightlies/nim/compiler/injectdestructors.nim", 72);
1672 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_18 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1673 ((NI) 284),
1674 ((NI) 15)}
1675 ;
1676 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_20, "\' operator is generic", 21);
1677 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_21 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1678 ((NI) 287),
1679 ((NI) 15)}
1680 ;
1681 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_22, "\'", 1);
1682 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_23, "\' is not available for type <", 29);
1683 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_24, ">", 1);
1684 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_25, "=", 1);
1685 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_26, "=copy", 5);
1686 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_27, "; requires a copy because it\'s not the last read of \'", 53);
1687 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_28, "; another read is done here: ", 29);
1688 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_29, "; try to make ", 14);
1689 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_30, " a \'sink\' parameter", 19);
1690 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_31, "; routine: ", 11);
1691 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_32 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1692 ((NI) 263),
1693 ((NI) 12)}
1694 ;
1695 extern TNimType NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
1696 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_33, "wasMoved", 8);
1697 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_34, "blitTmp", 7);
1698 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__dJ4qrEWDmqGA8FWJ0TYKJQ_35 = {
1699 0x10, 0x28, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
1700 0x00}
1701 ;
1702 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_36, "nimMarkCyclic", 13);
1703 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_37, "accessEnv", 9);
1704 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__dJ4qrEWDmqGA8FWJ0TYKJQ_38 = {
1705 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
1706 0x00}
1707 ;
1708 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_39, "passing \'$1\' to a sink parameter introduces an implicit copy; if possible, rearrange your program\'s control flow to prevent it", 126);
1709 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_40 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1710 ((NI) 462),
1711 ((NI) 13)}
1712 ;
1713 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_41, "cannot create an implicit openArray copy to be passed to a sink parameter", 73);
1714 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_42 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1715 ((NI) 469),
1716 ((NI) 16)}
1717 ;
1718 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__dJ4qrEWDmqGA8FWJ0TYKJQ_43 = {
1719 0x10, 0xa9, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00,
1720 0x00}
1721 ;
1722 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_44, "default", 7);
1723 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_45, "\'$#\' creates an uncollectable ref cycle; annotate \'$#\' with .cursor", 67);
1724 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_46, "\'$#\' creates an uncollectable ref cycle", 39);
1725 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_47 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1726 ((NI) 535),
1727 ((NI) 13)}
1728 ;
1729 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_48, "Assignment to discriminant for objects with user defined destructor is not supported, object must have default destructor.\012It is best to factor out piece of object that needs custom destructor into separate object or not use discriminator assignment", 249);
1730 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_49 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1731 ((NI) 393),
1732 ((NI) 16)}
1733 ;
1734 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
1735 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_50, "not", 3);
1736 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_51, "nkWhileStmt should have been handled earlier", 44);
1737 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_52 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1738 ((NI) 906),
1739 ((NI) 19)}
1740 ;
1741 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_53, "cannot inject destructors to node kind: ", 40);
1742 extern TNimType NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_;
1743 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_54 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1744 ((NI) 993),
1745 ((NI) 19)}
1746 ;
1747 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__dJ4qrEWDmqGA8FWJ0TYKJQ_55 = {
1748 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
1749 0x00}
1750 ;
1751 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_56, "--expandArc: ", 13);
1752 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_58, "-- end of expandArc ------------------------", 44);
1753 static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__dJ4qrEWDmqGA8FWJ0TYKJQ_57 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_58)}
1754 ;
1755 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5247;
N_INLINE(NIM_BOOL,isInlineIterator__ast_4989)1756 static N_INLINE(NIM_BOOL, isInlineIterator__ast_4989)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
1757 NIM_BOOL result;
1758 NIM_BOOL T1_;
1759 NIM_BOOL T2_;
1760 result = (NIM_BOOL)0;
1761 T1_ = (NIM_BOOL)0;
1762 T2_ = (NIM_BOOL)0;
1763 T2_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
1764 if (!(T2_)) goto LA3_;
1765 T2_ = (((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15))&63U)))!=0);
1766 LA3_: ;
1767 T1_ = T2_;
1768 if (!(T1_)) goto LA4_;
1769 T1_ = !(((*typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)));
1770 LA4_: ;
1771 result = T1_;
1772 return result;
1773 }
N_INLINE(void,nimSetMem__systemZmemory_7)1774 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
1775 void* T1_;
1776 T1_ = (void*)0;
1777 T1_ = memset(a, v, ((size_t) (size)));
1778 }
N_INLINE(void,nimZeroMem)1779 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
1780 nimSetMem__systemZmemory_7(p, ((int) 0), size);
1781 }
N_INLINE(NI,slotsNeeded__pureZcollectionsZtables_42)1782 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count) {
1783 NI result;
1784 result = (NI)0;
1785 result = nextPowerOfTwo__pureZmath_176((NI)((NI)((NI)(((NI) (count)) * ((NI) 3)) / ((NI) 2)) + ((NI) 4)));
1786 return result;
1787 }
N_NIMCALL(void,Marker_tySequence__sh9b9afdJBB3bJbViXY7yNAg)1788 static N_NIMCALL(void, Marker_tySequence__sh9b9afdJBB3bJbViXY7yNAg)(void* p, NI op) {
1789 tySequence__sh9b9afdJBB3bJbViXY7yNAg* a;
1790 NI T1_;
1791 a = (tySequence__sh9b9afdJBB3bJbViXY7yNAg*)p;
1792 T1_ = (NI)0;
1793 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
1794 nimGCvisit((void*)a->data[T1_].Field1.Field0, op);
1795 nimGCvisit((void*)a->data[T1_].Field1.Field1, op);
1796 }
1797 }
N_NIMCALL(void,initTable__injectdestructors_3782)1798 N_LIB_PRIVATE N_NIMCALL(void, initTable__injectdestructors_3782)(NI initialSize, tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* Result) {
1799 NI correctSizeX60gensym33_;
1800 unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
1801 (*Result).counter = 0;
1802 correctSizeX60gensym33_ = slotsNeeded__pureZcollectionsZtables_42(((NI) (initialSize)));
1803 (*Result).counter = ((NI) 0);
1804 unsureAsgnRef((void**) (&(*Result).data), (tySequence__sh9b9afdJBB3bJbViXY7yNAg*) newSeq((&NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_), ((NI) (correctSizeX60gensym33_))));
1805 }
N_NIMCALL(void,preprocessCfg__injectdestructors_1924)1806 N_LIB_PRIVATE N_NIMCALL(void, preprocessCfg__injectdestructors_1924)(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ** cfg) {
1807 {
1808 NI i;
1809 NI colontmp_;
1810 NI T2_;
1811 NI i_2;
1812 i = (NI)0;
1813 colontmp_ = (NI)0;
1814 T2_ = ((*cfg) ? (*cfg)->Sup.len : 0);
1815 colontmp_ = T2_;
1816 i_2 = ((NI) 0);
1817 {
1818 while (1) {
1819 if (!(i_2 < colontmp_)) goto LA4;
1820 i = i_2;
1821 {
1822 NIM_BOOL T7_;
1823 NI T9_;
1824 NI T12_;
1825 T7_ = (NIM_BOOL)0;
1826 T7_ = ((3 &((NU8)1<<((NU)((*cfg)->data[i].kind)&7U)))!=0);
1827 if (!(T7_)) goto LA8_;
1828 T9_ = ((*cfg) ? (*cfg)->Sup.len : 0);
1829 T7_ = (T9_ < (NI)(i + (*cfg)->data[i].dest));
1830 LA8_: ;
1831 if (!T7_) goto LA10_;
1832 T12_ = ((*cfg) ? (*cfg)->Sup.len : 0);
1833 (*cfg)->data[i].dest = (NI)(T12_ - i);
1834 }
1835 LA10_: ;
1836 i_2 += ((NI) 1);
1837 } LA4: ;
1838 }
1839 }
1840 }
N_NIMCALL(void,Marker_tySequence__Y6pVop4P8VSwSorRqc2aQA)1841 static N_NIMCALL(void, Marker_tySequence__Y6pVop4P8VSwSorRqc2aQA)(void* p, NI op) {
1842 tySequence__Y6pVop4P8VSwSorRqc2aQA* a;
1843 NI T1_;
1844 a = (tySequence__Y6pVop4P8VSwSorRqc2aQA*)p;
1845 T1_ = (NI)0;
1846 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
1847 nimGCvisit((void*)a->data[T1_].Field1, op);
1848 }
1849 }
N_NIMCALL(void,Marker_tyRef__xMu9aauGSW9bIwiWptXaXX0Q)1850 static N_NIMCALL(void, Marker_tyRef__xMu9aauGSW9bIwiWptXaXX0Q)(void* p, NI op) {
1851 tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* a;
1852 NI T1_;
1853 NI T2_;
1854 NI T3_;
1855 a = (tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw*)p;
1856 nimGCvisit((void*)(*a).lastReads.head, op);
1857 nimGCvisit((void*)(*a).lastReads.data, op);
1858 T1_ = (NI)0;
1859 nimGCvisit((void*)(*a).potentialLastReads.head, op);
1860 nimGCvisit((void*)(*a).potentialLastReads.data, op);
1861 T2_ = (NI)0;
1862 nimGCvisit((void*)(*a).notLastReads.head, op);
1863 nimGCvisit((void*)(*a).notLastReads.data, op);
1864 T3_ = (NI)0;
1865 nimGCvisit((void*)(*a).alreadySeen.data, op);
1866 }
N_NIMCALL(void,Marker_tySequence__mFtVDW3p7w6wfPPNodKzsA)1867 static N_NIMCALL(void, Marker_tySequence__mFtVDW3p7w6wfPPNodKzsA)(void* p, NI op) {
1868 tySequence__mFtVDW3p7w6wfPPNodKzsA* a;
1869 NI T1_;
1870 a = (tySequence__mFtVDW3p7w6wfPPNodKzsA*)p;
1871 T1_ = (NI)0;
1872 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
1873 nimGCvisit((void*)a->data[T1_], op);
1874 }
1875 }
N_NIMCALL(tySequence__mFtVDW3p7w6wfPPNodKzsA *,newSeq__injectdestructors_3802)1876 N_LIB_PRIVATE N_NIMCALL(tySequence__mFtVDW3p7w6wfPPNodKzsA*, newSeq__injectdestructors_3802)(NI len) {
1877 tySequence__mFtVDW3p7w6wfPPNodKzsA* result;
1878 result = NIM_NIL;
1879 result = (tySequence__mFtVDW3p7w6wfPPNodKzsA*) newSeq((&NTIseqLstateT__mFtVDW3p7w6wfPPNodKzsA_), len);
1880 return result;
1881 }
N_INLINE(NI,pluspercent___system_696)1882 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
1883 NI result;
1884 result = (NI)0;
1885 result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
1886 return result;
1887 }
N_INLINE(void,incRef__system_5338)1888 static N_INLINE(void, incRef__system_5338)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1889 (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
1890 }
N_INLINE(NI,minuspercent___system_716)1891 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
1892 NI result;
1893 result = (NI)0;
1894 result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
1895 return result;
1896 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5300)1897 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5300)(void* usr) {
1898 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
1899 NI T1_;
1900 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1901 T1_ = (NI)0;
1902 T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
1903 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
1904 return result;
1905 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)1906 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
1907 NIM_BOOL result;
1908 result = (NIM_BOOL)0;
1909 result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
1910 return result;
1911 }
N_INLINE(void,rtlAddZCT__system_5343)1912 static N_INLINE(void, rtlAddZCT__system_5343)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1913 addZCT__system_5294((&gch__system_5247.zct), c);
1914 }
N_INLINE(void,decRef__system_5345)1915 static N_INLINE(void, decRef__system_5345)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1916 (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
1917 {
1918 NIM_BOOL T3_;
1919 T3_ = (NIM_BOOL)0;
1920 T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
1921 if (!T3_) goto LA4_;
1922 rtlAddZCT__system_5343(c);
1923 }
1924 LA4_: ;
1925 }
N_INLINE(void,asgnRef)1926 static N_INLINE(void, asgnRef)(void** dest, void* src) {
1927 {
1928 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
1929 if (!!((src == NIM_NIL))) goto LA3_;
1930 T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1931 T5_ = usrToCell__system_5300(src);
1932 incRef__system_5338(T5_);
1933 }
1934 LA3_: ;
1935 {
1936 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
1937 if (!!(((*dest) == NIM_NIL))) goto LA8_;
1938 T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1939 T10_ = usrToCell__system_5300((*dest));
1940 decRef__system_5345(T10_);
1941 }
1942 LA8_: ;
1943 (*dest) = src;
1944 }
N_INLINE(NI,emarkamp___pureZhashes_3)1945 static N_INLINE(NI, emarkamp___pureZhashes_3)(NI h, NI val) {
1946 NI result;
1947 NU h_2;
1948 NU val_2;
1949 NU res;
1950 result = (NI)0;
1951 h_2 = ((NU) (h));
1952 val_2 = ((NU) (val));
1953 res = (NU)((NU64)(h_2) + (NU64)(val_2));
1954 res = (NU)((NU64)(res) + (NU64)((NU)((NU64)(res) << (NU64)(((NI) 10)))));
1955 res = (NU)(res ^ (NU)((NU64)(res) >> (NU64)(((NI) 6))));
1956 result = ((NI) (res));
1957 return result;
1958 }
N_INLINE(NU64,hiXorLo__pureZhashes_79)1959 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b) {
1960 NU64 result;
1961 result = (NU64)0;
1962 __uint128_t r = a; r *= b; result = (r >> 64) ^ r;
1963 return result;
1964 }
N_INLINE(NI,hashWangYi1__pureZhashes_136)1965 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x) {
1966 NI result;
1967 NU64 T1_;
1968 NU64 T2_;
1969 result = (NI)0;
1970 T1_ = (NU64)0;
1971 T1_ = hiXorLo__pureZhashes_79(11562461410679940143ULL, (NU64)(x ^ 16646288086500911323ULL));
1972 T2_ = (NU64)0;
1973 T2_ = hiXorLo__pureZhashes_79(T1_, 16952864883938283885ULL);
1974 result = ((NI) (T2_));
1975 return result;
1976 }
N_INLINE(NI,hash__pureZhashes_128)1977 static N_INLINE(NI, hash__pureZhashes_128)(NI x) {
1978 NI result;
1979 result = (NI)0;
1980 result = hashWangYi1__pureZhashes_136(((NU64) (x)));
1981 return result;
1982 }
N_INLINE(NI,hash__pureZhashes_124)1983 static N_INLINE(NI, hash__pureZhashes_124)(void* x) {
1984 NI result;
1985 NI y;
1986 result = (NI)0;
1987 y = ((NI) (ptrdiff_t) (x));
1988 result = hash__pureZhashes_128(y);
1989 return result;
1990 }
N_NIMCALL(NI,hash__injectdestructors_118)1991 N_LIB_PRIVATE N_NIMCALL(NI, hash__injectdestructors_118)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1992 NI result;
1993 result = (NI)0;
1994 result = hash__pureZhashes_124(((void*) (n)));
1995 return result;
1996 }
N_INLINE(NI,emarkdollar___pureZhashes_18)1997 static N_INLINE(NI, emarkdollar___pureZhashes_18)(NI h) {
1998 NI result;
1999 NU h_2;
2000 NU res;
2001 result = (NI)0;
2002 h_2 = ((NU) (h));
2003 res = (NU)((NU64)(h_2) + (NU64)((NU)((NU64)(h_2) << (NU64)(((NI) 3)))));
2004 res = (NU)(res ^ (NU)((NU64)(res) >> (NU64)(((NI) 11))));
2005 res = (NU)((NU64)(res) + (NU64)((NU)((NU64)(res) << (NU64)(((NI) 15)))));
2006 result = ((NI) (res));
2007 return result;
2008 }
N_NIMCALL(NI,hash__injectdestructors_188)2009 N_LIB_PRIVATE N_NIMCALL(NI, hash__injectdestructors_188)(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ x) {
2010 NI result;
2011 NI T1_;
2012 NI T2_;
2013 result = (NI)0;
2014 T1_ = (NI)0;
2015 T1_ = hash__injectdestructors_118(x.Field0);
2016 result = emarkamp___pureZhashes_3(result, T1_);
2017 T2_ = (NI)0;
2018 T2_ = hash__injectdestructors_118(x.Field1);
2019 result = emarkamp___pureZhashes_3(result, T2_);
2020 result = emarkdollar___pureZhashes_18(result);
2021 return result;
2022 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZtables_31)2023 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) {
2024 NIM_BOOL result;
2025 result = (NIM_BOOL)0;
2026 result = !((hcode == ((NI) 0)));
2027 return result;
2028 }
N_NIMCALL(NIM_BOOL,eqeq___injectdestructors_430)2029 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___injectdestructors_430)(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ x, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ y) {
2030 NIM_BOOL result;
2031 { result = (NIM_BOOL)0;
2032 {
2033 if (!!((x.Field0 == y.Field0))) goto LA3_;
2034 result = NIM_FALSE;
2035 goto BeforeRet_;
2036 }
2037 LA3_: ;
2038 {
2039 if (!!((x.Field1 == y.Field1))) goto LA7_;
2040 result = NIM_FALSE;
2041 goto BeforeRet_;
2042 }
2043 LA7_: ;
2044 result = NIM_TRUE;
2045 goto BeforeRet_;
2046 }BeforeRet_: ;
2047 return result;
2048 }
N_INLINE(NI,nextTry__pureZcollectionsZtables_34)2049 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash) {
2050 NI result;
2051 result = (NI)0;
2052 result = (NI)((NI)(h + ((NI) 1)) & maxHash);
2053 return result;
2054 }
N_INLINE(NI,rawGet__injectdestructors_181)2055 static N_INLINE(NI, rawGet__injectdestructors_181)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key, NI* hc) {
2056 NI result;
2057 NI h;
2058 NI T10_;
2059 { result = (NI)0;
2060 (*hc) = hash__injectdestructors_188(key);
2061 {
2062 if (!((*hc) == ((NI) 0))) goto LA3_;
2063 (*hc) = ((NI) 314159265);
2064 }
2065 LA3_: ;
2066 {
2067 NI T7_;
2068 T7_ = (t.data ? t.data->Sup.len : 0);
2069 if (!(T7_ == ((NI) 0))) goto LA8_;
2070 result = ((NI) -1);
2071 goto BeforeRet_;
2072 }
2073 LA8_: ;
2074 T10_ = ((t.data ? t.data->Sup.len : 0)-1);
2075 h = (NI)((*hc) & T10_);
2076 {
2077 while (1) {
2078 NIM_BOOL T13_;
2079 NI T20_;
2080 T13_ = (NIM_BOOL)0;
2081 T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
2082 if (!T13_) goto LA12;
2083 {
2084 NIM_BOOL T16_;
2085 T16_ = (NIM_BOOL)0;
2086 T16_ = (t.data->data[h].Field0 == (*hc));
2087 if (!(T16_)) goto LA17_;
2088 T16_ = eqeq___injectdestructors_430(t.data->data[h].Field1, key);
2089 LA17_: ;
2090 if (!T16_) goto LA18_;
2091 result = h;
2092 goto BeforeRet_;
2093 }
2094 LA18_: ;
2095 T20_ = ((t.data ? t.data->Sup.len : 0)-1);
2096 h = nextTry__pureZcollectionsZtables_34(h, T20_);
2097 } LA12: ;
2098 }
2099 result = (NI)(((NI) -1) - h);
2100 }BeforeRet_: ;
2101 return result;
2102 }
N_NIMCALL(NIM_BOOL,hasKey__injectdestructors_174)2103 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__injectdestructors_174)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key) {
2104 NIM_BOOL result;
2105 NI hc;
2106 NI T1_;
2107 result = (NIM_BOOL)0;
2108 hc = (NI)0;
2109 T1_ = (NI)0;
2110 T1_ = rawGet__injectdestructors_181(t, key, (&hc));
2111 result = (((NI) 0) <= T1_);
2112 return result;
2113 }
N_INLINE(NIM_BOOL,mustRehash__injectdestructors_708)2114 static N_INLINE(NIM_BOOL, mustRehash__injectdestructors_708)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g t) {
2115 NIM_BOOL result;
2116 NIM_BOOL T1_;
2117 NI T2_;
2118 NI T4_;
2119 result = (NIM_BOOL)0;
2120 T1_ = (NIM_BOOL)0;
2121 T2_ = (t.data ? t.data->Sup.len : 0);
2122 T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
2123 if (T1_) goto LA3_;
2124 T4_ = (t.data ? t.data->Sup.len : 0);
2125 T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
2126 LA3_: ;
2127 result = T1_;
2128 return result;
2129 }
N_NIMCALL(void,rawInsert__injectdestructors_1229)2130 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__injectdestructors_1229)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* t, tySequence__sh9b9afdJBB3bJbViXY7yNAg** data, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key, tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg val, NI hc, NI h) {
2131 asgnRef((void**) (&(*data)->data[h].Field1.Field0), key.Field0);
2132 asgnRef((void**) (&(*data)->data[h].Field1.Field1), key.Field1);
2133 (*data)->data[h].Field2 = val;
2134 (*data)->data[h].Field0 = hc;
2135 }
N_NIMCALL(void,enlarge__injectdestructors_894)2136 N_LIB_PRIVATE N_NIMCALL(void, enlarge__injectdestructors_894)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* t) {
2137 tySequence__sh9b9afdJBB3bJbViXY7yNAg* n;
2138 NI T1_;
2139 tySequence__sh9b9afdJBB3bJbViXY7yNAg* T2_;
2140 n = NIM_NIL;
2141 T1_ = ((*t).data ? (*t).data->Sup.len : 0);
2142 n = (tySequence__sh9b9afdJBB3bJbViXY7yNAg*) newSeq((&NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_), ((NI) ((NI)(T1_ * ((NI) 2)))));
2143 T2_ = NIM_NIL;
2144 T2_ = (*t).data;
2145 unsureAsgnRef((void**) (&(*t).data), n);
2146 n = T2_;
2147 {
2148 NI i;
2149 NI colontmp_;
2150 NI T4_;
2151 NI res;
2152 i = (NI)0;
2153 colontmp_ = (NI)0;
2154 T4_ = ((n ? n->Sup.len : 0)-1);
2155 colontmp_ = T4_;
2156 res = ((NI) 0);
2157 {
2158 while (1) {
2159 NI eh;
2160 if (!(res <= colontmp_)) goto LA6;
2161 i = res;
2162 eh = n->data[i].Field0;
2163 {
2164 NIM_BOOL T9_;
2165 NI j;
2166 NI T12_;
2167 tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T17_;
2168 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T18_;
2169 T9_ = (NIM_BOOL)0;
2170 T9_ = isFilled__pureZcollectionsZtables_31(eh);
2171 if (!T9_) goto LA10_;
2172 T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
2173 j = (NI)(eh & T12_);
2174 {
2175 while (1) {
2176 NIM_BOOL T15_;
2177 NI T16_;
2178 T15_ = (NIM_BOOL)0;
2179 T15_ = isFilled__pureZcollectionsZtables_31((*t).data->data[j].Field0);
2180 if (!T15_) goto LA14;
2181 T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
2182 j = nextTry__pureZcollectionsZtables_34(j, T16_);
2183 } LA14: ;
2184 }
2185 nimZeroMem((void*)(&T17_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2186 T17_.Field0 = n->data[i].Field1.Field0;
2187 T17_.Field1 = n->data[i].Field1.Field1;
2188 unsureAsgnRef((void**)&n->data[i].Field1.Field0, NIM_NIL);
2189 unsureAsgnRef((void**)&n->data[i].Field1.Field1, NIM_NIL);
2190 T18_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
2191 T18_ = n->data[i].Field2;
2192 n->data[i].Field2 = 0;
2193 rawInsert__injectdestructors_1229(t, (&(*t).data), T17_, T18_, eh, j);
2194 }
2195 LA10_: ;
2196 res += ((NI) 1);
2197 } LA6: ;
2198 }
2199 }
2200 }
N_INLINE(NI,rawGetKnownHC__injectdestructors_1410)2201 static N_INLINE(NI, rawGetKnownHC__injectdestructors_1410)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key, NI hc) {
2202 NI result;
2203 NI h;
2204 NI T6_;
2205 { result = (NI)0;
2206 {
2207 NI T3_;
2208 T3_ = (t.data ? t.data->Sup.len : 0);
2209 if (!(T3_ == ((NI) 0))) goto LA4_;
2210 result = ((NI) -1);
2211 goto BeforeRet_;
2212 }
2213 LA4_: ;
2214 T6_ = ((t.data ? t.data->Sup.len : 0)-1);
2215 h = (NI)(hc & T6_);
2216 {
2217 while (1) {
2218 NIM_BOOL T9_;
2219 NI T16_;
2220 T9_ = (NIM_BOOL)0;
2221 T9_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
2222 if (!T9_) goto LA8;
2223 {
2224 NIM_BOOL T12_;
2225 T12_ = (NIM_BOOL)0;
2226 T12_ = (t.data->data[h].Field0 == hc);
2227 if (!(T12_)) goto LA13_;
2228 T12_ = eqeq___injectdestructors_430(t.data->data[h].Field1, key);
2229 LA13_: ;
2230 if (!T12_) goto LA14_;
2231 result = h;
2232 goto BeforeRet_;
2233 }
2234 LA14_: ;
2235 T16_ = ((t.data ? t.data->Sup.len : 0)-1);
2236 h = nextTry__pureZcollectionsZtables_34(h, T16_);
2237 } LA8: ;
2238 }
2239 result = (NI)(((NI) -1) - h);
2240 }BeforeRet_: ;
2241 return result;
2242 }
N_NIMCALL(void,X5BX5Deq___injectdestructors_509)2243 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___injectdestructors_509)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key, tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg val) {
2244 NI hc;
2245 NI index;
2246 {
2247 NI T3_;
2248 NI correctSizeX60gensym7_;
2249 T3_ = ((*t).data ? (*t).data->Sup.len : 0);
2250 if (!(T3_ == ((NI) 0))) goto LA4_;
2251 correctSizeX60gensym7_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
2252 (*t).counter = ((NI) 0);
2253 unsureAsgnRef((void**) (&(*t).data), (tySequence__sh9b9afdJBB3bJbViXY7yNAg*) newSeq((&NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_), ((NI) (correctSizeX60gensym7_))));
2254 }
2255 LA4_: ;
2256 hc = (NI)0;
2257 index = rawGet__injectdestructors_181((*t), key, (&hc));
2258 {
2259 if (!(((NI) 0) <= index)) goto LA8_;
2260 (*t).data->data[index].Field2 = val;
2261 }
2262 goto LA6_;
2263 LA8_: ;
2264 {
2265 {
2266 NI T13_;
2267 NI correctSizeX60gensym10_;
2268 T13_ = ((*t).data ? (*t).data->Sup.len : 0);
2269 if (!(T13_ == ((NI) 0))) goto LA14_;
2270 correctSizeX60gensym10_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
2271 (*t).counter = ((NI) 0);
2272 unsureAsgnRef((void**) (&(*t).data), (tySequence__sh9b9afdJBB3bJbViXY7yNAg*) newSeq((&NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_), ((NI) (correctSizeX60gensym10_))));
2273 }
2274 LA14_: ;
2275 {
2276 NIM_BOOL T18_;
2277 T18_ = (NIM_BOOL)0;
2278 T18_ = mustRehash__injectdestructors_708((*t));
2279 if (!T18_) goto LA19_;
2280 enlarge__injectdestructors_894(t);
2281 index = rawGetKnownHC__injectdestructors_1410((*t), key, hc);
2282 }
2283 LA19_: ;
2284 index = (NI)(((NI) -1) - index);
2285 rawInsert__injectdestructors_1229(t, (&(*t).data), key, val, hc, index);
2286 (*t).counter += ((NI) 1);
2287 }
2288 LA6_: ;
2289 }
N_INLINE(void,nimCopyMem)2290 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
2291 void* T1_;
2292 T1_ = (void*)0;
2293 T1_ = memcpy(dest, source, ((size_t) (size)));
2294 }
N_INLINE(void,copyMem__system_1727)2295 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
2296 nimCopyMem(dest, source, size);
2297 }
N_INLINE(void,appendString)2298 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
2299 {
2300 if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
2301 copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
2302 (*dest).Sup.len += (*src).Sup.len;
2303 }
2304 LA3_: ;
2305 }
N_NIMCALL(void,addQuoted__injectdestructors_1880)2306 N_LIB_PRIVATE N_NIMCALL(void, addQuoted__injectdestructors_1880)(NimStringDesc** s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x) {
2307 NimStringDesc* T1_;
2308 T1_ = NIM_NIL;
2309 T1_ = dollar___renderer_2106(x);
2310 unsureAsgnRef((void**) (&(*s)), resizeString((*s), (T1_ ? T1_->Sup.len : 0) + 0));
2311 appendString((*s), T1_);
2312 }
N_NIMCALL(NimStringDesc *,dollar___injectdestructors_1854)2313 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___injectdestructors_1854)(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ x) {
2314 NimStringDesc* result;
2315 NI count;
2316 result = NIM_NIL;
2317 result = copyString(((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_7));
2318 count = ((NI) 0);
2319 {
2320 if (!(((NI) 0) < count)) goto LA3_;
2321 result = resizeString(result, 2);
2322 appendString(result, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_8));
2323 }
2324 LA3_: ;
2325 count += ((NI) 1);
2326 {
2327 if (!(x.Field0 == 0)) goto LA7_;
2328 result = resizeString(result, 3);
2329 appendString(result, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_9));
2330 }
2331 goto LA5_;
2332 LA7_: ;
2333 {
2334 addQuoted__injectdestructors_1880((&result), x.Field0);
2335 }
2336 LA5_: ;
2337 {
2338 if (!(((NI) 0) < count)) goto LA12_;
2339 result = resizeString(result, 2);
2340 appendString(result, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_8));
2341 }
2342 LA12_: ;
2343 count += ((NI) 1);
2344 {
2345 if (!(x.Field1 == 0)) goto LA16_;
2346 result = resizeString(result, 3);
2347 appendString(result, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_9));
2348 }
2349 goto LA14_;
2350 LA16_: ;
2351 {
2352 addQuoted__injectdestructors_1880((&result), x.Field1);
2353 }
2354 LA14_: ;
2355 {
2356 if (!(count == ((NI) 1))) goto LA21_;
2357 result = resizeString(result, 1);
2358 appendString(result, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_10));
2359 }
2360 LA21_: ;
2361 result = resizeString(result, 1);
2362 appendString(result, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_11));
2363 return result;
2364 }
N_NOINLINE(void,raiseKeyError__injectdestructors_1802)2365 N_LIB_PRIVATE N_NOINLINE(void, raiseKeyError__injectdestructors_1802)(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key) {
2366 tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* T1_;
2367 NimStringDesc* T2_;
2368 NimStringDesc* T3_;
2369 T1_ = NIM_NIL;
2370 T1_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*) newObj((&NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_), sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag));
2371 (*T1_).Sup.Sup.Sup.Sup.m_type = (&NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_);
2372 (*T1_).Sup.Sup.Sup.name = "KeyError";
2373 T2_ = NIM_NIL;
2374 T3_ = NIM_NIL;
2375 T3_ = dollar___injectdestructors_1854(key);
2376 T2_ = rawNewString((T3_ ? T3_->Sup.len : 0) + 15);
2377 appendString(T2_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_6));
2378 appendString(T2_, T3_);
2379 asgnRef((void**) (&(*T1_).Sup.Sup.Sup.message), T2_);
2380 asgnRef((void**) (&(*T1_).Sup.Sup.Sup.parent), ((Exception*) NIM_NIL));
2381 raiseExceptionEx((Exception*)T1_, "KeyError", "raiseKeyError", "tables.nim", 234);
2382 }
N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg *,X5BX5D___injectdestructors_1731)2383 N_LIB_PRIVATE N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg*, X5BX5D___injectdestructors_1731)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key) {
2384 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg* result;
2385 NI hcX60gensym22_;
2386 NI indexX60gensym22_;
2387 result = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg*)0;
2388 hcX60gensym22_ = (NI)0;
2389 indexX60gensym22_ = rawGet__injectdestructors_181((*t), key, (&hcX60gensym22_));
2390 {
2391 if (!(((NI) 0) <= indexX60gensym22_)) goto LA3_;
2392 result = (&(*t).data->data[indexX60gensym22_].Field2);
2393 }
2394 goto LA1_;
2395 LA3_: ;
2396 {
2397 raiseKeyError__injectdestructors_1802(key);
2398 }
2399 LA1_: ;
2400 return result;
2401 }
N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg,aliasesCached__injectdestructors_121)2402 N_LIB_PRIVATE N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg, aliasesCached__injectdestructors_121)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* cache, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field) {
2403 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg result;
2404 tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key;
2405 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg* T7_;
2406 result = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
2407 nimZeroMem((void*)(&key), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2408 key.Field0 = obj;
2409 key.Field1 = field;
2410 {
2411 NIM_BOOL T3_;
2412 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T6_;
2413 T3_ = (NIM_BOOL)0;
2414 T3_ = hasKey__injectdestructors_174((*cache), key);
2415 if (!!(T3_)) goto LA4_;
2416 T6_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
2417 T6_ = aliases__dfa_792(obj, field);
2418 X5BX5Deq___injectdestructors_509(cache, key, T6_);
2419 }
2420 LA4_: ;
2421 T7_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg*)0;
2422 T7_ = X5BX5D___injectdestructors_1731(cache, key);
2423 result = (*T7_);
2424 return result;
2425 }
N_INLINE(void,appendChar)2426 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
2427 (*dest).data[(*dest).Sup.len] = c;
2428 (*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
2429 (*dest).Sup.len += ((NI) 1);
2430 }
N_NIMCALL(NI,len__injectdestructors_2169)2431 N_LIB_PRIVATE N_NIMCALL(NI, len__injectdestructors_2169)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ s) {
2432 NI result;
2433 result = (NI)0;
2434 result = s.counter;
2435 return result;
2436 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZsets_38)2437 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZsets_38)(NI hcode) {
2438 NIM_BOOL result;
2439 result = (NIM_BOOL)0;
2440 result = !((hcode == ((NI) 0)));
2441 return result;
2442 }
N_INLINE(NI,slotsNeeded__pureZcollectionsZsets_49)2443 static N_INLINE(NI, slotsNeeded__pureZcollectionsZsets_49)(NI count) {
2444 NI result;
2445 result = (NI)0;
2446 result = nextPowerOfTwo__pureZmath_176((NI)((NI)((NI)(((NI) (count)) * ((NI) 3)) / ((NI) 2)) + ((NI) 4)));
2447 return result;
2448 }
N_INLINE(NI,nextTry__pureZcollectionsZsets_41)2449 static N_INLINE(NI, nextTry__pureZcollectionsZsets_41)(NI h, NI maxHash) {
2450 NI result;
2451 result = (NI)0;
2452 result = (NI)((NI)(h + ((NI) 1)) & maxHash);
2453 return result;
2454 }
N_INLINE(NI,rawGet__injectdestructors_2482)2455 static N_INLINE(NI, rawGet__injectdestructors_2482)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI* hc) {
2456 NI result;
2457 NI h;
2458 NI T10_;
2459 { result = (NI)0;
2460 (*hc) = hash__injectdestructors_118(key);
2461 {
2462 if (!((*hc) == ((NI) 0))) goto LA3_;
2463 (*hc) = ((NI) 314159265);
2464 }
2465 LA3_: ;
2466 {
2467 NI T7_;
2468 T7_ = (t.data ? t.data->Sup.len : 0);
2469 if (!(T7_ == ((NI) 0))) goto LA8_;
2470 result = ((NI) -1);
2471 goto BeforeRet_;
2472 }
2473 LA8_: ;
2474 T10_ = ((t.data ? t.data->Sup.len : 0)-1);
2475 h = (NI)((*hc) & T10_);
2476 {
2477 while (1) {
2478 NIM_BOOL T13_;
2479 NI T20_;
2480 T13_ = (NIM_BOOL)0;
2481 T13_ = isFilled__pureZcollectionsZsets_38(t.data->data[h].Field0);
2482 if (!T13_) goto LA12;
2483 {
2484 NIM_BOOL T16_;
2485 T16_ = (NIM_BOOL)0;
2486 T16_ = (t.data->data[h].Field0 == (*hc));
2487 if (!(T16_)) goto LA17_;
2488 T16_ = (t.data->data[h].Field1 == key);
2489 LA17_: ;
2490 if (!T16_) goto LA18_;
2491 result = h;
2492 goto BeforeRet_;
2493 }
2494 LA18_: ;
2495 T20_ = ((t.data ? t.data->Sup.len : 0)-1);
2496 h = nextTry__pureZcollectionsZsets_41(h, T20_);
2497 } LA12: ;
2498 }
2499 result = (NI)(((NI) -1) - h);
2500 }BeforeRet_: ;
2501 return result;
2502 }
N_INLINE(NIM_BOOL,mustRehash__injectdestructors_2730)2503 static N_INLINE(NIM_BOOL, mustRehash__injectdestructors_2730)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ t) {
2504 NIM_BOOL result;
2505 NIM_BOOL T1_;
2506 NI T2_;
2507 NI T4_;
2508 result = (NIM_BOOL)0;
2509 T1_ = (NIM_BOOL)0;
2510 T2_ = (t.data ? t.data->Sup.len : 0);
2511 T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
2512 if (T1_) goto LA3_;
2513 T4_ = (t.data ? t.data->Sup.len : 0);
2514 T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
2515 LA3_: ;
2516 result = T1_;
2517 return result;
2518 }
N_INLINE(NI,rawGetKnownHC__injectdestructors_3173)2519 static N_INLINE(NI, rawGetKnownHC__injectdestructors_3173)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI hc) {
2520 NI result;
2521 NI h;
2522 NI T6_;
2523 { result = (NI)0;
2524 {
2525 NI T3_;
2526 T3_ = (t.data ? t.data->Sup.len : 0);
2527 if (!(T3_ == ((NI) 0))) goto LA4_;
2528 result = ((NI) -1);
2529 goto BeforeRet_;
2530 }
2531 LA4_: ;
2532 T6_ = ((t.data ? t.data->Sup.len : 0)-1);
2533 h = (NI)(hc & T6_);
2534 {
2535 while (1) {
2536 NIM_BOOL T9_;
2537 NI T16_;
2538 T9_ = (NIM_BOOL)0;
2539 T9_ = isFilled__pureZcollectionsZsets_38(t.data->data[h].Field0);
2540 if (!T9_) goto LA8;
2541 {
2542 NIM_BOOL T12_;
2543 T12_ = (NIM_BOOL)0;
2544 T12_ = (t.data->data[h].Field0 == hc);
2545 if (!(T12_)) goto LA13_;
2546 T12_ = (t.data->data[h].Field1 == key);
2547 LA13_: ;
2548 if (!T12_) goto LA14_;
2549 result = h;
2550 goto BeforeRet_;
2551 }
2552 LA14_: ;
2553 T16_ = ((t.data ? t.data->Sup.len : 0)-1);
2554 h = nextTry__pureZcollectionsZsets_41(h, T16_);
2555 } LA8: ;
2556 }
2557 result = (NI)(((NI) -1) - h);
2558 }BeforeRet_: ;
2559 return result;
2560 }
N_NIMCALL(void,rawInsert__injectdestructors_3539)2561 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__injectdestructors_3539)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ* s, tySequence__Y6pVop4P8VSwSorRqc2aQA** data, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI hc, NI h) {
2562 {
2563 NI T3_;
2564 NI correctSizeX60gensym32_;
2565 T3_ = ((*data) ? (*data)->Sup.len : 0);
2566 if (!(T3_ == ((NI) 0))) goto LA4_;
2567 correctSizeX60gensym32_ = slotsNeeded__pureZcollectionsZsets_49(((NI) 64));
2568 (*s).counter = ((NI) 0);
2569 unsureAsgnRef((void**) (&(*s).data), (tySequence__Y6pVop4P8VSwSorRqc2aQA*) newSeq((&NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_), ((NI) (correctSizeX60gensym32_))));
2570 }
2571 LA4_: ;
2572 asgnRef((void**) (&(*data)->data[h].Field1), key);
2573 (*data)->data[h].Field0 = hc;
2574 }
N_NIMCALL(void,enlarge__injectdestructors_2922)2575 N_LIB_PRIVATE N_NIMCALL(void, enlarge__injectdestructors_2922)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ* s) {
2576 tySequence__Y6pVop4P8VSwSorRqc2aQA* n;
2577 NI T1_;
2578 tySequence__Y6pVop4P8VSwSorRqc2aQA* T2_;
2579 n = NIM_NIL;
2580 T1_ = ((*s).data ? (*s).data->Sup.len : 0);
2581 n = (tySequence__Y6pVop4P8VSwSorRqc2aQA*) newSeq((&NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_), ((NI) ((NI)(T1_ * ((NI) 2)))));
2582 T2_ = NIM_NIL;
2583 T2_ = (*s).data;
2584 unsureAsgnRef((void**) (&(*s).data), n);
2585 n = T2_;
2586 {
2587 NI i;
2588 NI colontmp_;
2589 NI T4_;
2590 NI res;
2591 i = (NI)0;
2592 colontmp_ = (NI)0;
2593 T4_ = ((n ? n->Sup.len : 0)-1);
2594 colontmp_ = T4_;
2595 res = ((NI) 0);
2596 {
2597 while (1) {
2598 if (!(res <= colontmp_)) goto LA6;
2599 i = res;
2600 {
2601 NIM_BOOL T9_;
2602 NI j;
2603 NI T12_;
2604 T9_ = (NIM_BOOL)0;
2605 T9_ = isFilled__pureZcollectionsZsets_38(n->data[i].Field0);
2606 if (!T9_) goto LA10_;
2607 T12_ = (NI)0;
2608 T12_ = rawGetKnownHC__injectdestructors_3173((*s), n->data[i].Field1, n->data[i].Field0);
2609 j = (NI)(((NI) -1) - T12_);
2610 rawInsert__injectdestructors_3539(s, (&(*s).data), n->data[i].Field1, n->data[i].Field0, j);
2611 }
2612 LA10_: ;
2613 res += ((NI) 1);
2614 } LA6: ;
2615 }
2616 }
2617 }
N_NIMCALL(void,incl__injectdestructors_2395)2618 N_LIB_PRIVATE N_NIMCALL(void, incl__injectdestructors_2395)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key) {
2619 NI hc;
2620 NI index;
2621 {
2622 NI T3_;
2623 NI correctSizeX60gensym23_;
2624 T3_ = ((*s).data ? (*s).data->Sup.len : 0);
2625 if (!(T3_ == ((NI) 0))) goto LA4_;
2626 correctSizeX60gensym23_ = slotsNeeded__pureZcollectionsZsets_49(((NI) 64));
2627 (*s).counter = ((NI) 0);
2628 unsureAsgnRef((void**) (&(*s).data), (tySequence__Y6pVop4P8VSwSorRqc2aQA*) newSeq((&NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_), ((NI) (correctSizeX60gensym23_))));
2629 }
2630 LA4_: ;
2631 hc = (NI)0;
2632 index = rawGet__injectdestructors_2482((*s), key, (&hc));
2633 {
2634 if (!(index < ((NI) 0))) goto LA8_;
2635 {
2636 NIM_BOOL T12_;
2637 T12_ = (NIM_BOOL)0;
2638 T12_ = mustRehash__injectdestructors_2730((*s));
2639 if (!T12_) goto LA13_;
2640 enlarge__injectdestructors_2922(s);
2641 index = rawGetKnownHC__injectdestructors_3173((*s), key, hc);
2642 }
2643 LA13_: ;
2644 rawInsert__injectdestructors_3539(s, (&(*s).data), key, hc, (NI)(((NI) -1) - index));
2645 (*s).counter += ((NI) 1);
2646 }
2647 LA8_: ;
2648 }
N_NIMCALL(void,excl__injectdestructors_2012)2649 N_LIB_PRIVATE N_NIMCALL(void, excl__injectdestructors_2012)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* other) {
2650 {
2651 NI item;
2652 item = (NI)0;
2653 {
2654 if (!((*other).elems <= ((NI) 34))) goto LA4_;
2655 {
2656 NI i;
2657 NI i_2;
2658 i = (NI)0;
2659 i_2 = ((NI) 0);
2660 {
2661 while (1) {
2662 if (!(i_2 < (*other).elems)) goto LA8;
2663 i = i_2;
2664 item = (*other).a[(i)- 0];
2665 excl__reorder_264(s, item);
2666 i_2 += ((NI) 1);
2667 } LA8: ;
2668 }
2669 }
2670 }
2671 goto LA2_;
2672 LA4_: ;
2673 {
2674 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* r;
2675 r = (*other).head;
2676 {
2677 while (1) {
2678 NI i_3;
2679 if (!!((r == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA11;
2680 i_3 = ((NI) 0);
2681 {
2682 while (1) {
2683 NU w;
2684 NI j;
2685 if (!(i_3 <= ((NI) 7))) goto LA13;
2686 w = (*r).bits[(i_3)- 0];
2687 j = ((NI) 0);
2688 {
2689 while (1) {
2690 if (!!((w == ((NU) 0)))) goto LA15;
2691 {
2692 NI T20_;
2693 if (!!(((NU)(w & ((NU) 1)) == ((NU) 0)))) goto LA18_;
2694 T20_ = (NI)0;
2695 T20_ = pluspercent___system_696((NI)((NU64)(i_3) << (NU64)(((NI) 6))), j);
2696 item = (NI)((NI)((NU64)((*r).key) << (NU64)(((NI) 9))) | T20_);
2697 excl__reorder_264(s, item);
2698 }
2699 LA18_: ;
2700 j += ((NI) 1);
2701 w = (NU)((NU64)(w) >> (NU64)(((NI) 1)));
2702 } LA15: ;
2703 }
2704 i_3 += ((NI) 1);
2705 } LA13: ;
2706 }
2707 r = (*r).next;
2708 } LA11: ;
2709 }
2710 }
2711 LA2_: ;
2712 }
2713 }
N_NIMCALL(void,incl__injectdestructors_2107)2714 N_LIB_PRIVATE N_NIMCALL(void, incl__injectdestructors_2107)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ* s, tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ other) {
2715 {
2716 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* item;
2717 NI length;
2718 item = NIM_NIL;
2719 length = len__injectdestructors_2169(other);
2720 {
2721 NI h;
2722 NI colontmp_;
2723 NI T3_;
2724 NI res;
2725 h = (NI)0;
2726 colontmp_ = (NI)0;
2727 T3_ = ((other.data ? other.data->Sup.len : 0)-1);
2728 colontmp_ = T3_;
2729 res = ((NI) 0);
2730 {
2731 while (1) {
2732 if (!(res <= colontmp_)) goto LA5;
2733 h = res;
2734 {
2735 NIM_BOOL T8_;
2736 T8_ = (NIM_BOOL)0;
2737 T8_ = isFilled__pureZcollectionsZsets_38(other.data->data[h].Field0);
2738 if (!T8_) goto LA9_;
2739 item = other.data->data[h].Field1;
2740 incl__injectdestructors_2395(s, item);
2741 }
2742 LA9_: ;
2743 res += ((NI) 1);
2744 } LA5: ;
2745 }
2746 }
2747 }
2748 }
N_NIMCALL(void,mergeStates__injectdestructors_1944)2749 N_LIB_PRIVATE N_NIMCALL(void, mergeStates__injectdestructors_1944)(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw** a, tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* b) {
2750 {
2751 if (!((*a) == ((tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw*) NIM_NIL))) goto LA3_;
2752 unsureAsgnRef((void**) (&(*a)), b);
2753 }
2754 goto LA1_;
2755 LA3_: ;
2756 {
2757 incl__importer_1492((&(*(*a)).lastReads), (&(*b).lastReads));
2758 incl__importer_1492((&(*(*a)).potentialLastReads), (&(*b).potentialLastReads));
2759 excl__injectdestructors_2012((&(*(*a)).potentialLastReads), (&(*(*a)).notLastReads));
2760 excl__injectdestructors_2012((&(*(*a)).potentialLastReads), (&(*b).notLastReads));
2761 incl__importer_1492((&(*(*a)).notLastReads), (&(*b).notLastReads));
2762 incl__injectdestructors_2107((&(*(*a)).alreadySeen), (*b).alreadySeen);
2763 }
2764 LA1_: ;
2765 }
N_INLINE(void,minus___sem_4040)2766 static N_INLINE(void, minus___sem_4040)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
2767 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T1_;
2768 nimZeroMem((void*)(&T1_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
2769 difference__sem_4045(s1, s2, (&T1_));
2770 genericShallowAssign((void*)Result, (void*)(&T1_), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
2771 }
N_NIMCALL(void,union__injectdestructors_4127)2772 N_LIB_PRIVATE N_NIMCALL(void, union__injectdestructors_4127)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
2773 NI T1_;
2774 (*Result).elems = 0;
2775 (*Result).counter = 0;
2776 (*Result).max = 0;
2777 unsureAsgnRef((void**)&(*Result).head, NIM_NIL);
2778 unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
2779 T1_ = (NI)0;
2780 for (T1_ = 0; T1_ < 34; T1_++) {
2781 (*Result).a[T1_] = 0;
2782 }
2783 assign__types_3929(Result, s1);
2784 incl__importer_1492(Result, s2);
2785 }
N_INLINE(void,plus___injectdestructors_4122)2786 static N_INLINE(void, plus___injectdestructors_4122)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
2787 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T1_;
2788 nimZeroMem((void*)(&T1_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
2789 union__injectdestructors_4127(s1, s2, (&T1_));
2790 genericShallowAssign((void*)Result, (void*)(&T1_), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
2791 }
N_INLINE(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw **,X5BX5D___injectdestructors_4096)2792 static N_INLINE(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw**, X5BX5D___injectdestructors_4096)(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw** s, NI sLen_0, NI i) {
2793 tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw** result;
2794 result = (tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw**)0;
2795 result = &s[(NI)(sLen_0 - i)];
2796 return result;
2797 }
N_NIMCALL(void,Marker_tySequence__JGK6WZYU2JHWLoPdKRO4AQ)2798 static N_NIMCALL(void, Marker_tySequence__JGK6WZYU2JHWLoPdKRO4AQ)(void* p, NI op) {
2799 tySequence__JGK6WZYU2JHWLoPdKRO4AQ* a;
2800 NI T1_;
2801 a = (tySequence__JGK6WZYU2JHWLoPdKRO4AQ*)p;
2802 T1_ = (NI)0;
2803 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
2804 nimGCvisit((void*)a->data[T1_].Field1, op);
2805 nimGCvisit((void*)a->data[T1_].Field2, op);
2806 }
2807 }
N_INLINE(NI,rawGet__injectdestructors_4322)2808 static N_INLINE(NI, rawGet__injectdestructors_4322)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI* hc) {
2809 NI result;
2810 NI h;
2811 NI T10_;
2812 { result = (NI)0;
2813 (*hc) = hash__injectdestructors_118(key);
2814 {
2815 if (!((*hc) == ((NI) 0))) goto LA3_;
2816 (*hc) = ((NI) 314159265);
2817 }
2818 LA3_: ;
2819 {
2820 NI T7_;
2821 T7_ = (t.data ? t.data->Sup.len : 0);
2822 if (!(T7_ == ((NI) 0))) goto LA8_;
2823 result = ((NI) -1);
2824 goto BeforeRet_;
2825 }
2826 LA8_: ;
2827 T10_ = ((t.data ? t.data->Sup.len : 0)-1);
2828 h = (NI)((*hc) & T10_);
2829 {
2830 while (1) {
2831 NIM_BOOL T13_;
2832 NI T20_;
2833 T13_ = (NIM_BOOL)0;
2834 T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
2835 if (!T13_) goto LA12;
2836 {
2837 NIM_BOOL T16_;
2838 T16_ = (NIM_BOOL)0;
2839 T16_ = (t.data->data[h].Field0 == (*hc));
2840 if (!(T16_)) goto LA17_;
2841 T16_ = (t.data->data[h].Field1 == key);
2842 LA17_: ;
2843 if (!T16_) goto LA18_;
2844 result = h;
2845 goto BeforeRet_;
2846 }
2847 LA18_: ;
2848 T20_ = ((t.data ? t.data->Sup.len : 0)-1);
2849 h = nextTry__pureZcollectionsZtables_34(h, T20_);
2850 } LA12: ;
2851 }
2852 result = (NI)(((NI) -1) - h);
2853 }BeforeRet_: ;
2854 return result;
2855 }
N_INLINE(NIM_BOOL,mustRehash__injectdestructors_4652)2856 static N_INLINE(NIM_BOOL, mustRehash__injectdestructors_4652)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ t) {
2857 NIM_BOOL result;
2858 NIM_BOOL T1_;
2859 NI T2_;
2860 NI T4_;
2861 result = (NIM_BOOL)0;
2862 T1_ = (NIM_BOOL)0;
2863 T2_ = (t.data ? t.data->Sup.len : 0);
2864 T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
2865 if (T1_) goto LA3_;
2866 T4_ = (t.data ? t.data->Sup.len : 0);
2867 T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
2868 LA3_: ;
2869 result = T1_;
2870 return result;
2871 }
N_NIMCALL(void,rawInsert__injectdestructors_5169)2872 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__injectdestructors_5169)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ* t, tySequence__JGK6WZYU2JHWLoPdKRO4AQ** data, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, tySequence__qwqHTkRvwhrRyENtudHQ7g* val, NI hc, NI h) {
2873 asgnRef((void**) (&(*data)->data[h].Field1), key);
2874 genericSeqAssign((&(*data)->data[h].Field2), val, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
2875 (*data)->data[h].Field0 = hc;
2876 }
N_NIMCALL(void,enlarge__injectdestructors_4838)2877 N_LIB_PRIVATE N_NIMCALL(void, enlarge__injectdestructors_4838)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ* t) {
2878 tySequence__JGK6WZYU2JHWLoPdKRO4AQ* n;
2879 NI T1_;
2880 tySequence__JGK6WZYU2JHWLoPdKRO4AQ* T2_;
2881 n = NIM_NIL;
2882 T1_ = ((*t).data ? (*t).data->Sup.len : 0);
2883 n = (tySequence__JGK6WZYU2JHWLoPdKRO4AQ*) newSeq((&NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_), ((NI) ((NI)(T1_ * ((NI) 2)))));
2884 T2_ = NIM_NIL;
2885 T2_ = (*t).data;
2886 unsureAsgnRef((void**) (&(*t).data), n);
2887 n = T2_;
2888 {
2889 NI i;
2890 NI colontmp_;
2891 NI T4_;
2892 NI res;
2893 i = (NI)0;
2894 colontmp_ = (NI)0;
2895 T4_ = ((n ? n->Sup.len : 0)-1);
2896 colontmp_ = T4_;
2897 res = ((NI) 0);
2898 {
2899 while (1) {
2900 NI eh;
2901 if (!(res <= colontmp_)) goto LA6;
2902 i = res;
2903 eh = n->data[i].Field0;
2904 {
2905 NIM_BOOL T9_;
2906 NI j;
2907 NI T12_;
2908 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T17_;
2909 tySequence__qwqHTkRvwhrRyENtudHQ7g* T18_;
2910 T9_ = (NIM_BOOL)0;
2911 T9_ = isFilled__pureZcollectionsZtables_31(eh);
2912 if (!T9_) goto LA10_;
2913 T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
2914 j = (NI)(eh & T12_);
2915 {
2916 while (1) {
2917 NIM_BOOL T15_;
2918 NI T16_;
2919 T15_ = (NIM_BOOL)0;
2920 T15_ = isFilled__pureZcollectionsZtables_31((*t).data->data[j].Field0);
2921 if (!T15_) goto LA14;
2922 T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
2923 j = nextTry__pureZcollectionsZtables_34(j, T16_);
2924 } LA14: ;
2925 }
2926 T17_ = NIM_NIL;
2927 T17_ = n->data[i].Field1;
2928 asgnRef((void**) (&n->data[i].Field1), NIM_NIL);
2929 T18_ = NIM_NIL;
2930 T18_ = n->data[i].Field2;
2931 asgnRef((void**) (&n->data[i].Field2), NIM_NIL);
2932 rawInsert__injectdestructors_5169(t, (&(*t).data), T17_, T18_, eh, j);
2933 }
2934 LA10_: ;
2935 res += ((NI) 1);
2936 } LA6: ;
2937 }
2938 }
2939 }
N_INLINE(NI,rawGetKnownHC__injectdestructors_5350)2940 static N_INLINE(NI, rawGetKnownHC__injectdestructors_5350)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI hc) {
2941 NI result;
2942 NI h;
2943 NI T6_;
2944 { result = (NI)0;
2945 {
2946 NI T3_;
2947 T3_ = (t.data ? t.data->Sup.len : 0);
2948 if (!(T3_ == ((NI) 0))) goto LA4_;
2949 result = ((NI) -1);
2950 goto BeforeRet_;
2951 }
2952 LA4_: ;
2953 T6_ = ((t.data ? t.data->Sup.len : 0)-1);
2954 h = (NI)(hc & T6_);
2955 {
2956 while (1) {
2957 NIM_BOOL T9_;
2958 NI T16_;
2959 T9_ = (NIM_BOOL)0;
2960 T9_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
2961 if (!T9_) goto LA8;
2962 {
2963 NIM_BOOL T12_;
2964 T12_ = (NIM_BOOL)0;
2965 T12_ = (t.data->data[h].Field0 == hc);
2966 if (!(T12_)) goto LA13_;
2967 T12_ = (t.data->data[h].Field1 == key);
2968 LA13_: ;
2969 if (!T12_) goto LA14_;
2970 result = h;
2971 goto BeforeRet_;
2972 }
2973 LA14_: ;
2974 T16_ = ((t.data ? t.data->Sup.len : 0)-1);
2975 h = nextTry__pureZcollectionsZtables_34(h, T16_);
2976 } LA8: ;
2977 }
2978 result = (NI)(((NI) -1) - h);
2979 }BeforeRet_: ;
2980 return result;
2981 }
N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g **,mgetOrPut__injectdestructors_4249)2982 N_LIB_PRIVATE N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g**, mgetOrPut__injectdestructors_4249)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, tySequence__qwqHTkRvwhrRyENtudHQ7g* val) {
2983 tySequence__qwqHTkRvwhrRyENtudHQ7g** result;
2984 NI hc;
2985 NI index;
2986 result = (tySequence__qwqHTkRvwhrRyENtudHQ7g**)0;
2987 {
2988 NI T3_;
2989 NI correctSizeX60gensym66_;
2990 T3_ = ((*t).data ? (*t).data->Sup.len : 0);
2991 if (!(T3_ == ((NI) 0))) goto LA4_;
2992 correctSizeX60gensym66_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
2993 (*t).counter = ((NI) 0);
2994 unsureAsgnRef((void**) (&(*t).data), (tySequence__JGK6WZYU2JHWLoPdKRO4AQ*) newSeq((&NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_), ((NI) (correctSizeX60gensym66_))));
2995 }
2996 LA4_: ;
2997 hc = (NI)0;
2998 index = rawGet__injectdestructors_4322((*t), key, (&hc));
2999 {
3000 if (!(index < ((NI) 0))) goto LA8_;
3001 {
3002 NI T12_;
3003 NI correctSizeX60gensym71_;
3004 T12_ = ((*t).data ? (*t).data->Sup.len : 0);
3005 if (!(T12_ == ((NI) 0))) goto LA13_;
3006 correctSizeX60gensym71_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
3007 (*t).counter = ((NI) 0);
3008 unsureAsgnRef((void**) (&(*t).data), (tySequence__JGK6WZYU2JHWLoPdKRO4AQ*) newSeq((&NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_), ((NI) (correctSizeX60gensym71_))));
3009 }
3010 LA13_: ;
3011 {
3012 NIM_BOOL T17_;
3013 T17_ = (NIM_BOOL)0;
3014 T17_ = mustRehash__injectdestructors_4652((*t));
3015 if (!T17_) goto LA18_;
3016 enlarge__injectdestructors_4838(t);
3017 index = rawGetKnownHC__injectdestructors_5350((*t), key, hc);
3018 }
3019 LA18_: ;
3020 index = (NI)(((NI) -1) - index);
3021 rawInsert__injectdestructors_5169(t, (&(*t).data), key, val, hc, index);
3022 (*t).counter += ((NI) 1);
3023 }
3024 LA8_: ;
3025 result = (&(*t).data->data[index].Field2);
3026 return result;
3027 }
N_NIMCALL(NI,len__injectdestructors_5743)3028 N_LIB_PRIVATE N_NIMCALL(NI, len__injectdestructors_5743)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ t) {
3029 NI result;
3030 result = (NI)0;
3031 result = t.counter;
3032 return result;
3033 }
N_NIMCALL(void,computeLastReadsAndFirstWrites__injectdestructors_3780)3034 N_LIB_PRIVATE N_NIMCALL(void, computeLastReadsAndFirstWrites__injectdestructors_3780)(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ* cfg) {
3035 tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g cache;
3036 tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ* cfg_2;
3037 tySequence__mFtVDW3p7w6wfPPNodKzsA* states;
3038 NI T1_;
3039 tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* T2_;
3040 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA lastReads;
3041 tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw** T125_;
3042 tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw** T126_;
3043 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T127_;
3044 tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw** T128_;
3045 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T129_;
3046 tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ lastReadTable;
3047 nimZeroMem((void*)(&cache), sizeof(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g));
3048 initTable__injectdestructors_3782(((NI) 32), (&cache));
3049 genericSeqAssign((&cfg_2), cfg, (&NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_));
3050 preprocessCfg__injectdestructors_1924((&cfg_2));
3051 T1_ = (cfg_2 ? cfg_2->Sup.len : 0);
3052 states = newSeq__injectdestructors_3802(((NI) ((NI)(T1_ + ((NI) 1)))));
3053 T2_ = NIM_NIL;
3054 T2_ = (tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw*) newObj((&NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_), sizeof(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw));
3055 asgnRef((void**) (&states->data[((NI) 0)]), T2_);
3056 {
3057 NI pc;
3058 NI colontmp_;
3059 NI T4_;
3060 NI i;
3061 pc = (NI)0;
3062 colontmp_ = (NI)0;
3063 T4_ = (cfg_2 ? cfg_2->Sup.len : 0);
3064 colontmp_ = T4_;
3065 i = ((NI) 0);
3066 {
3067 while (1) {
3068 if (!(i < colontmp_)) goto LA6;
3069 pc = i;
3070 {
3071 if (!!((states->data[pc] == ((tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw*) NIM_NIL)))) goto LA9_;
3072 switch (cfg_2->data[pc].kind) {
3073 case ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 2):
3074 {
3075 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA potentialLastReadsCopy;
3076 NIM_BOOL alreadySeenThisNode;
3077 tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* T77_;
3078 nimZeroMem((void*)(&potentialLastReadsCopy), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
3079 genericAssign((void*)(&potentialLastReadsCopy), (void*)(&(*states->data[pc]).potentialLastReads), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
3080 {
3081 NI r;
3082 r = (NI)0;
3083 {
3084 if (!(potentialLastReadsCopy.elems <= ((NI) 34))) goto LA15_;
3085 {
3086 NI i_2;
3087 NI i_3;
3088 i_2 = (NI)0;
3089 i_3 = ((NI) 0);
3090 {
3091 while (1) {
3092 if (!(i_3 < potentialLastReadsCopy.elems)) goto LA19;
3093 i_2 = i_3;
3094 r = potentialLastReadsCopy.a[(i_2)- 0];
3095 {
3096 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T22_;
3097 T22_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3098 T22_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[pc].n, cfg_2->data[r].n);
3099 if (!(T22_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 0))) goto LA23_;
3100 incl__pureZcollectionsZintsets_55((&(*states->data[pc]).lastReads), r);
3101 excl__reorder_264((&(*states->data[pc]).potentialLastReads), r);
3102 }
3103 goto LA20_;
3104 LA23_: ;
3105 {
3106 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T26_;
3107 NimStringDesc* T29_;
3108 NimStringDesc* T30_;
3109 T26_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3110 T26_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[r].n, cfg_2->data[pc].n);
3111 if (!!((T26_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)))) goto LA27_;
3112 T29_ = NIM_NIL;
3113 T30_ = NIM_NIL;
3114 T30_ = dollar___systemZdollars_3(pc);
3115 T29_ = rawNewString((T30_ ? T30_->Sup.len : 0) + 1);
3116 appendChar(T29_, 10);
3117 appendString(T29_, T30_);
3118 commenteq___ast_1361(cfg_2->data[r].n, T29_);
3119 excl__reorder_264((&(*states->data[pc]).potentialLastReads), r);
3120 incl__pureZcollectionsZintsets_55((&(*states->data[pc]).notLastReads), r);
3121 }
3122 goto LA20_;
3123 LA27_: ;
3124 LA20_: ;
3125 i_3 += ((NI) 1);
3126 } LA19: ;
3127 }
3128 }
3129 }
3130 goto LA13_;
3131 LA15_: ;
3132 {
3133 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* r_2;
3134 r_2 = potentialLastReadsCopy.head;
3135 {
3136 while (1) {
3137 NI i_4;
3138 if (!!((r_2 == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA33;
3139 i_4 = ((NI) 0);
3140 {
3141 while (1) {
3142 NU w;
3143 NI j;
3144 if (!(i_4 <= ((NI) 7))) goto LA35;
3145 w = (*r_2).bits[(i_4)- 0];
3146 j = ((NI) 0);
3147 {
3148 while (1) {
3149 if (!!((w == ((NU) 0)))) goto LA37;
3150 {
3151 NI T42_;
3152 if (!!(((NU)(w & ((NU) 1)) == ((NU) 0)))) goto LA40_;
3153 T42_ = (NI)0;
3154 T42_ = pluspercent___system_696((NI)((NU64)(i_4) << (NU64)(((NI) 6))), j);
3155 r = (NI)((NI)((NU64)((*r_2).key) << (NU64)(((NI) 9))) | T42_);
3156 {
3157 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T45_;
3158 T45_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3159 T45_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[pc].n, cfg_2->data[r].n);
3160 if (!(T45_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 0))) goto LA46_;
3161 incl__pureZcollectionsZintsets_55((&(*states->data[pc]).lastReads), r);
3162 excl__reorder_264((&(*states->data[pc]).potentialLastReads), r);
3163 }
3164 goto LA43_;
3165 LA46_: ;
3166 {
3167 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T49_;
3168 NimStringDesc* T52_;
3169 NimStringDesc* T53_;
3170 T49_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3171 T49_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[r].n, cfg_2->data[pc].n);
3172 if (!!((T49_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)))) goto LA50_;
3173 T52_ = NIM_NIL;
3174 T53_ = NIM_NIL;
3175 T53_ = dollar___systemZdollars_3(pc);
3176 T52_ = rawNewString((T53_ ? T53_->Sup.len : 0) + 1);
3177 appendChar(T52_, 10);
3178 appendString(T52_, T53_);
3179 commenteq___ast_1361(cfg_2->data[r].n, T52_);
3180 excl__reorder_264((&(*states->data[pc]).potentialLastReads), r);
3181 incl__pureZcollectionsZintsets_55((&(*states->data[pc]).notLastReads), r);
3182 }
3183 goto LA43_;
3184 LA50_: ;
3185 LA43_: ;
3186 }
3187 LA40_: ;
3188 j += ((NI) 1);
3189 w = (NU)((NU64)(w) >> (NU64)(((NI) 1)));
3190 } LA37: ;
3191 }
3192 i_4 += ((NI) 1);
3193 } LA35: ;
3194 }
3195 r_2 = (*r_2).next;
3196 } LA33: ;
3197 }
3198 }
3199 LA13_: ;
3200 }
3201 alreadySeenThisNode = NIM_FALSE;
3202 {
3203 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
3204 tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ colontmp__2;
3205 NI length;
3206 s = NIM_NIL;
3207 nimZeroMem((void*)(&colontmp__2), sizeof(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ));
3208 colontmp__2.data = (*states->data[pc]).alreadySeen.data;
3209 colontmp__2.counter = (*states->data[pc]).alreadySeen.counter;
3210 length = len__injectdestructors_2169(colontmp__2);
3211 {
3212 NI h;
3213 NI colontmp__3;
3214 NI T56_;
3215 NI res;
3216 h = (NI)0;
3217 colontmp__3 = (NI)0;
3218 T56_ = ((colontmp__2.data ? colontmp__2.data->Sup.len : 0)-1);
3219 colontmp__3 = T56_;
3220 res = ((NI) 0);
3221 {
3222 while (1) {
3223 if (!(res <= colontmp__3)) goto LA58;
3224 h = res;
3225 {
3226 NIM_BOOL T61_;
3227 T61_ = (NIM_BOOL)0;
3228 T61_ = isFilled__pureZcollectionsZsets_38(colontmp__2.data->data[h].Field0);
3229 if (!T61_) goto LA62_;
3230 s = colontmp__2.data->data[h].Field1;
3231 {
3232 NIM_BOOL T66_;
3233 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T67_;
3234 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T69_;
3235 T66_ = (NIM_BOOL)0;
3236 T67_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3237 T67_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[pc].n, s);
3238 T66_ = !((T67_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)));
3239 if (T66_) goto LA68_;
3240 T69_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3241 T69_ = aliasesCached__injectdestructors_121((&cache), s, cfg_2->data[pc].n);
3242 T66_ = !((T69_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)));
3243 LA68_: ;
3244 if (!T66_) goto LA70_;
3245 alreadySeenThisNode = NIM_TRUE;
3246 goto LA54;
3247 }
3248 LA70_: ;
3249 }
3250 LA62_: ;
3251 res += ((NI) 1);
3252 } LA58: ;
3253 }
3254 }
3255 } LA54: ;
3256 {
3257 if (!alreadySeenThisNode) goto LA74_;
3258 (*cfg_2->data[pc].n).flags &= ~(((NU32)1) << ((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 22)) & 31));
3259 }
3260 goto LA72_;
3261 LA74_: ;
3262 {
3263 (*cfg_2->data[pc].n).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 22)) & 31);
3264 }
3265 LA72_: ;
3266 incl__injectdestructors_2395((&(*states->data[pc]).alreadySeen), cfg_2->data[pc].n);
3267 T77_ = NIM_NIL;
3268 T77_ = states->data[pc];
3269 asgnRef((void**) (&states->data[pc]), NIM_NIL);
3270 mergeStates__injectdestructors_1944(&states->data[(NI)(pc + ((NI) 1))], T77_);
3271 }
3272 break;
3273 case ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 3):
3274 {
3275 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA potentialLastReadsCopy_2;
3276 tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* T119_;
3277 nimZeroMem((void*)(&potentialLastReadsCopy_2), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
3278 genericAssign((void*)(&potentialLastReadsCopy_2), (void*)(&(*states->data[pc]).potentialLastReads), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
3279 {
3280 NI r_3;
3281 r_3 = (NI)0;
3282 {
3283 if (!(potentialLastReadsCopy_2.elems <= ((NI) 34))) goto LA82_;
3284 {
3285 NI i_5;
3286 NI i_6;
3287 i_5 = (NI)0;
3288 i_6 = ((NI) 0);
3289 {
3290 while (1) {
3291 if (!(i_6 < potentialLastReadsCopy_2.elems)) goto LA86;
3292 i_5 = i_6;
3293 r_3 = potentialLastReadsCopy_2.a[(i_5)- 0];
3294 {
3295 NIM_BOOL T89_;
3296 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T90_;
3297 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T92_;
3298 NimStringDesc* T95_;
3299 NimStringDesc* T96_;
3300 T89_ = (NIM_BOOL)0;
3301 T90_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3302 T90_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[pc].n, cfg_2->data[r_3].n);
3303 T89_ = !((T90_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)));
3304 if (T89_) goto LA91_;
3305 T92_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3306 T92_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[r_3].n, cfg_2->data[pc].n);
3307 T89_ = !((T92_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)));
3308 LA91_: ;
3309 if (!T89_) goto LA93_;
3310 T95_ = NIM_NIL;
3311 T96_ = NIM_NIL;
3312 T96_ = dollar___systemZdollars_3(pc);
3313 T95_ = rawNewString((T96_ ? T96_->Sup.len : 0) + 1);
3314 appendChar(T95_, 10);
3315 appendString(T95_, T96_);
3316 commenteq___ast_1361(cfg_2->data[r_3].n, T95_);
3317 excl__reorder_264((&(*states->data[pc]).potentialLastReads), r_3);
3318 incl__pureZcollectionsZintsets_55((&(*states->data[pc]).notLastReads), r_3);
3319 }
3320 LA93_: ;
3321 i_6 += ((NI) 1);
3322 } LA86: ;
3323 }
3324 }
3325 }
3326 goto LA80_;
3327 LA82_: ;
3328 {
3329 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* r_4;
3330 r_4 = potentialLastReadsCopy_2.head;
3331 {
3332 while (1) {
3333 NI i_7;
3334 if (!!((r_4 == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA99;
3335 i_7 = ((NI) 0);
3336 {
3337 while (1) {
3338 NU w_2;
3339 NI j_2;
3340 if (!(i_7 <= ((NI) 7))) goto LA101;
3341 w_2 = (*r_4).bits[(i_7)- 0];
3342 j_2 = ((NI) 0);
3343 {
3344 while (1) {
3345 if (!!((w_2 == ((NU) 0)))) goto LA103;
3346 {
3347 NI T108_;
3348 if (!!(((NU)(w_2 & ((NU) 1)) == ((NU) 0)))) goto LA106_;
3349 T108_ = (NI)0;
3350 T108_ = pluspercent___system_696((NI)((NU64)(i_7) << (NU64)(((NI) 6))), j_2);
3351 r_3 = (NI)((NI)((NU64)((*r_4).key) << (NU64)(((NI) 9))) | T108_);
3352 {
3353 NIM_BOOL T111_;
3354 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T112_;
3355 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T114_;
3356 NimStringDesc* T117_;
3357 NimStringDesc* T118_;
3358 T111_ = (NIM_BOOL)0;
3359 T112_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3360 T112_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[pc].n, cfg_2->data[r_3].n);
3361 T111_ = !((T112_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)));
3362 if (T111_) goto LA113_;
3363 T114_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3364 T114_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[r_3].n, cfg_2->data[pc].n);
3365 T111_ = !((T114_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)));
3366 LA113_: ;
3367 if (!T111_) goto LA115_;
3368 T117_ = NIM_NIL;
3369 T118_ = NIM_NIL;
3370 T118_ = dollar___systemZdollars_3(pc);
3371 T117_ = rawNewString((T118_ ? T118_->Sup.len : 0) + 1);
3372 appendChar(T117_, 10);
3373 appendString(T117_, T118_);
3374 commenteq___ast_1361(cfg_2->data[r_3].n, T117_);
3375 excl__reorder_264((&(*states->data[pc]).potentialLastReads), r_3);
3376 incl__pureZcollectionsZintsets_55((&(*states->data[pc]).notLastReads), r_3);
3377 }
3378 LA115_: ;
3379 }
3380 LA106_: ;
3381 j_2 += ((NI) 1);
3382 w_2 = (NU)((NU64)(w_2) >> (NU64)(((NI) 1)));
3383 } LA103: ;
3384 }
3385 i_7 += ((NI) 1);
3386 } LA101: ;
3387 }
3388 r_4 = (*r_4).next;
3389 } LA99: ;
3390 }
3391 }
3392 LA80_: ;
3393 }
3394 incl__pureZcollectionsZintsets_55((&(*states->data[pc]).potentialLastReads), pc);
3395 incl__injectdestructors_2395((&(*states->data[pc]).alreadySeen), cfg_2->data[pc].n);
3396 T119_ = NIM_NIL;
3397 T119_ = states->data[pc];
3398 asgnRef((void**) (&states->data[pc]), NIM_NIL);
3399 mergeStates__injectdestructors_1944(&states->data[(NI)(pc + ((NI) 1))], T119_);
3400 }
3401 break;
3402 case ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 0):
3403 {
3404 tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* T121_;
3405 T121_ = NIM_NIL;
3406 T121_ = states->data[pc];
3407 asgnRef((void**) (&states->data[pc]), NIM_NIL);
3408 mergeStates__injectdestructors_1944(&states->data[(NI)(pc + cfg_2->data[pc].dest)], T121_);
3409 }
3410 break;
3411 case ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 1):
3412 {
3413 tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* copy;
3414 tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* T123_;
3415 tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* T124_;
3416 T123_ = NIM_NIL;
3417 T123_ = (tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw*) newObj((&NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_), sizeof(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw));
3418 copy = T123_;
3419 genericAssign((void*)(&(*copy).lastReads), (void*)(&(*states->data[pc]).lastReads), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
3420 genericAssign((void*)(&(*copy).potentialLastReads), (void*)(&(*states->data[pc]).potentialLastReads), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
3421 genericAssign((void*)(&(*copy).notLastReads), (void*)(&(*states->data[pc]).notLastReads), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
3422 genericSeqAssign((&(*copy).alreadySeen.data), (*states->data[pc]).alreadySeen.data, (&NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_));
3423 (*copy).alreadySeen.counter = (*states->data[pc]).alreadySeen.counter;
3424 mergeStates__injectdestructors_1944(&states->data[(NI)(pc + cfg_2->data[pc].dest)], copy);
3425 T124_ = NIM_NIL;
3426 T124_ = states->data[pc];
3427 asgnRef((void**) (&states->data[pc]), NIM_NIL);
3428 mergeStates__injectdestructors_1944(&states->data[(NI)(pc + ((NI) 1))], T124_);
3429 }
3430 break;
3431 }
3432 }
3433 LA9_: ;
3434 i += ((NI) 1);
3435 } LA6: ;
3436 }
3437 }
3438 nimZeroMem((void*)(&lastReads), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
3439 T125_ = (tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw**)0;
3440 T125_ = X5BX5D___injectdestructors_4096(states->data, (states ? states->Sup.len : 0), ((NI) 1));
3441 T126_ = (tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw**)0;
3442 T126_ = X5BX5D___injectdestructors_4096(states->data, (states ? states->Sup.len : 0), ((NI) 1));
3443 nimZeroMem((void*)(&T127_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
3444 plus___injectdestructors_4122((&(*(*T125_)).lastReads), (&(*(*T126_)).potentialLastReads), (&T127_));
3445 T128_ = (tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw**)0;
3446 T128_ = X5BX5D___injectdestructors_4096(states->data, (states ? states->Sup.len : 0), ((NI) 1));
3447 nimZeroMem((void*)(&T129_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
3448 minus___sem_4040((&T127_), (&(*(*T128_)).notLastReads), (&T129_));
3449 nimCopyMem((void*)(&lastReads), (NIM_CONST void*)(&T129_), sizeof(lastReads));
3450 nimZeroMem((void*)(&lastReadTable), sizeof(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ));
3451 {
3452 NI position;
3453 tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg node;
3454 NI i_8;
3455 NI L;
3456 NI T131_;
3457 position = (NI)0;
3458 nimZeroMem((void*)(&node), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
3459 i_8 = ((NI) 0);
3460 T131_ = (cfg_2 ? cfg_2->Sup.len : 0);
3461 L = T131_;
3462 {
3463 while (1) {
3464 if (!(i_8 < L)) goto LA133;
3465 position = i_8;
3466 nimCopyMem((void*)(&node), (NIM_CONST void*)(&cfg_2->data[i_8]), sizeof(node));
3467 {
3468 tySequence__qwqHTkRvwhrRyENtudHQ7g* T138_;
3469 tySequence__qwqHTkRvwhrRyENtudHQ7g** T139_;
3470 NI T140_;
3471 if (!(node.kind == ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 3))) goto LA136_;
3472 T138_ = NIM_NIL;
3473 T138_ = NIM_NIL;
3474 T139_ = (tySequence__qwqHTkRvwhrRyENtudHQ7g**)0;
3475 T139_ = mgetOrPut__injectdestructors_4249((&lastReadTable), node.n, T138_);
3476 unsureAsgnRef((void**) (&(*T139_)), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*T139_)), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
3477 T140_ = (*T139_)->Sup.len++;
3478 (*T139_)->data[T140_] = position;
3479 }
3480 LA136_: ;
3481 i_8 += ((NI) 1);
3482 } LA133: ;
3483 }
3484 }
3485 {
3486 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node_2;
3487 tySequence__qwqHTkRvwhrRyENtudHQ7g* positions;
3488 NI L_2;
3489 node_2 = NIM_NIL;
3490 positions = NIM_NIL;
3491 L_2 = len__injectdestructors_5743(lastReadTable);
3492 {
3493 NI h_2;
3494 NI colontmp__4;
3495 NI T143_;
3496 NI res_2;
3497 h_2 = (NI)0;
3498 colontmp__4 = (NI)0;
3499 T143_ = ((lastReadTable.data ? lastReadTable.data->Sup.len : 0)-1);
3500 colontmp__4 = T143_;
3501 res_2 = ((NI) 0);
3502 {
3503 while (1) {
3504 if (!(res_2 <= colontmp__4)) goto LA145;
3505 h_2 = res_2;
3506 {
3507 NIM_BOOL T148_;
3508 T148_ = (NIM_BOOL)0;
3509 T148_ = isFilled__pureZcollectionsZtables_31(lastReadTable.data->data[h_2].Field0);
3510 if (!T148_) goto LA149_;
3511 node_2 = lastReadTable.data->data[h_2].Field1;
3512 positions = lastReadTable.data->data[h_2].Field2;
3513 {
3514 {
3515 NI* p;
3516 NI i_9;
3517 NI L_3;
3518 NI T153_;
3519 p = (NI*)0;
3520 i_9 = ((NI) 0);
3521 T153_ = (positions ? positions->Sup.len : 0);
3522 L_3 = T153_;
3523 {
3524 while (1) {
3525 if (!(i_9 < L_3)) goto LA155;
3526 p = (&positions->data[i_9]);
3527 {
3528 NIM_BOOL T158_;
3529 T158_ = (NIM_BOOL)0;
3530 T158_ = contains__astalgo_3496((&lastReads), (*p));
3531 if (!!(T158_)) goto LA159_;
3532 goto LA151;
3533 }
3534 LA159_: ;
3535 i_9 += ((NI) 1);
3536 } LA155: ;
3537 }
3538 }
3539 (*node_2).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 21)) & 31);
3540 } LA151: ;
3541 }
3542 LA149_: ;
3543 res_2 += ((NI) 1);
3544 } LA145: ;
3545 }
3546 }
3547 }
3548 }
N_INLINE(NI,len__ast_3198)3549 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3550 NI result;
3551 NI T1_;
3552 result = (NI)0;
3553 T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
3554 result = T1_;
3555 return result;
3556 }
N_INLINE(NIM_BOOL,isEmptyType__ast_4779)3557 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
3558 NIM_BOOL result;
3559 NIM_BOOL T1_;
3560 result = (NIM_BOOL)0;
3561 T1_ = (NIM_BOOL)0;
3562 T1_ = (t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
3563 if (T1_) goto LA2_;
3564 T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7));
3565 LA2_: ;
3566 result = T1_;
3567 return result;
3568 }
N_NIMCALL(void,nestedScope__injectdestructors_72)3569 N_LIB_PRIVATE N_NIMCALL(void, nestedScope__injectdestructors_72)(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* parent, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* Result) {
3570 unsureAsgnRef((void**)&(*Result).vars, NIM_NIL);
3571 unsureAsgnRef((void**)&(*Result).wasMoved, NIM_NIL);
3572 unsureAsgnRef((void**)&(*Result).final, NIM_NIL);
3573 (*Result).needsTry = 0;
3574 (*Result).parent = NIM_NIL;
3575 unsureAsgnRef((void**) (&(*Result).vars), NIM_NIL);
3576 unsureAsgnRef((void**) (&(*Result).wasMoved), NIM_NIL);
3577 unsureAsgnRef((void**) (&(*Result).final), NIM_NIL);
3578 (*Result).needsTry = NIM_FALSE;
3579 (*Result).parent = parent;
3580 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,processScope__injectdestructors_7016)3581 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, processScope__injectdestructors_7016)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ret) {
3582 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3583 result = NIM_NIL;
3584 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*ret).info);
3585 {
3586 NI T3_;
3587 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSection;
3588 T3_ = ((*s).vars ? (*s).vars->Sup.len : 0);
3589 if (!(((NI) 0) < T3_)) goto LA4_;
3590 varSection = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*ret).info);
3591 {
3592 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmp;
3593 NI i;
3594 NI L;
3595 NI T7_;
3596 tmp = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
3597 i = ((NI) 0);
3598 T7_ = ((*s).vars ? (*s).vars->Sup.len : 0);
3599 L = T7_;
3600 {
3601 while (1) {
3602 tyArray__T6RKPw8xfAeNaoei9aZGzXg T10_;
3603 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
3604 if (!(i < L)) goto LA9;
3605 tmp = &(*s).vars->data[i];
3606 nimZeroMem((void*)T10_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
3607 T10_[0] = newSymNode__ast_3716((*tmp));
3608 T10_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*ret).info);
3609 T10_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*ret).info);
3610 T11_ = NIM_NIL;
3611 T11_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T10_, 3);
3612 add__ast_4797(varSection, T11_);
3613 i += ((NI) 1);
3614 } LA9: ;
3615 }
3616 }
3617 add__ast_4797(result, varSection);
3618 }
3619 LA4_: ;
3620 {
3621 NIM_BOOL T14_;
3622 NI T15_;
3623 NI T17_;
3624 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSection;
3625 T14_ = (NIM_BOOL)0;
3626 T15_ = ((*s).wasMoved ? (*s).wasMoved->Sup.len : 0);
3627 T14_ = (((NI) 0) < T15_);
3628 if (T14_) goto LA16_;
3629 T17_ = ((*s).final ? (*s).final->Sup.len : 0);
3630 T14_ = (((NI) 0) < T17_);
3631 LA16_: ;
3632 if (!T14_) goto LA18_;
3633 finSection = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*ret).info);
3634 {
3635 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** m;
3636 NI i_2;
3637 NI L_2;
3638 NI T21_;
3639 m = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
3640 i_2 = ((NI) 0);
3641 T21_ = ((*s).wasMoved ? (*s).wasMoved->Sup.len : 0);
3642 L_2 = T21_;
3643 {
3644 while (1) {
3645 if (!(i_2 < L_2)) goto LA23;
3646 m = &(*s).wasMoved->data[i_2];
3647 add__ast_4797(finSection, (*m));
3648 i_2 += ((NI) 1);
3649 } LA23: ;
3650 }
3651 }
3652 {
3653 NI i_3;
3654 NI colontmp_;
3655 NI T25_;
3656 NI res;
3657 i_3 = (NI)0;
3658 colontmp_ = (NI)0;
3659 T25_ = (((*s).final ? (*s).final->Sup.len : 0)-1);
3660 colontmp_ = T25_;
3661 res = colontmp_;
3662 {
3663 while (1) {
3664 if (!(((NI) 0) <= res)) goto LA27;
3665 i_3 = res;
3666 add__ast_4797(finSection, (*s).final->data[i_3]);
3667 res -= ((NI) 1);
3668 } LA27: ;
3669 }
3670 }
3671 {
3672 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T32_;
3673 if (!(*s).needsTry) goto LA30_;
3674 T32_ = NIM_NIL;
3675 T32_ = newTryFinally__lowerings_202(ret, finSection);
3676 add__ast_4797(result, T32_);
3677 }
3678 goto LA28_;
3679 LA30_: ;
3680 {
3681 add__ast_4797(result, ret);
3682 add__ast_4797(result, finSection);
3683 }
3684 LA28_: ;
3685 }
3686 goto LA12_;
3687 LA18_: ;
3688 {
3689 add__ast_4797(result, ret);
3690 }
3691 LA12_: ;
3692 {
3693 NIM_BOOL T39_;
3694 if (!!(((*s).parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA37_;
3695 T39_ = (NIM_BOOL)0;
3696 T39_ = (*(*s).parent).needsTry;
3697 if (T39_) goto LA40_;
3698 T39_ = (*s).needsTry;
3699 LA40_: ;
3700 (*(*s).parent).needsTry = T39_;
3701 }
3702 LA37_: ;
3703 return result;
3704 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextSymId__ast_3132)3705 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
3706 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
3707 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
3708 (*x).symId += ((NI) 1);
3709 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
3710 result.module = (*x).module;
3711 result.item = (*x).symId;
3712 return result;
3713 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getTemp__injectdestructors_61)3714 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getTemp__injectdestructors_61)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
3715 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3716 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
3717 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
3718 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T2_;
3719 NI T3_;
3720 result = NIM_NIL;
3721 T1_ = NIM_NIL;
3722 T1_ = getIdent__idents_143((*(*c).graph).cache, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_14));
3723 T2_ = nextSymId__ast_3132((*c).idgen);
3724 sym = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5), T1_, T2_, (*c).owner, info, 0);
3725 asgnRef((void**) (&(*sym).typ), typ);
3726 unsureAsgnRef((void**) (&(*s).vars), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*s).vars), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
3727 T3_ = (*s).vars->Sup.len++;
3728 asgnRef((void**) (&(*s).vars->data[T3_]), sym);
3729 result = newSymNode__ast_3716(sym);
3730 return result;
3731 }
N_INLINE(NIM_BOOL,hasDestructor__injectdestructors_49)3732 static N_INLINE(NIM_BOOL, hasDestructor__injectdestructors_49)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
3733 NIM_BOOL result;
3734 result = (NIM_BOOL)0;
3735 result = !(((IL64(2147483664) & (*t).flags) == 0));
3736 return result;
3737 }
N_INLINE(NIM_BOOL,isGenericParams__ast_4616)3738 static N_INLINE(NIM_BOOL, isGenericParams__ast_4616)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3739 NIM_BOOL result;
3740 NIM_BOOL T1_;
3741 result = (NIM_BOOL)0;
3742 T1_ = (NIM_BOOL)0;
3743 T1_ = !((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3744 if (!(T1_)) goto LA2_;
3745 T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75));
3746 LA2_: ;
3747 result = T1_;
3748 return result;
3749 }
N_INLINE(NIM_BOOL,isGenericRoutine__ast_4627)3750 static N_INLINE(NIM_BOOL, isGenericRoutine__ast_4627)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3751 NIM_BOOL result;
3752 NIM_BOOL T1_;
3753 NIM_BOOL T2_;
3754 result = (NIM_BOOL)0;
3755 T1_ = (NIM_BOOL)0;
3756 T2_ = (NIM_BOOL)0;
3757 T2_ = !((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3758 if (!(T2_)) goto LA3_;
3759 T2_ = ((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52) || (*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159));
3760 LA3_: ;
3761 T1_ = T2_;
3762 if (!(T1_)) goto LA4_;
3763 T1_ = isGenericParams__ast_4616((*n)._kind_6.sons->data[((NI) 2)]);
3764 LA4_: ;
3765 result = T1_;
3766 return result;
3767 }
N_INLINE(int,nimCmpMem)3768 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
3769 int result;
3770 result = (int)0;
3771 result = memcmp(a, b, ((size_t) (size)));
3772 return result;
3773 }
N_INLINE(NIM_BOOL,equalMem__system_1735)3774 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
3775 NIM_BOOL result;
3776 int T1_;
3777 result = (NIM_BOOL)0;
3778 T1_ = (int)0;
3779 T1_ = nimCmpMem(a, b, size);
3780 result = (T1_ == ((NI32) 0));
3781 return result;
3782 }
N_INLINE(NIM_BOOL,eqStrings)3783 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
3784 NIM_BOOL result;
3785 NI alen;
3786 NI blen;
3787 { result = (NIM_BOOL)0;
3788 alen = (a ? a->Sup.len : 0);
3789 blen = (b ? b->Sup.len : 0);
3790 {
3791 if (!(alen == blen)) goto LA3_;
3792 {
3793 if (!(alen == ((NI) 0))) goto LA7_;
3794 result = NIM_TRUE;
3795 goto BeforeRet_;
3796 }
3797 LA7_: ;
3798 result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
3799 goto BeforeRet_;
3800 }
3801 LA3_: ;
3802 }BeforeRet_: ;
3803 return result;
3804 }
N_INLINE(NIM_BOOL,startsWith__pureZstrutils_1246)3805 static N_INLINE(NIM_BOOL, startsWith__pureZstrutils_1246)(NimStringDesc* s, NIM_CHAR prefix) {
3806 NIM_BOOL result;
3807 NIM_BOOL T1_;
3808 result = (NIM_BOOL)0;
3809 T1_ = (NIM_BOOL)0;
3810 T1_ = (((NI) 0) < (s ? s->Sup.len : 0));
3811 if (!(T1_)) goto LA2_;
3812 T1_ = ((NU8)(s->data[((NI) 0)]) == (NU8)(prefix));
3813 LA2_: ;
3814 result = T1_;
3815 return result;
3816 }
N_INLINE(NimStringDesc *,X5BX5D___pureZunicode_3215)3817 static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_3215)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) {
3818 NimStringDesc* result;
3819 NI a;
3820 NI L;
3821 result = NIM_NIL;
3822 a = x.a;
3823 L = (NI)((NI)((NI)((s ? s->Sup.len : 0) - x.b) - a) + ((NI) 1));
3824 result = mnewString(((NI) (L)));
3825 {
3826 NI i;
3827 NI i_2;
3828 i = (NI)0;
3829 i_2 = ((NI) 0);
3830 {
3831 while (1) {
3832 if (!(i_2 < L)) goto LA3;
3833 i = i_2;
3834 result->data[i] = s->data[(NI)(i + a)];
3835 i_2 += ((NI) 1);
3836 } LA3: ;
3837 }
3838 }
3839 return result;
3840 }
N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA,dotdot___stdZenumutils_80)3841 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZenumutils_80)(NI a, NI b) {
3842 tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
3843 nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
3844 nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
3845 result.a = a;
3846 result.b = b;
3847 return result;
3848 }
N_INLINE(NIM_BOOL,isSinkType__ast_5045)3849 static N_INLINE(NIM_BOOL, isSinkType__ast_5045)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
3850 NIM_BOOL result;
3851 NIM_BOOL T1_;
3852 result = (NIM_BOOL)0;
3853 T1_ = (NIM_BOOL)0;
3854 T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46));
3855 if (T1_) goto LA2_;
3856 T1_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4))&63U)))!=0);
3857 LA2_: ;
3858 result = T1_;
3859 return result;
3860 }
N_NIMCALL(void,checkForErrorPragma__injectdestructors_6380)3861 N_LIB_PRIVATE N_NIMCALL(void, checkForErrorPragma__injectdestructors_6380)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NimStringDesc* opname) {
3862 NimStringDesc* m;
3863 NimStringDesc* T1_;
3864 NimStringDesc* T2_;
3865 T1_ = NIM_NIL;
3866 T2_ = NIM_NIL;
3867 T2_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3868 T1_ = rawNewString((opname ? opname->Sup.len : 0) + (T2_ ? T2_->Sup.len : 0) + 31);
3869 appendString(T1_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_22));
3870 appendString(T1_, opname);
3871 appendString(T1_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_23));
3872 appendString(T1_, T2_);
3873 appendString(T1_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_24));
3874 m = T1_;
3875 {
3876 NIM_BOOL T5_;
3877 NIM_BOOL T6_;
3878 NimStringDesc* T11_;
3879 T5_ = (NIM_BOOL)0;
3880 T6_ = (NIM_BOOL)0;
3881 T6_ = eqStrings(opname, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_25));
3882 if (T6_) goto LA7_;
3883 T6_ = eqStrings(opname, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_26));
3884 LA7_: ;
3885 T5_ = T6_;
3886 if (!(T5_)) goto LA8_;
3887 T5_ = !((ri == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3888 LA8_: ;
3889 if (!T5_) goto LA9_;
3890 m = resizeString(m, 53);
3891 appendString(m, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_27));
3892 T11_ = NIM_NIL;
3893 T11_ = renderTree__renderer_46(ri, 0);
3894 m = resizeString(m, (T11_ ? T11_->Sup.len : 0) + 0);
3895 appendString(m, T11_);
3896 m = addChar(m, 39);
3897 {
3898 NimStringDesc* T14_;
3899 NIM_BOOL T15_;
3900 NimStringDesc* T18_;
3901 tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T19_;
3902 NimStringDesc* T20_;
3903 NI T21_;
3904 NimStringDesc* T22_;
3905 T14_ = NIM_NIL;
3906 T14_ = comment__ast_993(ri);
3907 T15_ = (NIM_BOOL)0;
3908 T15_ = startsWith__pureZstrutils_1246(T14_, 10);
3909 if (!T15_) goto LA16_;
3910 m = resizeString(m, 29);
3911 appendString(m, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_28));
3912 T18_ = NIM_NIL;
3913 T18_ = comment__ast_993(ri);
3914 T19_ = dotdot___stdZenumutils_80(((NI) 1), ((NI) 1));
3915 T20_ = NIM_NIL;
3916 T20_ = X5BX5D___pureZunicode_3215(T18_, T19_);
3917 T21_ = (NI)0;
3918 T21_ = nsuParseInt(T20_);
3919 T22_ = NIM_NIL;
3920 T22_ = dollar___msgs_624((*(*c).graph).config, (*(*c).g->data[T21_].n).info);
3921 m = resizeString(m, (T22_ ? T22_->Sup.len : 0) + 0);
3922 appendString(m, T22_);
3923 }
3924 goto LA12_;
3925 LA16_: ;
3926 {
3927 NIM_BOOL T24_;
3928 NIM_BOOL T25_;
3929 NIM_BOOL T28_;
3930 NimStringDesc* T31_;
3931 T24_ = (NIM_BOOL)0;
3932 T25_ = (NIM_BOOL)0;
3933 T25_ = ((*ri).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3934 if (!(T25_)) goto LA26_;
3935 T25_ = ((*(*ri)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
3936 LA26_: ;
3937 T24_ = T25_;
3938 if (!(T24_)) goto LA27_;
3939 T28_ = (NIM_BOOL)0;
3940 T28_ = isSinkType__ast_5045((*(*ri)._kind_4.sym).typ);
3941 T24_ = !(T28_);
3942 LA27_: ;
3943 if (!T24_) goto LA29_;
3944 m = resizeString(m, 14);
3945 appendString(m, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_29));
3946 T31_ = NIM_NIL;
3947 T31_ = renderTree__renderer_46(ri, 0);
3948 m = resizeString(m, (T31_ ? T31_->Sup.len : 0) + 0);
3949 appendString(m, T31_);
3950 m = resizeString(m, 19);
3951 appendString(m, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_30));
3952 }
3953 goto LA12_;
3954 LA29_: ;
3955 LA12_: ;
3956 }
3957 LA9_: ;
3958 m = resizeString(m, 11);
3959 appendString(m, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_31));
3960 m = resizeString(m, ((*(*(*c).owner).name).s ? (*(*(*c).owner).name).s->Sup.len : 0) + 0);
3961 appendString(m, (*(*(*c).owner).name).s);
3962 liMessage__msgs_1118((*(*c).graph).config, (*ri).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), m, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_32, NIM_FALSE);
3963 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextTypeId__ast_3151)3964 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
3965 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
3966 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
3967 (*x).typeId_0 += ((NI) 1);
3968 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
3969 result.module = (*x).module;
3970 result.item = (*x).typeId_0;
3971 return result;
3972 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,makePtrType__injectdestructors_6416)3973 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makePtrType__injectdestructors_6416)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType) {
3974 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
3975 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T1_;
3976 result = NIM_NIL;
3977 T1_ = nextTypeId__ast_3151((*c).idgen);
3978 result = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21), T1_, (*c).owner);
3979 addSonSkipIntLit__magicsys_136(result, baseType, (*c).idgen);
3980 return result;
3981 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genOp__injectdestructors_6420)3982 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genOp__injectdestructors_6420)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest) {
3983 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3984 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* addrExp;
3985 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
3986 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T2_;
3987 result = NIM_NIL;
3988 T1_ = NIM_NIL;
3989 T1_ = makePtrType__injectdestructors_6416(c, (*dest).typ);
3990 addrExp = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64), (*dest).info, T1_);
3991 add__ast_4797(addrExp, dest);
3992 nimZeroMem((void*)T2_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
3993 T2_[0] = newSymNode__ast_3716(op);
3994 T2_[1] = addrExp;
3995 result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T2_, 2);
3996 return result;
3997 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genOp__injectdestructors_6430)3998 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genOp__injectdestructors_6430)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri) {
3999 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4000 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op;
4001 result = NIM_NIL;
4002 op = getAttachedOp__modulegraphs_4011((*c).graph, t, kind);
4003 {
4004 NIM_BOOL T3_;
4005 tyArray__qtqsWM5aXmcpMIVmvq3kAA h;
4006 tyObject_TType__facALICuu8zUj0hjvbTLFg* canon;
4007 T3_ = (NIM_BOOL)0;
4008 T3_ = (op == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
4009 if (T3_) goto LA4_;
4010 T3_ = isGenericRoutine__ast_4627((*op).ast);
4011 LA4_: ;
4012 if (!T3_) goto LA5_;
4013 nimZeroMem((void*)h, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
4014 hashType__sighashes_462(t, 50, h);
4015 canon = getOrDefault__liftdestructors_976((*(*c).graph).canonTypes, h);
4016 {
4017 if (!!((canon == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA9_;
4018 op = getAttachedOp__modulegraphs_4011((*c).graph, canon, kind);
4019 }
4020 LA9_: ;
4021 }
4022 LA5_: ;
4023 {
4024 NimStringDesc* T15_;
4025 NimStringDesc* T16_;
4026 if (!(op == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA13_;
4027 T15_ = NIM_NIL;
4028 T16_ = NIM_NIL;
4029 T16_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
4030 T15_ = rawNewString((AttachedOpToStr__ast_3848[(kind)- 0] ? AttachedOpToStr__ast_3848[(kind)- 0]->Sup.len : 0) + (T16_ ? T16_->Sup.len : 0) + 47);
4031 appendString(T15_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_16));
4032 appendString(T15_, AttachedOpToStr__ast_3848[(kind)- 0]);
4033 appendString(T15_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_17));
4034 appendString(T15_, T16_);
4035 liMessage__msgs_1118((*(*c).graph).config, (*dest).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T15_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_18, NIM_FALSE);
4036 }
4037 goto LA11_;
4038 LA13_: ;
4039 {
4040 NIM_BOOL T18_;
4041 NimStringDesc* T21_;
4042 T18_ = (NIM_BOOL)0;
4043 T18_ = isGenericRoutine__ast_4627((*op).ast);
4044 if (!T18_) goto LA19_;
4045 T21_ = NIM_NIL;
4046 T21_ = rawNewString((AttachedOpToStr__ast_3848[(kind)- 0] ? AttachedOpToStr__ast_3848[(kind)- 0]->Sup.len : 0) + 38);
4047 appendString(T21_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_16));
4048 appendString(T21_, AttachedOpToStr__ast_3848[(kind)- 0]);
4049 appendString(T21_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_20));
4050 liMessage__msgs_1118((*(*c).graph).config, (*dest).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T21_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_21, NIM_FALSE);
4051 }
4052 goto LA11_;
4053 LA19_: ;
4054 LA11_: ;
4055 {
4056 if (!(((*op).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 24))&63U)))!=0)) goto LA24_;
4057 checkForErrorPragma__injectdestructors_6380((&(*c)), t, ri, AttachedOpToStr__ast_3848[(kind)- 0]);
4058 }
4059 LA24_: ;
4060 result = genOp__injectdestructors_6420(c, op, dest);
4061 return result;
4062 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genDestroy__injectdestructors_6527)4063 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genDestroy__injectdestructors_6527)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest) {
4064 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4065 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4066 result = NIM_NIL;
4067 t = skipTypes__ast_3735((*dest).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_15);
4068 result = genOp__injectdestructors_6430(c, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0), dest, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4069 return result;
4070 }
N_NIMCALL(NIM_BOOL,sameConstant__injectdestructors_8436)4071 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameConstant__injectdestructors_8436)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
4072 NIM_BOOL result;
4073 NIM_BOOL T1_;
4074 result = (NIM_BOOL)0;
4075 T1_ = (NIM_BOOL)0;
4076 T1_ = ((*a).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*a).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22));
4077 if (!(T1_)) goto LA2_;
4078 T1_ = ((*a)._kind_1.intVal == (*b)._kind_1.intVal);
4079 LA2_: ;
4080 result = T1_;
4081 return result;
4082 }
N_NIMCALL(NIM_BOOL,sameLocation__injectdestructors_8432)4083 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameLocation__injectdestructors_8432)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
4084 NIM_BOOL result;
4085 result = (NIM_BOOL)0;
4086 {
4087 NIM_BOOL T3_;
4088 T3_ = (NIM_BOOL)0;
4089 T3_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
4090 if (!(T3_)) goto LA4_;
4091 T3_ = ((*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) || (*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46) || (*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
4092 LA4_: ;
4093 if (!T3_) goto LA5_;
4094 {
4095 if (!((*a).kind == (*b).kind)) goto LA9_;
4096 switch ((*a).kind) {
4097 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
4098 {
4099 result = ((*a)._kind_4.sym == (*b)._kind_4.sym);
4100 }
4101 break;
4102 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
4103 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
4104 {
4105 NIM_BOOL T13_;
4106 T13_ = (NIM_BOOL)0;
4107 T13_ = sameLocation__injectdestructors_8432((*a)._kind_6.sons->data[((NI) 0)], (*b)._kind_6.sons->data[((NI) 0)]);
4108 if (!(T13_)) goto LA14_;
4109 T13_ = sameLocation__injectdestructors_8432((*a)._kind_6.sons->data[((NI) 1)], (*b)._kind_6.sons->data[((NI) 1)]);
4110 LA14_: ;
4111 result = T13_;
4112 }
4113 break;
4114 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
4115 {
4116 NIM_BOOL T16_;
4117 T16_ = (NIM_BOOL)0;
4118 T16_ = sameLocation__injectdestructors_8432((*a)._kind_6.sons->data[((NI) 0)], (*b)._kind_6.sons->data[((NI) 0)]);
4119 if (!(T16_)) goto LA17_;
4120 T16_ = sameConstant__injectdestructors_8436((*a)._kind_6.sons->data[((NI) 1)], (*b)._kind_6.sons->data[((NI) 1)]);
4121 LA17_: ;
4122 result = T16_;
4123 }
4124 break;
4125 default:
4126 {
4127 result = NIM_FALSE;
4128 }
4129 break;
4130 }
4131 }
4132 goto LA7_;
4133 LA9_: ;
4134 {
4135 result = NIM_FALSE;
4136 }
4137 LA7_: ;
4138 }
4139 goto LA1_;
4140 LA5_: ;
4141 {
4142 switch ((*a).kind) {
4143 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
4144 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
4145 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
4146 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
4147 {
4148 result = sameLocation__injectdestructors_8432(b, a);
4149 }
4150 break;
4151 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
4152 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
4153 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
4154 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
4155 {
4156 result = sameLocation__injectdestructors_8432((*a)._kind_6.sons->data[((NI) 0)], b);
4157 }
4158 break;
4159 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
4160 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
4161 {
4162 result = sameLocation__injectdestructors_8432((*a)._kind_6.sons->data[((NI) 0)], b);
4163 }
4164 break;
4165 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
4166 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
4167 {
4168 result = sameLocation__injectdestructors_8432((*a)._kind_6.sons->data[((NI) 1)], b);
4169 }
4170 break;
4171 default:
4172 {
4173 result = NIM_FALSE;
4174 }
4175 break;
4176 }
4177 }
4178 LA1_: ;
4179 return result;
4180 }
N_NIMCALL(NIM_BOOL,isCursor__injectdestructors_6369)4181 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCursor__injectdestructors_6369)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4182 NIM_BOOL result;
4183 result = (NIM_BOOL)0;
4184 switch ((*n).kind) {
4185 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
4186 {
4187 result = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 41))&63U)))!=0);
4188 }
4189 break;
4190 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
4191 {
4192 result = isCursor__injectdestructors_6369((*n)._kind_6.sons->data[((NI) 1)]);
4193 }
4194 break;
4195 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
4196 {
4197 result = isCursor__injectdestructors_6369((*n)._kind_6.sons->data[((NI) 0)]);
4198 }
4199 break;
4200 default:
4201 {
4202 result = NIM_FALSE;
4203 }
4204 break;
4205 }
4206 return result;
4207 }
N_NIMCALL(NIM_BOOL,isFirstWrite__injectdestructors_6120)4208 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isFirstWrite__injectdestructors_6120)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c) {
4209 NIM_BOOL result;
4210 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
4211 result = (NIM_BOOL)0;
4212 m = skipConvDfa__dfa_780(n);
4213 result = (((*m).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 22))&31U)))!=0);
4214 return result;
4215 }
N_INLINE(NIM_BOOL,isNoInit__injectdestructors_6553)4216 static N_INLINE(NIM_BOOL, isNoInit__injectdestructors_6553)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest) {
4217 NIM_BOOL result;
4218 NIM_BOOL T1_;
4219 result = (NIM_BOOL)0;
4220 T1_ = (NIM_BOOL)0;
4221 T1_ = ((*dest).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4222 if (!(T1_)) goto LA2_;
4223 T1_ = (((*(*dest)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 14))&63U)))!=0);
4224 LA2_: ;
4225 result = T1_;
4226 return result;
4227 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genSink__injectdestructors_6564)4228 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genSink__injectdestructors_6564)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NIM_BOOL isDecl) {
4229 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4230 result = NIM_NIL;
4231 {
4232 NIM_BOOL T3_;
4233 NIM_BOOL T4_;
4234 NIM_BOOL T6_;
4235 NIM_BOOL T7_;
4236 NIM_BOOL T8_;
4237 NIM_BOOL T9_;
4238 NIM_BOOL T14_;
4239 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T19_;
4240 T3_ = (NIM_BOOL)0;
4241 T4_ = (NIM_BOOL)0;
4242 T4_ = ((*c).inLoopCond == ((NI) 0));
4243 if (!(T4_)) goto LA5_;
4244 T6_ = (NIM_BOOL)0;
4245 T7_ = (NIM_BOOL)0;
4246 T8_ = (NIM_BOOL)0;
4247 T9_ = (NIM_BOOL)0;
4248 T9_ = ((*dest).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4249 if (!(T9_)) goto LA10_;
4250 T9_ = ((*(*dest)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5));
4251 LA10_: ;
4252 T8_ = T9_;
4253 if (!(T8_)) goto LA11_;
4254 T8_ = ((*(*(*dest)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
4255 LA11_: ;
4256 T7_ = T8_;
4257 if (T7_) goto LA12_;
4258 T7_ = isDecl;
4259 LA12_: ;
4260 T6_ = T7_;
4261 if (T6_) goto LA13_;
4262 T14_ = (NIM_BOOL)0;
4263 T14_ = isAnalysableFieldAccess__dfa_903(dest, (*c).owner);
4264 if (!(T14_)) goto LA15_;
4265 T14_ = isFirstWrite__injectdestructors_6120(dest, c);
4266 LA15_: ;
4267 T6_ = T14_;
4268 LA13_: ;
4269 T4_ = T6_;
4270 LA5_: ;
4271 T3_ = T4_;
4272 if (T3_) goto LA16_;
4273 T3_ = isNoInit__injectdestructors_6553(dest);
4274 LA16_: ;
4275 if (!T3_) goto LA17_;
4276 nimZeroMem((void*)T19_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4277 T19_[0] = dest;
4278 T19_[1] = ri;
4279 result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T19_, 2);
4280 }
4281 goto LA1_;
4282 LA17_: ;
4283 {
4284 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4285 t = skipTypes__ast_3735((*dest).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_15);
4286 {
4287 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T23_;
4288 T23_ = NIM_NIL;
4289 T23_ = getAttachedOp__modulegraphs_4011((*c).graph, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2));
4290 if (!!((T23_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA24_;
4291 result = genOp__injectdestructors_6430(c, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2), dest, ri);
4292 add__ast_4797(result, ri);
4293 }
4294 goto LA21_;
4295 LA24_: ;
4296 {
4297 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T27_;
4298 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T28_;
4299 nimZeroMem((void*)T27_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4300 T27_[0] = genDestroy__injectdestructors_6527(c, dest);
4301 nimZeroMem((void*)T28_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4302 T28_[0] = dest;
4303 T28_[1] = ri;
4304 T27_[1] = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T28_, 2);
4305 result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T27_, 2);
4306 }
4307 LA21_: ;
4308 }
4309 LA1_: ;
4310 return result;
4311 }
N_NIMCALL(NIM_BOOL,isLastRead__injectdestructors_6103)4312 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLastRead__injectdestructors_6103)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c) {
4313 NIM_BOOL result;
4314 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
4315 NIM_BOOL T1_;
4316 NIM_BOOL T2_;
4317 result = (NIM_BOOL)0;
4318 m = skipConvDfa__dfa_780(n);
4319 T1_ = (NIM_BOOL)0;
4320 T2_ = (NIM_BOOL)0;
4321 T2_ = ((*m).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4322 if (!(T2_)) goto LA3_;
4323 T2_ = (((*(*m)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45))&63U)))!=0);
4324 LA3_: ;
4325 T1_ = T2_;
4326 if (T1_) goto LA4_;
4327 T1_ = (((*m).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 21))&31U)))!=0);
4328 LA4_: ;
4329 result = T1_;
4330 return result;
4331 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genWasMoved__injectdestructors_6739)4332 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genWasMoved__injectdestructors_6739)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4333 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4334 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T1_;
4335 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
4336 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
4337 result = NIM_NIL;
4338 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
4339 T1_ = NIM_NIL;
4340 T1_ = createMagic__modulegraphs_9008((*c).graph, (*c).idgen, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_33), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 149));
4341 T2_ = NIM_NIL;
4342 T2_ = newSymNode__ast_3716(T1_);
4343 add__ast_4797(result, T2_);
4344 T3_ = NIM_NIL;
4345 T3_ = copyTree__ast_4431(n);
4346 add__ast_4797(result, T3_);
4347 return result;
4348 }
N_NIMCALL(void,genMarkCyclic__injectdestructors_6612)4349 N_LIB_PRIVATE N_NIMCALL(void, genMarkCyclic__injectdestructors_6612)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest) {
4350 {
4351 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4352 if (!((*(*(*c).graph).config).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 5))) goto LA3_;
4353 t = skipTypes__ast_3735((*dest).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_35);
4354 {
4355 NIM_BOOL T7_;
4356 T7_ = (NIM_BOOL)0;
4357 T7_ = cyclicType__liftdestructors_1366(t);
4358 if (!T7_) goto LA8_;
4359 {
4360 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T14_;
4361 if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22))) goto LA12_;
4362 T14_ = NIM_NIL;
4363 T14_ = callCodegenProc__lowerings_635((*c).graph, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_36), (*dest).info, dest, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4364 add__ast_4797(result, T14_);
4365 }
4366 goto LA10_;
4367 LA12_: ;
4368 {
4369 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* xenv;
4370 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
4371 xenv = genBuiltin__liftdestructors_113((*c).graph, (*c).idgen, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 156), ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_37), dest);
4372 asgnRef((void**) (&(*xenv).typ), getSysType__magicsys_60((*c).graph, (*dest).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26)));
4373 T16_ = NIM_NIL;
4374 T16_ = callCodegenProc__lowerings_635((*c).graph, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_36), (*dest).info, xenv, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4375 add__ast_4797(result, T16_);
4376 }
4377 LA10_: ;
4378 }
4379 LA8_: ;
4380 }
4381 LA3_: ;
4382 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,destructiveMoveVar__injectdestructors_6760)4383 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, destructiveMoveVar__injectdestructors_6760)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s) {
4384 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4385 result = NIM_NIL;
4386 {
4387 NIM_BOOL T3_;
4388 T3_ = (NIM_BOOL)0;
4389 T3_ = hasDestructor__injectdestructors_49((&(*c)), (*n).typ);
4390 if (!!(T3_)) goto LA4_;
4391 result = copyTree__ast_4431(n);
4392 }
4393 goto LA1_;
4394 LA4_: ;
4395 {
4396 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* temp;
4397 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T7_;
4398 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T8_;
4399 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v;
4400 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tempAsNode;
4401 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* vpart;
4402 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nn;
4403 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* wasMovedCall;
4404 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info, (*n).typ);
4405 T7_ = NIM_NIL;
4406 T7_ = getIdent__idents_143((*(*c).graph).cache, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_34));
4407 T8_ = nextSymId__ast_3132((*c).idgen);
4408 temp = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9), T7_, T8_, (*c).owner, (*n).info, 0);
4409 asgnRef((void**) (&(*temp).typ), (*n).typ);
4410 v = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100), (*n).info);
4411 tempAsNode = newSymNode__ast_3716(temp);
4412 vpart = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), (*tempAsNode).info, ((NI) 3));
4413 asgnRef((void**) (&(*vpart)._kind_6.sons->data[((NI) 0)]), tempAsNode);
4414 asgnRef((void**) (&(*vpart)._kind_6.sons->data[((NI) 1)]), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*tempAsNode).info));
4415 asgnRef((void**) (&(*vpart)._kind_6.sons->data[((NI) 2)]), n);
4416 add__ast_4797(v, vpart);
4417 add__ast_4797(result, v);
4418 nn = skipConv__types_3597(n);
4419 genMarkCyclic__injectdestructors_6612(c, result, nn);
4420 wasMovedCall = genWasMoved__injectdestructors_6739(c, nn);
4421 add__ast_4797(result, wasMovedCall);
4422 add__ast_4797(result, tempAsNode);
4423 }
4424 LA1_: ;
4425 return result;
4426 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genCopyNoCheck__injectdestructors_6634)4427 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genCopyNoCheck__injectdestructors_6634)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri) {
4428 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4429 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4430 result = NIM_NIL;
4431 t = skipTypes__ast_3735((*dest).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_15);
4432 result = genOp__injectdestructors_6430(c, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 1), dest, ri);
4433 return result;
4434 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genCopy__injectdestructors_6647)4435 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genCopy__injectdestructors_6647)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri) {
4436 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4437 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4438 result = NIM_NIL;
4439 t = (*dest).typ;
4440 {
4441 NIM_BOOL T3_;
4442 T3_ = (NIM_BOOL)0;
4443 T3_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4))&63U)))!=0);
4444 if (!(T3_)) goto LA4_;
4445 T3_ = !(((*ri).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)));
4446 LA4_: ;
4447 if (!T3_) goto LA5_;
4448 checkForErrorPragma__injectdestructors_6380((&(*c)), t, ri, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_26));
4449 }
4450 LA5_: ;
4451 result = genCopyNoCheck__injectdestructors_6634(c, dest, ri);
4452 return result;
4453 }
N_INLINE(NIM_BOOL,isCriticalLink__injectdestructors_6591)4454 static N_INLINE(NIM_BOOL, isCriticalLink__injectdestructors_6591)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest) {
4455 NIM_BOOL result;
4456 result = (NIM_BOOL)0;
4457 result = !(((*dest).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
4458 return result;
4459 }
N_NIMCALL(void,finishCopy__injectdestructors_6598)4460 N_LIB_PRIVATE N_NIMCALL(void, finishCopy__injectdestructors_6598)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, NIM_BOOL isFromSink) {
4461 {
4462 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4463 if (!((*(*(*c).graph).config).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 5))) goto LA3_;
4464 t = skipTypes__ast_3735((*dest).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_35);
4465 {
4466 NIM_BOOL T7_;
4467 NIM_BOOL T10_;
4468 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
4469 T7_ = (NIM_BOOL)0;
4470 T7_ = cyclicType__liftdestructors_1366(t);
4471 if (!T7_) goto LA8_;
4472 T10_ = (NIM_BOOL)0;
4473 T10_ = isFromSink;
4474 if (T10_) goto LA11_;
4475 T10_ = isCriticalLink__injectdestructors_6591(dest);
4476 LA11_: ;
4477 T12_ = NIM_NIL;
4478 T12_ = boolLit__liftdestructors_427((*c).graph, (*result).info, T10_);
4479 add__ast_4797(result, T12_);
4480 }
4481 LA8_: ;
4482 }
4483 LA3_: ;
4484 }
N_INLINE(NIM_BOOL,isDangerousSeq__injectdestructors_6847)4485 static N_INLINE(NIM_BOOL, isDangerousSeq__injectdestructors_6847)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4486 NIM_BOOL result;
4487 tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
4488 NIM_BOOL T1_;
4489 result = (NIM_BOOL)0;
4490 t_2 = skipTypes__ast_3735(t, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_38);
4491 T1_ = (NIM_BOOL)0;
4492 T1_ = ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
4493 if (!(T1_)) goto LA2_;
4494 T1_ = !((((*(*t_2).sons->data[((NI) 0)]).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4))&63U)))!=0));
4495 LA2_: ;
4496 result = T1_;
4497 return result;
4498 }
N_INLINE(NIM_BOOL,isSinkParam__ast_5030)4499 static N_INLINE(NIM_BOOL, isSinkParam__ast_5030)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
4500 NIM_BOOL result;
4501 NIM_BOOL T1_;
4502 NIM_BOOL T3_;
4503 result = (NIM_BOOL)0;
4504 T1_ = (NIM_BOOL)0;
4505 T1_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
4506 if (!(T1_)) goto LA2_;
4507 T3_ = (NIM_BOOL)0;
4508 T3_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46));
4509 if (T3_) goto LA4_;
4510 T3_ = (((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4))&63U)))!=0);
4511 LA4_: ;
4512 T1_ = T3_;
4513 LA2_: ;
4514 result = T1_;
4515 return result;
4516 }
N_INLINE(NIM_BOOL,canBeMoved__injectdestructors_6532)4517 static N_INLINE(NIM_BOOL, canBeMoved__injectdestructors_6532)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4518 NIM_BOOL result;
4519 tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
4520 result = (NIM_BOOL)0;
4521 t_2 = skipTypes__ast_3735(t, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_15);
4522 {
4523 NIM_BOOL T5_;
4524 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T7_;
4525 if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0)) goto LA3_;
4526 T5_ = (NIM_BOOL)0;
4527 T5_ = !(((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22)));
4528 if (!(T5_)) goto LA6_;
4529 T7_ = NIM_NIL;
4530 T7_ = getAttachedOp__modulegraphs_4011((*c).graph, t_2, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2));
4531 T5_ = !((T7_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
4532 LA6_: ;
4533 result = T5_;
4534 }
4535 goto LA1_;
4536 LA3_: ;
4537 {
4538 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T9_;
4539 T9_ = NIM_NIL;
4540 T9_ = getAttachedOp__modulegraphs_4011((*c).graph, t_2, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2));
4541 result = !((T9_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
4542 }
4543 LA1_: ;
4544 return result;
4545 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,pRaiseStmt__injectdestructors_7126)4546 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, pRaiseStmt__injectdestructors_7126)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s) {
4547 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4548 result = NIM_NIL;
4549 {
4550 NIM_BOOL T3_;
4551 T3_ = (NIM_BOOL)0;
4552 T3_ = (((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0);
4553 if (!(T3_)) goto LA4_;
4554 T3_ = !(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
4555 LA4_: ;
4556 if (!T3_) goto LA5_;
4557 {
4558 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
4559 if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA9_;
4560 call = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
4561 result = copyNode__ast_4336(n);
4562 add__ast_4797(result, call);
4563 }
4564 goto LA7_;
4565 LA9_: ;
4566 {
4567 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmp;
4568 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
4569 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
4570 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T13_;
4571 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* toDisarm;
4572 tyArray__jlWPjgtbdjE069arIWHC9c9bg T25_;
4573 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T26_;
4574 tmp = getTemp__injectdestructors_61(c, s, (*(*n)._kind_6.sons->data[((NI) 0)]).typ, (*n).info);
4575 m = genCopyNoCheck__injectdestructors_6634(c, tmp, (*n)._kind_6.sons->data[((NI) 0)]);
4576 T12_ = NIM_NIL;
4577 T12_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
4578 add__ast_4797(m, T12_);
4579 finishCopy__injectdestructors_6598(c, m, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
4580 nimZeroMem((void*)T13_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4581 T13_[0] = genWasMoved__injectdestructors_6739(c, tmp);
4582 T13_[1] = m;
4583 result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T13_, 2);
4584 toDisarm = (*n)._kind_6.sons->data[((NI) 0)];
4585 {
4586 if (!((*toDisarm).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA16_;
4587 toDisarm = lastSon__ast_4832(toDisarm);
4588 }
4589 LA16_: ;
4590 {
4591 NIM_BOOL T20_;
4592 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T24_;
4593 T20_ = (NIM_BOOL)0;
4594 T20_ = ((*toDisarm).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4595 if (!(T20_)) goto LA21_;
4596 T20_ = ((*(*toDisarm)._kind_4.sym).owner == (*c).owner);
4597 LA21_: ;
4598 if (!T20_) goto LA22_;
4599 T24_ = NIM_NIL;
4600 T24_ = genWasMoved__injectdestructors_6739(c, toDisarm);
4601 add__ast_4797(result, T24_);
4602 }
4603 LA22_: ;
4604 nimZeroMem((void*)T25_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4605 T25_[0] = tmp;
4606 T26_ = NIM_NIL;
4607 T26_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108), T25_, 1);
4608 add__ast_4797(result, T26_);
4609 }
4610 LA7_: ;
4611 }
4612 goto LA1_;
4613 LA5_: ;
4614 {
4615 result = copyNode__ast_4336(n);
4616 {
4617 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T32_;
4618 if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA30_;
4619 T32_ = NIM_NIL;
4620 T32_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2));
4621 add__ast_4797(result, T32_);
4622 }
4623 goto LA28_;
4624 LA30_: ;
4625 {
4626 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T34_;
4627 T34_ = NIM_NIL;
4628 T34_ = copyNode__ast_4336((*n)._kind_6.sons->data[((NI) 0)]);
4629 add__ast_4797(result, T34_);
4630 }
4631 LA28_: ;
4632 }
4633 LA1_: ;
4634 (*s).needsTry = NIM_TRUE;
4635 return result;
4636 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,moveOrCopy__injectdestructors_110)4637 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, moveOrCopy__injectdestructors_110)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, NIM_BOOL isDecl) {
4638 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4639 { result = NIM_NIL;
4640 {
4641 NIM_BOOL T3_;
4642 T3_ = (NIM_BOOL)0;
4643 T3_ = sameLocation__injectdestructors_8432(dest, ri);
4644 if (!T3_) goto LA4_;
4645 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*dest).info);
4646 }
4647 goto LA1_;
4648 LA4_: ;
4649 {
4650 NIM_BOOL T7_;
4651 T7_ = (NIM_BOOL)0;
4652 T7_ = isCursor__injectdestructors_6369(dest);
4653 if (!T7_) goto LA8_;
4654 switch ((*ri).kind) {
4655 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
4656 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
4657 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
4658 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
4659 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
4660 {
4661 switch ((*ri).kind) {
4662 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
4663 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
4664 {
4665 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
4666 {
4667 NI T14_;
4668 T14_ = (NI)0;
4669 T14_ = len__ast_3198(ri);
4670 if (!(T14_ == ((NI) 0))) goto LA15_;
4671 result = ri;
4672 goto BeforeRet_;
4673 }
4674 LA15_: ;
4675 result = copyNode__ast_4336(ri);
4676 {
4677 NI iX60gensym501_;
4678 NI colontmp_;
4679 NI T18_;
4680 NI i;
4681 iX60gensym501_ = (NI)0;
4682 colontmp_ = (NI)0;
4683 T18_ = (NI)0;
4684 T18_ = len__ast_3198(ri);
4685 colontmp_ = (NI)(T18_ - ((NI) 1));
4686 i = ((NI) 0);
4687 {
4688 while (1) {
4689 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T21_;
4690 if (!(i < colontmp_)) goto LA20;
4691 iX60gensym501_ = i;
4692 T21_ = NIM_NIL;
4693 T21_ = p__injectdestructors_105((*ri)._kind_6.sons->data[iX60gensym501_], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
4694 add__ast_4797(result, T21_);
4695 i += ((NI) 1);
4696 } LA20: ;
4697 }
4698 }
4699 T22_ = NIM_NIL;
4700 {
4701 NI T25_;
4702 NIM_BOOL T26_;
4703 NI T29_;
4704 T25_ = (NI)0;
4705 T25_ = len__ast_3198(ri);
4706 T26_ = (NIM_BOOL)0;
4707 T26_ = isEmptyType__ast_4779((*(*ri)._kind_6.sons->data[(NI)(T25_ - ((NI) 1))]).typ);
4708 if (!T26_) goto LA27_;
4709 T29_ = (NI)0;
4710 T29_ = len__ast_3198(ri);
4711 T22_ = p__injectdestructors_105((*ri)._kind_6.sons->data[(NI)(T29_ - ((NI) 1))], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
4712 }
4713 goto LA23_;
4714 LA27_: ;
4715 {
4716 NI T31_;
4717 T31_ = (NI)0;
4718 T31_ = len__ast_3198(ri);
4719 T22_ = moveOrCopy__injectdestructors_110(dest, (*ri)._kind_6.sons->data[(NI)(T31_ - ((NI) 1))], c, s, isDecl);
4720 }
4721 LA23_: ;
4722 add__ast_4797(result, T22_);
4723 }
4724 break;
4725 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
4726 {
4727 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T33_;
4728 result = copyNode__ast_4336(ri);
4729 T33_ = NIM_NIL;
4730 T33_ = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
4731 add__ast_4797(result, T33_);
4732 {
4733 NI iX60gensym501__2;
4734 NI colontmp__2;
4735 NI i_2;
4736 iX60gensym501__2 = (NI)0;
4737 colontmp__2 = (NI)0;
4738 colontmp__2 = len__ast_3198(ri);
4739 i_2 = ((NI) 1);
4740 {
4741 while (1) {
4742 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym501_;
4743 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym501_;
4744 tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ ofScopeX60gensym501_;
4745 NI T41_;
4746 if (!(i_2 < colontmp__2)) goto LA36;
4747 iX60gensym501__2 = i_2;
4748 itX60gensym501_ = (*ri)._kind_6.sons->data[iX60gensym501__2];
4749 branchX60gensym501_ = shallowCopy__ast_4413(itX60gensym501_);
4750 {
4751 NI jX60gensym501_;
4752 NI colontmp__3;
4753 NI T38_;
4754 NI i_3;
4755 jX60gensym501_ = (NI)0;
4756 colontmp__3 = (NI)0;
4757 T38_ = (NI)0;
4758 T38_ = len__ast_3198(itX60gensym501_);
4759 colontmp__3 = (NI)(T38_ - ((NI) 1));
4760 i_3 = ((NI) 0);
4761 {
4762 while (1) {
4763 if (!(i_3 < colontmp__3)) goto LA40;
4764 jX60gensym501_ = i_3;
4765 asgnRef((void**) (&(*branchX60gensym501_)._kind_6.sons->data[jX60gensym501_]), copyTree__ast_4431((*itX60gensym501_)._kind_6.sons->data[jX60gensym501_]));
4766 i_3 += ((NI) 1);
4767 } LA40: ;
4768 }
4769 }
4770 nimZeroMem((void*)(&ofScopeX60gensym501_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
4771 nestedScope__injectdestructors_72(s, (&ofScopeX60gensym501_));
4772 T41_ = (NI)0;
4773 T41_ = len__ast_3198(branchX60gensym501_);
4774 {
4775 NIM_BOOL T44_;
4776 NI T45_;
4777 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T49_;
4778 T44_ = (NIM_BOOL)0;
4779 T45_ = (NI)0;
4780 T45_ = len__ast_3198(itX60gensym501_);
4781 T44_ = isEmptyType__ast_4779((*(*itX60gensym501_)._kind_6.sons->data[(NI)(T45_ - ((NI) 1))]).typ);
4782 if (T44_) goto LA46_;
4783 T44_ = NIM_TRUE;
4784 LA46_: ;
4785 if (!T44_) goto LA47_;
4786 T49_ = NIM_NIL;
4787 {
4788 NI T52_;
4789 NIM_BOOL T53_;
4790 NI T56_;
4791 T52_ = (NI)0;
4792 T52_ = len__ast_3198(itX60gensym501_);
4793 T53_ = (NIM_BOOL)0;
4794 T53_ = isEmptyType__ast_4779((*(*itX60gensym501_)._kind_6.sons->data[(NI)(T52_ - ((NI) 1))]).typ);
4795 if (!T53_) goto LA54_;
4796 T56_ = (NI)0;
4797 T56_ = len__ast_3198(itX60gensym501_);
4798 T49_ = p__injectdestructors_105((*itX60gensym501_)._kind_6.sons->data[(NI)(T56_ - ((NI) 1))], c, (&ofScopeX60gensym501_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
4799 }
4800 goto LA50_;
4801 LA54_: ;
4802 {
4803 NI T58_;
4804 T58_ = (NI)0;
4805 T58_ = len__ast_3198(itX60gensym501_);
4806 T49_ = moveOrCopy__injectdestructors_110(dest, (*itX60gensym501_)._kind_6.sons->data[(NI)(T58_ - ((NI) 1))], c, (&ofScopeX60gensym501_), isDecl);
4807 }
4808 LA50_: ;
4809 asgnRef((void**) (&(*branchX60gensym501_)._kind_6.sons->data[(NI)(T41_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&ofScopeX60gensym501_), T49_));
4810 }
4811 goto LA42_;
4812 LA47_: ;
4813 {
4814 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym539_;
4815 NI T60_;
4816 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym539_;
4817 NI T61_;
4818 NI T62_;
4819 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym539_;
4820 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym539_;
4821 NI T89_;
4822 T60_ = (NI)0;
4823 T60_ = len__ast_3198(itX60gensym501_);
4824 resultX60gensym539_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym501_)._kind_6.sons->data[(NI)(T60_ - ((NI) 1))]).info);
4825 T61_ = (NI)0;
4826 T61_ = len__ast_3198(itX60gensym501_);
4827 T62_ = (NI)0;
4828 T62_ = len__ast_3198(itX60gensym501_);
4829 tmpX60gensym539_ = getTemp__injectdestructors_61(c, ofScopeX60gensym501_.parent, (*(*itX60gensym501_)._kind_6.sons->data[(NI)(T61_ - ((NI) 1))]).typ, (*(*itX60gensym501_)._kind_6.sons->data[(NI)(T62_ - ((NI) 1))]).info);
4830 (*(*tmpX60gensym539_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
4831 {
4832 NI T65_;
4833 NIM_BOOL T66_;
4834 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T69_;
4835 NI T70_;
4836 NI T71_;
4837 T65_ = (NI)0;
4838 T65_ = len__ast_3198(itX60gensym501_);
4839 T66_ = (NIM_BOOL)0;
4840 T66_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym501_)._kind_6.sons->data[(NI)(T65_ - ((NI) 1))]).typ);
4841 if (!T66_) goto LA67_;
4842 T69_ = NIM_NIL;
4843 T69_ = genDestroy__injectdestructors_6527(c, tmpX60gensym539_);
4844 unsureAsgnRef((void**) (&(*ofScopeX60gensym501_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*ofScopeX60gensym501_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
4845 T70_ = (*ofScopeX60gensym501_.parent).final->Sup.len++;
4846 asgnRef((void**) (&(*ofScopeX60gensym501_.parent).final->data[T70_]), T69_);
4847 T71_ = (NI)0;
4848 T71_ = len__ast_3198(itX60gensym501_);
4849 cpyX60gensym539_ = moveOrCopy__injectdestructors_110(tmpX60gensym539_, (*itX60gensym501_)._kind_6.sons->data[(NI)(T71_ - ((NI) 1))], c, (&ofScopeX60gensym501_), NIM_TRUE);
4850 }
4851 goto LA63_;
4852 LA67_: ;
4853 {
4854 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T73_;
4855 NI T74_;
4856 nimZeroMem((void*)T73_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4857 T73_[0] = tmpX60gensym539_;
4858 T74_ = (NI)0;
4859 T74_ = len__ast_3198(itX60gensym501_);
4860 T73_[1] = p__injectdestructors_105((*itX60gensym501_)._kind_6.sons->data[(NI)(T74_ - ((NI) 1))], c, (&ofScopeX60gensym501_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
4861 cpyX60gensym539_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T73_, 2);
4862 }
4863 LA63_: ;
4864 {
4865 NI T77_;
4866 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym539_;
4867 NI T80_;
4868 T77_ = (ofScopeX60gensym501_.vars ? ofScopeX60gensym501_.vars->Sup.len : 0);
4869 if (!(((NI) 0) < T77_)) goto LA78_;
4870 T80_ = (NI)0;
4871 T80_ = len__ast_3198(itX60gensym501_);
4872 varSectionX60gensym539_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym501_)._kind_6.sons->data[(NI)(T80_ - ((NI) 1))]).info);
4873 {
4874 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym539__2;
4875 NI i_4;
4876 NI L;
4877 NI T82_;
4878 tmpX60gensym539__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
4879 i_4 = ((NI) 0);
4880 T82_ = (ofScopeX60gensym501_.vars ? ofScopeX60gensym501_.vars->Sup.len : 0);
4881 L = T82_;
4882 {
4883 while (1) {
4884 tyArray__T6RKPw8xfAeNaoei9aZGzXg T85_;
4885 NI T86_;
4886 NI T87_;
4887 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T88_;
4888 if (!(i_4 < L)) goto LA84;
4889 tmpX60gensym539__2 = &ofScopeX60gensym501_.vars->data[i_4];
4890 nimZeroMem((void*)T85_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
4891 T85_[0] = newSymNode__ast_3716((*tmpX60gensym539__2));
4892 T86_ = (NI)0;
4893 T86_ = len__ast_3198(itX60gensym501_);
4894 T85_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym501_)._kind_6.sons->data[(NI)(T86_ - ((NI) 1))]).info);
4895 T87_ = (NI)0;
4896 T87_ = len__ast_3198(itX60gensym501_);
4897 T85_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym501_)._kind_6.sons->data[(NI)(T87_ - ((NI) 1))]).info);
4898 T88_ = NIM_NIL;
4899 T88_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T85_, 3);
4900 add__ast_4797(varSectionX60gensym539_, T88_);
4901 i_4 += ((NI) 1);
4902 } LA84: ;
4903 }
4904 }
4905 add__ast_4797(resultX60gensym539_, varSectionX60gensym539_);
4906 }
4907 LA78_: ;
4908 T89_ = (NI)0;
4909 T89_ = len__ast_3198(itX60gensym501_);
4910 finSectionX60gensym539_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym501_)._kind_6.sons->data[(NI)(T89_ - ((NI) 1))]).info);
4911 {
4912 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym539_;
4913 NI i_5;
4914 NI L_2;
4915 NI T91_;
4916 mX60gensym539_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
4917 i_5 = ((NI) 0);
4918 T91_ = (ofScopeX60gensym501_.wasMoved ? ofScopeX60gensym501_.wasMoved->Sup.len : 0);
4919 L_2 = T91_;
4920 {
4921 while (1) {
4922 if (!(i_5 < L_2)) goto LA93;
4923 mX60gensym539_ = &ofScopeX60gensym501_.wasMoved->data[i_5];
4924 add__ast_4797(finSectionX60gensym539_, (*mX60gensym539_));
4925 i_5 += ((NI) 1);
4926 } LA93: ;
4927 }
4928 }
4929 {
4930 NI iX60gensym539_;
4931 NI colontmp__4;
4932 NI T95_;
4933 NI res;
4934 iX60gensym539_ = (NI)0;
4935 colontmp__4 = (NI)0;
4936 T95_ = ((ofScopeX60gensym501_.final ? ofScopeX60gensym501_.final->Sup.len : 0)-1);
4937 colontmp__4 = T95_;
4938 res = colontmp__4;
4939 {
4940 while (1) {
4941 if (!(((NI) 0) <= res)) goto LA97;
4942 iX60gensym539_ = res;
4943 add__ast_4797(finSectionX60gensym539_, ofScopeX60gensym501_.final->data[iX60gensym539_]);
4944 res -= ((NI) 1);
4945 } LA97: ;
4946 }
4947 }
4948 {
4949 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T102_;
4950 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T103_;
4951 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T104_;
4952 if (!ofScopeX60gensym501_.needsTry) goto LA100_;
4953 nimZeroMem((void*)T102_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4954 T102_[0] = cpyX60gensym539_;
4955 T102_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym539_, c, ofScopeX60gensym501_.parent, isDecl);
4956 T103_ = NIM_NIL;
4957 T103_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T102_, 2);
4958 T104_ = NIM_NIL;
4959 T104_ = newTryFinally__lowerings_202(T103_, finSectionX60gensym539_);
4960 add__ast_4797(resultX60gensym539_, T104_);
4961 }
4962 goto LA98_;
4963 LA100_: ;
4964 {
4965 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T106_;
4966 add__ast_4797(resultX60gensym539_, cpyX60gensym539_);
4967 add__ast_4797(resultX60gensym539_, finSectionX60gensym539_);
4968 T106_ = NIM_NIL;
4969 T106_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym539_, c, ofScopeX60gensym501_.parent, isDecl);
4970 add__ast_4797(resultX60gensym539_, T106_);
4971 }
4972 LA98_: ;
4973 {
4974 NIM_BOOL T111_;
4975 if (!!((ofScopeX60gensym501_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA109_;
4976 T111_ = (NIM_BOOL)0;
4977 T111_ = (*ofScopeX60gensym501_.parent).needsTry;
4978 if (T111_) goto LA112_;
4979 T111_ = ofScopeX60gensym501_.needsTry;
4980 LA112_: ;
4981 (*ofScopeX60gensym501_.parent).needsTry = T111_;
4982 }
4983 LA109_: ;
4984 asgnRef((void**) (&(*branchX60gensym501_)._kind_6.sons->data[(NI)(T41_ - ((NI) 1))]), resultX60gensym539_);
4985 }
4986 LA42_: ;
4987 add__ast_4797(result, branchX60gensym501_);
4988 i_2 += ((NI) 1);
4989 } LA36: ;
4990 }
4991 }
4992 }
4993 break;
4994 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
4995 {
4996 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T114_;
4997 tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym501_;
4998 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bodyResultX60gensym501_;
4999 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T115_;
5000 (*c).inLoop += ((NI) 1);
5001 (*c).inLoopCond += ((NI) 1);
5002 result = copyNode__ast_4336(ri);
5003 T114_ = NIM_NIL;
5004 T114_ = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5005 add__ast_4797(result, T114_);
5006 (*c).inLoopCond -= ((NI) 1);
5007 nimZeroMem((void*)(&bodyScopeX60gensym501_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
5008 nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym501_));
5009 bodyResultX60gensym501_ = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym501_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5010 T115_ = NIM_NIL;
5011 T115_ = processScope__injectdestructors_7016(c, (&bodyScopeX60gensym501_), bodyResultX60gensym501_);
5012 add__ast_4797(result, T115_);
5013 (*c).inLoop -= ((NI) 1);
5014 }
5015 break;
5016 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 95):
5017 {
5018 NI lastX60gensym501_;
5019 NI T117_;
5020 tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym501__2;
5021 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bodyResultX60gensym501__2;
5022 (*c).inLoop += ((NI) 1);
5023 result = shallowCopy__ast_4413(ri);
5024 T117_ = (NI)0;
5025 T117_ = len__ast_3198(ri);
5026 lastX60gensym501_ = (NI)(T117_ - ((NI) 1));
5027 {
5028 NI iX60gensym501__3;
5029 NI colontmp__5;
5030 NI i_6;
5031 iX60gensym501__3 = (NI)0;
5032 colontmp__5 = (NI)0;
5033 colontmp__5 = (NI)(lastX60gensym501_ - ((NI) 1));
5034 i_6 = ((NI) 0);
5035 {
5036 while (1) {
5037 if (!(i_6 < colontmp__5)) goto LA120;
5038 iX60gensym501__3 = i_6;
5039 asgnRef((void**) (&(*result)._kind_6.sons->data[iX60gensym501__3]), (*ri)._kind_6.sons->data[iX60gensym501__3]);
5040 i_6 += ((NI) 1);
5041 } LA120: ;
5042 }
5043 }
5044 asgnRef((void**) (&(*result)._kind_6.sons->data[(NI)(lastX60gensym501_ - ((NI) 1))]), p__injectdestructors_105((*ri)._kind_6.sons->data[(NI)(lastX60gensym501_ - ((NI) 1))], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
5045 nimZeroMem((void*)(&bodyScopeX60gensym501__2), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
5046 nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym501__2));
5047 bodyResultX60gensym501__2 = p__injectdestructors_105((*ri)._kind_6.sons->data[lastX60gensym501_], c, (&bodyScopeX60gensym501__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5048 asgnRef((void**) (&(*result)._kind_6.sons->data[lastX60gensym501_]), processScope__injectdestructors_7016(c, (&bodyScopeX60gensym501__2), bodyResultX60gensym501__2));
5049 (*c).inLoop -= ((NI) 1);
5050 }
5051 break;
5052 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
5053 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
5054 {
5055 tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym501__3;
5056 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T122_;
5057 result = copyNode__ast_4336(ri);
5058 add__ast_4797(result, (*ri)._kind_6.sons->data[((NI) 0)]);
5059 nimZeroMem((void*)(&bodyScopeX60gensym501__3), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
5060 nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym501__3));
5061 T122_ = NIM_NIL;
5062 {
5063 NIM_BOOL T125_;
5064 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T129_;
5065 T125_ = (NIM_BOOL)0;
5066 T125_ = isEmptyType__ast_4779((*(*ri)._kind_6.sons->data[((NI) 1)]).typ);
5067 if (T125_) goto LA126_;
5068 T125_ = NIM_TRUE;
5069 LA126_: ;
5070 if (!T125_) goto LA127_;
5071 T129_ = NIM_NIL;
5072 T129_ = moveOrCopy__injectdestructors_110(dest, (*ri)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym501__3), isDecl);
5073 T122_ = processScope__injectdestructors_7016(c, (&bodyScopeX60gensym501__3), T129_);
5074 }
5075 goto LA123_;
5076 LA127_: ;
5077 {
5078 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym561_;
5079 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym561_;
5080 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym561_;
5081 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym561_;
5082 resultX60gensym561_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
5083 tmpX60gensym561_ = getTemp__injectdestructors_61(c, bodyScopeX60gensym501__3.parent, (*(*ri)._kind_6.sons->data[((NI) 1)]).typ, (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
5084 (*(*tmpX60gensym561_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
5085 {
5086 NIM_BOOL T133_;
5087 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T136_;
5088 NI T137_;
5089 T133_ = (NIM_BOOL)0;
5090 T133_ = hasDestructor__injectdestructors_49((&(*c)), (*(*ri)._kind_6.sons->data[((NI) 1)]).typ);
5091 if (!T133_) goto LA134_;
5092 T136_ = NIM_NIL;
5093 T136_ = genDestroy__injectdestructors_6527(c, tmpX60gensym561_);
5094 unsureAsgnRef((void**) (&(*bodyScopeX60gensym501__3.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*bodyScopeX60gensym501__3.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
5095 T137_ = (*bodyScopeX60gensym501__3.parent).final->Sup.len++;
5096 asgnRef((void**) (&(*bodyScopeX60gensym501__3.parent).final->data[T137_]), T136_);
5097 cpyX60gensym561_ = moveOrCopy__injectdestructors_110(tmpX60gensym561_, (*ri)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym501__3), NIM_TRUE);
5098 }
5099 goto LA131_;
5100 LA134_: ;
5101 {
5102 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T139_;
5103 nimZeroMem((void*)T139_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5104 T139_[0] = tmpX60gensym561_;
5105 T139_[1] = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym501__3), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5106 cpyX60gensym561_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T139_, 2);
5107 }
5108 LA131_: ;
5109 {
5110 NI T142_;
5111 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym561_;
5112 T142_ = (bodyScopeX60gensym501__3.vars ? bodyScopeX60gensym501__3.vars->Sup.len : 0);
5113 if (!(((NI) 0) < T142_)) goto LA143_;
5114 varSectionX60gensym561_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
5115 {
5116 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym561__2;
5117 NI i_7;
5118 NI L_3;
5119 NI T146_;
5120 tmpX60gensym561__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
5121 i_7 = ((NI) 0);
5122 T146_ = (bodyScopeX60gensym501__3.vars ? bodyScopeX60gensym501__3.vars->Sup.len : 0);
5123 L_3 = T146_;
5124 {
5125 while (1) {
5126 tyArray__T6RKPw8xfAeNaoei9aZGzXg T149_;
5127 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T150_;
5128 if (!(i_7 < L_3)) goto LA148;
5129 tmpX60gensym561__2 = &bodyScopeX60gensym501__3.vars->data[i_7];
5130 nimZeroMem((void*)T149_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
5131 T149_[0] = newSymNode__ast_3716((*tmpX60gensym561__2));
5132 T149_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
5133 T149_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
5134 T150_ = NIM_NIL;
5135 T150_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T149_, 3);
5136 add__ast_4797(varSectionX60gensym561_, T150_);
5137 i_7 += ((NI) 1);
5138 } LA148: ;
5139 }
5140 }
5141 add__ast_4797(resultX60gensym561_, varSectionX60gensym561_);
5142 }
5143 LA143_: ;
5144 finSectionX60gensym561_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
5145 {
5146 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym561_;
5147 NI i_8;
5148 NI L_4;
5149 NI T152_;
5150 mX60gensym561_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
5151 i_8 = ((NI) 0);
5152 T152_ = (bodyScopeX60gensym501__3.wasMoved ? bodyScopeX60gensym501__3.wasMoved->Sup.len : 0);
5153 L_4 = T152_;
5154 {
5155 while (1) {
5156 if (!(i_8 < L_4)) goto LA154;
5157 mX60gensym561_ = &bodyScopeX60gensym501__3.wasMoved->data[i_8];
5158 add__ast_4797(finSectionX60gensym561_, (*mX60gensym561_));
5159 i_8 += ((NI) 1);
5160 } LA154: ;
5161 }
5162 }
5163 {
5164 NI iX60gensym561_;
5165 NI colontmp__6;
5166 NI T156_;
5167 NI res_2;
5168 iX60gensym561_ = (NI)0;
5169 colontmp__6 = (NI)0;
5170 T156_ = ((bodyScopeX60gensym501__3.final ? bodyScopeX60gensym501__3.final->Sup.len : 0)-1);
5171 colontmp__6 = T156_;
5172 res_2 = colontmp__6;
5173 {
5174 while (1) {
5175 if (!(((NI) 0) <= res_2)) goto LA158;
5176 iX60gensym561_ = res_2;
5177 add__ast_4797(finSectionX60gensym561_, bodyScopeX60gensym501__3.final->data[iX60gensym561_]);
5178 res_2 -= ((NI) 1);
5179 } LA158: ;
5180 }
5181 }
5182 {
5183 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T163_;
5184 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T164_;
5185 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T165_;
5186 if (!bodyScopeX60gensym501__3.needsTry) goto LA161_;
5187 nimZeroMem((void*)T163_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5188 T163_[0] = cpyX60gensym561_;
5189 T163_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym561_, c, bodyScopeX60gensym501__3.parent, isDecl);
5190 T164_ = NIM_NIL;
5191 T164_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T163_, 2);
5192 T165_ = NIM_NIL;
5193 T165_ = newTryFinally__lowerings_202(T164_, finSectionX60gensym561_);
5194 add__ast_4797(resultX60gensym561_, T165_);
5195 }
5196 goto LA159_;
5197 LA161_: ;
5198 {
5199 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T167_;
5200 add__ast_4797(resultX60gensym561_, cpyX60gensym561_);
5201 add__ast_4797(resultX60gensym561_, finSectionX60gensym561_);
5202 T167_ = NIM_NIL;
5203 T167_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym561_, c, bodyScopeX60gensym501__3.parent, isDecl);
5204 add__ast_4797(resultX60gensym561_, T167_);
5205 }
5206 LA159_: ;
5207 {
5208 NIM_BOOL T172_;
5209 if (!!((bodyScopeX60gensym501__3.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA170_;
5210 T172_ = (NIM_BOOL)0;
5211 T172_ = (*bodyScopeX60gensym501__3.parent).needsTry;
5212 if (T172_) goto LA173_;
5213 T172_ = bodyScopeX60gensym501__3.needsTry;
5214 LA173_: ;
5215 (*bodyScopeX60gensym501__3.parent).needsTry = T172_;
5216 }
5217 LA170_: ;
5218 T122_ = resultX60gensym561_;
5219 }
5220 LA123_: ;
5221 add__ast_4797(result, T122_);
5222 }
5223 break;
5224 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
5225 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
5226 {
5227 result = copyNode__ast_4336(ri);
5228 {
5229 NI iX60gensym501__4;
5230 NI colontmp__7;
5231 NI i_9;
5232 iX60gensym501__4 = (NI)0;
5233 colontmp__7 = (NI)0;
5234 colontmp__7 = len__ast_3198(ri);
5235 i_9 = ((NI) 0);
5236 {
5237 while (1) {
5238 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym501__2;
5239 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym501__2;
5240 tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ branchScopeX60gensym501_;
5241 NI T182_;
5242 if (!(i_9 < colontmp__7)) goto LA177;
5243 iX60gensym501__4 = i_9;
5244 itX60gensym501__2 = (*ri)._kind_6.sons->data[iX60gensym501__4];
5245 branchX60gensym501__2 = shallowCopy__ast_4413(itX60gensym501__2);
5246 nimZeroMem((void*)(&branchScopeX60gensym501_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
5247 nestedScope__injectdestructors_72(s, (&branchScopeX60gensym501_));
5248 {
5249 if (!((*itX60gensym501__2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86) || (*itX60gensym501__2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49))) goto LA180_;
5250 asgnRef((void**) (&(*branchX60gensym501__2)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*itX60gensym501__2)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
5251 }
5252 LA180_: ;
5253 T182_ = (NI)0;
5254 T182_ = len__ast_3198(branchX60gensym501__2);
5255 {
5256 NIM_BOOL T185_;
5257 NI T186_;
5258 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T190_;
5259 T185_ = (NIM_BOOL)0;
5260 T186_ = (NI)0;
5261 T186_ = len__ast_3198(itX60gensym501__2);
5262 T185_ = isEmptyType__ast_4779((*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T186_ - ((NI) 1))]).typ);
5263 if (T185_) goto LA187_;
5264 T185_ = NIM_TRUE;
5265 LA187_: ;
5266 if (!T185_) goto LA188_;
5267 T190_ = NIM_NIL;
5268 {
5269 NI T193_;
5270 NIM_BOOL T194_;
5271 NI T197_;
5272 T193_ = (NI)0;
5273 T193_ = len__ast_3198(itX60gensym501__2);
5274 T194_ = (NIM_BOOL)0;
5275 T194_ = isEmptyType__ast_4779((*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T193_ - ((NI) 1))]).typ);
5276 if (!T194_) goto LA195_;
5277 T197_ = (NI)0;
5278 T197_ = len__ast_3198(itX60gensym501__2);
5279 T190_ = p__injectdestructors_105((*itX60gensym501__2)._kind_6.sons->data[(NI)(T197_ - ((NI) 1))], c, (&branchScopeX60gensym501_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5280 }
5281 goto LA191_;
5282 LA195_: ;
5283 {
5284 NI T199_;
5285 T199_ = (NI)0;
5286 T199_ = len__ast_3198(itX60gensym501__2);
5287 T190_ = moveOrCopy__injectdestructors_110(dest, (*itX60gensym501__2)._kind_6.sons->data[(NI)(T199_ - ((NI) 1))], c, (&branchScopeX60gensym501_), isDecl);
5288 }
5289 LA191_: ;
5290 asgnRef((void**) (&(*branchX60gensym501__2)._kind_6.sons->data[(NI)(T182_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&branchScopeX60gensym501_), T190_));
5291 }
5292 goto LA183_;
5293 LA188_: ;
5294 {
5295 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym590_;
5296 NI T201_;
5297 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym590_;
5298 NI T202_;
5299 NI T203_;
5300 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym590_;
5301 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym590_;
5302 NI T230_;
5303 T201_ = (NI)0;
5304 T201_ = len__ast_3198(itX60gensym501__2);
5305 resultX60gensym590_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T201_ - ((NI) 1))]).info);
5306 T202_ = (NI)0;
5307 T202_ = len__ast_3198(itX60gensym501__2);
5308 T203_ = (NI)0;
5309 T203_ = len__ast_3198(itX60gensym501__2);
5310 tmpX60gensym590_ = getTemp__injectdestructors_61(c, branchScopeX60gensym501_.parent, (*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T202_ - ((NI) 1))]).typ, (*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T203_ - ((NI) 1))]).info);
5311 (*(*tmpX60gensym590_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
5312 {
5313 NI T206_;
5314 NIM_BOOL T207_;
5315 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T210_;
5316 NI T211_;
5317 NI T212_;
5318 T206_ = (NI)0;
5319 T206_ = len__ast_3198(itX60gensym501__2);
5320 T207_ = (NIM_BOOL)0;
5321 T207_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T206_ - ((NI) 1))]).typ);
5322 if (!T207_) goto LA208_;
5323 T210_ = NIM_NIL;
5324 T210_ = genDestroy__injectdestructors_6527(c, tmpX60gensym590_);
5325 unsureAsgnRef((void**) (&(*branchScopeX60gensym501_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*branchScopeX60gensym501_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
5326 T211_ = (*branchScopeX60gensym501_.parent).final->Sup.len++;
5327 asgnRef((void**) (&(*branchScopeX60gensym501_.parent).final->data[T211_]), T210_);
5328 T212_ = (NI)0;
5329 T212_ = len__ast_3198(itX60gensym501__2);
5330 cpyX60gensym590_ = moveOrCopy__injectdestructors_110(tmpX60gensym590_, (*itX60gensym501__2)._kind_6.sons->data[(NI)(T212_ - ((NI) 1))], c, (&branchScopeX60gensym501_), NIM_TRUE);
5331 }
5332 goto LA204_;
5333 LA208_: ;
5334 {
5335 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T214_;
5336 NI T215_;
5337 nimZeroMem((void*)T214_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5338 T214_[0] = tmpX60gensym590_;
5339 T215_ = (NI)0;
5340 T215_ = len__ast_3198(itX60gensym501__2);
5341 T214_[1] = p__injectdestructors_105((*itX60gensym501__2)._kind_6.sons->data[(NI)(T215_ - ((NI) 1))], c, (&branchScopeX60gensym501_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5342 cpyX60gensym590_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T214_, 2);
5343 }
5344 LA204_: ;
5345 {
5346 NI T218_;
5347 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym590_;
5348 NI T221_;
5349 T218_ = (branchScopeX60gensym501_.vars ? branchScopeX60gensym501_.vars->Sup.len : 0);
5350 if (!(((NI) 0) < T218_)) goto LA219_;
5351 T221_ = (NI)0;
5352 T221_ = len__ast_3198(itX60gensym501__2);
5353 varSectionX60gensym590_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T221_ - ((NI) 1))]).info);
5354 {
5355 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym590__2;
5356 NI i_10;
5357 NI L_5;
5358 NI T223_;
5359 tmpX60gensym590__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
5360 i_10 = ((NI) 0);
5361 T223_ = (branchScopeX60gensym501_.vars ? branchScopeX60gensym501_.vars->Sup.len : 0);
5362 L_5 = T223_;
5363 {
5364 while (1) {
5365 tyArray__T6RKPw8xfAeNaoei9aZGzXg T226_;
5366 NI T227_;
5367 NI T228_;
5368 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T229_;
5369 if (!(i_10 < L_5)) goto LA225;
5370 tmpX60gensym590__2 = &branchScopeX60gensym501_.vars->data[i_10];
5371 nimZeroMem((void*)T226_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
5372 T226_[0] = newSymNode__ast_3716((*tmpX60gensym590__2));
5373 T227_ = (NI)0;
5374 T227_ = len__ast_3198(itX60gensym501__2);
5375 T226_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T227_ - ((NI) 1))]).info);
5376 T228_ = (NI)0;
5377 T228_ = len__ast_3198(itX60gensym501__2);
5378 T226_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T228_ - ((NI) 1))]).info);
5379 T229_ = NIM_NIL;
5380 T229_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T226_, 3);
5381 add__ast_4797(varSectionX60gensym590_, T229_);
5382 i_10 += ((NI) 1);
5383 } LA225: ;
5384 }
5385 }
5386 add__ast_4797(resultX60gensym590_, varSectionX60gensym590_);
5387 }
5388 LA219_: ;
5389 T230_ = (NI)0;
5390 T230_ = len__ast_3198(itX60gensym501__2);
5391 finSectionX60gensym590_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T230_ - ((NI) 1))]).info);
5392 {
5393 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym590_;
5394 NI i_11;
5395 NI L_6;
5396 NI T232_;
5397 mX60gensym590_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
5398 i_11 = ((NI) 0);
5399 T232_ = (branchScopeX60gensym501_.wasMoved ? branchScopeX60gensym501_.wasMoved->Sup.len : 0);
5400 L_6 = T232_;
5401 {
5402 while (1) {
5403 if (!(i_11 < L_6)) goto LA234;
5404 mX60gensym590_ = &branchScopeX60gensym501_.wasMoved->data[i_11];
5405 add__ast_4797(finSectionX60gensym590_, (*mX60gensym590_));
5406 i_11 += ((NI) 1);
5407 } LA234: ;
5408 }
5409 }
5410 {
5411 NI iX60gensym590_;
5412 NI colontmp__8;
5413 NI T236_;
5414 NI res_3;
5415 iX60gensym590_ = (NI)0;
5416 colontmp__8 = (NI)0;
5417 T236_ = ((branchScopeX60gensym501_.final ? branchScopeX60gensym501_.final->Sup.len : 0)-1);
5418 colontmp__8 = T236_;
5419 res_3 = colontmp__8;
5420 {
5421 while (1) {
5422 if (!(((NI) 0) <= res_3)) goto LA238;
5423 iX60gensym590_ = res_3;
5424 add__ast_4797(finSectionX60gensym590_, branchScopeX60gensym501_.final->data[iX60gensym590_]);
5425 res_3 -= ((NI) 1);
5426 } LA238: ;
5427 }
5428 }
5429 {
5430 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T243_;
5431 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T244_;
5432 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T245_;
5433 if (!branchScopeX60gensym501_.needsTry) goto LA241_;
5434 nimZeroMem((void*)T243_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5435 T243_[0] = cpyX60gensym590_;
5436 T243_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym590_, c, branchScopeX60gensym501_.parent, isDecl);
5437 T244_ = NIM_NIL;
5438 T244_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T243_, 2);
5439 T245_ = NIM_NIL;
5440 T245_ = newTryFinally__lowerings_202(T244_, finSectionX60gensym590_);
5441 add__ast_4797(resultX60gensym590_, T245_);
5442 }
5443 goto LA239_;
5444 LA241_: ;
5445 {
5446 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T247_;
5447 add__ast_4797(resultX60gensym590_, cpyX60gensym590_);
5448 add__ast_4797(resultX60gensym590_, finSectionX60gensym590_);
5449 T247_ = NIM_NIL;
5450 T247_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym590_, c, branchScopeX60gensym501_.parent, isDecl);
5451 add__ast_4797(resultX60gensym590_, T247_);
5452 }
5453 LA239_: ;
5454 {
5455 NIM_BOOL T252_;
5456 if (!!((branchScopeX60gensym501_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA250_;
5457 T252_ = (NIM_BOOL)0;
5458 T252_ = (*branchScopeX60gensym501_.parent).needsTry;
5459 if (T252_) goto LA253_;
5460 T252_ = branchScopeX60gensym501_.needsTry;
5461 LA253_: ;
5462 (*branchScopeX60gensym501_.parent).needsTry = T252_;
5463 }
5464 LA250_: ;
5465 asgnRef((void**) (&(*branchX60gensym501__2)._kind_6.sons->data[(NI)(T182_ - ((NI) 1))]), resultX60gensym590_);
5466 }
5467 LA183_: ;
5468 add__ast_4797(result, branchX60gensym501__2);
5469 i_9 += ((NI) 1);
5470 } LA177: ;
5471 }
5472 }
5473 }
5474 break;
5475 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
5476 {
5477 tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ tryScopeX60gensym501_;
5478 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T255_;
5479 result = copyNode__ast_4336(ri);
5480 nimZeroMem((void*)(&tryScopeX60gensym501_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
5481 nestedScope__injectdestructors_72(s, (&tryScopeX60gensym501_));
5482 T255_ = NIM_NIL;
5483 {
5484 NIM_BOOL T258_;
5485 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T262_;
5486 T258_ = (NIM_BOOL)0;
5487 T258_ = isEmptyType__ast_4779((*(*ri)._kind_6.sons->data[((NI) 0)]).typ);
5488 if (T258_) goto LA259_;
5489 T258_ = NIM_TRUE;
5490 LA259_: ;
5491 if (!T258_) goto LA260_;
5492 T262_ = NIM_NIL;
5493 {
5494 NIM_BOOL T265_;
5495 T265_ = (NIM_BOOL)0;
5496 T265_ = isEmptyType__ast_4779((*(*ri)._kind_6.sons->data[((NI) 0)]).typ);
5497 if (!T265_) goto LA266_;
5498 T262_ = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym501_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5499 }
5500 goto LA263_;
5501 LA266_: ;
5502 {
5503 T262_ = moveOrCopy__injectdestructors_110(dest, (*ri)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym501_), isDecl);
5504 }
5505 LA263_: ;
5506 T255_ = processScope__injectdestructors_7016(c, (&tryScopeX60gensym501_), T262_);
5507 }
5508 goto LA256_;
5509 LA260_: ;
5510 {
5511 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym606_;
5512 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym606_;
5513 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym606_;
5514 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym606_;
5515 resultX60gensym606_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
5516 tmpX60gensym606_ = getTemp__injectdestructors_61(c, tryScopeX60gensym501_.parent, (*(*ri)._kind_6.sons->data[((NI) 0)]).typ, (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
5517 (*(*tmpX60gensym606_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
5518 {
5519 NIM_BOOL T272_;
5520 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T275_;
5521 NI T276_;
5522 T272_ = (NIM_BOOL)0;
5523 T272_ = hasDestructor__injectdestructors_49((&(*c)), (*(*ri)._kind_6.sons->data[((NI) 0)]).typ);
5524 if (!T272_) goto LA273_;
5525 T275_ = NIM_NIL;
5526 T275_ = genDestroy__injectdestructors_6527(c, tmpX60gensym606_);
5527 unsureAsgnRef((void**) (&(*tryScopeX60gensym501_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*tryScopeX60gensym501_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
5528 T276_ = (*tryScopeX60gensym501_.parent).final->Sup.len++;
5529 asgnRef((void**) (&(*tryScopeX60gensym501_.parent).final->data[T276_]), T275_);
5530 cpyX60gensym606_ = moveOrCopy__injectdestructors_110(tmpX60gensym606_, (*ri)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym501_), NIM_TRUE);
5531 }
5532 goto LA270_;
5533 LA273_: ;
5534 {
5535 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T278_;
5536 nimZeroMem((void*)T278_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5537 T278_[0] = tmpX60gensym606_;
5538 T278_[1] = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym501_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5539 cpyX60gensym606_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T278_, 2);
5540 }
5541 LA270_: ;
5542 {
5543 NI T281_;
5544 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym606_;
5545 T281_ = (tryScopeX60gensym501_.vars ? tryScopeX60gensym501_.vars->Sup.len : 0);
5546 if (!(((NI) 0) < T281_)) goto LA282_;
5547 varSectionX60gensym606_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
5548 {
5549 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym606__2;
5550 NI i_12;
5551 NI L_7;
5552 NI T285_;
5553 tmpX60gensym606__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
5554 i_12 = ((NI) 0);
5555 T285_ = (tryScopeX60gensym501_.vars ? tryScopeX60gensym501_.vars->Sup.len : 0);
5556 L_7 = T285_;
5557 {
5558 while (1) {
5559 tyArray__T6RKPw8xfAeNaoei9aZGzXg T288_;
5560 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T289_;
5561 if (!(i_12 < L_7)) goto LA287;
5562 tmpX60gensym606__2 = &tryScopeX60gensym501_.vars->data[i_12];
5563 nimZeroMem((void*)T288_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
5564 T288_[0] = newSymNode__ast_3716((*tmpX60gensym606__2));
5565 T288_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
5566 T288_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
5567 T289_ = NIM_NIL;
5568 T289_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T288_, 3);
5569 add__ast_4797(varSectionX60gensym606_, T289_);
5570 i_12 += ((NI) 1);
5571 } LA287: ;
5572 }
5573 }
5574 add__ast_4797(resultX60gensym606_, varSectionX60gensym606_);
5575 }
5576 LA282_: ;
5577 finSectionX60gensym606_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
5578 {
5579 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym606_;
5580 NI i_13;
5581 NI L_8;
5582 NI T291_;
5583 mX60gensym606_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
5584 i_13 = ((NI) 0);
5585 T291_ = (tryScopeX60gensym501_.wasMoved ? tryScopeX60gensym501_.wasMoved->Sup.len : 0);
5586 L_8 = T291_;
5587 {
5588 while (1) {
5589 if (!(i_13 < L_8)) goto LA293;
5590 mX60gensym606_ = &tryScopeX60gensym501_.wasMoved->data[i_13];
5591 add__ast_4797(finSectionX60gensym606_, (*mX60gensym606_));
5592 i_13 += ((NI) 1);
5593 } LA293: ;
5594 }
5595 }
5596 {
5597 NI iX60gensym606_;
5598 NI colontmp__9;
5599 NI T295_;
5600 NI res_4;
5601 iX60gensym606_ = (NI)0;
5602 colontmp__9 = (NI)0;
5603 T295_ = ((tryScopeX60gensym501_.final ? tryScopeX60gensym501_.final->Sup.len : 0)-1);
5604 colontmp__9 = T295_;
5605 res_4 = colontmp__9;
5606 {
5607 while (1) {
5608 if (!(((NI) 0) <= res_4)) goto LA297;
5609 iX60gensym606_ = res_4;
5610 add__ast_4797(finSectionX60gensym606_, tryScopeX60gensym501_.final->data[iX60gensym606_]);
5611 res_4 -= ((NI) 1);
5612 } LA297: ;
5613 }
5614 }
5615 {
5616 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T302_;
5617 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T309_;
5618 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T310_;
5619 if (!tryScopeX60gensym501_.needsTry) goto LA300_;
5620 nimZeroMem((void*)T302_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5621 T302_[0] = cpyX60gensym606_;
5622 {
5623 NIM_BOOL T305_;
5624 T305_ = (NIM_BOOL)0;
5625 T305_ = isEmptyType__ast_4779((*tmpX60gensym606_).typ);
5626 if (!T305_) goto LA306_;
5627 T302_[1] = p__injectdestructors_105(tmpX60gensym606_, c, tryScopeX60gensym501_.parent, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5628 }
5629 goto LA303_;
5630 LA306_: ;
5631 {
5632 T302_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym606_, c, tryScopeX60gensym501_.parent, isDecl);
5633 }
5634 LA303_: ;
5635 T309_ = NIM_NIL;
5636 T309_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T302_, 2);
5637 T310_ = NIM_NIL;
5638 T310_ = newTryFinally__lowerings_202(T309_, finSectionX60gensym606_);
5639 add__ast_4797(resultX60gensym606_, T310_);
5640 }
5641 goto LA298_;
5642 LA300_: ;
5643 {
5644 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T312_;
5645 add__ast_4797(resultX60gensym606_, cpyX60gensym606_);
5646 add__ast_4797(resultX60gensym606_, finSectionX60gensym606_);
5647 T312_ = NIM_NIL;
5648 {
5649 NIM_BOOL T315_;
5650 T315_ = (NIM_BOOL)0;
5651 T315_ = isEmptyType__ast_4779((*tmpX60gensym606_).typ);
5652 if (!T315_) goto LA316_;
5653 T312_ = p__injectdestructors_105(tmpX60gensym606_, c, tryScopeX60gensym501_.parent, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5654 }
5655 goto LA313_;
5656 LA316_: ;
5657 {
5658 T312_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym606_, c, tryScopeX60gensym501_.parent, isDecl);
5659 }
5660 LA313_: ;
5661 add__ast_4797(resultX60gensym606_, T312_);
5662 }
5663 LA298_: ;
5664 {
5665 NIM_BOOL T323_;
5666 if (!!((tryScopeX60gensym501_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA321_;
5667 T323_ = (NIM_BOOL)0;
5668 T323_ = (*tryScopeX60gensym501_.parent).needsTry;
5669 if (T323_) goto LA324_;
5670 T323_ = tryScopeX60gensym501_.needsTry;
5671 LA324_: ;
5672 (*tryScopeX60gensym501_.parent).needsTry = T323_;
5673 }
5674 LA321_: ;
5675 T255_ = resultX60gensym606_;
5676 }
5677 LA256_: ;
5678 add__ast_4797(result, T255_);
5679 {
5680 NI iX60gensym501__5;
5681 NI colontmp__10;
5682 NI i_14;
5683 iX60gensym501__5 = (NI)0;
5684 colontmp__10 = (NI)0;
5685 colontmp__10 = len__ast_3198(ri);
5686 i_14 = ((NI) 1);
5687 {
5688 while (1) {
5689 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym501__3;
5690 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym501__3;
5691 tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ branchScopeX60gensym501__2;
5692 NI T328_;
5693 if (!(i_14 < colontmp__10)) goto LA327;
5694 iX60gensym501__5 = i_14;
5695 itX60gensym501__3 = (*ri)._kind_6.sons->data[iX60gensym501__5];
5696 branchX60gensym501__3 = copyTree__ast_4431(itX60gensym501__3);
5697 nimZeroMem((void*)(&branchScopeX60gensym501__2), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
5698 nestedScope__injectdestructors_72(s, (&branchScopeX60gensym501__2));
5699 T328_ = (NI)0;
5700 T328_ = len__ast_3198(branchX60gensym501__3);
5701 {
5702 NIM_BOOL T331_;
5703 NIM_BOOL T332_;
5704 NI T333_;
5705 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T338_;
5706 T331_ = (NIM_BOOL)0;
5707 T332_ = (NIM_BOOL)0;
5708 T333_ = (NI)0;
5709 T333_ = len__ast_3198(itX60gensym501__3);
5710 T332_ = isEmptyType__ast_4779((*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T333_ - ((NI) 1))]).typ);
5711 if (T332_) goto LA334_;
5712 T332_ = NIM_TRUE;
5713 LA334_: ;
5714 T331_ = T332_;
5715 if (T331_) goto LA335_;
5716 T331_ = ((*itX60gensym501__3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107));
5717 LA335_: ;
5718 if (!T331_) goto LA336_;
5719 T338_ = NIM_NIL;
5720 {
5721 NI T343_;
5722 if (!((*itX60gensym501__3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA341_;
5723 T343_ = (NI)0;
5724 T343_ = len__ast_3198(itX60gensym501__3);
5725 T338_ = p__injectdestructors_105((*itX60gensym501__3)._kind_6.sons->data[(NI)(T343_ - ((NI) 1))], c, (&branchScopeX60gensym501__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5726 }
5727 goto LA339_;
5728 LA341_: ;
5729 {
5730 {
5731 NI T347_;
5732 NIM_BOOL T348_;
5733 NI T351_;
5734 T347_ = (NI)0;
5735 T347_ = len__ast_3198(itX60gensym501__3);
5736 T348_ = (NIM_BOOL)0;
5737 T348_ = isEmptyType__ast_4779((*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T347_ - ((NI) 1))]).typ);
5738 if (!T348_) goto LA349_;
5739 T351_ = (NI)0;
5740 T351_ = len__ast_3198(itX60gensym501__3);
5741 T338_ = p__injectdestructors_105((*itX60gensym501__3)._kind_6.sons->data[(NI)(T351_ - ((NI) 1))], c, (&branchScopeX60gensym501__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5742 }
5743 goto LA345_;
5744 LA349_: ;
5745 {
5746 NI T353_;
5747 T353_ = (NI)0;
5748 T353_ = len__ast_3198(itX60gensym501__3);
5749 T338_ = moveOrCopy__injectdestructors_110(dest, (*itX60gensym501__3)._kind_6.sons->data[(NI)(T353_ - ((NI) 1))], c, (&branchScopeX60gensym501__2), isDecl);
5750 }
5751 LA345_: ;
5752 }
5753 LA339_: ;
5754 asgnRef((void**) (&(*branchX60gensym501__3)._kind_6.sons->data[(NI)(T328_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&branchScopeX60gensym501__2), T338_));
5755 }
5756 goto LA329_;
5757 LA336_: ;
5758 {
5759 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym637_;
5760 NI T355_;
5761 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym637_;
5762 NI T356_;
5763 NI T357_;
5764 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym637_;
5765 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym637_;
5766 NI T384_;
5767 T355_ = (NI)0;
5768 T355_ = len__ast_3198(itX60gensym501__3);
5769 resultX60gensym637_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T355_ - ((NI) 1))]).info);
5770 T356_ = (NI)0;
5771 T356_ = len__ast_3198(itX60gensym501__3);
5772 T357_ = (NI)0;
5773 T357_ = len__ast_3198(itX60gensym501__3);
5774 tmpX60gensym637_ = getTemp__injectdestructors_61(c, branchScopeX60gensym501__2.parent, (*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T356_ - ((NI) 1))]).typ, (*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T357_ - ((NI) 1))]).info);
5775 (*(*tmpX60gensym637_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
5776 {
5777 NI T360_;
5778 NIM_BOOL T361_;
5779 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T364_;
5780 NI T365_;
5781 NI T366_;
5782 T360_ = (NI)0;
5783 T360_ = len__ast_3198(itX60gensym501__3);
5784 T361_ = (NIM_BOOL)0;
5785 T361_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T360_ - ((NI) 1))]).typ);
5786 if (!T361_) goto LA362_;
5787 T364_ = NIM_NIL;
5788 T364_ = genDestroy__injectdestructors_6527(c, tmpX60gensym637_);
5789 unsureAsgnRef((void**) (&(*branchScopeX60gensym501__2.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*branchScopeX60gensym501__2.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
5790 T365_ = (*branchScopeX60gensym501__2.parent).final->Sup.len++;
5791 asgnRef((void**) (&(*branchScopeX60gensym501__2.parent).final->data[T365_]), T364_);
5792 T366_ = (NI)0;
5793 T366_ = len__ast_3198(itX60gensym501__3);
5794 cpyX60gensym637_ = moveOrCopy__injectdestructors_110(tmpX60gensym637_, (*itX60gensym501__3)._kind_6.sons->data[(NI)(T366_ - ((NI) 1))], c, (&branchScopeX60gensym501__2), NIM_TRUE);
5795 }
5796 goto LA358_;
5797 LA362_: ;
5798 {
5799 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T368_;
5800 NI T369_;
5801 nimZeroMem((void*)T368_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5802 T368_[0] = tmpX60gensym637_;
5803 T369_ = (NI)0;
5804 T369_ = len__ast_3198(itX60gensym501__3);
5805 T368_[1] = p__injectdestructors_105((*itX60gensym501__3)._kind_6.sons->data[(NI)(T369_ - ((NI) 1))], c, (&branchScopeX60gensym501__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5806 cpyX60gensym637_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T368_, 2);
5807 }
5808 LA358_: ;
5809 {
5810 NI T372_;
5811 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym637_;
5812 NI T375_;
5813 T372_ = (branchScopeX60gensym501__2.vars ? branchScopeX60gensym501__2.vars->Sup.len : 0);
5814 if (!(((NI) 0) < T372_)) goto LA373_;
5815 T375_ = (NI)0;
5816 T375_ = len__ast_3198(itX60gensym501__3);
5817 varSectionX60gensym637_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T375_ - ((NI) 1))]).info);
5818 {
5819 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym637__2;
5820 NI i_15;
5821 NI L_9;
5822 NI T377_;
5823 tmpX60gensym637__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
5824 i_15 = ((NI) 0);
5825 T377_ = (branchScopeX60gensym501__2.vars ? branchScopeX60gensym501__2.vars->Sup.len : 0);
5826 L_9 = T377_;
5827 {
5828 while (1) {
5829 tyArray__T6RKPw8xfAeNaoei9aZGzXg T380_;
5830 NI T381_;
5831 NI T382_;
5832 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T383_;
5833 if (!(i_15 < L_9)) goto LA379;
5834 tmpX60gensym637__2 = &branchScopeX60gensym501__2.vars->data[i_15];
5835 nimZeroMem((void*)T380_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
5836 T380_[0] = newSymNode__ast_3716((*tmpX60gensym637__2));
5837 T381_ = (NI)0;
5838 T381_ = len__ast_3198(itX60gensym501__3);
5839 T380_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T381_ - ((NI) 1))]).info);
5840 T382_ = (NI)0;
5841 T382_ = len__ast_3198(itX60gensym501__3);
5842 T380_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T382_ - ((NI) 1))]).info);
5843 T383_ = NIM_NIL;
5844 T383_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T380_, 3);
5845 add__ast_4797(varSectionX60gensym637_, T383_);
5846 i_15 += ((NI) 1);
5847 } LA379: ;
5848 }
5849 }
5850 add__ast_4797(resultX60gensym637_, varSectionX60gensym637_);
5851 }
5852 LA373_: ;
5853 T384_ = (NI)0;
5854 T384_ = len__ast_3198(itX60gensym501__3);
5855 finSectionX60gensym637_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T384_ - ((NI) 1))]).info);
5856 {
5857 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym637_;
5858 NI i_16;
5859 NI L_10;
5860 NI T386_;
5861 mX60gensym637_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
5862 i_16 = ((NI) 0);
5863 T386_ = (branchScopeX60gensym501__2.wasMoved ? branchScopeX60gensym501__2.wasMoved->Sup.len : 0);
5864 L_10 = T386_;
5865 {
5866 while (1) {
5867 if (!(i_16 < L_10)) goto LA388;
5868 mX60gensym637_ = &branchScopeX60gensym501__2.wasMoved->data[i_16];
5869 add__ast_4797(finSectionX60gensym637_, (*mX60gensym637_));
5870 i_16 += ((NI) 1);
5871 } LA388: ;
5872 }
5873 }
5874 {
5875 NI iX60gensym637_;
5876 NI colontmp__11;
5877 NI T390_;
5878 NI res_5;
5879 iX60gensym637_ = (NI)0;
5880 colontmp__11 = (NI)0;
5881 T390_ = ((branchScopeX60gensym501__2.final ? branchScopeX60gensym501__2.final->Sup.len : 0)-1);
5882 colontmp__11 = T390_;
5883 res_5 = colontmp__11;
5884 {
5885 while (1) {
5886 if (!(((NI) 0) <= res_5)) goto LA392;
5887 iX60gensym637_ = res_5;
5888 add__ast_4797(finSectionX60gensym637_, branchScopeX60gensym501__2.final->data[iX60gensym637_]);
5889 res_5 -= ((NI) 1);
5890 } LA392: ;
5891 }
5892 }
5893 {
5894 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T397_;
5895 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T398_;
5896 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T399_;
5897 if (!branchScopeX60gensym501__2.needsTry) goto LA395_;
5898 nimZeroMem((void*)T397_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5899 T397_[0] = cpyX60gensym637_;
5900 T397_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym637_, c, branchScopeX60gensym501__2.parent, isDecl);
5901 T398_ = NIM_NIL;
5902 T398_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T397_, 2);
5903 T399_ = NIM_NIL;
5904 T399_ = newTryFinally__lowerings_202(T398_, finSectionX60gensym637_);
5905 add__ast_4797(resultX60gensym637_, T399_);
5906 }
5907 goto LA393_;
5908 LA395_: ;
5909 {
5910 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T401_;
5911 add__ast_4797(resultX60gensym637_, cpyX60gensym637_);
5912 add__ast_4797(resultX60gensym637_, finSectionX60gensym637_);
5913 T401_ = NIM_NIL;
5914 T401_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym637_, c, branchScopeX60gensym501__2.parent, isDecl);
5915 add__ast_4797(resultX60gensym637_, T401_);
5916 }
5917 LA393_: ;
5918 {
5919 NIM_BOOL T406_;
5920 if (!!((branchScopeX60gensym501__2.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA404_;
5921 T406_ = (NIM_BOOL)0;
5922 T406_ = (*branchScopeX60gensym501__2.parent).needsTry;
5923 if (T406_) goto LA407_;
5924 T406_ = branchScopeX60gensym501__2.needsTry;
5925 LA407_: ;
5926 (*branchScopeX60gensym501__2.parent).needsTry = T406_;
5927 }
5928 LA404_: ;
5929 asgnRef((void**) (&(*branchX60gensym501__3)._kind_6.sons->data[(NI)(T328_ - ((NI) 1))]), resultX60gensym637_);
5930 }
5931 LA329_: ;
5932 add__ast_4797(result, branchX60gensym501__3);
5933 i_14 += ((NI) 1);
5934 } LA327: ;
5935 }
5936 }
5937 }
5938 break;
5939 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
5940 {
5941 result = copyTree__ast_4431(ri);
5942 asgnRef((void**) (&(*(*result)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)]), moveOrCopy__injectdestructors_110(dest, (*(*ri)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)], c, s, isDecl));
5943 }
5944 break;
5945 default:
5946 {
5947 }
5948 break;
5949 }
5950 }
5951 break;
5952 default:
5953 {
5954 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T411_;
5955 nimZeroMem((void*)T411_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5956 T411_[0] = dest;
5957 T411_[1] = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5958 result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T411_, 2);
5959 }
5960 break;
5961 }
5962 }
5963 goto LA1_;
5964 LA8_: ;
5965 {
5966 switch ((*ri).kind) {
5967 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
5968 {
5969 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T414_;
5970 T414_ = NIM_NIL;
5971 T414_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
5972 result = genSink__injectdestructors_6564(c, dest, T414_, isDecl);
5973 }
5974 break;
5975 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
5976 {
5977 {
5978 NIM_BOOL T418_;
5979 NIM_BOOL T419_;
5980 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T424_;
5981 T418_ = (NIM_BOOL)0;
5982 T419_ = (NIM_BOOL)0;
5983 T419_ = ((*(*ri)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
5984 if (!(T419_)) goto LA420_;
5985 T419_ = ((*(*(*ri)._kind_6.sons->data[((NI) 0)])._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5));
5986 LA420_: ;
5987 T418_ = T419_;
5988 if (!(T418_)) goto LA421_;
5989 T418_ = ((*(*(*(*ri)._kind_6.sons->data[((NI) 0)])._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
5990 LA421_: ;
5991 if (!T418_) goto LA422_;
5992 T424_ = NIM_NIL;
5993 T424_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
5994 result = genSink__injectdestructors_6564(c, dest, T424_, isDecl);
5995 }
5996 goto LA416_;
5997 LA422_: ;
5998 {
5999 NIM_BOOL T426_;
6000 T426_ = (NIM_BOOL)0;
6001 T426_ = isAnalysableFieldAccess__dfa_903(ri, (*c).owner);
6002 if (!(T426_)) goto LA427_;
6003 T426_ = isLastRead__injectdestructors_6103(ri, c);
6004 LA427_: ;
6005 if (!T426_) goto LA428_;
6006 {
6007 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T432_;
6008 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* snk;
6009 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T435_;
6010 T432_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
6011 T432_ = aliases__dfa_792(dest, ri);
6012 if (!(T432_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1))) goto LA433_;
6013 snk = genSink__injectdestructors_6564(c, dest, ri, isDecl);
6014 nimZeroMem((void*)T435_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6015 T435_[0] = snk;
6016 T435_[1] = genWasMoved__injectdestructors_6739(c, ri);
6017 result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T435_, 2);
6018 }
6019 goto LA430_;
6020 LA433_: ;
6021 {
6022 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T437_;
6023 T437_ = NIM_NIL;
6024 T437_ = destructiveMoveVar__injectdestructors_6760(ri, c, s);
6025 result = genSink__injectdestructors_6564(c, dest, T437_, isDecl);
6026 }
6027 LA430_: ;
6028 }
6029 goto LA416_;
6030 LA428_: ;
6031 {
6032 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T439_;
6033 result = genCopy__injectdestructors_6647(c, dest, ri);
6034 T439_ = NIM_NIL;
6035 T439_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
6036 add__ast_4797(result, T439_);
6037 finishCopy__injectdestructors_6598(c, result, dest, NIM_FALSE);
6038 }
6039 LA416_: ;
6040 }
6041 break;
6042 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
6043 {
6044 {
6045 NIM_BOOL T443_;
6046 NI T444_;
6047 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T448_;
6048 T443_ = (NIM_BOOL)0;
6049 T444_ = (NI)0;
6050 T444_ = len__ast_3198(ri);
6051 T443_ = (((NI) 0) < T444_);
6052 if (!(T443_)) goto LA445_;
6053 T443_ = isDangerousSeq__injectdestructors_6847((*ri).typ);
6054 LA445_: ;
6055 if (!T443_) goto LA446_;
6056 result = genCopy__injectdestructors_6647(c, dest, ri);
6057 T448_ = NIM_NIL;
6058 T448_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
6059 add__ast_4797(result, T448_);
6060 finishCopy__injectdestructors_6598(c, result, dest, NIM_FALSE);
6061 }
6062 goto LA441_;
6063 LA446_: ;
6064 {
6065 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T450_;
6066 T450_ = NIM_NIL;
6067 T450_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
6068 result = genSink__injectdestructors_6564(c, dest, T450_, isDecl);
6069 }
6070 LA441_: ;
6071 }
6072 break;
6073 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
6074 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
6075 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
6076 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
6077 {
6078 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T452_;
6079 T452_ = NIM_NIL;
6080 T452_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
6081 result = genSink__injectdestructors_6564(c, dest, T452_, isDecl);
6082 }
6083 break;
6084 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
6085 {
6086 {
6087 NIM_BOOL T456_;
6088 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* snk_2;
6089 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T460_;
6090 T456_ = (NIM_BOOL)0;
6091 T456_ = isSinkParam__ast_5030((*ri)._kind_4.sym);
6092 if (!(T456_)) goto LA457_;
6093 T456_ = isLastRead__injectdestructors_6103(ri, c);
6094 LA457_: ;
6095 if (!T456_) goto LA458_;
6096 snk_2 = genSink__injectdestructors_6564(c, dest, ri, isDecl);
6097 nimZeroMem((void*)T460_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6098 T460_[0] = snk_2;
6099 T460_[1] = genWasMoved__injectdestructors_6739(c, ri);
6100 result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T460_, 2);
6101 }
6102 goto LA454_;
6103 LA458_: ;
6104 {
6105 NIM_BOOL T462_;
6106 NIM_BOOL T463_;
6107 NIM_BOOL T464_;
6108 NIM_BOOL T465_;
6109 NIM_BOOL T470_;
6110 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* snk_3;
6111 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T473_;
6112 T462_ = (NIM_BOOL)0;
6113 T463_ = (NIM_BOOL)0;
6114 T464_ = (NIM_BOOL)0;
6115 T465_ = (NIM_BOOL)0;
6116 T465_ = !(((*(*ri)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)));
6117 if (!(T465_)) goto LA466_;
6118 T465_ = ((*(*ri)._kind_4.sym).owner == (*c).owner);
6119 LA466_: ;
6120 T464_ = T465_;
6121 if (!(T464_)) goto LA467_;
6122 T464_ = isLastRead__injectdestructors_6103(ri, c);
6123 LA467_: ;
6124 T463_ = T464_;
6125 if (!(T463_)) goto LA468_;
6126 T463_ = canBeMoved__injectdestructors_6532((&(*c)), (*dest).typ);
6127 LA468_: ;
6128 T462_ = T463_;
6129 if (!(T462_)) goto LA469_;
6130 T470_ = (NIM_BOOL)0;
6131 T470_ = isCursor__injectdestructors_6369(ri);
6132 T462_ = !(T470_);
6133 LA469_: ;
6134 if (!T462_) goto LA471_;
6135 snk_3 = genSink__injectdestructors_6564(c, dest, ri, isDecl);
6136 nimZeroMem((void*)T473_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6137 T473_[0] = snk_3;
6138 T473_[1] = genWasMoved__injectdestructors_6739(c, ri);
6139 result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T473_, 2);
6140 }
6141 goto LA454_;
6142 LA471_: ;
6143 {
6144 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T475_;
6145 result = genCopy__injectdestructors_6647(c, dest, ri);
6146 T475_ = NIM_NIL;
6147 T475_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
6148 add__ast_4797(result, T475_);
6149 finishCopy__injectdestructors_6598(c, result, dest, NIM_FALSE);
6150 }
6151 LA454_: ;
6152 }
6153 break;
6154 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
6155 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
6156 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
6157 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
6158 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
6159 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
6160 {
6161 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T477_;
6162 T477_ = NIM_NIL;
6163 T477_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2));
6164 result = genSink__injectdestructors_6564(c, dest, T477_, isDecl);
6165 }
6166 break;
6167 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
6168 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
6169 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
6170 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
6171 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
6172 {
6173 switch ((*ri).kind) {
6174 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
6175 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
6176 {
6177 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T490_;
6178 {
6179 NI T482_;
6180 T482_ = (NI)0;
6181 T482_ = len__ast_3198(ri);
6182 if (!(T482_ == ((NI) 0))) goto LA483_;
6183 result = ri;
6184 goto BeforeRet_;
6185 }
6186 LA483_: ;
6187 result = copyNode__ast_4336(ri);
6188 {
6189 NI iX60gensym657_;
6190 NI colontmp__12;
6191 NI T486_;
6192 NI i_17;
6193 iX60gensym657_ = (NI)0;
6194 colontmp__12 = (NI)0;
6195 T486_ = (NI)0;
6196 T486_ = len__ast_3198(ri);
6197 colontmp__12 = (NI)(T486_ - ((NI) 1));
6198 i_17 = ((NI) 0);
6199 {
6200 while (1) {
6201 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T489_;
6202 if (!(i_17 < colontmp__12)) goto LA488;
6203 iX60gensym657_ = i_17;
6204 T489_ = NIM_NIL;
6205 T489_ = p__injectdestructors_105((*ri)._kind_6.sons->data[iX60gensym657_], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6206 add__ast_4797(result, T489_);
6207 i_17 += ((NI) 1);
6208 } LA488: ;
6209 }
6210 }
6211 T490_ = NIM_NIL;
6212 {
6213 NI T493_;
6214 NIM_BOOL T494_;
6215 NI T497_;
6216 T493_ = (NI)0;
6217 T493_ = len__ast_3198(ri);
6218 T494_ = (NIM_BOOL)0;
6219 T494_ = isEmptyType__ast_4779((*(*ri)._kind_6.sons->data[(NI)(T493_ - ((NI) 1))]).typ);
6220 if (!T494_) goto LA495_;
6221 T497_ = (NI)0;
6222 T497_ = len__ast_3198(ri);
6223 T490_ = p__injectdestructors_105((*ri)._kind_6.sons->data[(NI)(T497_ - ((NI) 1))], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6224 }
6225 goto LA491_;
6226 LA495_: ;
6227 {
6228 NI T499_;
6229 T499_ = (NI)0;
6230 T499_ = len__ast_3198(ri);
6231 T490_ = moveOrCopy__injectdestructors_110(dest, (*ri)._kind_6.sons->data[(NI)(T499_ - ((NI) 1))], c, s, isDecl);
6232 }
6233 LA491_: ;
6234 add__ast_4797(result, T490_);
6235 }
6236 break;
6237 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
6238 {
6239 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T501_;
6240 result = copyNode__ast_4336(ri);
6241 T501_ = NIM_NIL;
6242 T501_ = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6243 add__ast_4797(result, T501_);
6244 {
6245 NI iX60gensym657__2;
6246 NI colontmp__13;
6247 NI i_18;
6248 iX60gensym657__2 = (NI)0;
6249 colontmp__13 = (NI)0;
6250 colontmp__13 = len__ast_3198(ri);
6251 i_18 = ((NI) 1);
6252 {
6253 while (1) {
6254 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym657_;
6255 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym657_;
6256 tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ ofScopeX60gensym657_;
6257 NI T509_;
6258 if (!(i_18 < colontmp__13)) goto LA504;
6259 iX60gensym657__2 = i_18;
6260 itX60gensym657_ = (*ri)._kind_6.sons->data[iX60gensym657__2];
6261 branchX60gensym657_ = shallowCopy__ast_4413(itX60gensym657_);
6262 {
6263 NI jX60gensym657_;
6264 NI colontmp__14;
6265 NI T506_;
6266 NI i_19;
6267 jX60gensym657_ = (NI)0;
6268 colontmp__14 = (NI)0;
6269 T506_ = (NI)0;
6270 T506_ = len__ast_3198(itX60gensym657_);
6271 colontmp__14 = (NI)(T506_ - ((NI) 1));
6272 i_19 = ((NI) 0);
6273 {
6274 while (1) {
6275 if (!(i_19 < colontmp__14)) goto LA508;
6276 jX60gensym657_ = i_19;
6277 asgnRef((void**) (&(*branchX60gensym657_)._kind_6.sons->data[jX60gensym657_]), copyTree__ast_4431((*itX60gensym657_)._kind_6.sons->data[jX60gensym657_]));
6278 i_19 += ((NI) 1);
6279 } LA508: ;
6280 }
6281 }
6282 nimZeroMem((void*)(&ofScopeX60gensym657_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
6283 nestedScope__injectdestructors_72(s, (&ofScopeX60gensym657_));
6284 T509_ = (NI)0;
6285 T509_ = len__ast_3198(branchX60gensym657_);
6286 {
6287 NIM_BOOL T512_;
6288 NI T513_;
6289 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T517_;
6290 T512_ = (NIM_BOOL)0;
6291 T513_ = (NI)0;
6292 T513_ = len__ast_3198(itX60gensym657_);
6293 T512_ = isEmptyType__ast_4779((*(*itX60gensym657_)._kind_6.sons->data[(NI)(T513_ - ((NI) 1))]).typ);
6294 if (T512_) goto LA514_;
6295 T512_ = NIM_TRUE;
6296 LA514_: ;
6297 if (!T512_) goto LA515_;
6298 T517_ = NIM_NIL;
6299 {
6300 NI T520_;
6301 NIM_BOOL T521_;
6302 NI T524_;
6303 T520_ = (NI)0;
6304 T520_ = len__ast_3198(itX60gensym657_);
6305 T521_ = (NIM_BOOL)0;
6306 T521_ = isEmptyType__ast_4779((*(*itX60gensym657_)._kind_6.sons->data[(NI)(T520_ - ((NI) 1))]).typ);
6307 if (!T521_) goto LA522_;
6308 T524_ = (NI)0;
6309 T524_ = len__ast_3198(itX60gensym657_);
6310 T517_ = p__injectdestructors_105((*itX60gensym657_)._kind_6.sons->data[(NI)(T524_ - ((NI) 1))], c, (&ofScopeX60gensym657_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6311 }
6312 goto LA518_;
6313 LA522_: ;
6314 {
6315 NI T526_;
6316 T526_ = (NI)0;
6317 T526_ = len__ast_3198(itX60gensym657_);
6318 T517_ = moveOrCopy__injectdestructors_110(dest, (*itX60gensym657_)._kind_6.sons->data[(NI)(T526_ - ((NI) 1))], c, (&ofScopeX60gensym657_), isDecl);
6319 }
6320 LA518_: ;
6321 asgnRef((void**) (&(*branchX60gensym657_)._kind_6.sons->data[(NI)(T509_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&ofScopeX60gensym657_), T517_));
6322 }
6323 goto LA510_;
6324 LA515_: ;
6325 {
6326 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym695_;
6327 NI T528_;
6328 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym695_;
6329 NI T529_;
6330 NI T530_;
6331 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym695_;
6332 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym695_;
6333 NI T557_;
6334 T528_ = (NI)0;
6335 T528_ = len__ast_3198(itX60gensym657_);
6336 resultX60gensym695_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym657_)._kind_6.sons->data[(NI)(T528_ - ((NI) 1))]).info);
6337 T529_ = (NI)0;
6338 T529_ = len__ast_3198(itX60gensym657_);
6339 T530_ = (NI)0;
6340 T530_ = len__ast_3198(itX60gensym657_);
6341 tmpX60gensym695_ = getTemp__injectdestructors_61(c, ofScopeX60gensym657_.parent, (*(*itX60gensym657_)._kind_6.sons->data[(NI)(T529_ - ((NI) 1))]).typ, (*(*itX60gensym657_)._kind_6.sons->data[(NI)(T530_ - ((NI) 1))]).info);
6342 (*(*tmpX60gensym695_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
6343 {
6344 NI T533_;
6345 NIM_BOOL T534_;
6346 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T537_;
6347 NI T538_;
6348 NI T539_;
6349 T533_ = (NI)0;
6350 T533_ = len__ast_3198(itX60gensym657_);
6351 T534_ = (NIM_BOOL)0;
6352 T534_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym657_)._kind_6.sons->data[(NI)(T533_ - ((NI) 1))]).typ);
6353 if (!T534_) goto LA535_;
6354 T537_ = NIM_NIL;
6355 T537_ = genDestroy__injectdestructors_6527(c, tmpX60gensym695_);
6356 unsureAsgnRef((void**) (&(*ofScopeX60gensym657_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*ofScopeX60gensym657_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
6357 T538_ = (*ofScopeX60gensym657_.parent).final->Sup.len++;
6358 asgnRef((void**) (&(*ofScopeX60gensym657_.parent).final->data[T538_]), T537_);
6359 T539_ = (NI)0;
6360 T539_ = len__ast_3198(itX60gensym657_);
6361 cpyX60gensym695_ = moveOrCopy__injectdestructors_110(tmpX60gensym695_, (*itX60gensym657_)._kind_6.sons->data[(NI)(T539_ - ((NI) 1))], c, (&ofScopeX60gensym657_), NIM_TRUE);
6362 }
6363 goto LA531_;
6364 LA535_: ;
6365 {
6366 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T541_;
6367 NI T542_;
6368 nimZeroMem((void*)T541_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6369 T541_[0] = tmpX60gensym695_;
6370 T542_ = (NI)0;
6371 T542_ = len__ast_3198(itX60gensym657_);
6372 T541_[1] = p__injectdestructors_105((*itX60gensym657_)._kind_6.sons->data[(NI)(T542_ - ((NI) 1))], c, (&ofScopeX60gensym657_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6373 cpyX60gensym695_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T541_, 2);
6374 }
6375 LA531_: ;
6376 {
6377 NI T545_;
6378 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym695_;
6379 NI T548_;
6380 T545_ = (ofScopeX60gensym657_.vars ? ofScopeX60gensym657_.vars->Sup.len : 0);
6381 if (!(((NI) 0) < T545_)) goto LA546_;
6382 T548_ = (NI)0;
6383 T548_ = len__ast_3198(itX60gensym657_);
6384 varSectionX60gensym695_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym657_)._kind_6.sons->data[(NI)(T548_ - ((NI) 1))]).info);
6385 {
6386 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym695__2;
6387 NI i_20;
6388 NI L_11;
6389 NI T550_;
6390 tmpX60gensym695__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
6391 i_20 = ((NI) 0);
6392 T550_ = (ofScopeX60gensym657_.vars ? ofScopeX60gensym657_.vars->Sup.len : 0);
6393 L_11 = T550_;
6394 {
6395 while (1) {
6396 tyArray__T6RKPw8xfAeNaoei9aZGzXg T553_;
6397 NI T554_;
6398 NI T555_;
6399 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T556_;
6400 if (!(i_20 < L_11)) goto LA552;
6401 tmpX60gensym695__2 = &ofScopeX60gensym657_.vars->data[i_20];
6402 nimZeroMem((void*)T553_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
6403 T553_[0] = newSymNode__ast_3716((*tmpX60gensym695__2));
6404 T554_ = (NI)0;
6405 T554_ = len__ast_3198(itX60gensym657_);
6406 T553_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym657_)._kind_6.sons->data[(NI)(T554_ - ((NI) 1))]).info);
6407 T555_ = (NI)0;
6408 T555_ = len__ast_3198(itX60gensym657_);
6409 T553_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym657_)._kind_6.sons->data[(NI)(T555_ - ((NI) 1))]).info);
6410 T556_ = NIM_NIL;
6411 T556_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T553_, 3);
6412 add__ast_4797(varSectionX60gensym695_, T556_);
6413 i_20 += ((NI) 1);
6414 } LA552: ;
6415 }
6416 }
6417 add__ast_4797(resultX60gensym695_, varSectionX60gensym695_);
6418 }
6419 LA546_: ;
6420 T557_ = (NI)0;
6421 T557_ = len__ast_3198(itX60gensym657_);
6422 finSectionX60gensym695_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym657_)._kind_6.sons->data[(NI)(T557_ - ((NI) 1))]).info);
6423 {
6424 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym695_;
6425 NI i_21;
6426 NI L_12;
6427 NI T559_;
6428 mX60gensym695_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
6429 i_21 = ((NI) 0);
6430 T559_ = (ofScopeX60gensym657_.wasMoved ? ofScopeX60gensym657_.wasMoved->Sup.len : 0);
6431 L_12 = T559_;
6432 {
6433 while (1) {
6434 if (!(i_21 < L_12)) goto LA561;
6435 mX60gensym695_ = &ofScopeX60gensym657_.wasMoved->data[i_21];
6436 add__ast_4797(finSectionX60gensym695_, (*mX60gensym695_));
6437 i_21 += ((NI) 1);
6438 } LA561: ;
6439 }
6440 }
6441 {
6442 NI iX60gensym695_;
6443 NI colontmp__15;
6444 NI T563_;
6445 NI res_6;
6446 iX60gensym695_ = (NI)0;
6447 colontmp__15 = (NI)0;
6448 T563_ = ((ofScopeX60gensym657_.final ? ofScopeX60gensym657_.final->Sup.len : 0)-1);
6449 colontmp__15 = T563_;
6450 res_6 = colontmp__15;
6451 {
6452 while (1) {
6453 if (!(((NI) 0) <= res_6)) goto LA565;
6454 iX60gensym695_ = res_6;
6455 add__ast_4797(finSectionX60gensym695_, ofScopeX60gensym657_.final->data[iX60gensym695_]);
6456 res_6 -= ((NI) 1);
6457 } LA565: ;
6458 }
6459 }
6460 {
6461 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T570_;
6462 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T571_;
6463 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T572_;
6464 if (!ofScopeX60gensym657_.needsTry) goto LA568_;
6465 nimZeroMem((void*)T570_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6466 T570_[0] = cpyX60gensym695_;
6467 T570_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym695_, c, ofScopeX60gensym657_.parent, isDecl);
6468 T571_ = NIM_NIL;
6469 T571_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T570_, 2);
6470 T572_ = NIM_NIL;
6471 T572_ = newTryFinally__lowerings_202(T571_, finSectionX60gensym695_);
6472 add__ast_4797(resultX60gensym695_, T572_);
6473 }
6474 goto LA566_;
6475 LA568_: ;
6476 {
6477 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T574_;
6478 add__ast_4797(resultX60gensym695_, cpyX60gensym695_);
6479 add__ast_4797(resultX60gensym695_, finSectionX60gensym695_);
6480 T574_ = NIM_NIL;
6481 T574_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym695_, c, ofScopeX60gensym657_.parent, isDecl);
6482 add__ast_4797(resultX60gensym695_, T574_);
6483 }
6484 LA566_: ;
6485 {
6486 NIM_BOOL T579_;
6487 if (!!((ofScopeX60gensym657_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA577_;
6488 T579_ = (NIM_BOOL)0;
6489 T579_ = (*ofScopeX60gensym657_.parent).needsTry;
6490 if (T579_) goto LA580_;
6491 T579_ = ofScopeX60gensym657_.needsTry;
6492 LA580_: ;
6493 (*ofScopeX60gensym657_.parent).needsTry = T579_;
6494 }
6495 LA577_: ;
6496 asgnRef((void**) (&(*branchX60gensym657_)._kind_6.sons->data[(NI)(T509_ - ((NI) 1))]), resultX60gensym695_);
6497 }
6498 LA510_: ;
6499 add__ast_4797(result, branchX60gensym657_);
6500 i_18 += ((NI) 1);
6501 } LA504: ;
6502 }
6503 }
6504 }
6505 break;
6506 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
6507 {
6508 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T582_;
6509 tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym657_;
6510 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bodyResultX60gensym657_;
6511 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T583_;
6512 (*c).inLoop += ((NI) 1);
6513 (*c).inLoopCond += ((NI) 1);
6514 result = copyNode__ast_4336(ri);
6515 T582_ = NIM_NIL;
6516 T582_ = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6517 add__ast_4797(result, T582_);
6518 (*c).inLoopCond -= ((NI) 1);
6519 nimZeroMem((void*)(&bodyScopeX60gensym657_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
6520 nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym657_));
6521 bodyResultX60gensym657_ = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym657_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6522 T583_ = NIM_NIL;
6523 T583_ = processScope__injectdestructors_7016(c, (&bodyScopeX60gensym657_), bodyResultX60gensym657_);
6524 add__ast_4797(result, T583_);
6525 (*c).inLoop -= ((NI) 1);
6526 }
6527 break;
6528 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 95):
6529 {
6530 NI lastX60gensym657_;
6531 NI T585_;
6532 tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym657__2;
6533 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bodyResultX60gensym657__2;
6534 (*c).inLoop += ((NI) 1);
6535 result = shallowCopy__ast_4413(ri);
6536 T585_ = (NI)0;
6537 T585_ = len__ast_3198(ri);
6538 lastX60gensym657_ = (NI)(T585_ - ((NI) 1));
6539 {
6540 NI iX60gensym657__3;
6541 NI colontmp__16;
6542 NI i_22;
6543 iX60gensym657__3 = (NI)0;
6544 colontmp__16 = (NI)0;
6545 colontmp__16 = (NI)(lastX60gensym657_ - ((NI) 1));
6546 i_22 = ((NI) 0);
6547 {
6548 while (1) {
6549 if (!(i_22 < colontmp__16)) goto LA588;
6550 iX60gensym657__3 = i_22;
6551 asgnRef((void**) (&(*result)._kind_6.sons->data[iX60gensym657__3]), (*ri)._kind_6.sons->data[iX60gensym657__3]);
6552 i_22 += ((NI) 1);
6553 } LA588: ;
6554 }
6555 }
6556 asgnRef((void**) (&(*result)._kind_6.sons->data[(NI)(lastX60gensym657_ - ((NI) 1))]), p__injectdestructors_105((*ri)._kind_6.sons->data[(NI)(lastX60gensym657_ - ((NI) 1))], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
6557 nimZeroMem((void*)(&bodyScopeX60gensym657__2), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
6558 nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym657__2));
6559 bodyResultX60gensym657__2 = p__injectdestructors_105((*ri)._kind_6.sons->data[lastX60gensym657_], c, (&bodyScopeX60gensym657__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6560 asgnRef((void**) (&(*result)._kind_6.sons->data[lastX60gensym657_]), processScope__injectdestructors_7016(c, (&bodyScopeX60gensym657__2), bodyResultX60gensym657__2));
6561 (*c).inLoop -= ((NI) 1);
6562 }
6563 break;
6564 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
6565 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
6566 {
6567 tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym657__3;
6568 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T590_;
6569 result = copyNode__ast_4336(ri);
6570 add__ast_4797(result, (*ri)._kind_6.sons->data[((NI) 0)]);
6571 nimZeroMem((void*)(&bodyScopeX60gensym657__3), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
6572 nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym657__3));
6573 T590_ = NIM_NIL;
6574 {
6575 NIM_BOOL T593_;
6576 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T597_;
6577 T593_ = (NIM_BOOL)0;
6578 T593_ = isEmptyType__ast_4779((*(*ri)._kind_6.sons->data[((NI) 1)]).typ);
6579 if (T593_) goto LA594_;
6580 T593_ = NIM_TRUE;
6581 LA594_: ;
6582 if (!T593_) goto LA595_;
6583 T597_ = NIM_NIL;
6584 T597_ = moveOrCopy__injectdestructors_110(dest, (*ri)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym657__3), isDecl);
6585 T590_ = processScope__injectdestructors_7016(c, (&bodyScopeX60gensym657__3), T597_);
6586 }
6587 goto LA591_;
6588 LA595_: ;
6589 {
6590 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym717_;
6591 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym717_;
6592 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym717_;
6593 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym717_;
6594 resultX60gensym717_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
6595 tmpX60gensym717_ = getTemp__injectdestructors_61(c, bodyScopeX60gensym657__3.parent, (*(*ri)._kind_6.sons->data[((NI) 1)]).typ, (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
6596 (*(*tmpX60gensym717_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
6597 {
6598 NIM_BOOL T601_;
6599 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T604_;
6600 NI T605_;
6601 T601_ = (NIM_BOOL)0;
6602 T601_ = hasDestructor__injectdestructors_49((&(*c)), (*(*ri)._kind_6.sons->data[((NI) 1)]).typ);
6603 if (!T601_) goto LA602_;
6604 T604_ = NIM_NIL;
6605 T604_ = genDestroy__injectdestructors_6527(c, tmpX60gensym717_);
6606 unsureAsgnRef((void**) (&(*bodyScopeX60gensym657__3.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*bodyScopeX60gensym657__3.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
6607 T605_ = (*bodyScopeX60gensym657__3.parent).final->Sup.len++;
6608 asgnRef((void**) (&(*bodyScopeX60gensym657__3.parent).final->data[T605_]), T604_);
6609 cpyX60gensym717_ = moveOrCopy__injectdestructors_110(tmpX60gensym717_, (*ri)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym657__3), NIM_TRUE);
6610 }
6611 goto LA599_;
6612 LA602_: ;
6613 {
6614 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T607_;
6615 nimZeroMem((void*)T607_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6616 T607_[0] = tmpX60gensym717_;
6617 T607_[1] = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym657__3), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6618 cpyX60gensym717_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T607_, 2);
6619 }
6620 LA599_: ;
6621 {
6622 NI T610_;
6623 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym717_;
6624 T610_ = (bodyScopeX60gensym657__3.vars ? bodyScopeX60gensym657__3.vars->Sup.len : 0);
6625 if (!(((NI) 0) < T610_)) goto LA611_;
6626 varSectionX60gensym717_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
6627 {
6628 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym717__2;
6629 NI i_23;
6630 NI L_13;
6631 NI T614_;
6632 tmpX60gensym717__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
6633 i_23 = ((NI) 0);
6634 T614_ = (bodyScopeX60gensym657__3.vars ? bodyScopeX60gensym657__3.vars->Sup.len : 0);
6635 L_13 = T614_;
6636 {
6637 while (1) {
6638 tyArray__T6RKPw8xfAeNaoei9aZGzXg T617_;
6639 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T618_;
6640 if (!(i_23 < L_13)) goto LA616;
6641 tmpX60gensym717__2 = &bodyScopeX60gensym657__3.vars->data[i_23];
6642 nimZeroMem((void*)T617_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
6643 T617_[0] = newSymNode__ast_3716((*tmpX60gensym717__2));
6644 T617_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
6645 T617_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
6646 T618_ = NIM_NIL;
6647 T618_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T617_, 3);
6648 add__ast_4797(varSectionX60gensym717_, T618_);
6649 i_23 += ((NI) 1);
6650 } LA616: ;
6651 }
6652 }
6653 add__ast_4797(resultX60gensym717_, varSectionX60gensym717_);
6654 }
6655 LA611_: ;
6656 finSectionX60gensym717_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
6657 {
6658 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym717_;
6659 NI i_24;
6660 NI L_14;
6661 NI T620_;
6662 mX60gensym717_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
6663 i_24 = ((NI) 0);
6664 T620_ = (bodyScopeX60gensym657__3.wasMoved ? bodyScopeX60gensym657__3.wasMoved->Sup.len : 0);
6665 L_14 = T620_;
6666 {
6667 while (1) {
6668 if (!(i_24 < L_14)) goto LA622;
6669 mX60gensym717_ = &bodyScopeX60gensym657__3.wasMoved->data[i_24];
6670 add__ast_4797(finSectionX60gensym717_, (*mX60gensym717_));
6671 i_24 += ((NI) 1);
6672 } LA622: ;
6673 }
6674 }
6675 {
6676 NI iX60gensym717_;
6677 NI colontmp__17;
6678 NI T624_;
6679 NI res_7;
6680 iX60gensym717_ = (NI)0;
6681 colontmp__17 = (NI)0;
6682 T624_ = ((bodyScopeX60gensym657__3.final ? bodyScopeX60gensym657__3.final->Sup.len : 0)-1);
6683 colontmp__17 = T624_;
6684 res_7 = colontmp__17;
6685 {
6686 while (1) {
6687 if (!(((NI) 0) <= res_7)) goto LA626;
6688 iX60gensym717_ = res_7;
6689 add__ast_4797(finSectionX60gensym717_, bodyScopeX60gensym657__3.final->data[iX60gensym717_]);
6690 res_7 -= ((NI) 1);
6691 } LA626: ;
6692 }
6693 }
6694 {
6695 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T631_;
6696 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T632_;
6697 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T633_;
6698 if (!bodyScopeX60gensym657__3.needsTry) goto LA629_;
6699 nimZeroMem((void*)T631_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6700 T631_[0] = cpyX60gensym717_;
6701 T631_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym717_, c, bodyScopeX60gensym657__3.parent, isDecl);
6702 T632_ = NIM_NIL;
6703 T632_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T631_, 2);
6704 T633_ = NIM_NIL;
6705 T633_ = newTryFinally__lowerings_202(T632_, finSectionX60gensym717_);
6706 add__ast_4797(resultX60gensym717_, T633_);
6707 }
6708 goto LA627_;
6709 LA629_: ;
6710 {
6711 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T635_;
6712 add__ast_4797(resultX60gensym717_, cpyX60gensym717_);
6713 add__ast_4797(resultX60gensym717_, finSectionX60gensym717_);
6714 T635_ = NIM_NIL;
6715 T635_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym717_, c, bodyScopeX60gensym657__3.parent, isDecl);
6716 add__ast_4797(resultX60gensym717_, T635_);
6717 }
6718 LA627_: ;
6719 {
6720 NIM_BOOL T640_;
6721 if (!!((bodyScopeX60gensym657__3.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA638_;
6722 T640_ = (NIM_BOOL)0;
6723 T640_ = (*bodyScopeX60gensym657__3.parent).needsTry;
6724 if (T640_) goto LA641_;
6725 T640_ = bodyScopeX60gensym657__3.needsTry;
6726 LA641_: ;
6727 (*bodyScopeX60gensym657__3.parent).needsTry = T640_;
6728 }
6729 LA638_: ;
6730 T590_ = resultX60gensym717_;
6731 }
6732 LA591_: ;
6733 add__ast_4797(result, T590_);
6734 }
6735 break;
6736 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
6737 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
6738 {
6739 result = copyNode__ast_4336(ri);
6740 {
6741 NI iX60gensym657__4;
6742 NI colontmp__18;
6743 NI i_25;
6744 iX60gensym657__4 = (NI)0;
6745 colontmp__18 = (NI)0;
6746 colontmp__18 = len__ast_3198(ri);
6747 i_25 = ((NI) 0);
6748 {
6749 while (1) {
6750 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym657__2;
6751 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym657__2;
6752 tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ branchScopeX60gensym657_;
6753 NI T650_;
6754 if (!(i_25 < colontmp__18)) goto LA645;
6755 iX60gensym657__4 = i_25;
6756 itX60gensym657__2 = (*ri)._kind_6.sons->data[iX60gensym657__4];
6757 branchX60gensym657__2 = shallowCopy__ast_4413(itX60gensym657__2);
6758 nimZeroMem((void*)(&branchScopeX60gensym657_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
6759 nestedScope__injectdestructors_72(s, (&branchScopeX60gensym657_));
6760 {
6761 if (!((*itX60gensym657__2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86) || (*itX60gensym657__2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49))) goto LA648_;
6762 asgnRef((void**) (&(*branchX60gensym657__2)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*itX60gensym657__2)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
6763 }
6764 LA648_: ;
6765 T650_ = (NI)0;
6766 T650_ = len__ast_3198(branchX60gensym657__2);
6767 {
6768 NIM_BOOL T653_;
6769 NI T654_;
6770 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T658_;
6771 T653_ = (NIM_BOOL)0;
6772 T654_ = (NI)0;
6773 T654_ = len__ast_3198(itX60gensym657__2);
6774 T653_ = isEmptyType__ast_4779((*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T654_ - ((NI) 1))]).typ);
6775 if (T653_) goto LA655_;
6776 T653_ = NIM_TRUE;
6777 LA655_: ;
6778 if (!T653_) goto LA656_;
6779 T658_ = NIM_NIL;
6780 {
6781 NI T661_;
6782 NIM_BOOL T662_;
6783 NI T665_;
6784 T661_ = (NI)0;
6785 T661_ = len__ast_3198(itX60gensym657__2);
6786 T662_ = (NIM_BOOL)0;
6787 T662_ = isEmptyType__ast_4779((*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T661_ - ((NI) 1))]).typ);
6788 if (!T662_) goto LA663_;
6789 T665_ = (NI)0;
6790 T665_ = len__ast_3198(itX60gensym657__2);
6791 T658_ = p__injectdestructors_105((*itX60gensym657__2)._kind_6.sons->data[(NI)(T665_ - ((NI) 1))], c, (&branchScopeX60gensym657_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6792 }
6793 goto LA659_;
6794 LA663_: ;
6795 {
6796 NI T667_;
6797 T667_ = (NI)0;
6798 T667_ = len__ast_3198(itX60gensym657__2);
6799 T658_ = moveOrCopy__injectdestructors_110(dest, (*itX60gensym657__2)._kind_6.sons->data[(NI)(T667_ - ((NI) 1))], c, (&branchScopeX60gensym657_), isDecl);
6800 }
6801 LA659_: ;
6802 asgnRef((void**) (&(*branchX60gensym657__2)._kind_6.sons->data[(NI)(T650_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&branchScopeX60gensym657_), T658_));
6803 }
6804 goto LA651_;
6805 LA656_: ;
6806 {
6807 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym746_;
6808 NI T669_;
6809 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym746_;
6810 NI T670_;
6811 NI T671_;
6812 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym746_;
6813 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym746_;
6814 NI T698_;
6815 T669_ = (NI)0;
6816 T669_ = len__ast_3198(itX60gensym657__2);
6817 resultX60gensym746_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T669_ - ((NI) 1))]).info);
6818 T670_ = (NI)0;
6819 T670_ = len__ast_3198(itX60gensym657__2);
6820 T671_ = (NI)0;
6821 T671_ = len__ast_3198(itX60gensym657__2);
6822 tmpX60gensym746_ = getTemp__injectdestructors_61(c, branchScopeX60gensym657_.parent, (*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T670_ - ((NI) 1))]).typ, (*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T671_ - ((NI) 1))]).info);
6823 (*(*tmpX60gensym746_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
6824 {
6825 NI T674_;
6826 NIM_BOOL T675_;
6827 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T678_;
6828 NI T679_;
6829 NI T680_;
6830 T674_ = (NI)0;
6831 T674_ = len__ast_3198(itX60gensym657__2);
6832 T675_ = (NIM_BOOL)0;
6833 T675_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T674_ - ((NI) 1))]).typ);
6834 if (!T675_) goto LA676_;
6835 T678_ = NIM_NIL;
6836 T678_ = genDestroy__injectdestructors_6527(c, tmpX60gensym746_);
6837 unsureAsgnRef((void**) (&(*branchScopeX60gensym657_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*branchScopeX60gensym657_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
6838 T679_ = (*branchScopeX60gensym657_.parent).final->Sup.len++;
6839 asgnRef((void**) (&(*branchScopeX60gensym657_.parent).final->data[T679_]), T678_);
6840 T680_ = (NI)0;
6841 T680_ = len__ast_3198(itX60gensym657__2);
6842 cpyX60gensym746_ = moveOrCopy__injectdestructors_110(tmpX60gensym746_, (*itX60gensym657__2)._kind_6.sons->data[(NI)(T680_ - ((NI) 1))], c, (&branchScopeX60gensym657_), NIM_TRUE);
6843 }
6844 goto LA672_;
6845 LA676_: ;
6846 {
6847 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T682_;
6848 NI T683_;
6849 nimZeroMem((void*)T682_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6850 T682_[0] = tmpX60gensym746_;
6851 T683_ = (NI)0;
6852 T683_ = len__ast_3198(itX60gensym657__2);
6853 T682_[1] = p__injectdestructors_105((*itX60gensym657__2)._kind_6.sons->data[(NI)(T683_ - ((NI) 1))], c, (&branchScopeX60gensym657_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6854 cpyX60gensym746_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T682_, 2);
6855 }
6856 LA672_: ;
6857 {
6858 NI T686_;
6859 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym746_;
6860 NI T689_;
6861 T686_ = (branchScopeX60gensym657_.vars ? branchScopeX60gensym657_.vars->Sup.len : 0);
6862 if (!(((NI) 0) < T686_)) goto LA687_;
6863 T689_ = (NI)0;
6864 T689_ = len__ast_3198(itX60gensym657__2);
6865 varSectionX60gensym746_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T689_ - ((NI) 1))]).info);
6866 {
6867 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym746__2;
6868 NI i_26;
6869 NI L_15;
6870 NI T691_;
6871 tmpX60gensym746__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
6872 i_26 = ((NI) 0);
6873 T691_ = (branchScopeX60gensym657_.vars ? branchScopeX60gensym657_.vars->Sup.len : 0);
6874 L_15 = T691_;
6875 {
6876 while (1) {
6877 tyArray__T6RKPw8xfAeNaoei9aZGzXg T694_;
6878 NI T695_;
6879 NI T696_;
6880 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T697_;
6881 if (!(i_26 < L_15)) goto LA693;
6882 tmpX60gensym746__2 = &branchScopeX60gensym657_.vars->data[i_26];
6883 nimZeroMem((void*)T694_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
6884 T694_[0] = newSymNode__ast_3716((*tmpX60gensym746__2));
6885 T695_ = (NI)0;
6886 T695_ = len__ast_3198(itX60gensym657__2);
6887 T694_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T695_ - ((NI) 1))]).info);
6888 T696_ = (NI)0;
6889 T696_ = len__ast_3198(itX60gensym657__2);
6890 T694_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T696_ - ((NI) 1))]).info);
6891 T697_ = NIM_NIL;
6892 T697_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T694_, 3);
6893 add__ast_4797(varSectionX60gensym746_, T697_);
6894 i_26 += ((NI) 1);
6895 } LA693: ;
6896 }
6897 }
6898 add__ast_4797(resultX60gensym746_, varSectionX60gensym746_);
6899 }
6900 LA687_: ;
6901 T698_ = (NI)0;
6902 T698_ = len__ast_3198(itX60gensym657__2);
6903 finSectionX60gensym746_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T698_ - ((NI) 1))]).info);
6904 {
6905 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym746_;
6906 NI i_27;
6907 NI L_16;
6908 NI T700_;
6909 mX60gensym746_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
6910 i_27 = ((NI) 0);
6911 T700_ = (branchScopeX60gensym657_.wasMoved ? branchScopeX60gensym657_.wasMoved->Sup.len : 0);
6912 L_16 = T700_;
6913 {
6914 while (1) {
6915 if (!(i_27 < L_16)) goto LA702;
6916 mX60gensym746_ = &branchScopeX60gensym657_.wasMoved->data[i_27];
6917 add__ast_4797(finSectionX60gensym746_, (*mX60gensym746_));
6918 i_27 += ((NI) 1);
6919 } LA702: ;
6920 }
6921 }
6922 {
6923 NI iX60gensym746_;
6924 NI colontmp__19;
6925 NI T704_;
6926 NI res_8;
6927 iX60gensym746_ = (NI)0;
6928 colontmp__19 = (NI)0;
6929 T704_ = ((branchScopeX60gensym657_.final ? branchScopeX60gensym657_.final->Sup.len : 0)-1);
6930 colontmp__19 = T704_;
6931 res_8 = colontmp__19;
6932 {
6933 while (1) {
6934 if (!(((NI) 0) <= res_8)) goto LA706;
6935 iX60gensym746_ = res_8;
6936 add__ast_4797(finSectionX60gensym746_, branchScopeX60gensym657_.final->data[iX60gensym746_]);
6937 res_8 -= ((NI) 1);
6938 } LA706: ;
6939 }
6940 }
6941 {
6942 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T711_;
6943 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T712_;
6944 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T713_;
6945 if (!branchScopeX60gensym657_.needsTry) goto LA709_;
6946 nimZeroMem((void*)T711_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6947 T711_[0] = cpyX60gensym746_;
6948 T711_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym746_, c, branchScopeX60gensym657_.parent, isDecl);
6949 T712_ = NIM_NIL;
6950 T712_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T711_, 2);
6951 T713_ = NIM_NIL;
6952 T713_ = newTryFinally__lowerings_202(T712_, finSectionX60gensym746_);
6953 add__ast_4797(resultX60gensym746_, T713_);
6954 }
6955 goto LA707_;
6956 LA709_: ;
6957 {
6958 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T715_;
6959 add__ast_4797(resultX60gensym746_, cpyX60gensym746_);
6960 add__ast_4797(resultX60gensym746_, finSectionX60gensym746_);
6961 T715_ = NIM_NIL;
6962 T715_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym746_, c, branchScopeX60gensym657_.parent, isDecl);
6963 add__ast_4797(resultX60gensym746_, T715_);
6964 }
6965 LA707_: ;
6966 {
6967 NIM_BOOL T720_;
6968 if (!!((branchScopeX60gensym657_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA718_;
6969 T720_ = (NIM_BOOL)0;
6970 T720_ = (*branchScopeX60gensym657_.parent).needsTry;
6971 if (T720_) goto LA721_;
6972 T720_ = branchScopeX60gensym657_.needsTry;
6973 LA721_: ;
6974 (*branchScopeX60gensym657_.parent).needsTry = T720_;
6975 }
6976 LA718_: ;
6977 asgnRef((void**) (&(*branchX60gensym657__2)._kind_6.sons->data[(NI)(T650_ - ((NI) 1))]), resultX60gensym746_);
6978 }
6979 LA651_: ;
6980 add__ast_4797(result, branchX60gensym657__2);
6981 i_25 += ((NI) 1);
6982 } LA645: ;
6983 }
6984 }
6985 }
6986 break;
6987 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
6988 {
6989 tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ tryScopeX60gensym657_;
6990 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T723_;
6991 result = copyNode__ast_4336(ri);
6992 nimZeroMem((void*)(&tryScopeX60gensym657_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
6993 nestedScope__injectdestructors_72(s, (&tryScopeX60gensym657_));
6994 T723_ = NIM_NIL;
6995 {
6996 NIM_BOOL T726_;
6997 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T730_;
6998 T726_ = (NIM_BOOL)0;
6999 T726_ = isEmptyType__ast_4779((*(*ri)._kind_6.sons->data[((NI) 0)]).typ);
7000 if (T726_) goto LA727_;
7001 T726_ = NIM_TRUE;
7002 LA727_: ;
7003 if (!T726_) goto LA728_;
7004 T730_ = NIM_NIL;
7005 {
7006 NIM_BOOL T733_;
7007 T733_ = (NIM_BOOL)0;
7008 T733_ = isEmptyType__ast_4779((*(*ri)._kind_6.sons->data[((NI) 0)]).typ);
7009 if (!T733_) goto LA734_;
7010 T730_ = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym657_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7011 }
7012 goto LA731_;
7013 LA734_: ;
7014 {
7015 T730_ = moveOrCopy__injectdestructors_110(dest, (*ri)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym657_), isDecl);
7016 }
7017 LA731_: ;
7018 T723_ = processScope__injectdestructors_7016(c, (&tryScopeX60gensym657_), T730_);
7019 }
7020 goto LA724_;
7021 LA728_: ;
7022 {
7023 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym762_;
7024 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym762_;
7025 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym762_;
7026 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym762_;
7027 resultX60gensym762_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
7028 tmpX60gensym762_ = getTemp__injectdestructors_61(c, tryScopeX60gensym657_.parent, (*(*ri)._kind_6.sons->data[((NI) 0)]).typ, (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
7029 (*(*tmpX60gensym762_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
7030 {
7031 NIM_BOOL T740_;
7032 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T743_;
7033 NI T744_;
7034 T740_ = (NIM_BOOL)0;
7035 T740_ = hasDestructor__injectdestructors_49((&(*c)), (*(*ri)._kind_6.sons->data[((NI) 0)]).typ);
7036 if (!T740_) goto LA741_;
7037 T743_ = NIM_NIL;
7038 T743_ = genDestroy__injectdestructors_6527(c, tmpX60gensym762_);
7039 unsureAsgnRef((void**) (&(*tryScopeX60gensym657_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*tryScopeX60gensym657_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
7040 T744_ = (*tryScopeX60gensym657_.parent).final->Sup.len++;
7041 asgnRef((void**) (&(*tryScopeX60gensym657_.parent).final->data[T744_]), T743_);
7042 cpyX60gensym762_ = moveOrCopy__injectdestructors_110(tmpX60gensym762_, (*ri)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym657_), NIM_TRUE);
7043 }
7044 goto LA738_;
7045 LA741_: ;
7046 {
7047 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T746_;
7048 nimZeroMem((void*)T746_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
7049 T746_[0] = tmpX60gensym762_;
7050 T746_[1] = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym657_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7051 cpyX60gensym762_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T746_, 2);
7052 }
7053 LA738_: ;
7054 {
7055 NI T749_;
7056 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym762_;
7057 T749_ = (tryScopeX60gensym657_.vars ? tryScopeX60gensym657_.vars->Sup.len : 0);
7058 if (!(((NI) 0) < T749_)) goto LA750_;
7059 varSectionX60gensym762_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
7060 {
7061 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym762__2;
7062 NI i_28;
7063 NI L_17;
7064 NI T753_;
7065 tmpX60gensym762__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
7066 i_28 = ((NI) 0);
7067 T753_ = (tryScopeX60gensym657_.vars ? tryScopeX60gensym657_.vars->Sup.len : 0);
7068 L_17 = T753_;
7069 {
7070 while (1) {
7071 tyArray__T6RKPw8xfAeNaoei9aZGzXg T756_;
7072 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T757_;
7073 if (!(i_28 < L_17)) goto LA755;
7074 tmpX60gensym762__2 = &tryScopeX60gensym657_.vars->data[i_28];
7075 nimZeroMem((void*)T756_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
7076 T756_[0] = newSymNode__ast_3716((*tmpX60gensym762__2));
7077 T756_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
7078 T756_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
7079 T757_ = NIM_NIL;
7080 T757_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T756_, 3);
7081 add__ast_4797(varSectionX60gensym762_, T757_);
7082 i_28 += ((NI) 1);
7083 } LA755: ;
7084 }
7085 }
7086 add__ast_4797(resultX60gensym762_, varSectionX60gensym762_);
7087 }
7088 LA750_: ;
7089 finSectionX60gensym762_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
7090 {
7091 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym762_;
7092 NI i_29;
7093 NI L_18;
7094 NI T759_;
7095 mX60gensym762_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
7096 i_29 = ((NI) 0);
7097 T759_ = (tryScopeX60gensym657_.wasMoved ? tryScopeX60gensym657_.wasMoved->Sup.len : 0);
7098 L_18 = T759_;
7099 {
7100 while (1) {
7101 if (!(i_29 < L_18)) goto LA761;
7102 mX60gensym762_ = &tryScopeX60gensym657_.wasMoved->data[i_29];
7103 add__ast_4797(finSectionX60gensym762_, (*mX60gensym762_));
7104 i_29 += ((NI) 1);
7105 } LA761: ;
7106 }
7107 }
7108 {
7109 NI iX60gensym762_;
7110 NI colontmp__20;
7111 NI T763_;
7112 NI res_9;
7113 iX60gensym762_ = (NI)0;
7114 colontmp__20 = (NI)0;
7115 T763_ = ((tryScopeX60gensym657_.final ? tryScopeX60gensym657_.final->Sup.len : 0)-1);
7116 colontmp__20 = T763_;
7117 res_9 = colontmp__20;
7118 {
7119 while (1) {
7120 if (!(((NI) 0) <= res_9)) goto LA765;
7121 iX60gensym762_ = res_9;
7122 add__ast_4797(finSectionX60gensym762_, tryScopeX60gensym657_.final->data[iX60gensym762_]);
7123 res_9 -= ((NI) 1);
7124 } LA765: ;
7125 }
7126 }
7127 {
7128 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T770_;
7129 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T777_;
7130 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T778_;
7131 if (!tryScopeX60gensym657_.needsTry) goto LA768_;
7132 nimZeroMem((void*)T770_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
7133 T770_[0] = cpyX60gensym762_;
7134 {
7135 NIM_BOOL T773_;
7136 T773_ = (NIM_BOOL)0;
7137 T773_ = isEmptyType__ast_4779((*tmpX60gensym762_).typ);
7138 if (!T773_) goto LA774_;
7139 T770_[1] = p__injectdestructors_105(tmpX60gensym762_, c, tryScopeX60gensym657_.parent, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7140 }
7141 goto LA771_;
7142 LA774_: ;
7143 {
7144 T770_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym762_, c, tryScopeX60gensym657_.parent, isDecl);
7145 }
7146 LA771_: ;
7147 T777_ = NIM_NIL;
7148 T777_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T770_, 2);
7149 T778_ = NIM_NIL;
7150 T778_ = newTryFinally__lowerings_202(T777_, finSectionX60gensym762_);
7151 add__ast_4797(resultX60gensym762_, T778_);
7152 }
7153 goto LA766_;
7154 LA768_: ;
7155 {
7156 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T780_;
7157 add__ast_4797(resultX60gensym762_, cpyX60gensym762_);
7158 add__ast_4797(resultX60gensym762_, finSectionX60gensym762_);
7159 T780_ = NIM_NIL;
7160 {
7161 NIM_BOOL T783_;
7162 T783_ = (NIM_BOOL)0;
7163 T783_ = isEmptyType__ast_4779((*tmpX60gensym762_).typ);
7164 if (!T783_) goto LA784_;
7165 T780_ = p__injectdestructors_105(tmpX60gensym762_, c, tryScopeX60gensym657_.parent, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7166 }
7167 goto LA781_;
7168 LA784_: ;
7169 {
7170 T780_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym762_, c, tryScopeX60gensym657_.parent, isDecl);
7171 }
7172 LA781_: ;
7173 add__ast_4797(resultX60gensym762_, T780_);
7174 }
7175 LA766_: ;
7176 {
7177 NIM_BOOL T791_;
7178 if (!!((tryScopeX60gensym657_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA789_;
7179 T791_ = (NIM_BOOL)0;
7180 T791_ = (*tryScopeX60gensym657_.parent).needsTry;
7181 if (T791_) goto LA792_;
7182 T791_ = tryScopeX60gensym657_.needsTry;
7183 LA792_: ;
7184 (*tryScopeX60gensym657_.parent).needsTry = T791_;
7185 }
7186 LA789_: ;
7187 T723_ = resultX60gensym762_;
7188 }
7189 LA724_: ;
7190 add__ast_4797(result, T723_);
7191 {
7192 NI iX60gensym657__5;
7193 NI colontmp__21;
7194 NI i_30;
7195 iX60gensym657__5 = (NI)0;
7196 colontmp__21 = (NI)0;
7197 colontmp__21 = len__ast_3198(ri);
7198 i_30 = ((NI) 1);
7199 {
7200 while (1) {
7201 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym657__3;
7202 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym657__3;
7203 tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ branchScopeX60gensym657__2;
7204 NI T796_;
7205 if (!(i_30 < colontmp__21)) goto LA795;
7206 iX60gensym657__5 = i_30;
7207 itX60gensym657__3 = (*ri)._kind_6.sons->data[iX60gensym657__5];
7208 branchX60gensym657__3 = copyTree__ast_4431(itX60gensym657__3);
7209 nimZeroMem((void*)(&branchScopeX60gensym657__2), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
7210 nestedScope__injectdestructors_72(s, (&branchScopeX60gensym657__2));
7211 T796_ = (NI)0;
7212 T796_ = len__ast_3198(branchX60gensym657__3);
7213 {
7214 NIM_BOOL T799_;
7215 NIM_BOOL T800_;
7216 NI T801_;
7217 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T806_;
7218 T799_ = (NIM_BOOL)0;
7219 T800_ = (NIM_BOOL)0;
7220 T801_ = (NI)0;
7221 T801_ = len__ast_3198(itX60gensym657__3);
7222 T800_ = isEmptyType__ast_4779((*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T801_ - ((NI) 1))]).typ);
7223 if (T800_) goto LA802_;
7224 T800_ = NIM_TRUE;
7225 LA802_: ;
7226 T799_ = T800_;
7227 if (T799_) goto LA803_;
7228 T799_ = ((*itX60gensym657__3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107));
7229 LA803_: ;
7230 if (!T799_) goto LA804_;
7231 T806_ = NIM_NIL;
7232 {
7233 NI T811_;
7234 if (!((*itX60gensym657__3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA809_;
7235 T811_ = (NI)0;
7236 T811_ = len__ast_3198(itX60gensym657__3);
7237 T806_ = p__injectdestructors_105((*itX60gensym657__3)._kind_6.sons->data[(NI)(T811_ - ((NI) 1))], c, (&branchScopeX60gensym657__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7238 }
7239 goto LA807_;
7240 LA809_: ;
7241 {
7242 {
7243 NI T815_;
7244 NIM_BOOL T816_;
7245 NI T819_;
7246 T815_ = (NI)0;
7247 T815_ = len__ast_3198(itX60gensym657__3);
7248 T816_ = (NIM_BOOL)0;
7249 T816_ = isEmptyType__ast_4779((*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T815_ - ((NI) 1))]).typ);
7250 if (!T816_) goto LA817_;
7251 T819_ = (NI)0;
7252 T819_ = len__ast_3198(itX60gensym657__3);
7253 T806_ = p__injectdestructors_105((*itX60gensym657__3)._kind_6.sons->data[(NI)(T819_ - ((NI) 1))], c, (&branchScopeX60gensym657__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7254 }
7255 goto LA813_;
7256 LA817_: ;
7257 {
7258 NI T821_;
7259 T821_ = (NI)0;
7260 T821_ = len__ast_3198(itX60gensym657__3);
7261 T806_ = moveOrCopy__injectdestructors_110(dest, (*itX60gensym657__3)._kind_6.sons->data[(NI)(T821_ - ((NI) 1))], c, (&branchScopeX60gensym657__2), isDecl);
7262 }
7263 LA813_: ;
7264 }
7265 LA807_: ;
7266 asgnRef((void**) (&(*branchX60gensym657__3)._kind_6.sons->data[(NI)(T796_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&branchScopeX60gensym657__2), T806_));
7267 }
7268 goto LA797_;
7269 LA804_: ;
7270 {
7271 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym793_;
7272 NI T823_;
7273 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym793_;
7274 NI T824_;
7275 NI T825_;
7276 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym793_;
7277 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym793_;
7278 NI T852_;
7279 T823_ = (NI)0;
7280 T823_ = len__ast_3198(itX60gensym657__3);
7281 resultX60gensym793_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T823_ - ((NI) 1))]).info);
7282 T824_ = (NI)0;
7283 T824_ = len__ast_3198(itX60gensym657__3);
7284 T825_ = (NI)0;
7285 T825_ = len__ast_3198(itX60gensym657__3);
7286 tmpX60gensym793_ = getTemp__injectdestructors_61(c, branchScopeX60gensym657__2.parent, (*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T824_ - ((NI) 1))]).typ, (*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T825_ - ((NI) 1))]).info);
7287 (*(*tmpX60gensym793_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
7288 {
7289 NI T828_;
7290 NIM_BOOL T829_;
7291 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T832_;
7292 NI T833_;
7293 NI T834_;
7294 T828_ = (NI)0;
7295 T828_ = len__ast_3198(itX60gensym657__3);
7296 T829_ = (NIM_BOOL)0;
7297 T829_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T828_ - ((NI) 1))]).typ);
7298 if (!T829_) goto LA830_;
7299 T832_ = NIM_NIL;
7300 T832_ = genDestroy__injectdestructors_6527(c, tmpX60gensym793_);
7301 unsureAsgnRef((void**) (&(*branchScopeX60gensym657__2.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*branchScopeX60gensym657__2.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
7302 T833_ = (*branchScopeX60gensym657__2.parent).final->Sup.len++;
7303 asgnRef((void**) (&(*branchScopeX60gensym657__2.parent).final->data[T833_]), T832_);
7304 T834_ = (NI)0;
7305 T834_ = len__ast_3198(itX60gensym657__3);
7306 cpyX60gensym793_ = moveOrCopy__injectdestructors_110(tmpX60gensym793_, (*itX60gensym657__3)._kind_6.sons->data[(NI)(T834_ - ((NI) 1))], c, (&branchScopeX60gensym657__2), NIM_TRUE);
7307 }
7308 goto LA826_;
7309 LA830_: ;
7310 {
7311 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T836_;
7312 NI T837_;
7313 nimZeroMem((void*)T836_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
7314 T836_[0] = tmpX60gensym793_;
7315 T837_ = (NI)0;
7316 T837_ = len__ast_3198(itX60gensym657__3);
7317 T836_[1] = p__injectdestructors_105((*itX60gensym657__3)._kind_6.sons->data[(NI)(T837_ - ((NI) 1))], c, (&branchScopeX60gensym657__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7318 cpyX60gensym793_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T836_, 2);
7319 }
7320 LA826_: ;
7321 {
7322 NI T840_;
7323 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym793_;
7324 NI T843_;
7325 T840_ = (branchScopeX60gensym657__2.vars ? branchScopeX60gensym657__2.vars->Sup.len : 0);
7326 if (!(((NI) 0) < T840_)) goto LA841_;
7327 T843_ = (NI)0;
7328 T843_ = len__ast_3198(itX60gensym657__3);
7329 varSectionX60gensym793_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T843_ - ((NI) 1))]).info);
7330 {
7331 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym793__2;
7332 NI i_31;
7333 NI L_19;
7334 NI T845_;
7335 tmpX60gensym793__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
7336 i_31 = ((NI) 0);
7337 T845_ = (branchScopeX60gensym657__2.vars ? branchScopeX60gensym657__2.vars->Sup.len : 0);
7338 L_19 = T845_;
7339 {
7340 while (1) {
7341 tyArray__T6RKPw8xfAeNaoei9aZGzXg T848_;
7342 NI T849_;
7343 NI T850_;
7344 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T851_;
7345 if (!(i_31 < L_19)) goto LA847;
7346 tmpX60gensym793__2 = &branchScopeX60gensym657__2.vars->data[i_31];
7347 nimZeroMem((void*)T848_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
7348 T848_[0] = newSymNode__ast_3716((*tmpX60gensym793__2));
7349 T849_ = (NI)0;
7350 T849_ = len__ast_3198(itX60gensym657__3);
7351 T848_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T849_ - ((NI) 1))]).info);
7352 T850_ = (NI)0;
7353 T850_ = len__ast_3198(itX60gensym657__3);
7354 T848_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T850_ - ((NI) 1))]).info);
7355 T851_ = NIM_NIL;
7356 T851_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T848_, 3);
7357 add__ast_4797(varSectionX60gensym793_, T851_);
7358 i_31 += ((NI) 1);
7359 } LA847: ;
7360 }
7361 }
7362 add__ast_4797(resultX60gensym793_, varSectionX60gensym793_);
7363 }
7364 LA841_: ;
7365 T852_ = (NI)0;
7366 T852_ = len__ast_3198(itX60gensym657__3);
7367 finSectionX60gensym793_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T852_ - ((NI) 1))]).info);
7368 {
7369 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym793_;
7370 NI i_32;
7371 NI L_20;
7372 NI T854_;
7373 mX60gensym793_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
7374 i_32 = ((NI) 0);
7375 T854_ = (branchScopeX60gensym657__2.wasMoved ? branchScopeX60gensym657__2.wasMoved->Sup.len : 0);
7376 L_20 = T854_;
7377 {
7378 while (1) {
7379 if (!(i_32 < L_20)) goto LA856;
7380 mX60gensym793_ = &branchScopeX60gensym657__2.wasMoved->data[i_32];
7381 add__ast_4797(finSectionX60gensym793_, (*mX60gensym793_));
7382 i_32 += ((NI) 1);
7383 } LA856: ;
7384 }
7385 }
7386 {
7387 NI iX60gensym793_;
7388 NI colontmp__22;
7389 NI T858_;
7390 NI res_10;
7391 iX60gensym793_ = (NI)0;
7392 colontmp__22 = (NI)0;
7393 T858_ = ((branchScopeX60gensym657__2.final ? branchScopeX60gensym657__2.final->Sup.len : 0)-1);
7394 colontmp__22 = T858_;
7395 res_10 = colontmp__22;
7396 {
7397 while (1) {
7398 if (!(((NI) 0) <= res_10)) goto LA860;
7399 iX60gensym793_ = res_10;
7400 add__ast_4797(finSectionX60gensym793_, branchScopeX60gensym657__2.final->data[iX60gensym793_]);
7401 res_10 -= ((NI) 1);
7402 } LA860: ;
7403 }
7404 }
7405 {
7406 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T865_;
7407 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T866_;
7408 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T867_;
7409 if (!branchScopeX60gensym657__2.needsTry) goto LA863_;
7410 nimZeroMem((void*)T865_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
7411 T865_[0] = cpyX60gensym793_;
7412 T865_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym793_, c, branchScopeX60gensym657__2.parent, isDecl);
7413 T866_ = NIM_NIL;
7414 T866_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T865_, 2);
7415 T867_ = NIM_NIL;
7416 T867_ = newTryFinally__lowerings_202(T866_, finSectionX60gensym793_);
7417 add__ast_4797(resultX60gensym793_, T867_);
7418 }
7419 goto LA861_;
7420 LA863_: ;
7421 {
7422 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T869_;
7423 add__ast_4797(resultX60gensym793_, cpyX60gensym793_);
7424 add__ast_4797(resultX60gensym793_, finSectionX60gensym793_);
7425 T869_ = NIM_NIL;
7426 T869_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym793_, c, branchScopeX60gensym657__2.parent, isDecl);
7427 add__ast_4797(resultX60gensym793_, T869_);
7428 }
7429 LA861_: ;
7430 {
7431 NIM_BOOL T874_;
7432 if (!!((branchScopeX60gensym657__2.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA872_;
7433 T874_ = (NIM_BOOL)0;
7434 T874_ = (*branchScopeX60gensym657__2.parent).needsTry;
7435 if (T874_) goto LA875_;
7436 T874_ = branchScopeX60gensym657__2.needsTry;
7437 LA875_: ;
7438 (*branchScopeX60gensym657__2.parent).needsTry = T874_;
7439 }
7440 LA872_: ;
7441 asgnRef((void**) (&(*branchX60gensym657__3)._kind_6.sons->data[(NI)(T796_ - ((NI) 1))]), resultX60gensym793_);
7442 }
7443 LA797_: ;
7444 add__ast_4797(result, branchX60gensym657__3);
7445 i_30 += ((NI) 1);
7446 } LA795: ;
7447 }
7448 }
7449 }
7450 break;
7451 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
7452 {
7453 result = copyTree__ast_4431(ri);
7454 asgnRef((void**) (&(*(*result)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)]), moveOrCopy__injectdestructors_110(dest, (*(*ri)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)], c, s, isDecl));
7455 }
7456 break;
7457 default:
7458 {
7459 }
7460 break;
7461 }
7462 }
7463 break;
7464 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
7465 {
7466 result = pRaiseStmt__injectdestructors_7126(ri, c, s);
7467 }
7468 break;
7469 default:
7470 {
7471 {
7472 NIM_BOOL T882_;
7473 NIM_BOOL T883_;
7474 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* snk_4;
7475 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T888_;
7476 T882_ = (NIM_BOOL)0;
7477 T883_ = (NIM_BOOL)0;
7478 T883_ = isAnalysableFieldAccess__dfa_903(ri, (*c).owner);
7479 if (!(T883_)) goto LA884_;
7480 T883_ = isLastRead__injectdestructors_6103(ri, c);
7481 LA884_: ;
7482 T882_ = T883_;
7483 if (!(T882_)) goto LA885_;
7484 T882_ = canBeMoved__injectdestructors_6532((&(*c)), (*dest).typ);
7485 LA885_: ;
7486 if (!T882_) goto LA886_;
7487 snk_4 = genSink__injectdestructors_6564(c, dest, ri, isDecl);
7488 nimZeroMem((void*)T888_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
7489 T888_[0] = snk_4;
7490 T888_[1] = genWasMoved__injectdestructors_6739(c, ri);
7491 result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T888_, 2);
7492 }
7493 goto LA880_;
7494 LA886_: ;
7495 {
7496 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T890_;
7497 result = genCopy__injectdestructors_6647(c, dest, ri);
7498 T890_ = NIM_NIL;
7499 T890_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
7500 add__ast_4797(result, T890_);
7501 finishCopy__injectdestructors_6598(c, result, dest, NIM_FALSE);
7502 }
7503 LA880_: ;
7504 }
7505 break;
7506 }
7507 }
7508 LA1_: ;
7509 }BeforeRet_: ;
7510 return result;
7511 }
N_INLINE(NI,safeLen__ast_3191)7512 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7513 NI result;
7514 result = (NI)0;
7515 {
7516 if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
7517 result = ((NI) 0);
7518 }
7519 goto LA1_;
7520 LA3_: ;
7521 {
7522 result = len__ast_3198(n);
7523 }
7524 LA1_: ;
7525 return result;
7526 }
N_NIMCALL(NIM_BOOL,containsConstSeq__injectdestructors_6860)7527 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsConstSeq__injectdestructors_6860)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7528 NIM_BOOL result;
7529 { result = (NIM_BOOL)0;
7530 {
7531 NIM_BOOL T3_;
7532 NIM_BOOL T4_;
7533 NIM_BOOL T5_;
7534 NI T7_;
7535 T3_ = (NIM_BOOL)0;
7536 T4_ = (NIM_BOOL)0;
7537 T5_ = (NIM_BOOL)0;
7538 T5_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41));
7539 if (!(T5_)) goto LA6_;
7540 T7_ = (NI)0;
7541 T7_ = len__ast_3198(n);
7542 T5_ = (((NI) 0) < T7_);
7543 LA6_: ;
7544 T4_ = T5_;
7545 if (!(T4_)) goto LA8_;
7546 T4_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7547 LA8_: ;
7548 T3_ = T4_;
7549 if (!(T3_)) goto LA9_;
7550 T3_ = isDangerousSeq__injectdestructors_6847((*n).typ);
7551 LA9_: ;
7552 if (!T3_) goto LA10_;
7553 result = NIM_TRUE;
7554 goto BeforeRet_;
7555 }
7556 LA10_: ;
7557 result = NIM_FALSE;
7558 switch ((*n).kind) {
7559 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33):
7560 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34):
7561 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
7562 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
7563 {
7564 result = containsConstSeq__injectdestructors_6860((*n)._kind_6.sons->data[((NI) 1)]);
7565 }
7566 break;
7567 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
7568 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
7569 {
7570 {
7571 NI i;
7572 NI colontmp_;
7573 NI i_2;
7574 i = (NI)0;
7575 colontmp_ = (NI)0;
7576 colontmp_ = len__ast_3198(n);
7577 i_2 = ((NI) 1);
7578 {
7579 while (1) {
7580 if (!(i_2 < colontmp_)) goto LA16;
7581 i = i_2;
7582 {
7583 NIM_BOOL T19_;
7584 T19_ = (NIM_BOOL)0;
7585 T19_ = containsConstSeq__injectdestructors_6860((*n)._kind_6.sons->data[i]);
7586 if (!T19_) goto LA20_;
7587 result = NIM_TRUE;
7588 goto BeforeRet_;
7589 }
7590 LA20_: ;
7591 i_2 += ((NI) 1);
7592 } LA16: ;
7593 }
7594 }
7595 }
7596 break;
7597 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
7598 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
7599 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
7600 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
7601 {
7602 {
7603 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son;
7604 son = NIM_NIL;
7605 {
7606 NI i_3;
7607 NI colontmp__2;
7608 NI i_4;
7609 i_3 = (NI)0;
7610 colontmp__2 = (NI)0;
7611 colontmp__2 = safeLen__ast_3191(n);
7612 i_4 = ((NI) 0);
7613 {
7614 while (1) {
7615 if (!(i_4 < colontmp__2)) goto LA26;
7616 i_3 = i_4;
7617 son = (*n)._kind_6.sons->data[i_3];
7618 {
7619 NIM_BOOL T29_;
7620 T29_ = (NIM_BOOL)0;
7621 T29_ = containsConstSeq__injectdestructors_6860(son);
7622 if (!T29_) goto LA30_;
7623 result = NIM_TRUE;
7624 goto BeforeRet_;
7625 }
7626 LA30_: ;
7627 i_4 += ((NI) 1);
7628 } LA26: ;
7629 }
7630 }
7631 }
7632 }
7633 break;
7634 default:
7635 {
7636 }
7637 break;
7638 }
7639 }BeforeRet_: ;
7640 return result;
7641 }
N_NIMCALL(NIM_BOOL,isCapturedVar__injectdestructors_6797)7642 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCapturedVar__injectdestructors_6797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7643 NIM_BOOL result;
7644 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* root;
7645 result = (NIM_BOOL)0;
7646 root = getRoot__trees_390(n);
7647 {
7648 if (!!((root == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA3_;
7649 result = ((NU8)((*(*root).name).s->data[((NI) 0)]) == (NU8)(58));
7650 }
7651 LA3_: ;
7652 return result;
7653 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,passCopyToSink__injectdestructors_6805)7654 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, passCopyToSink__injectdestructors_6805)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s) {
7655 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
7656 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmp;
7657 result = NIM_NIL;
7658 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info, (*n).typ);
7659 tmp = getTemp__injectdestructors_61(c, s, (*n).typ, (*n).info);
7660 {
7661 NIM_BOOL T3_;
7662 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
7663 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
7664 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
7665 T3_ = (NIM_BOOL)0;
7666 T3_ = hasDestructor__injectdestructors_49((&(*c)), (*n).typ);
7667 if (!T3_) goto LA4_;
7668 T6_ = NIM_NIL;
7669 T6_ = genWasMoved__injectdestructors_6739(c, tmp);
7670 add__ast_4797(result, T6_);
7671 m = genCopy__injectdestructors_6647(c, tmp, n);
7672 T7_ = NIM_NIL;
7673 T7_ = p__injectdestructors_105(n, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7674 add__ast_4797(m, T7_);
7675 finishCopy__injectdestructors_6598(c, m, n, NIM_TRUE);
7676 add__ast_4797(result, m);
7677 {
7678 NIM_BOOL T10_;
7679 NIM_BOOL T11_;
7680 NIM_BOOL T12_;
7681 NIM_BOOL T14_;
7682 tyObject_TType__facALICuu8zUj0hjvbTLFg* T16_;
7683 NimStringDesc* T20_;
7684 NimStringDesc* T21_;
7685 T10_ = (NIM_BOOL)0;
7686 T11_ = (NIM_BOOL)0;
7687 T12_ = (NIM_BOOL)0;
7688 T12_ = isLValue__parampatterns_497(n);
7689 if (!(T12_)) goto LA13_;
7690 T14_ = (NIM_BOOL)0;
7691 T14_ = isCapturedVar__injectdestructors_6797(n);
7692 T12_ = !(T14_);
7693 LA13_: ;
7694 T11_ = T12_;
7695 if (!(T11_)) goto LA15_;
7696 T16_ = NIM_NIL;
7697 T16_ = skipTypes__ast_3735((*n).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_38);
7698 T11_ = !(((*T16_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22)));
7699 LA15_: ;
7700 T10_ = T11_;
7701 if (!(T10_)) goto LA17_;
7702 T10_ = ((*c).inSpawn == ((NI) 0));
7703 LA17_: ;
7704 if (!T10_) goto LA18_;
7705 T20_ = NIM_NIL;
7706 T20_ = dollar___renderer_2106(n);
7707 T21_ = NIM_NIL;
7708 T21_ = nsuFormatSingleElem(((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_39), T20_);
7709 liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 93), T21_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_40, NIM_FALSE);
7710 }
7711 LA18_: ;
7712 }
7713 goto LA1_;
7714 LA4_: ;
7715 {
7716 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T32_;
7717 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T33_;
7718 {
7719 if (!((48 &((NU16)1<<((NU)((*(*(*c).graph).config).selectedGC)&15U)))!=0)) goto LA25_;
7720 }
7721 LA25_: ;
7722 {
7723 tyObject_TType__facALICuu8zUj0hjvbTLFg* T29_;
7724 T29_ = NIM_NIL;
7725 T29_ = skipTypes__ast_3735((*n).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_38);
7726 if (!((*T29_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27) || (*T29_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA30_;
7727 liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_41), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_42, NIM_FALSE);
7728 }
7729 LA30_: ;
7730 nimZeroMem((void*)T32_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
7731 T32_[0] = tmp;
7732 T32_[1] = p__injectdestructors_105(n, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7733 T33_ = NIM_NIL;
7734 T33_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), T32_, 2);
7735 add__ast_4797(result, T33_);
7736 }
7737 LA1_: ;
7738 add__ast_4797(result, tmp);
7739 return result;
7740 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,ensureDestruction__injectdestructors_6885)7741 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, ensureDestruction__injectdestructors_6885)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s) {
7742 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
7743 result = NIM_NIL;
7744 {
7745 NIM_BOOL T3_;
7746 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmp;
7747 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
7748 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
7749 NI T9_;
7750 T3_ = (NIM_BOOL)0;
7751 T3_ = !(((*arg).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7752 if (!(T3_)) goto LA4_;
7753 T3_ = hasDestructor__injectdestructors_49((&(*c)), (*arg).typ);
7754 LA4_: ;
7755 if (!T3_) goto LA5_;
7756 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*arg).info, (*arg).typ);
7757 tmp = getTemp__injectdestructors_61(c, s, (*arg).typ, (*arg).info);
7758 T7_ = NIM_NIL;
7759 T7_ = genSink__injectdestructors_6564(c, tmp, arg, NIM_TRUE);
7760 add__ast_4797(result, T7_);
7761 add__ast_4797(result, tmp);
7762 T8_ = NIM_NIL;
7763 T8_ = genDestroy__injectdestructors_6527(c, tmp);
7764 unsureAsgnRef((void**) (&(*s).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*s).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
7765 T9_ = (*s).final->Sup.len++;
7766 asgnRef((void**) (&(*s).final->data[T9_]), T8_);
7767 }
7768 goto LA1_;
7769 LA5_: ;
7770 {
7771 result = arg;
7772 }
7773 LA1_: ;
7774 return result;
7775 }
N_INLINE(NI,len__ast_4002)7776 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
7777 NI result;
7778 NI T1_;
7779 result = (NI)0;
7780 T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
7781 result = T1_;
7782 return result;
7783 }
N_INLINE(NIM_BOOL,isCompileTimeOnly__types_3528)7784 static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_3528)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
7785 NIM_BOOL result;
7786 result = (NIM_BOOL)0;
7787 result = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
7788 return result;
7789 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genDefaultCall__injectdestructors_6751)7790 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genDefaultCall__injectdestructors_6751)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
7791 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
7792 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T1_;
7793 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
7794 result = NIM_NIL;
7795 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), info);
7796 T1_ = NIM_NIL;
7797 T1_ = createMagic__modulegraphs_9008((*c).graph, (*c).idgen, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_44), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 152));
7798 T2_ = NIM_NIL;
7799 T2_ = newSymNode__ast_3716(T1_);
7800 add__ast_4797(result, T2_);
7801 asgnRef((void**) (&(*result).typ), t);
7802 return result;
7803 }
N_NIMCALL(void,pVarTopLevel__injectdestructors_6967)7804 N_LIB_PRIVATE N_NIMCALL(void, pVarTopLevel__injectdestructors_6967)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* res) {
7805 NI T1_;
7806 unsureAsgnRef((void**) (&(*s).vars), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*s).vars), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
7807 T1_ = (*s).vars->Sup.len++;
7808 asgnRef((void**) (&(*s).vars->data[T1_]), (*v)._kind_4.sym);
7809 {
7810 NIM_BOOL T4_;
7811 NIM_BOOL T5_;
7812 T4_ = (NIM_BOOL)0;
7813 T5_ = (NIM_BOOL)0;
7814 T5_ = ((*v).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7815 if (!(T5_)) goto LA6_;
7816 T5_ = ((*(*v)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5));
7817 LA6_: ;
7818 T4_ = T5_;
7819 if (!(T4_)) goto LA7_;
7820 T4_ = ((*(*(*v)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
7821 LA7_: ;
7822 if (!T4_) goto LA8_;
7823 {
7824 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T14_;
7825 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
7826 if (!(((NI) 0) < (*c).inLoop)) goto LA12_;
7827 nimZeroMem((void*)T14_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
7828 T14_[0] = v;
7829 T14_[1] = genDefaultCall__injectdestructors_6751((*v).typ, (&(*c)), (*v).info);
7830 T15_ = NIM_NIL;
7831 T15_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T14_, 2);
7832 add__ast_4797(res, T15_);
7833 }
7834 LA12_: ;
7835 }
7836 goto LA2_;
7837 LA8_: ;
7838 {
7839 NIM_BOOL T17_;
7840 T17_ = (NIM_BOOL)0;
7841 T17_ = !((((*(*v)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 26))&63U)))!=0));
7842 if (!(T17_)) goto LA18_;
7843 T17_ = !((((*(*v)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 41))&63U)))!=0));
7844 LA18_: ;
7845 if (!T17_) goto LA19_;
7846 {
7847 NIM_BOOL T23_;
7848 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
7849 NI T28_;
7850 T23_ = (NIM_BOOL)0;
7851 T23_ = (((*(*v)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
7852 if (!(T23_)) goto LA24_;
7853 T23_ = ((*s).parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL));
7854 LA24_: ;
7855 if (!T23_) goto LA25_;
7856 T27_ = NIM_NIL;
7857 T27_ = genDestroy__injectdestructors_6527(c, v);
7858 asgnRef((void**) (&(*(*c).graph).globalDestructors), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*(*c).graph).globalDestructors), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
7859 T28_ = (*(*c).graph).globalDestructors->Sup.len++;
7860 asgnRef((void**) (&(*(*c).graph).globalDestructors->data[T28_]), T27_);
7861 }
7862 goto LA21_;
7863 LA25_: ;
7864 {
7865 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T30_;
7866 NI T31_;
7867 T30_ = NIM_NIL;
7868 T30_ = genDestroy__injectdestructors_6527(c, v);
7869 unsureAsgnRef((void**) (&(*s).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*s).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
7870 T31_ = (*s).final->Sup.len++;
7871 asgnRef((void**) (&(*s).final->data[T31_]), T30_);
7872 }
7873 LA21_: ;
7874 }
7875 goto LA2_;
7876 LA19_: ;
7877 LA2_: ;
7878 }
N_NIMCALL(void,cycleCheck__injectdestructors_6908)7879 N_LIB_PRIVATE N_NIMCALL(void, cycleCheck__injectdestructors_6908)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c) {
7880 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value;
7881 tyObject_TType__facALICuu8zUj0hjvbTLFg* destTyp;
7882 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
7883 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
7884 { {
7885 if (!!(((*(*(*c).graph).config).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 4)))) goto LA3_;
7886 goto BeforeRet_;
7887 }
7888 LA3_: ;
7889 value = (*n)._kind_6.sons->data[((NI) 1)];
7890 {
7891 if (!((*value).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155))) goto LA7_;
7892 value = (*value)._kind_6.sons->data[((NI) 1)];
7893 }
7894 LA7_: ;
7895 {
7896 if (!((*value).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA11_;
7897 goto BeforeRet_;
7898 }
7899 LA11_: ;
7900 destTyp = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_38);
7901 {
7902 NIM_BOOL T15_;
7903 NIM_BOOL T17_;
7904 T15_ = (NIM_BOOL)0;
7905 T15_ = !(((*destTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22)));
7906 if (!(T15_)) goto LA16_;
7907 T17_ = (NIM_BOOL)0;
7908 T17_ = ((*destTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
7909 if (!(T17_)) goto LA18_;
7910 T17_ = ((*destTyp).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
7911 LA18_: ;
7912 T15_ = !(T17_);
7913 LA16_: ;
7914 if (!T15_) goto LA19_;
7915 goto BeforeRet_;
7916 }
7917 LA19_: ;
7918 x = (*n)._kind_6.sons->data[((NI) 0)];
7919 field = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
7920 {
7921 while (1) {
7922 {
7923 if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA25_;
7924 field = (*x)._kind_6.sons->data[((NI) 1)];
7925 {
7926 NIM_BOOL T29_;
7927 T29_ = (NIM_BOOL)0;
7928 T29_ = ((*field).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7929 if (!(T29_)) goto LA30_;
7930 T29_ = (((*(*field)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 41))&63U)))!=0);
7931 LA30_: ;
7932 if (!T29_) goto LA31_;
7933 goto BeforeRet_;
7934 }
7935 LA31_: ;
7936 x = (*x)._kind_6.sons->data[((NI) 0)];
7937 }
7938 goto LA23_;
7939 LA25_: ;
7940 {
7941 if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA34_;
7942 x = (*x)._kind_6.sons->data[((NI) 0)];
7943 }
7944 goto LA23_;
7945 LA34_: ;
7946 {
7947 goto LA21;
7948 }
7949 LA23_: ;
7950 {
7951 NIM_BOOL T39_;
7952 NimStringDesc* msg;
7953 T39_ = (NIM_BOOL)0;
7954 T39_ = exprStructuralEquivalent__trees_56(x, value, NIM_TRUE);
7955 if (!T39_) goto LA40_;
7956 {
7957 tyArray__Re75IspeoxXy2oCZHwcRrA T46_;
7958 if (!!((field == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA44_;
7959 nimZeroMem((void*)T46_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
7960 T46_[0] = dollar___renderer_2106(n);
7961 T46_[1] = dollar___renderer_2106(field);
7962 msg = nsuFormatOpenArray(((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_45), T46_, 2);
7963 }
7964 goto LA42_;
7965 LA44_: ;
7966 {
7967 tyArray__nHXaesL0DJZHyVS07ARPRA T48_;
7968 nimZeroMem((void*)T48_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
7969 T48_[0] = dollar___renderer_2106(n);
7970 msg = nsuFormatOpenArray(((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_46), T48_, 1);
7971 }
7972 LA42_: ;
7973 liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 56), msg, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_47, NIM_FALSE);
7974 goto LA21;
7975 }
7976 LA40_: ;
7977 }
7978 } LA21: ;
7979 }BeforeRet_: ;
7980 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genDiscriminantAsgn__injectdestructors_6668)7981 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genDiscriminantAsgn__injectdestructors_6668)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7982 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
7983 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmp;
7984 tyArray__cypz0nHJsd9cnKgpO7fP5hQ T1_;
7985 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T2_;
7986 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
7987 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
7988 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le;
7989 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* leDotExpr;
7990 tyObject_TType__facALICuu8zUj0hjvbTLFg* objType;
7991 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T34_;
7992 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T35_;
7993 { result = NIM_NIL;
7994 tmp = getTemp__injectdestructors_61(c, s, (*(*n)._kind_6.sons->data[((NI) 1)]).typ, (*n).info);
7995 nimZeroMem((void*)T1_, sizeof(tyArray__cypz0nHJsd9cnKgpO7fP5hQ));
7996 result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T1_, 0);
7997 nimZeroMem((void*)T2_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
7998 T2_[0] = tmp;
7999 T2_[1] = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
8000 T3_ = NIM_NIL;
8001 T3_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T2_, 2);
8002 add__ast_4797(result, T3_);
8003 T4_ = NIM_NIL;
8004 T4_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8005 add__ast_4797(result, T4_);
8006 le = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8007 {
8008 if (!((*le).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46))) goto LA7_;
8009 leDotExpr = (*le)._kind_6.sons->data[((NI) 0)];
8010 }
8011 goto LA5_;
8012 LA7_: ;
8013 {
8014 leDotExpr = le;
8015 }
8016 LA5_: ;
8017 objType = (*(*leDotExpr)._kind_6.sons->data[((NI) 0)]).typ;
8018 {
8019 NIM_BOOL T12_;
8020 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* branchDestructor;
8021 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond;
8022 tyObject_TType__facALICuu8zUj0hjvbTLFg* T25_;
8023 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T26_;
8024 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
8025 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* notExpr;
8026 tyObject_TType__facALICuu8zUj0hjvbTLFg* T28_;
8027 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T29_;
8028 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T30_;
8029 tyArray__jlWPjgtbdjE069arIWHC9c9bg T31_;
8030 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T32_;
8031 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T33_;
8032 T12_ = (NIM_BOOL)0;
8033 T12_ = hasDestructor__injectdestructors_49((&(*c)), objType);
8034 if (!T12_) goto LA13_;
8035 {
8036 NIM_BOOL T17_;
8037 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T18_;
8038 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T20_;
8039 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T23_;
8040 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T24_;
8041 T17_ = (NIM_BOOL)0;
8042 T18_ = NIM_NIL;
8043 T18_ = getAttachedOp__modulegraphs_4011((*c).graph, objType, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
8044 T17_ = !((T18_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
8045 if (!(T17_)) goto LA19_;
8046 T20_ = NIM_NIL;
8047 T20_ = getAttachedOp__modulegraphs_4011((*c).graph, objType, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
8048 T17_ = (((*T20_).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35))&63U)))!=0);
8049 LA19_: ;
8050 if (!T17_) goto LA21_;
8051 liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_48), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_49, NIM_FALSE);
8052 nimZeroMem((void*)T23_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8053 T23_[0] = le;
8054 T23_[1] = tmp;
8055 T24_ = NIM_NIL;
8056 T24_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T23_, 2);
8057 add__ast_4797(result, T24_);
8058 goto BeforeRet_;
8059 }
8060 LA21_: ;
8061 branchDestructor = produceDestructorForDiscriminator__liftdestructors_2002((*c).graph, objType, (*(*leDotExpr)._kind_6.sons->data[((NI) 1)])._kind_4.sym, (*n).info, (*c).idgen);
8062 T25_ = NIM_NIL;
8063 T25_ = getSysType__magicsys_60((*c).graph, unknownLineInfo__lineinfos_280, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
8064 cond = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29), (*n).info, T25_);
8065 T26_ = NIM_NIL;
8066 T26_ = getMagicEqSymForType__magicsys_171((*c).graph, (*le).typ, (*n).info);
8067 T27_ = NIM_NIL;
8068 T27_ = newSymNode__ast_3716(T26_);
8069 add__ast_4797(cond, T27_);
8070 add__ast_4797(cond, le);
8071 add__ast_4797(cond, tmp);
8072 T28_ = NIM_NIL;
8073 T28_ = getSysType__magicsys_60((*c).graph, unknownLineInfo__lineinfos_280, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
8074 notExpr = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30), (*n).info, T28_);
8075 T29_ = NIM_NIL;
8076 T29_ = createMagic__modulegraphs_9008((*c).graph, (*c).idgen, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_50), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96));
8077 T30_ = NIM_NIL;
8078 T30_ = newSymNode__ast_3716(T29_);
8079 add__ast_4797(notExpr, T30_);
8080 add__ast_4797(notExpr, cond);
8081 nimZeroMem((void*)T31_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
8082 nimZeroMem((void*)T32_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8083 T32_[0] = notExpr;
8084 T32_[1] = genOp__injectdestructors_6420(c, branchDestructor, le);
8085 T31_[0] = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), T32_, 2);
8086 T33_ = NIM_NIL;
8087 T33_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T31_, 1);
8088 add__ast_4797(result, T33_);
8089 }
8090 LA13_: ;
8091 nimZeroMem((void*)T34_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8092 T34_[0] = le;
8093 T34_[1] = tmp;
8094 T35_ = NIM_NIL;
8095 T35_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T34_, 2);
8096 add__ast_4797(result, T35_);
8097 }BeforeRet_: ;
8098 return result;
8099 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,p__injectdestructors_105)8100 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, p__injectdestructors_105)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw mode) {
8101 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
8102 { result = NIM_NIL;
8103 {
8104 if (!((TM__dJ4qrEWDmqGA8FWJ0TYKJQ_13[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) goto LA3_;
8105 switch ((*n).kind) {
8106 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
8107 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
8108 {
8109 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
8110 {
8111 NI T8_;
8112 T8_ = (NI)0;
8113 T8_ = len__ast_3198(n);
8114 if (!(T8_ == ((NI) 0))) goto LA9_;
8115 result = n;
8116 goto BeforeRet_;
8117 }
8118 LA9_: ;
8119 result = copyNode__ast_4336(n);
8120 {
8121 NI iX60gensym198_;
8122 NI colontmp_;
8123 NI T12_;
8124 NI i;
8125 iX60gensym198_ = (NI)0;
8126 colontmp_ = (NI)0;
8127 T12_ = (NI)0;
8128 T12_ = len__ast_3198(n);
8129 colontmp_ = (NI)(T12_ - ((NI) 1));
8130 i = ((NI) 0);
8131 {
8132 while (1) {
8133 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
8134 if (!(i < colontmp_)) goto LA14;
8135 iX60gensym198_ = i;
8136 T15_ = NIM_NIL;
8137 T15_ = p__injectdestructors_105((*n)._kind_6.sons->data[iX60gensym198_], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8138 add__ast_4797(result, T15_);
8139 i += ((NI) 1);
8140 } LA14: ;
8141 }
8142 }
8143 T16_ = NIM_NIL;
8144 {
8145 NI T19_;
8146 NIM_BOOL T20_;
8147 NI T23_;
8148 T19_ = (NI)0;
8149 T19_ = len__ast_3198(n);
8150 T20_ = (NIM_BOOL)0;
8151 T20_ = isEmptyType__ast_4779((*(*n)._kind_6.sons->data[(NI)(T19_ - ((NI) 1))]).typ);
8152 if (!T20_) goto LA21_;
8153 T23_ = (NI)0;
8154 T23_ = len__ast_3198(n);
8155 T16_ = p__injectdestructors_105((*n)._kind_6.sons->data[(NI)(T23_ - ((NI) 1))], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8156 }
8157 goto LA17_;
8158 LA21_: ;
8159 {
8160 NI T25_;
8161 T25_ = (NI)0;
8162 T25_ = len__ast_3198(n);
8163 T16_ = p__injectdestructors_105((*n)._kind_6.sons->data[(NI)(T25_ - ((NI) 1))], c, s, mode);
8164 }
8165 LA17_: ;
8166 add__ast_4797(result, T16_);
8167 }
8168 break;
8169 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
8170 {
8171 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
8172 result = copyNode__ast_4336(n);
8173 T27_ = NIM_NIL;
8174 T27_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8175 add__ast_4797(result, T27_);
8176 {
8177 NI iX60gensym198__2;
8178 NI colontmp__2;
8179 NI i_2;
8180 iX60gensym198__2 = (NI)0;
8181 colontmp__2 = (NI)0;
8182 colontmp__2 = len__ast_3198(n);
8183 i_2 = ((NI) 1);
8184 {
8185 while (1) {
8186 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym198_;
8187 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym198_;
8188 tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ ofScopeX60gensym198_;
8189 NI T35_;
8190 if (!(i_2 < colontmp__2)) goto LA30;
8191 iX60gensym198__2 = i_2;
8192 itX60gensym198_ = (*n)._kind_6.sons->data[iX60gensym198__2];
8193 branchX60gensym198_ = shallowCopy__ast_4413(itX60gensym198_);
8194 {
8195 NI jX60gensym198_;
8196 NI colontmp__3;
8197 NI T32_;
8198 NI i_3;
8199 jX60gensym198_ = (NI)0;
8200 colontmp__3 = (NI)0;
8201 T32_ = (NI)0;
8202 T32_ = len__ast_3198(itX60gensym198_);
8203 colontmp__3 = (NI)(T32_ - ((NI) 1));
8204 i_3 = ((NI) 0);
8205 {
8206 while (1) {
8207 if (!(i_3 < colontmp__3)) goto LA34;
8208 jX60gensym198_ = i_3;
8209 asgnRef((void**) (&(*branchX60gensym198_)._kind_6.sons->data[jX60gensym198_]), copyTree__ast_4431((*itX60gensym198_)._kind_6.sons->data[jX60gensym198_]));
8210 i_3 += ((NI) 1);
8211 } LA34: ;
8212 }
8213 }
8214 nimZeroMem((void*)(&ofScopeX60gensym198_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
8215 nestedScope__injectdestructors_72(s, (&ofScopeX60gensym198_));
8216 T35_ = (NI)0;
8217 T35_ = len__ast_3198(branchX60gensym198_);
8218 {
8219 NIM_BOOL T38_;
8220 NI T39_;
8221 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T43_;
8222 T38_ = (NIM_BOOL)0;
8223 T39_ = (NI)0;
8224 T39_ = len__ast_3198(itX60gensym198_);
8225 T38_ = isEmptyType__ast_4779((*(*itX60gensym198_)._kind_6.sons->data[(NI)(T39_ - ((NI) 1))]).typ);
8226 if (T38_) goto LA40_;
8227 T38_ = NIM_FALSE;
8228 LA40_: ;
8229 if (!T38_) goto LA41_;
8230 T43_ = NIM_NIL;
8231 {
8232 NI T46_;
8233 NIM_BOOL T47_;
8234 NI T50_;
8235 T46_ = (NI)0;
8236 T46_ = len__ast_3198(itX60gensym198_);
8237 T47_ = (NIM_BOOL)0;
8238 T47_ = isEmptyType__ast_4779((*(*itX60gensym198_)._kind_6.sons->data[(NI)(T46_ - ((NI) 1))]).typ);
8239 if (!T47_) goto LA48_;
8240 T50_ = (NI)0;
8241 T50_ = len__ast_3198(itX60gensym198_);
8242 T43_ = p__injectdestructors_105((*itX60gensym198_)._kind_6.sons->data[(NI)(T50_ - ((NI) 1))], c, (&ofScopeX60gensym198_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8243 }
8244 goto LA44_;
8245 LA48_: ;
8246 {
8247 NI T52_;
8248 T52_ = (NI)0;
8249 T52_ = len__ast_3198(itX60gensym198_);
8250 T43_ = p__injectdestructors_105((*itX60gensym198_)._kind_6.sons->data[(NI)(T52_ - ((NI) 1))], c, (&ofScopeX60gensym198_), mode);
8251 }
8252 LA44_: ;
8253 asgnRef((void**) (&(*branchX60gensym198_)._kind_6.sons->data[(NI)(T35_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&ofScopeX60gensym198_), T43_));
8254 }
8255 goto LA36_;
8256 LA41_: ;
8257 {
8258 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym236_;
8259 NI T54_;
8260 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym236_;
8261 NI T55_;
8262 NI T56_;
8263 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym236_;
8264 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym236_;
8265 NI T83_;
8266 T54_ = (NI)0;
8267 T54_ = len__ast_3198(itX60gensym198_);
8268 resultX60gensym236_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym198_)._kind_6.sons->data[(NI)(T54_ - ((NI) 1))]).info);
8269 T55_ = (NI)0;
8270 T55_ = len__ast_3198(itX60gensym198_);
8271 T56_ = (NI)0;
8272 T56_ = len__ast_3198(itX60gensym198_);
8273 tmpX60gensym236_ = getTemp__injectdestructors_61(c, ofScopeX60gensym198_.parent, (*(*itX60gensym198_)._kind_6.sons->data[(NI)(T55_ - ((NI) 1))]).typ, (*(*itX60gensym198_)._kind_6.sons->data[(NI)(T56_ - ((NI) 1))]).info);
8274 (*(*tmpX60gensym236_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
8275 {
8276 NI T59_;
8277 NIM_BOOL T60_;
8278 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T63_;
8279 NI T64_;
8280 NI T65_;
8281 T59_ = (NI)0;
8282 T59_ = len__ast_3198(itX60gensym198_);
8283 T60_ = (NIM_BOOL)0;
8284 T60_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym198_)._kind_6.sons->data[(NI)(T59_ - ((NI) 1))]).typ);
8285 if (!T60_) goto LA61_;
8286 T63_ = NIM_NIL;
8287 T63_ = genDestroy__injectdestructors_6527(c, tmpX60gensym236_);
8288 unsureAsgnRef((void**) (&(*ofScopeX60gensym198_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*ofScopeX60gensym198_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
8289 T64_ = (*ofScopeX60gensym198_.parent).final->Sup.len++;
8290 asgnRef((void**) (&(*ofScopeX60gensym198_.parent).final->data[T64_]), T63_);
8291 T65_ = (NI)0;
8292 T65_ = len__ast_3198(itX60gensym198_);
8293 cpyX60gensym236_ = moveOrCopy__injectdestructors_110(tmpX60gensym236_, (*itX60gensym198_)._kind_6.sons->data[(NI)(T65_ - ((NI) 1))], c, (&ofScopeX60gensym198_), NIM_TRUE);
8294 }
8295 goto LA57_;
8296 LA61_: ;
8297 {
8298 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T67_;
8299 NI T68_;
8300 nimZeroMem((void*)T67_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8301 T67_[0] = tmpX60gensym236_;
8302 T68_ = (NI)0;
8303 T68_ = len__ast_3198(itX60gensym198_);
8304 T67_[1] = p__injectdestructors_105((*itX60gensym198_)._kind_6.sons->data[(NI)(T68_ - ((NI) 1))], c, (&ofScopeX60gensym198_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8305 cpyX60gensym236_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T67_, 2);
8306 }
8307 LA57_: ;
8308 {
8309 NI T71_;
8310 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym236_;
8311 NI T74_;
8312 T71_ = (ofScopeX60gensym198_.vars ? ofScopeX60gensym198_.vars->Sup.len : 0);
8313 if (!(((NI) 0) < T71_)) goto LA72_;
8314 T74_ = (NI)0;
8315 T74_ = len__ast_3198(itX60gensym198_);
8316 varSectionX60gensym236_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym198_)._kind_6.sons->data[(NI)(T74_ - ((NI) 1))]).info);
8317 {
8318 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym236__2;
8319 NI i_4;
8320 NI L;
8321 NI T76_;
8322 tmpX60gensym236__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
8323 i_4 = ((NI) 0);
8324 T76_ = (ofScopeX60gensym198_.vars ? ofScopeX60gensym198_.vars->Sup.len : 0);
8325 L = T76_;
8326 {
8327 while (1) {
8328 tyArray__T6RKPw8xfAeNaoei9aZGzXg T79_;
8329 NI T80_;
8330 NI T81_;
8331 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T82_;
8332 if (!(i_4 < L)) goto LA78;
8333 tmpX60gensym236__2 = &ofScopeX60gensym198_.vars->data[i_4];
8334 nimZeroMem((void*)T79_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
8335 T79_[0] = newSymNode__ast_3716((*tmpX60gensym236__2));
8336 T80_ = (NI)0;
8337 T80_ = len__ast_3198(itX60gensym198_);
8338 T79_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym198_)._kind_6.sons->data[(NI)(T80_ - ((NI) 1))]).info);
8339 T81_ = (NI)0;
8340 T81_ = len__ast_3198(itX60gensym198_);
8341 T79_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym198_)._kind_6.sons->data[(NI)(T81_ - ((NI) 1))]).info);
8342 T82_ = NIM_NIL;
8343 T82_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T79_, 3);
8344 add__ast_4797(varSectionX60gensym236_, T82_);
8345 i_4 += ((NI) 1);
8346 } LA78: ;
8347 }
8348 }
8349 add__ast_4797(resultX60gensym236_, varSectionX60gensym236_);
8350 }
8351 LA72_: ;
8352 T83_ = (NI)0;
8353 T83_ = len__ast_3198(itX60gensym198_);
8354 finSectionX60gensym236_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym198_)._kind_6.sons->data[(NI)(T83_ - ((NI) 1))]).info);
8355 {
8356 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym236_;
8357 NI i_5;
8358 NI L_2;
8359 NI T85_;
8360 mX60gensym236_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
8361 i_5 = ((NI) 0);
8362 T85_ = (ofScopeX60gensym198_.wasMoved ? ofScopeX60gensym198_.wasMoved->Sup.len : 0);
8363 L_2 = T85_;
8364 {
8365 while (1) {
8366 if (!(i_5 < L_2)) goto LA87;
8367 mX60gensym236_ = &ofScopeX60gensym198_.wasMoved->data[i_5];
8368 add__ast_4797(finSectionX60gensym236_, (*mX60gensym236_));
8369 i_5 += ((NI) 1);
8370 } LA87: ;
8371 }
8372 }
8373 {
8374 NI iX60gensym236_;
8375 NI colontmp__4;
8376 NI T89_;
8377 NI res;
8378 iX60gensym236_ = (NI)0;
8379 colontmp__4 = (NI)0;
8380 T89_ = ((ofScopeX60gensym198_.final ? ofScopeX60gensym198_.final->Sup.len : 0)-1);
8381 colontmp__4 = T89_;
8382 res = colontmp__4;
8383 {
8384 while (1) {
8385 if (!(((NI) 0) <= res)) goto LA91;
8386 iX60gensym236_ = res;
8387 add__ast_4797(finSectionX60gensym236_, ofScopeX60gensym198_.final->data[iX60gensym236_]);
8388 res -= ((NI) 1);
8389 } LA91: ;
8390 }
8391 }
8392 {
8393 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T96_;
8394 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T97_;
8395 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T98_;
8396 if (!ofScopeX60gensym198_.needsTry) goto LA94_;
8397 nimZeroMem((void*)T96_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8398 T96_[0] = cpyX60gensym236_;
8399 T96_[1] = p__injectdestructors_105(tmpX60gensym236_, c, ofScopeX60gensym198_.parent, mode);
8400 T97_ = NIM_NIL;
8401 T97_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T96_, 2);
8402 T98_ = NIM_NIL;
8403 T98_ = newTryFinally__lowerings_202(T97_, finSectionX60gensym236_);
8404 add__ast_4797(resultX60gensym236_, T98_);
8405 }
8406 goto LA92_;
8407 LA94_: ;
8408 {
8409 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T100_;
8410 add__ast_4797(resultX60gensym236_, cpyX60gensym236_);
8411 add__ast_4797(resultX60gensym236_, finSectionX60gensym236_);
8412 T100_ = NIM_NIL;
8413 T100_ = p__injectdestructors_105(tmpX60gensym236_, c, ofScopeX60gensym198_.parent, mode);
8414 add__ast_4797(resultX60gensym236_, T100_);
8415 }
8416 LA92_: ;
8417 {
8418 NIM_BOOL T105_;
8419 if (!!((ofScopeX60gensym198_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA103_;
8420 T105_ = (NIM_BOOL)0;
8421 T105_ = (*ofScopeX60gensym198_.parent).needsTry;
8422 if (T105_) goto LA106_;
8423 T105_ = ofScopeX60gensym198_.needsTry;
8424 LA106_: ;
8425 (*ofScopeX60gensym198_.parent).needsTry = T105_;
8426 }
8427 LA103_: ;
8428 asgnRef((void**) (&(*branchX60gensym198_)._kind_6.sons->data[(NI)(T35_ - ((NI) 1))]), resultX60gensym236_);
8429 }
8430 LA36_: ;
8431 add__ast_4797(result, branchX60gensym198_);
8432 i_2 += ((NI) 1);
8433 } LA30: ;
8434 }
8435 }
8436 }
8437 break;
8438 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
8439 {
8440 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T108_;
8441 tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym198_;
8442 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bodyResultX60gensym198_;
8443 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T109_;
8444 (*c).inLoop += ((NI) 1);
8445 (*c).inLoopCond += ((NI) 1);
8446 result = copyNode__ast_4336(n);
8447 T108_ = NIM_NIL;
8448 T108_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8449 add__ast_4797(result, T108_);
8450 (*c).inLoopCond -= ((NI) 1);
8451 nimZeroMem((void*)(&bodyScopeX60gensym198_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
8452 nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym198_));
8453 bodyResultX60gensym198_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym198_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8454 T109_ = NIM_NIL;
8455 T109_ = processScope__injectdestructors_7016(c, (&bodyScopeX60gensym198_), bodyResultX60gensym198_);
8456 add__ast_4797(result, T109_);
8457 (*c).inLoop -= ((NI) 1);
8458 }
8459 break;
8460 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 95):
8461 {
8462 NI lastX60gensym198_;
8463 NI T111_;
8464 tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym198__2;
8465 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bodyResultX60gensym198__2;
8466 (*c).inLoop += ((NI) 1);
8467 result = shallowCopy__ast_4413(n);
8468 T111_ = (NI)0;
8469 T111_ = len__ast_3198(n);
8470 lastX60gensym198_ = (NI)(T111_ - ((NI) 1));
8471 {
8472 NI iX60gensym198__3;
8473 NI colontmp__5;
8474 NI i_6;
8475 iX60gensym198__3 = (NI)0;
8476 colontmp__5 = (NI)0;
8477 colontmp__5 = (NI)(lastX60gensym198_ - ((NI) 1));
8478 i_6 = ((NI) 0);
8479 {
8480 while (1) {
8481 if (!(i_6 < colontmp__5)) goto LA114;
8482 iX60gensym198__3 = i_6;
8483 asgnRef((void**) (&(*result)._kind_6.sons->data[iX60gensym198__3]), (*n)._kind_6.sons->data[iX60gensym198__3]);
8484 i_6 += ((NI) 1);
8485 } LA114: ;
8486 }
8487 }
8488 asgnRef((void**) (&(*result)._kind_6.sons->data[(NI)(lastX60gensym198_ - ((NI) 1))]), p__injectdestructors_105((*n)._kind_6.sons->data[(NI)(lastX60gensym198_ - ((NI) 1))], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
8489 nimZeroMem((void*)(&bodyScopeX60gensym198__2), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
8490 nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym198__2));
8491 bodyResultX60gensym198__2 = p__injectdestructors_105((*n)._kind_6.sons->data[lastX60gensym198_], c, (&bodyScopeX60gensym198__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8492 asgnRef((void**) (&(*result)._kind_6.sons->data[lastX60gensym198_]), processScope__injectdestructors_7016(c, (&bodyScopeX60gensym198__2), bodyResultX60gensym198__2));
8493 (*c).inLoop -= ((NI) 1);
8494 }
8495 break;
8496 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
8497 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
8498 {
8499 tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym198__3;
8500 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T116_;
8501 result = copyNode__ast_4336(n);
8502 add__ast_4797(result, (*n)._kind_6.sons->data[((NI) 0)]);
8503 nimZeroMem((void*)(&bodyScopeX60gensym198__3), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
8504 nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym198__3));
8505 T116_ = NIM_NIL;
8506 {
8507 NIM_BOOL T119_;
8508 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T123_;
8509 T119_ = (NIM_BOOL)0;
8510 T119_ = isEmptyType__ast_4779((*(*n)._kind_6.sons->data[((NI) 1)]).typ);
8511 if (T119_) goto LA120_;
8512 T119_ = NIM_FALSE;
8513 LA120_: ;
8514 if (!T119_) goto LA121_;
8515 T123_ = NIM_NIL;
8516 T123_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym198__3), mode);
8517 T116_ = processScope__injectdestructors_7016(c, (&bodyScopeX60gensym198__3), T123_);
8518 }
8519 goto LA117_;
8520 LA121_: ;
8521 {
8522 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym258_;
8523 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym258_;
8524 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym258_;
8525 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym258_;
8526 resultX60gensym258_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*n)._kind_6.sons->data[((NI) 1)]).info);
8527 tmpX60gensym258_ = getTemp__injectdestructors_61(c, bodyScopeX60gensym198__3.parent, (*(*n)._kind_6.sons->data[((NI) 1)]).typ, (*(*n)._kind_6.sons->data[((NI) 1)]).info);
8528 (*(*tmpX60gensym258_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
8529 {
8530 NIM_BOOL T127_;
8531 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T130_;
8532 NI T131_;
8533 T127_ = (NIM_BOOL)0;
8534 T127_ = hasDestructor__injectdestructors_49((&(*c)), (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
8535 if (!T127_) goto LA128_;
8536 T130_ = NIM_NIL;
8537 T130_ = genDestroy__injectdestructors_6527(c, tmpX60gensym258_);
8538 unsureAsgnRef((void**) (&(*bodyScopeX60gensym198__3.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*bodyScopeX60gensym198__3.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
8539 T131_ = (*bodyScopeX60gensym198__3.parent).final->Sup.len++;
8540 asgnRef((void**) (&(*bodyScopeX60gensym198__3.parent).final->data[T131_]), T130_);
8541 cpyX60gensym258_ = moveOrCopy__injectdestructors_110(tmpX60gensym258_, (*n)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym198__3), NIM_TRUE);
8542 }
8543 goto LA125_;
8544 LA128_: ;
8545 {
8546 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T133_;
8547 nimZeroMem((void*)T133_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8548 T133_[0] = tmpX60gensym258_;
8549 T133_[1] = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym198__3), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8550 cpyX60gensym258_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T133_, 2);
8551 }
8552 LA125_: ;
8553 {
8554 NI T136_;
8555 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym258_;
8556 T136_ = (bodyScopeX60gensym198__3.vars ? bodyScopeX60gensym198__3.vars->Sup.len : 0);
8557 if (!(((NI) 0) < T136_)) goto LA137_;
8558 varSectionX60gensym258_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*n)._kind_6.sons->data[((NI) 1)]).info);
8559 {
8560 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym258__2;
8561 NI i_7;
8562 NI L_3;
8563 NI T140_;
8564 tmpX60gensym258__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
8565 i_7 = ((NI) 0);
8566 T140_ = (bodyScopeX60gensym198__3.vars ? bodyScopeX60gensym198__3.vars->Sup.len : 0);
8567 L_3 = T140_;
8568 {
8569 while (1) {
8570 tyArray__T6RKPw8xfAeNaoei9aZGzXg T143_;
8571 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T144_;
8572 if (!(i_7 < L_3)) goto LA142;
8573 tmpX60gensym258__2 = &bodyScopeX60gensym198__3.vars->data[i_7];
8574 nimZeroMem((void*)T143_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
8575 T143_[0] = newSymNode__ast_3716((*tmpX60gensym258__2));
8576 T143_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*n)._kind_6.sons->data[((NI) 1)]).info);
8577 T143_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*n)._kind_6.sons->data[((NI) 1)]).info);
8578 T144_ = NIM_NIL;
8579 T144_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T143_, 3);
8580 add__ast_4797(varSectionX60gensym258_, T144_);
8581 i_7 += ((NI) 1);
8582 } LA142: ;
8583 }
8584 }
8585 add__ast_4797(resultX60gensym258_, varSectionX60gensym258_);
8586 }
8587 LA137_: ;
8588 finSectionX60gensym258_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*n)._kind_6.sons->data[((NI) 1)]).info);
8589 {
8590 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym258_;
8591 NI i_8;
8592 NI L_4;
8593 NI T146_;
8594 mX60gensym258_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
8595 i_8 = ((NI) 0);
8596 T146_ = (bodyScopeX60gensym198__3.wasMoved ? bodyScopeX60gensym198__3.wasMoved->Sup.len : 0);
8597 L_4 = T146_;
8598 {
8599 while (1) {
8600 if (!(i_8 < L_4)) goto LA148;
8601 mX60gensym258_ = &bodyScopeX60gensym198__3.wasMoved->data[i_8];
8602 add__ast_4797(finSectionX60gensym258_, (*mX60gensym258_));
8603 i_8 += ((NI) 1);
8604 } LA148: ;
8605 }
8606 }
8607 {
8608 NI iX60gensym258_;
8609 NI colontmp__6;
8610 NI T150_;
8611 NI res_2;
8612 iX60gensym258_ = (NI)0;
8613 colontmp__6 = (NI)0;
8614 T150_ = ((bodyScopeX60gensym198__3.final ? bodyScopeX60gensym198__3.final->Sup.len : 0)-1);
8615 colontmp__6 = T150_;
8616 res_2 = colontmp__6;
8617 {
8618 while (1) {
8619 if (!(((NI) 0) <= res_2)) goto LA152;
8620 iX60gensym258_ = res_2;
8621 add__ast_4797(finSectionX60gensym258_, bodyScopeX60gensym198__3.final->data[iX60gensym258_]);
8622 res_2 -= ((NI) 1);
8623 } LA152: ;
8624 }
8625 }
8626 {
8627 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T157_;
8628 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T158_;
8629 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T159_;
8630 if (!bodyScopeX60gensym198__3.needsTry) goto LA155_;
8631 nimZeroMem((void*)T157_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8632 T157_[0] = cpyX60gensym258_;
8633 T157_[1] = p__injectdestructors_105(tmpX60gensym258_, c, bodyScopeX60gensym198__3.parent, mode);
8634 T158_ = NIM_NIL;
8635 T158_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T157_, 2);
8636 T159_ = NIM_NIL;
8637 T159_ = newTryFinally__lowerings_202(T158_, finSectionX60gensym258_);
8638 add__ast_4797(resultX60gensym258_, T159_);
8639 }
8640 goto LA153_;
8641 LA155_: ;
8642 {
8643 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T161_;
8644 add__ast_4797(resultX60gensym258_, cpyX60gensym258_);
8645 add__ast_4797(resultX60gensym258_, finSectionX60gensym258_);
8646 T161_ = NIM_NIL;
8647 T161_ = p__injectdestructors_105(tmpX60gensym258_, c, bodyScopeX60gensym198__3.parent, mode);
8648 add__ast_4797(resultX60gensym258_, T161_);
8649 }
8650 LA153_: ;
8651 {
8652 NIM_BOOL T166_;
8653 if (!!((bodyScopeX60gensym198__3.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA164_;
8654 T166_ = (NIM_BOOL)0;
8655 T166_ = (*bodyScopeX60gensym198__3.parent).needsTry;
8656 if (T166_) goto LA167_;
8657 T166_ = bodyScopeX60gensym198__3.needsTry;
8658 LA167_: ;
8659 (*bodyScopeX60gensym198__3.parent).needsTry = T166_;
8660 }
8661 LA164_: ;
8662 T116_ = resultX60gensym258_;
8663 }
8664 LA117_: ;
8665 add__ast_4797(result, T116_);
8666 }
8667 break;
8668 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
8669 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
8670 {
8671 result = copyNode__ast_4336(n);
8672 {
8673 NI iX60gensym198__4;
8674 NI colontmp__7;
8675 NI i_9;
8676 iX60gensym198__4 = (NI)0;
8677 colontmp__7 = (NI)0;
8678 colontmp__7 = len__ast_3198(n);
8679 i_9 = ((NI) 0);
8680 {
8681 while (1) {
8682 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym198__2;
8683 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym198__2;
8684 tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ branchScopeX60gensym198_;
8685 NI T176_;
8686 if (!(i_9 < colontmp__7)) goto LA171;
8687 iX60gensym198__4 = i_9;
8688 itX60gensym198__2 = (*n)._kind_6.sons->data[iX60gensym198__4];
8689 branchX60gensym198__2 = shallowCopy__ast_4413(itX60gensym198__2);
8690 nimZeroMem((void*)(&branchScopeX60gensym198_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
8691 nestedScope__injectdestructors_72(s, (&branchScopeX60gensym198_));
8692 {
8693 if (!((*itX60gensym198__2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86) || (*itX60gensym198__2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49))) goto LA174_;
8694 asgnRef((void**) (&(*branchX60gensym198__2)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*itX60gensym198__2)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
8695 }
8696 LA174_: ;
8697 T176_ = (NI)0;
8698 T176_ = len__ast_3198(branchX60gensym198__2);
8699 {
8700 NIM_BOOL T179_;
8701 NI T180_;
8702 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T184_;
8703 T179_ = (NIM_BOOL)0;
8704 T180_ = (NI)0;
8705 T180_ = len__ast_3198(itX60gensym198__2);
8706 T179_ = isEmptyType__ast_4779((*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T180_ - ((NI) 1))]).typ);
8707 if (T179_) goto LA181_;
8708 T179_ = NIM_FALSE;
8709 LA181_: ;
8710 if (!T179_) goto LA182_;
8711 T184_ = NIM_NIL;
8712 {
8713 NI T187_;
8714 NIM_BOOL T188_;
8715 NI T191_;
8716 T187_ = (NI)0;
8717 T187_ = len__ast_3198(itX60gensym198__2);
8718 T188_ = (NIM_BOOL)0;
8719 T188_ = isEmptyType__ast_4779((*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T187_ - ((NI) 1))]).typ);
8720 if (!T188_) goto LA189_;
8721 T191_ = (NI)0;
8722 T191_ = len__ast_3198(itX60gensym198__2);
8723 T184_ = p__injectdestructors_105((*itX60gensym198__2)._kind_6.sons->data[(NI)(T191_ - ((NI) 1))], c, (&branchScopeX60gensym198_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8724 }
8725 goto LA185_;
8726 LA189_: ;
8727 {
8728 NI T193_;
8729 T193_ = (NI)0;
8730 T193_ = len__ast_3198(itX60gensym198__2);
8731 T184_ = p__injectdestructors_105((*itX60gensym198__2)._kind_6.sons->data[(NI)(T193_ - ((NI) 1))], c, (&branchScopeX60gensym198_), mode);
8732 }
8733 LA185_: ;
8734 asgnRef((void**) (&(*branchX60gensym198__2)._kind_6.sons->data[(NI)(T176_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&branchScopeX60gensym198_), T184_));
8735 }
8736 goto LA177_;
8737 LA182_: ;
8738 {
8739 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym287_;
8740 NI T195_;
8741 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym287_;
8742 NI T196_;
8743 NI T197_;
8744 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym287_;
8745 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym287_;
8746 NI T224_;
8747 T195_ = (NI)0;
8748 T195_ = len__ast_3198(itX60gensym198__2);
8749 resultX60gensym287_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T195_ - ((NI) 1))]).info);
8750 T196_ = (NI)0;
8751 T196_ = len__ast_3198(itX60gensym198__2);
8752 T197_ = (NI)0;
8753 T197_ = len__ast_3198(itX60gensym198__2);
8754 tmpX60gensym287_ = getTemp__injectdestructors_61(c, branchScopeX60gensym198_.parent, (*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T196_ - ((NI) 1))]).typ, (*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T197_ - ((NI) 1))]).info);
8755 (*(*tmpX60gensym287_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
8756 {
8757 NI T200_;
8758 NIM_BOOL T201_;
8759 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T204_;
8760 NI T205_;
8761 NI T206_;
8762 T200_ = (NI)0;
8763 T200_ = len__ast_3198(itX60gensym198__2);
8764 T201_ = (NIM_BOOL)0;
8765 T201_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T200_ - ((NI) 1))]).typ);
8766 if (!T201_) goto LA202_;
8767 T204_ = NIM_NIL;
8768 T204_ = genDestroy__injectdestructors_6527(c, tmpX60gensym287_);
8769 unsureAsgnRef((void**) (&(*branchScopeX60gensym198_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*branchScopeX60gensym198_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
8770 T205_ = (*branchScopeX60gensym198_.parent).final->Sup.len++;
8771 asgnRef((void**) (&(*branchScopeX60gensym198_.parent).final->data[T205_]), T204_);
8772 T206_ = (NI)0;
8773 T206_ = len__ast_3198(itX60gensym198__2);
8774 cpyX60gensym287_ = moveOrCopy__injectdestructors_110(tmpX60gensym287_, (*itX60gensym198__2)._kind_6.sons->data[(NI)(T206_ - ((NI) 1))], c, (&branchScopeX60gensym198_), NIM_TRUE);
8775 }
8776 goto LA198_;
8777 LA202_: ;
8778 {
8779 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T208_;
8780 NI T209_;
8781 nimZeroMem((void*)T208_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8782 T208_[0] = tmpX60gensym287_;
8783 T209_ = (NI)0;
8784 T209_ = len__ast_3198(itX60gensym198__2);
8785 T208_[1] = p__injectdestructors_105((*itX60gensym198__2)._kind_6.sons->data[(NI)(T209_ - ((NI) 1))], c, (&branchScopeX60gensym198_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8786 cpyX60gensym287_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T208_, 2);
8787 }
8788 LA198_: ;
8789 {
8790 NI T212_;
8791 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym287_;
8792 NI T215_;
8793 T212_ = (branchScopeX60gensym198_.vars ? branchScopeX60gensym198_.vars->Sup.len : 0);
8794 if (!(((NI) 0) < T212_)) goto LA213_;
8795 T215_ = (NI)0;
8796 T215_ = len__ast_3198(itX60gensym198__2);
8797 varSectionX60gensym287_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T215_ - ((NI) 1))]).info);
8798 {
8799 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym287__2;
8800 NI i_10;
8801 NI L_5;
8802 NI T217_;
8803 tmpX60gensym287__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
8804 i_10 = ((NI) 0);
8805 T217_ = (branchScopeX60gensym198_.vars ? branchScopeX60gensym198_.vars->Sup.len : 0);
8806 L_5 = T217_;
8807 {
8808 while (1) {
8809 tyArray__T6RKPw8xfAeNaoei9aZGzXg T220_;
8810 NI T221_;
8811 NI T222_;
8812 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T223_;
8813 if (!(i_10 < L_5)) goto LA219;
8814 tmpX60gensym287__2 = &branchScopeX60gensym198_.vars->data[i_10];
8815 nimZeroMem((void*)T220_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
8816 T220_[0] = newSymNode__ast_3716((*tmpX60gensym287__2));
8817 T221_ = (NI)0;
8818 T221_ = len__ast_3198(itX60gensym198__2);
8819 T220_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T221_ - ((NI) 1))]).info);
8820 T222_ = (NI)0;
8821 T222_ = len__ast_3198(itX60gensym198__2);
8822 T220_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T222_ - ((NI) 1))]).info);
8823 T223_ = NIM_NIL;
8824 T223_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T220_, 3);
8825 add__ast_4797(varSectionX60gensym287_, T223_);
8826 i_10 += ((NI) 1);
8827 } LA219: ;
8828 }
8829 }
8830 add__ast_4797(resultX60gensym287_, varSectionX60gensym287_);
8831 }
8832 LA213_: ;
8833 T224_ = (NI)0;
8834 T224_ = len__ast_3198(itX60gensym198__2);
8835 finSectionX60gensym287_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T224_ - ((NI) 1))]).info);
8836 {
8837 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym287_;
8838 NI i_11;
8839 NI L_6;
8840 NI T226_;
8841 mX60gensym287_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
8842 i_11 = ((NI) 0);
8843 T226_ = (branchScopeX60gensym198_.wasMoved ? branchScopeX60gensym198_.wasMoved->Sup.len : 0);
8844 L_6 = T226_;
8845 {
8846 while (1) {
8847 if (!(i_11 < L_6)) goto LA228;
8848 mX60gensym287_ = &branchScopeX60gensym198_.wasMoved->data[i_11];
8849 add__ast_4797(finSectionX60gensym287_, (*mX60gensym287_));
8850 i_11 += ((NI) 1);
8851 } LA228: ;
8852 }
8853 }
8854 {
8855 NI iX60gensym287_;
8856 NI colontmp__8;
8857 NI T230_;
8858 NI res_3;
8859 iX60gensym287_ = (NI)0;
8860 colontmp__8 = (NI)0;
8861 T230_ = ((branchScopeX60gensym198_.final ? branchScopeX60gensym198_.final->Sup.len : 0)-1);
8862 colontmp__8 = T230_;
8863 res_3 = colontmp__8;
8864 {
8865 while (1) {
8866 if (!(((NI) 0) <= res_3)) goto LA232;
8867 iX60gensym287_ = res_3;
8868 add__ast_4797(finSectionX60gensym287_, branchScopeX60gensym198_.final->data[iX60gensym287_]);
8869 res_3 -= ((NI) 1);
8870 } LA232: ;
8871 }
8872 }
8873 {
8874 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T237_;
8875 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T238_;
8876 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T239_;
8877 if (!branchScopeX60gensym198_.needsTry) goto LA235_;
8878 nimZeroMem((void*)T237_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8879 T237_[0] = cpyX60gensym287_;
8880 T237_[1] = p__injectdestructors_105(tmpX60gensym287_, c, branchScopeX60gensym198_.parent, mode);
8881 T238_ = NIM_NIL;
8882 T238_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T237_, 2);
8883 T239_ = NIM_NIL;
8884 T239_ = newTryFinally__lowerings_202(T238_, finSectionX60gensym287_);
8885 add__ast_4797(resultX60gensym287_, T239_);
8886 }
8887 goto LA233_;
8888 LA235_: ;
8889 {
8890 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T241_;
8891 add__ast_4797(resultX60gensym287_, cpyX60gensym287_);
8892 add__ast_4797(resultX60gensym287_, finSectionX60gensym287_);
8893 T241_ = NIM_NIL;
8894 T241_ = p__injectdestructors_105(tmpX60gensym287_, c, branchScopeX60gensym198_.parent, mode);
8895 add__ast_4797(resultX60gensym287_, T241_);
8896 }
8897 LA233_: ;
8898 {
8899 NIM_BOOL T246_;
8900 if (!!((branchScopeX60gensym198_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA244_;
8901 T246_ = (NIM_BOOL)0;
8902 T246_ = (*branchScopeX60gensym198_.parent).needsTry;
8903 if (T246_) goto LA247_;
8904 T246_ = branchScopeX60gensym198_.needsTry;
8905 LA247_: ;
8906 (*branchScopeX60gensym198_.parent).needsTry = T246_;
8907 }
8908 LA244_: ;
8909 asgnRef((void**) (&(*branchX60gensym198__2)._kind_6.sons->data[(NI)(T176_ - ((NI) 1))]), resultX60gensym287_);
8910 }
8911 LA177_: ;
8912 add__ast_4797(result, branchX60gensym198__2);
8913 i_9 += ((NI) 1);
8914 } LA171: ;
8915 }
8916 }
8917 }
8918 break;
8919 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
8920 {
8921 tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ tryScopeX60gensym198_;
8922 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T249_;
8923 result = copyNode__ast_4336(n);
8924 nimZeroMem((void*)(&tryScopeX60gensym198_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
8925 nestedScope__injectdestructors_72(s, (&tryScopeX60gensym198_));
8926 T249_ = NIM_NIL;
8927 {
8928 NIM_BOOL T252_;
8929 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T256_;
8930 T252_ = (NIM_BOOL)0;
8931 T252_ = isEmptyType__ast_4779((*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8932 if (T252_) goto LA253_;
8933 T252_ = NIM_FALSE;
8934 LA253_: ;
8935 if (!T252_) goto LA254_;
8936 T256_ = NIM_NIL;
8937 {
8938 NIM_BOOL T259_;
8939 T259_ = (NIM_BOOL)0;
8940 T259_ = isEmptyType__ast_4779((*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8941 if (!T259_) goto LA260_;
8942 T256_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym198_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8943 }
8944 goto LA257_;
8945 LA260_: ;
8946 {
8947 T256_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym198_), mode);
8948 }
8949 LA257_: ;
8950 T249_ = processScope__injectdestructors_7016(c, (&tryScopeX60gensym198_), T256_);
8951 }
8952 goto LA250_;
8953 LA254_: ;
8954 {
8955 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym303_;
8956 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym303_;
8957 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym303_;
8958 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym303_;
8959 resultX60gensym303_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*n)._kind_6.sons->data[((NI) 0)]).info);
8960 tmpX60gensym303_ = getTemp__injectdestructors_61(c, tryScopeX60gensym198_.parent, (*(*n)._kind_6.sons->data[((NI) 0)]).typ, (*(*n)._kind_6.sons->data[((NI) 0)]).info);
8961 (*(*tmpX60gensym303_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
8962 {
8963 NIM_BOOL T266_;
8964 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T269_;
8965 NI T270_;
8966 T266_ = (NIM_BOOL)0;
8967 T266_ = hasDestructor__injectdestructors_49((&(*c)), (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8968 if (!T266_) goto LA267_;
8969 T269_ = NIM_NIL;
8970 T269_ = genDestroy__injectdestructors_6527(c, tmpX60gensym303_);
8971 unsureAsgnRef((void**) (&(*tryScopeX60gensym198_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*tryScopeX60gensym198_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
8972 T270_ = (*tryScopeX60gensym198_.parent).final->Sup.len++;
8973 asgnRef((void**) (&(*tryScopeX60gensym198_.parent).final->data[T270_]), T269_);
8974 cpyX60gensym303_ = moveOrCopy__injectdestructors_110(tmpX60gensym303_, (*n)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym198_), NIM_TRUE);
8975 }
8976 goto LA264_;
8977 LA267_: ;
8978 {
8979 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T272_;
8980 nimZeroMem((void*)T272_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8981 T272_[0] = tmpX60gensym303_;
8982 T272_[1] = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym198_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8983 cpyX60gensym303_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T272_, 2);
8984 }
8985 LA264_: ;
8986 {
8987 NI T275_;
8988 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym303_;
8989 T275_ = (tryScopeX60gensym198_.vars ? tryScopeX60gensym198_.vars->Sup.len : 0);
8990 if (!(((NI) 0) < T275_)) goto LA276_;
8991 varSectionX60gensym303_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*n)._kind_6.sons->data[((NI) 0)]).info);
8992 {
8993 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym303__2;
8994 NI i_12;
8995 NI L_7;
8996 NI T279_;
8997 tmpX60gensym303__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
8998 i_12 = ((NI) 0);
8999 T279_ = (tryScopeX60gensym198_.vars ? tryScopeX60gensym198_.vars->Sup.len : 0);
9000 L_7 = T279_;
9001 {
9002 while (1) {
9003 tyArray__T6RKPw8xfAeNaoei9aZGzXg T282_;
9004 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T283_;
9005 if (!(i_12 < L_7)) goto LA281;
9006 tmpX60gensym303__2 = &tryScopeX60gensym198_.vars->data[i_12];
9007 nimZeroMem((void*)T282_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
9008 T282_[0] = newSymNode__ast_3716((*tmpX60gensym303__2));
9009 T282_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*n)._kind_6.sons->data[((NI) 0)]).info);
9010 T282_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*n)._kind_6.sons->data[((NI) 0)]).info);
9011 T283_ = NIM_NIL;
9012 T283_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T282_, 3);
9013 add__ast_4797(varSectionX60gensym303_, T283_);
9014 i_12 += ((NI) 1);
9015 } LA281: ;
9016 }
9017 }
9018 add__ast_4797(resultX60gensym303_, varSectionX60gensym303_);
9019 }
9020 LA276_: ;
9021 finSectionX60gensym303_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*n)._kind_6.sons->data[((NI) 0)]).info);
9022 {
9023 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym303_;
9024 NI i_13;
9025 NI L_8;
9026 NI T285_;
9027 mX60gensym303_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
9028 i_13 = ((NI) 0);
9029 T285_ = (tryScopeX60gensym198_.wasMoved ? tryScopeX60gensym198_.wasMoved->Sup.len : 0);
9030 L_8 = T285_;
9031 {
9032 while (1) {
9033 if (!(i_13 < L_8)) goto LA287;
9034 mX60gensym303_ = &tryScopeX60gensym198_.wasMoved->data[i_13];
9035 add__ast_4797(finSectionX60gensym303_, (*mX60gensym303_));
9036 i_13 += ((NI) 1);
9037 } LA287: ;
9038 }
9039 }
9040 {
9041 NI iX60gensym303_;
9042 NI colontmp__9;
9043 NI T289_;
9044 NI res_4;
9045 iX60gensym303_ = (NI)0;
9046 colontmp__9 = (NI)0;
9047 T289_ = ((tryScopeX60gensym198_.final ? tryScopeX60gensym198_.final->Sup.len : 0)-1);
9048 colontmp__9 = T289_;
9049 res_4 = colontmp__9;
9050 {
9051 while (1) {
9052 if (!(((NI) 0) <= res_4)) goto LA291;
9053 iX60gensym303_ = res_4;
9054 add__ast_4797(finSectionX60gensym303_, tryScopeX60gensym198_.final->data[iX60gensym303_]);
9055 res_4 -= ((NI) 1);
9056 } LA291: ;
9057 }
9058 }
9059 {
9060 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T296_;
9061 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T303_;
9062 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T304_;
9063 if (!tryScopeX60gensym198_.needsTry) goto LA294_;
9064 nimZeroMem((void*)T296_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
9065 T296_[0] = cpyX60gensym303_;
9066 {
9067 NIM_BOOL T299_;
9068 T299_ = (NIM_BOOL)0;
9069 T299_ = isEmptyType__ast_4779((*tmpX60gensym303_).typ);
9070 if (!T299_) goto LA300_;
9071 T296_[1] = p__injectdestructors_105(tmpX60gensym303_, c, tryScopeX60gensym198_.parent, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
9072 }
9073 goto LA297_;
9074 LA300_: ;
9075 {
9076 T296_[1] = p__injectdestructors_105(tmpX60gensym303_, c, tryScopeX60gensym198_.parent, mode);
9077 }
9078 LA297_: ;
9079 T303_ = NIM_NIL;
9080 T303_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T296_, 2);
9081 T304_ = NIM_NIL;
9082 T304_ = newTryFinally__lowerings_202(T303_, finSectionX60gensym303_);
9083 add__ast_4797(resultX60gensym303_, T304_);
9084 }
9085 goto LA292_;
9086 LA294_: ;
9087 {
9088 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T306_;
9089 add__ast_4797(resultX60gensym303_, cpyX60gensym303_);
9090 add__ast_4797(resultX60gensym303_, finSectionX60gensym303_);
9091 T306_ = NIM_NIL;
9092 {
9093 NIM_BOOL T309_;
9094 T309_ = (NIM_BOOL)0;
9095 T309_ = isEmptyType__ast_4779((*tmpX60gensym303_).typ);
9096 if (!T309_) goto LA310_;
9097 T306_ = p__injectdestructors_105(tmpX60gensym303_, c, tryScopeX60gensym198_.parent, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
9098 }
9099 goto LA307_;
9100 LA310_: ;
9101 {
9102 T306_ = p__injectdestructors_105(tmpX60gensym303_, c, tryScopeX60gensym198_.parent, mode);
9103 }
9104 LA307_: ;
9105 add__ast_4797(resultX60gensym303_, T306_);
9106 }
9107 LA292_: ;
9108 {
9109 NIM_BOOL T317_;
9110 if (!!((tryScopeX60gensym198_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA315_;
9111 T317_ = (NIM_BOOL)0;
9112 T317_ = (*tryScopeX60gensym198_.parent).needsTry;
9113 if (T317_) goto LA318_;
9114 T317_ = tryScopeX60gensym198_.needsTry;
9115 LA318_: ;
9116 (*tryScopeX60gensym198_.parent).needsTry = T317_;
9117 }
9118 LA315_: ;
9119 T249_ = resultX60gensym303_;
9120 }
9121 LA250_: ;
9122 add__ast_4797(result, T249_);
9123 {
9124 NI iX60gensym198__5;
9125 NI colontmp__10;
9126 NI i_14;
9127 iX60gensym198__5 = (NI)0;
9128 colontmp__10 = (NI)0;
9129 colontmp__10 = len__ast_3198(n);
9130 i_14 = ((NI) 1);
9131 {
9132 while (1) {
9133 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym198__3;
9134 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym198__3;
9135 tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ branchScopeX60gensym198__2;
9136 NI T322_;
9137 if (!(i_14 < colontmp__10)) goto LA321;
9138 iX60gensym198__5 = i_14;
9139 itX60gensym198__3 = (*n)._kind_6.sons->data[iX60gensym198__5];
9140 branchX60gensym198__3 = copyTree__ast_4431(itX60gensym198__3);
9141 nimZeroMem((void*)(&branchScopeX60gensym198__2), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
9142 nestedScope__injectdestructors_72(s, (&branchScopeX60gensym198__2));
9143 T322_ = (NI)0;
9144 T322_ = len__ast_3198(branchX60gensym198__3);
9145 {
9146 NIM_BOOL T325_;
9147 NIM_BOOL T326_;
9148 NI T327_;
9149 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T332_;
9150 T325_ = (NIM_BOOL)0;
9151 T326_ = (NIM_BOOL)0;
9152 T327_ = (NI)0;
9153 T327_ = len__ast_3198(itX60gensym198__3);
9154 T326_ = isEmptyType__ast_4779((*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T327_ - ((NI) 1))]).typ);
9155 if (T326_) goto LA328_;
9156 T326_ = NIM_FALSE;
9157 LA328_: ;
9158 T325_ = T326_;
9159 if (T325_) goto LA329_;
9160 T325_ = ((*itX60gensym198__3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107));
9161 LA329_: ;
9162 if (!T325_) goto LA330_;
9163 T332_ = NIM_NIL;
9164 {
9165 NI T337_;
9166 if (!((*itX60gensym198__3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA335_;
9167 T337_ = (NI)0;
9168 T337_ = len__ast_3198(itX60gensym198__3);
9169 T332_ = p__injectdestructors_105((*itX60gensym198__3)._kind_6.sons->data[(NI)(T337_ - ((NI) 1))], c, (&branchScopeX60gensym198__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
9170 }
9171 goto LA333_;
9172 LA335_: ;
9173 {
9174 {
9175 NI T341_;
9176 NIM_BOOL T342_;
9177 NI T345_;
9178 T341_ = (NI)0;
9179 T341_ = len__ast_3198(itX60gensym198__3);
9180 T342_ = (NIM_BOOL)0;
9181 T342_ = isEmptyType__ast_4779((*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T341_ - ((NI) 1))]).typ);
9182 if (!T342_) goto LA343_;
9183 T345_ = (NI)0;
9184 T345_ = len__ast_3198(itX60gensym198__3);
9185 T332_ = p__injectdestructors_105((*itX60gensym198__3)._kind_6.sons->data[(NI)(T345_ - ((NI) 1))], c, (&branchScopeX60gensym198__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
9186 }
9187 goto LA339_;
9188 LA343_: ;
9189 {
9190 NI T347_;
9191 T347_ = (NI)0;
9192 T347_ = len__ast_3198(itX60gensym198__3);
9193 T332_ = p__injectdestructors_105((*itX60gensym198__3)._kind_6.sons->data[(NI)(T347_ - ((NI) 1))], c, (&branchScopeX60gensym198__2), mode);
9194 }
9195 LA339_: ;
9196 }
9197 LA333_: ;
9198 asgnRef((void**) (&(*branchX60gensym198__3)._kind_6.sons->data[(NI)(T322_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&branchScopeX60gensym198__2), T332_));
9199 }
9200 goto LA323_;
9201 LA330_: ;
9202 {
9203 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym334_;
9204 NI T349_;
9205 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym334_;
9206 NI T350_;
9207 NI T351_;
9208 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym334_;
9209 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym334_;
9210 NI T378_;
9211 T349_ = (NI)0;
9212 T349_ = len__ast_3198(itX60gensym198__3);
9213 resultX60gensym334_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T349_ - ((NI) 1))]).info);
9214 T350_ = (NI)0;
9215 T350_ = len__ast_3198(itX60gensym198__3);
9216 T351_ = (NI)0;
9217 T351_ = len__ast_3198(itX60gensym198__3);
9218 tmpX60gensym334_ = getTemp__injectdestructors_61(c, branchScopeX60gensym198__2.parent, (*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T350_ - ((NI) 1))]).typ, (*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T351_ - ((NI) 1))]).info);
9219 (*(*tmpX60gensym334_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
9220 {
9221 NI T354_;
9222 NIM_BOOL T355_;
9223 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T358_;
9224 NI T359_;
9225 NI T360_;
9226 T354_ = (NI)0;
9227 T354_ = len__ast_3198(itX60gensym198__3);
9228 T355_ = (NIM_BOOL)0;
9229 T355_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T354_ - ((NI) 1))]).typ);
9230 if (!T355_) goto LA356_;
9231 T358_ = NIM_NIL;
9232 T358_ = genDestroy__injectdestructors_6527(c, tmpX60gensym334_);
9233 unsureAsgnRef((void**) (&(*branchScopeX60gensym198__2.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*branchScopeX60gensym198__2.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
9234 T359_ = (*branchScopeX60gensym198__2.parent).final->Sup.len++;
9235 asgnRef((void**) (&(*branchScopeX60gensym198__2.parent).final->data[T359_]), T358_);
9236 T360_ = (NI)0;
9237 T360_ = len__ast_3198(itX60gensym198__3);
9238 cpyX60gensym334_ = moveOrCopy__injectdestructors_110(tmpX60gensym334_, (*itX60gensym198__3)._kind_6.sons->data[(NI)(T360_ - ((NI) 1))], c, (&branchScopeX60gensym198__2), NIM_TRUE);
9239 }
9240 goto LA352_;
9241 LA356_: ;
9242 {
9243 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T362_;
9244 NI T363_;
9245 nimZeroMem((void*)T362_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
9246 T362_[0] = tmpX60gensym334_;
9247 T363_ = (NI)0;
9248 T363_ = len__ast_3198(itX60gensym198__3);
9249 T362_[1] = p__injectdestructors_105((*itX60gensym198__3)._kind_6.sons->data[(NI)(T363_ - ((NI) 1))], c, (&branchScopeX60gensym198__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
9250 cpyX60gensym334_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T362_, 2);
9251 }
9252 LA352_: ;
9253 {
9254 NI T366_;
9255 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym334_;
9256 NI T369_;
9257 T366_ = (branchScopeX60gensym198__2.vars ? branchScopeX60gensym198__2.vars->Sup.len : 0);
9258 if (!(((NI) 0) < T366_)) goto LA367_;
9259 T369_ = (NI)0;
9260 T369_ = len__ast_3198(itX60gensym198__3);
9261 varSectionX60gensym334_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T369_ - ((NI) 1))]).info);
9262 {
9263 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym334__2;
9264 NI i_15;
9265 NI L_9;
9266 NI T371_;
9267 tmpX60gensym334__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
9268 i_15 = ((NI) 0);
9269 T371_ = (branchScopeX60gensym198__2.vars ? branchScopeX60gensym198__2.vars->Sup.len : 0);
9270 L_9 = T371_;
9271 {
9272 while (1) {
9273 tyArray__T6RKPw8xfAeNaoei9aZGzXg T374_;
9274 NI T375_;
9275 NI T376_;
9276 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T377_;
9277 if (!(i_15 < L_9)) goto LA373;
9278 tmpX60gensym334__2 = &branchScopeX60gensym198__2.vars->data[i_15];
9279 nimZeroMem((void*)T374_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
9280 T374_[0] = newSymNode__ast_3716((*tmpX60gensym334__2));
9281 T375_ = (NI)0;
9282 T375_ = len__ast_3198(itX60gensym198__3);
9283 T374_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T375_ - ((NI) 1))]).info);
9284 T376_ = (NI)0;
9285 T376_ = len__ast_3198(itX60gensym198__3);
9286 T374_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T376_ - ((NI) 1))]).info);
9287 T377_ = NIM_NIL;
9288 T377_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T374_, 3);
9289 add__ast_4797(varSectionX60gensym334_, T377_);
9290 i_15 += ((NI) 1);
9291 } LA373: ;
9292 }
9293 }
9294 add__ast_4797(resultX60gensym334_, varSectionX60gensym334_);
9295 }
9296 LA367_: ;
9297 T378_ = (NI)0;
9298 T378_ = len__ast_3198(itX60gensym198__3);
9299 finSectionX60gensym334_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T378_ - ((NI) 1))]).info);
9300 {
9301 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym334_;
9302 NI i_16;
9303 NI L_10;
9304 NI T380_;
9305 mX60gensym334_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
9306 i_16 = ((NI) 0);
9307 T380_ = (branchScopeX60gensym198__2.wasMoved ? branchScopeX60gensym198__2.wasMoved->Sup.len : 0);
9308 L_10 = T380_;
9309 {
9310 while (1) {
9311 if (!(i_16 < L_10)) goto LA382;
9312 mX60gensym334_ = &branchScopeX60gensym198__2.wasMoved->data[i_16];
9313 add__ast_4797(finSectionX60gensym334_, (*mX60gensym334_));
9314 i_16 += ((NI) 1);
9315 } LA382: ;
9316 }
9317 }
9318 {
9319 NI iX60gensym334_;
9320 NI colontmp__11;
9321 NI T384_;
9322 NI res_5;
9323 iX60gensym334_ = (NI)0;
9324 colontmp__11 = (NI)0;
9325 T384_ = ((branchScopeX60gensym198__2.final ? branchScopeX60gensym198__2.final->Sup.len : 0)-1);
9326 colontmp__11 = T384_;
9327 res_5 = colontmp__11;
9328 {
9329 while (1) {
9330 if (!(((NI) 0) <= res_5)) goto LA386;
9331 iX60gensym334_ = res_5;
9332 add__ast_4797(finSectionX60gensym334_, branchScopeX60gensym198__2.final->data[iX60gensym334_]);
9333 res_5 -= ((NI) 1);
9334 } LA386: ;
9335 }
9336 }
9337 {
9338 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T391_;
9339 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T392_;
9340 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T393_;
9341 if (!branchScopeX60gensym198__2.needsTry) goto LA389_;
9342 nimZeroMem((void*)T391_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
9343 T391_[0] = cpyX60gensym334_;
9344 T391_[1] = p__injectdestructors_105(tmpX60gensym334_, c, branchScopeX60gensym198__2.parent, mode);
9345 T392_ = NIM_NIL;
9346 T392_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T391_, 2);
9347 T393_ = NIM_NIL;
9348 T393_ = newTryFinally__lowerings_202(T392_, finSectionX60gensym334_);
9349 add__ast_4797(resultX60gensym334_, T393_);
9350 }
9351 goto LA387_;
9352 LA389_: ;
9353 {
9354 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T395_;
9355 add__ast_4797(resultX60gensym334_, cpyX60gensym334_);
9356 add__ast_4797(resultX60gensym334_, finSectionX60gensym334_);
9357 T395_ = NIM_NIL;
9358 T395_ = p__injectdestructors_105(tmpX60gensym334_, c, branchScopeX60gensym198__2.parent, mode);
9359 add__ast_4797(resultX60gensym334_, T395_);
9360 }
9361 LA387_: ;
9362 {
9363 NIM_BOOL T400_;
9364 if (!!((branchScopeX60gensym198__2.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA398_;
9365 T400_ = (NIM_BOOL)0;
9366 T400_ = (*branchScopeX60gensym198__2.parent).needsTry;
9367 if (T400_) goto LA401_;
9368 T400_ = branchScopeX60gensym198__2.needsTry;
9369 LA401_: ;
9370 (*branchScopeX60gensym198__2.parent).needsTry = T400_;
9371 }
9372 LA398_: ;
9373 asgnRef((void**) (&(*branchX60gensym198__3)._kind_6.sons->data[(NI)(T322_ - ((NI) 1))]), resultX60gensym334_);
9374 }
9375 LA323_: ;
9376 add__ast_4797(result, branchX60gensym198__3);
9377 i_14 += ((NI) 1);
9378 } LA321: ;
9379 }
9380 }
9381 }
9382 break;
9383 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
9384 {
9385 result = copyTree__ast_4431(n);
9386 asgnRef((void**) (&(*(*result)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)], c, s, mode));
9387 }
9388 break;
9389 default:
9390 {
9391 }
9392 break;
9393 }
9394 }
9395 goto LA1_;
9396 LA3_: ;
9397 {
9398 if (!(mode == ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2))) goto LA405_;
9399 {
9400 NIM_BOOL T409_;
9401 T409_ = (NIM_BOOL)0;
9402 T409_ = containsConstSeq__injectdestructors_6860(n);
9403 if (!T409_) goto LA410_;
9404 result = passCopyToSink__injectdestructors_6805(n, c, s);
9405 }
9406 goto LA407_;
9407 LA410_: ;
9408 {
9409 if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23) || (*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160))) goto LA413_;
9410 result = p__injectdestructors_105(n, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
9411 }
9412 goto LA407_;
9413 LA413_: ;
9414 {
9415 NIM_BOOL T416_;
9416 NIM_BOOL T417_;
9417 NIM_BOOL T418_;
9418 NIM_BOOL T419_;
9419 NIM_BOOL T424_;
9420 T416_ = (NIM_BOOL)0;
9421 T417_ = (NIM_BOOL)0;
9422 T418_ = (NIM_BOOL)0;
9423 T419_ = (NIM_BOOL)0;
9424 T419_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
9425 if (!(T419_)) goto LA420_;
9426 T419_ = isSinkParam__ast_5030((*n)._kind_4.sym);
9427 LA420_: ;
9428 T418_ = T419_;
9429 if (T418_) goto LA421_;
9430 T418_ = isAnalysableFieldAccess__dfa_903(n, (*c).owner);
9431 LA421_: ;
9432 T417_ = T418_;
9433 if (!(T417_)) goto LA422_;
9434 T417_ = isLastRead__injectdestructors_6103(n, c);
9435 LA422_: ;
9436 T416_ = T417_;
9437 if (!(T416_)) goto LA423_;
9438 T424_ = (NIM_BOOL)0;
9439 T424_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
9440 if (!(T424_)) goto LA425_;
9441 T424_ = isCursor__injectdestructors_6369(n);
9442 LA425_: ;
9443 T416_ = !(T424_);
9444 LA423_: ;
9445 if (!T416_) goto LA426_;
9446 result = destructiveMoveVar__injectdestructors_6760(n, c, s);
9447 }
9448 goto LA407_;
9449 LA426_: ;
9450 {
9451 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60))) goto LA429_;
9452 result = copyTree__ast_4431(n);
9453 {
9454 NIM_BOOL T433_;
9455 tyObject_TType__facALICuu8zUj0hjvbTLFg* T434_;
9456 tyObject_TType__facALICuu8zUj0hjvbTLFg* T436_;
9457 tyObject_TType__facALICuu8zUj0hjvbTLFg* nTyp;
9458 T433_ = (NIM_BOOL)0;
9459 T434_ = NIM_NIL;
9460 T434_ = skipTypes__ast_3735((*n).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_43);
9461 T433_ = !(((*T434_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
9462 if (!(T433_)) goto LA435_;
9463 T436_ = NIM_NIL;
9464 T436_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_43);
9465 T433_ = ((*T436_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
9466 LA435_: ;
9467 if (!T433_) goto LA437_;
9468 nTyp = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
9469 asgnRef((void**) (&(*(*n)._kind_6.sons->data[((NI) 1)]).typ), (*n).typ);
9470 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2)));
9471 asgnRef((void**) (&(*(*result)._kind_6.sons->data[((NI) 1)]).typ), nTyp);
9472 }
9473 goto LA431_;
9474 LA437_: ;
9475 {
9476 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2)));
9477 }
9478 LA431_: ;
9479 }
9480 goto LA407_;
9481 LA429_: ;
9482 {
9483 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67))) goto LA441_;
9484 result = copyTree__ast_4431(n);
9485 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2)));
9486 }
9487 goto LA407_;
9488 LA441_: ;
9489 {
9490 if (!((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA444_;
9491 result = p__injectdestructors_105(n, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
9492 }
9493 goto LA407_;
9494 LA444_: ;
9495 {
9496 result = passCopyToSink__injectdestructors_6805(n, c, s);
9497 }
9498 LA407_: ;
9499 }
9500 goto LA1_;
9501 LA405_: ;
9502 {
9503 switch ((*n).kind) {
9504 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
9505 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
9506 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
9507 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
9508 {
9509 tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw m;
9510 {
9511 if (!(mode == ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0))) goto LA451_;
9512 m = ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0);
9513 }
9514 goto LA449_;
9515 LA451_: ;
9516 {
9517 m = ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2);
9518 }
9519 LA449_: ;
9520 result = copyTree__ast_4431(n);
9521 {
9522 NI i_17;
9523 NI colontmp__12;
9524 NI colontmp__13;
9525 NI i_18;
9526 i_17 = (NI)0;
9527 colontmp__12 = (NI)0;
9528 colontmp__13 = (NI)0;
9529 colontmp__12 = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155));
9530 colontmp__13 = len__ast_3198(n);
9531 i_18 = colontmp__12;
9532 {
9533 while (1) {
9534 if (!(i_18 < colontmp__13)) goto LA456;
9535 i_17 = i_18;
9536 {
9537 if (!((*(*n)._kind_6.sons->data[i_17]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA459_;
9538 asgnRef((void**) (&(*(*result)._kind_6.sons->data[i_17])._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*(*n)._kind_6.sons->data[i_17])._kind_6.sons->data[((NI) 1)], c, s, m));
9539 }
9540 goto LA457_;
9541 LA459_: ;
9542 {
9543 if (!((*(*n)._kind_6.sons->data[i_17]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA462_;
9544 asgnRef((void**) (&(*(*result)._kind_6.sons->data[i_17])._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*(*n)._kind_6.sons->data[i_17])._kind_6.sons->data[((NI) 0)], c, s, m));
9545 asgnRef((void**) (&(*(*result)._kind_6.sons->data[i_17])._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*(*n)._kind_6.sons->data[i_17])._kind_6.sons->data[((NI) 1)], c, s, m));
9546 }
9547 goto LA457_;
9548 LA462_: ;
9549 {
9550 asgnRef((void**) (&(*result)._kind_6.sons->data[i_17]), p__injectdestructors_105((*n)._kind_6.sons->data[i_17], c, s, m));
9551 }
9552 LA457_: ;
9553 i_18 += ((NI) 1);
9554 } LA456: ;
9555 }
9556 }
9557 }
9558 break;
9559 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
9560 {
9561 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
9562 NIM_BOOL isRefConstr;
9563 tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw m_2;
9564 t = skipTypes__ast_3735((*n).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_38);
9565 isRefConstr = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
9566 {
9567 if (!isRefConstr) goto LA468_;
9568 m_2 = ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2);
9569 }
9570 goto LA466_;
9571 LA468_: ;
9572 {
9573 if (!(mode == ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0))) goto LA471_;
9574 m_2 = ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0);
9575 }
9576 goto LA466_;
9577 LA471_: ;
9578 {
9579 m_2 = ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2);
9580 }
9581 LA466_: ;
9582 result = copyTree__ast_4431(n);
9583 {
9584 NI i_19;
9585 NI colontmp__14;
9586 NI i_20;
9587 i_19 = (NI)0;
9588 colontmp__14 = (NI)0;
9589 colontmp__14 = len__ast_3198(n);
9590 i_20 = ((NI) 1);
9591 {
9592 while (1) {
9593 if (!(i_20 < colontmp__14)) goto LA476;
9594 i_19 = i_20;
9595 {
9596 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
9597 if (!((*(*n)._kind_6.sons->data[i_19]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA479_;
9598 field = lookupFieldAgain__types_4062(t, (*(*(*n)._kind_6.sons->data[i_19])._kind_6.sons->data[((NI) 0)])._kind_4.sym);
9599 {
9600 NIM_BOOL T483_;
9601 T483_ = (NIM_BOOL)0;
9602 T483_ = !((field == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
9603 if (!(T483_)) goto LA484_;
9604 T483_ = (((*field).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 41))&63U)))!=0);
9605 LA484_: ;
9606 if (!T483_) goto LA485_;
9607 asgnRef((void**) (&(*(*result)._kind_6.sons->data[i_19])._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*(*n)._kind_6.sons->data[i_19])._kind_6.sons->data[((NI) 1)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
9608 }
9609 goto LA481_;
9610 LA485_: ;
9611 {
9612 asgnRef((void**) (&(*(*result)._kind_6.sons->data[i_19])._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*(*n)._kind_6.sons->data[i_19])._kind_6.sons->data[((NI) 1)], c, s, m_2));
9613 }
9614 LA481_: ;
9615 }
9616 goto LA477_;
9617 LA479_: ;
9618 {
9619 asgnRef((void**) (&(*result)._kind_6.sons->data[i_19]), p__injectdestructors_105((*n)._kind_6.sons->data[i_19], c, s, m_2));
9620 }
9621 LA477_: ;
9622 i_20 += ((NI) 1);
9623 } LA476: ;
9624 }
9625 }
9626 {
9627 NIM_BOOL T491_;
9628 T491_ = (NIM_BOOL)0;
9629 T491_ = (mode == ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
9630 if (!(T491_)) goto LA492_;
9631 T491_ = isRefConstr;
9632 LA492_: ;
9633 if (!T491_) goto LA493_;
9634 result = ensureDestruction__injectdestructors_6885(result, n, c, s);
9635 }
9636 LA493_: ;
9637 }
9638 break;
9639 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
9640 {
9641 NI inSpawn;
9642 tyObject_TType__facALICuu8zUj0hjvbTLFg* parameters;
9643 NI L_11;
9644 inSpawn = (*c).inSpawn;
9645 {
9646 NIM_BOOL T498_;
9647 T498_ = (NIM_BOOL)0;
9648 T498_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
9649 if (!(T498_)) goto LA499_;
9650 T498_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 198));
9651 LA499_: ;
9652 if (!T498_) goto LA500_;
9653 (*c).inSpawn += ((NI) 1);
9654 }
9655 goto LA496_;
9656 LA500_: ;
9657 {
9658 if (!(((NI) 0) < (*c).inSpawn)) goto LA503_;
9659 (*c).inSpawn -= ((NI) 1);
9660 }
9661 goto LA496_;
9662 LA503_: ;
9663 LA496_: ;
9664 parameters = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
9665 {
9666 if (!!((parameters == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA507_;
9667 L_11 = len__ast_4002(parameters);
9668 }
9669 goto LA505_;
9670 LA507_: ;
9671 {
9672 L_11 = ((NI) 0);
9673 }
9674 LA505_: ;
9675 result = shallowCopy__ast_4413(n);
9676 {
9677 NI i_21;
9678 NI colontmp__15;
9679 NI i_22;
9680 i_21 = (NI)0;
9681 colontmp__15 = (NI)0;
9682 colontmp__15 = len__ast_3198(n);
9683 i_22 = ((NI) 1);
9684 {
9685 while (1) {
9686 if (!(i_22 < colontmp__15)) goto LA512;
9687 i_21 = i_22;
9688 {
9689 NIM_BOOL T515_;
9690 T515_ = (NIM_BOOL)0;
9691 T515_ = (i_21 < L_11);
9692 if (!(T515_)) goto LA516_;
9693 T515_ = isCompileTimeOnly__types_3528((*parameters).sons->data[i_21]);
9694 LA516_: ;
9695 if (!T515_) goto LA517_;
9696 asgnRef((void**) (&(*result)._kind_6.sons->data[i_21]), (*n)._kind_6.sons->data[i_21]);
9697 }
9698 goto LA513_;
9699 LA517_: ;
9700 {
9701 NIM_BOOL T520_;
9702 NIM_BOOL T522_;
9703 T520_ = (NIM_BOOL)0;
9704 T520_ = (i_21 < L_11);
9705 if (!(T520_)) goto LA521_;
9706 T522_ = (NIM_BOOL)0;
9707 T522_ = isSinkTypeForParam__types_4055((*parameters).sons->data[i_21]);
9708 if (T522_) goto LA523_;
9709 T522_ = (((NI) 0) < inSpawn);
9710 LA523_: ;
9711 T520_ = T522_;
9712 LA521_: ;
9713 if (!T520_) goto LA524_;
9714 asgnRef((void**) (&(*result)._kind_6.sons->data[i_21]), p__injectdestructors_105((*n)._kind_6.sons->data[i_21], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2)));
9715 }
9716 goto LA513_;
9717 LA524_: ;
9718 {
9719 asgnRef((void**) (&(*result)._kind_6.sons->data[i_21]), p__injectdestructors_105((*n)._kind_6.sons->data[i_21], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
9720 }
9721 LA513_: ;
9722 i_22 += ((NI) 1);
9723 } LA512: ;
9724 }
9725 }
9726 {
9727 NIM_BOOL T529_;
9728 T529_ = (NIM_BOOL)0;
9729 T529_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
9730 if (!(T529_)) goto LA530_;
9731 T529_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 32) || (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 33));
9732 LA530_: ;
9733 if (!T529_) goto LA531_;
9734 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), copyTree__ast_4431((*n)._kind_6.sons->data[((NI) 0)]));
9735 {
9736 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* destroyOld;
9737 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T537_;
9738 if (!((176 &((NU16)1<<((NU)((*(*(*c).graph).config).selectedGC)&15U)))!=0)) goto LA535_;
9739 destroyOld = genDestroy__injectdestructors_6527(c, (*result)._kind_6.sons->data[((NI) 1)]);
9740 nimZeroMem((void*)T537_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
9741 T537_[0] = destroyOld;
9742 T537_[1] = result;
9743 result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T537_, 2);
9744 }
9745 LA535_: ;
9746 }
9747 goto LA527_;
9748 LA531_: ;
9749 {
9750 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
9751 }
9752 LA527_: ;
9753 {
9754 NIM_BOOL T541_;
9755 T541_ = (NIM_BOOL)0;
9756 T541_ = canRaise__ast_5088((*n)._kind_6.sons->data[((NI) 0)]);
9757 if (!T541_) goto LA542_;
9758 (*s).needsTry = NIM_TRUE;
9759 }
9760 LA542_: ;
9761 {
9762 if (!(mode == ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0))) goto LA546_;
9763 result = ensureDestruction__injectdestructors_6885(result, n, c, s);
9764 }
9765 LA546_: ;
9766 }
9767 break;
9768 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114):
9769 {
9770 result = shallowCopy__ast_4413(n);
9771 {
9772 if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA551_;
9773 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
9774 }
9775 goto LA549_;
9776 LA551_: ;
9777 {
9778 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), copyNode__ast_4336((*n)._kind_6.sons->data[((NI) 0)]));
9779 }
9780 LA549_: ;
9781 }
9782 break;
9783 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
9784 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
9785 {
9786 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
9787 {
9788 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
9789 it = NIM_NIL;
9790 {
9791 NI i_23;
9792 NI colontmp__16;
9793 NI i_24;
9794 i_23 = (NI)0;
9795 colontmp__16 = (NI)0;
9796 colontmp__16 = safeLen__ast_3191(n);
9797 i_24 = ((NI) 0);
9798 {
9799 while (1) {
9800 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri;
9801 NI T559_;
9802 if (!(i_24 < colontmp__16)) goto LA558;
9803 i_23 = i_24;
9804 it = (*n)._kind_6.sons->data[i_23];
9805 T559_ = (NI)0;
9806 T559_ = len__ast_3198(it);
9807 ri = (*it)._kind_6.sons->data[(NI)(T559_ - ((NI) 1))];
9808 {
9809 NIM_BOOL T562_;
9810 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
9811 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T566_;
9812 T562_ = (NIM_BOOL)0;
9813 T562_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36));
9814 if (!(T562_)) goto LA563_;
9815 T562_ = hasDestructor__injectdestructors_49((&(*c)), (*ri).typ);
9816 LA563_: ;
9817 if (!T562_) goto LA564_;
9818 x = lowerTupleUnpacking__lowerings_116((*c).graph, it, (*c).idgen, (*c).owner);
9819 T566_ = NIM_NIL;
9820 T566_ = p__injectdestructors_105(x, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
9821 add__ast_4797(result, T566_);
9822 }
9823 goto LA560_;
9824 LA564_: ;
9825 {
9826 NIM_BOOL T568_;
9827 T568_ = (NIM_BOOL)0;
9828 T568_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35));
9829 if (!(T568_)) goto LA569_;
9830 T568_ = hasDestructor__injectdestructors_49((&(*c)), (*(*it)._kind_6.sons->data[((NI) 0)]).typ);
9831 LA569_: ;
9832 if (!T568_) goto LA570_;
9833 {
9834 NI j;
9835 NI colontmp__17;
9836 NI T573_;
9837 NI i_25;
9838 j = (NI)0;
9839 colontmp__17 = (NI)0;
9840 T573_ = (NI)0;
9841 T573_ = len__ast_3198(it);
9842 colontmp__17 = (NI)(T573_ - ((NI) 2));
9843 i_25 = ((NI) 0);
9844 {
9845 while (1) {
9846 if (!(i_25 < colontmp__17)) goto LA575;
9847 j = i_25;
9848 {
9849 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v;
9850 v = (*it)._kind_6.sons->data[j];
9851 {
9852 if (!((*v).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA579_;
9853 {
9854 if (!(((*(*v)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0)) goto LA583_;
9855 goto LA576;
9856 }
9857 LA583_: ;
9858 pVarTopLevel__injectdestructors_6967(v, c, s, result);
9859 }
9860 LA579_: ;
9861 {
9862 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T589_;
9863 if (!!(((*ri).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA587_;
9864 T589_ = NIM_NIL;
9865 T589_ = moveOrCopy__injectdestructors_110(v, ri, c, s, ((*v).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
9866 add__ast_4797(result, T589_);
9867 }
9868 goto LA585_;
9869 LA587_: ;
9870 {
9871 NIM_BOOL T591_;
9872 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T595_;
9873 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T596_;
9874 T591_ = (NIM_BOOL)0;
9875 T591_ = ((*ri).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
9876 if (!(T591_)) goto LA592_;
9877 T591_ = (((NI) 0) < (*c).inLoop);
9878 LA592_: ;
9879 if (!T591_) goto LA593_;
9880 T595_ = NIM_NIL;
9881 T595_ = genDefaultCall__injectdestructors_6751((*v).typ, (&(*c)), (*v).info);
9882 T596_ = NIM_NIL;
9883 T596_ = moveOrCopy__injectdestructors_110(v, T595_, c, s, ((*v).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
9884 add__ast_4797(result, T596_);
9885 }
9886 goto LA585_;
9887 LA593_: ;
9888 LA585_: ;
9889 } LA576: ;
9890 i_25 += ((NI) 1);
9891 } LA575: ;
9892 }
9893 }
9894 }
9895 goto LA560_;
9896 LA570_: ;
9897 {
9898 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v_2;
9899 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itCopy;
9900 NI T602_;
9901 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T603_;
9902 v_2 = copyNode__ast_4336(n);
9903 itCopy = copyNode__ast_4336(it);
9904 {
9905 NI j_2;
9906 NI colontmp__18;
9907 NI T599_;
9908 NI i_26;
9909 j_2 = (NI)0;
9910 colontmp__18 = (NI)0;
9911 T599_ = (NI)0;
9912 T599_ = len__ast_3198(it);
9913 colontmp__18 = (NI)(T599_ - ((NI) 1));
9914 i_26 = ((NI) 0);
9915 {
9916 while (1) {
9917 if (!(i_26 < colontmp__18)) goto LA601;
9918 j_2 = i_26;
9919 add__ast_4797(itCopy, (*it)._kind_6.sons->data[j_2]);
9920 i_26 += ((NI) 1);
9921 } LA601: ;
9922 }
9923 }
9924 T602_ = (NI)0;
9925 T602_ = len__ast_3198(it);
9926 T603_ = NIM_NIL;
9927 T603_ = p__injectdestructors_105((*it)._kind_6.sons->data[(NI)(T602_ - ((NI) 1))], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
9928 add__ast_4797(itCopy, T603_);
9929 add__ast_4797(v_2, itCopy);
9930 add__ast_4797(result, v_2);
9931 }
9932 LA560_: ;
9933 i_24 += ((NI) 1);
9934 } LA558: ;
9935 }
9936 }
9937 }
9938 }
9939 break;
9940 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
9941 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
9942 {
9943 {
9944 NIM_BOOL T607_;
9945 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T615_;
9946 T607_ = (NIM_BOOL)0;
9947 T607_ = hasDestructor__injectdestructors_49((&(*c)), (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
9948 if (!(T607_)) goto LA608_;
9949 T607_ = !(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) || (*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52) || (*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51)));
9950 LA608_: ;
9951 if (!T607_) goto LA609_;
9952 {
9953 if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46))) goto LA613_;
9954 cycleCheck__injectdestructors_6908(n, c);
9955 }
9956 LA613_: ;
9957 T615_ = NIM_NIL;
9958 T615_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, mode);
9959 result = moveOrCopy__injectdestructors_110(T615_, (*n)._kind_6.sons->data[((NI) 1)], c, s, NIM_FALSE);
9960 }
9961 goto LA605_;
9962 LA609_: ;
9963 {
9964 NIM_BOOL T617_;
9965 T617_ = (NIM_BOOL)0;
9966 T617_ = isDiscriminantField__astalgo_4335((*n)._kind_6.sons->data[((NI) 0)]);
9967 if (!T617_) goto LA618_;
9968 result = genDiscriminantAsgn__injectdestructors_6668(c, s, n);
9969 }
9970 goto LA605_;
9971 LA618_: ;
9972 {
9973 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T621_;
9974 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T622_;
9975 result = copyNode__ast_4336(n);
9976 T621_ = NIM_NIL;
9977 T621_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, mode);
9978 add__ast_4797(result, T621_);
9979 T622_ = NIM_NIL;
9980 T622_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
9981 add__ast_4797(result, T622_);
9982 }
9983 LA605_: ;
9984 }
9985 break;
9986 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
9987 {
9988 result = pRaiseStmt__injectdestructors_7126(n, c, s);
9989 }
9990 break;
9991 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
9992 {
9993 internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_51), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_52);
9994 result = n;
9995 }
9996 break;
9997 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
9998 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
9999 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79):
10000 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
10001 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80):
10002 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
10003 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
10004 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
10005 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51):
10006 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
10007 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
10008 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
10009 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102):
10010 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121):
10011 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116):
10012 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118):
10013 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
10014 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
10015 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 158):
10016 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
10017 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
10018 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
10019 {
10020 result = n;
10021 }
10022 break;
10023 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 71):
10024 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 72):
10025 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
10026 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
10027 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
10028 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 91):
10029 {
10030 result = shallowCopy__ast_4413(n);
10031 {
10032 NI i_27;
10033 NI colontmp__19;
10034 NI i_28;
10035 i_27 = (NI)0;
10036 colontmp__19 = (NI)0;
10037 colontmp__19 = len__ast_3198(n);
10038 i_28 = ((NI) 0);
10039 {
10040 while (1) {
10041 if (!(i_28 < colontmp__19)) goto LA629;
10042 i_27 = i_28;
10043 asgnRef((void**) (&(*result)._kind_6.sons->data[i_27]), p__injectdestructors_105((*n)._kind_6.sons->data[i_27], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
10044 i_28 += ((NI) 1);
10045 } LA629: ;
10046 }
10047 }
10048 {
10049 NIM_BOOL T632_;
10050 T632_ = (NIM_BOOL)0;
10051 T632_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
10052 if (!(T632_)) goto LA633_;
10053 T632_ = hasDestructor__injectdestructors_49((&(*c)), (*n).typ);
10054 LA633_: ;
10055 if (!T632_) goto LA634_;
10056 {
10057 if (!(mode == ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0))) goto LA638_;
10058 result = ensureDestruction__injectdestructors_6885(result, n, c, s);
10059 }
10060 LA638_: ;
10061 }
10062 LA634_: ;
10063 }
10064 break;
10065 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
10066 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
10067 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
10068 {
10069 result = copyTree__ast_4431(n);
10070 {
10071 NIM_BOOL T643_;
10072 tyObject_TType__facALICuu8zUj0hjvbTLFg* T644_;
10073 tyObject_TType__facALICuu8zUj0hjvbTLFg* T646_;
10074 tyObject_TType__facALICuu8zUj0hjvbTLFg* nTyp_2;
10075 T643_ = (NIM_BOOL)0;
10076 T644_ = NIM_NIL;
10077 T644_ = skipTypes__ast_3735((*n).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_43);
10078 T643_ = !(((*T644_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
10079 if (!(T643_)) goto LA645_;
10080 T646_ = NIM_NIL;
10081 T646_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_43);
10082 T643_ = ((*T646_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
10083 LA645_: ;
10084 if (!T643_) goto LA647_;
10085 nTyp_2 = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
10086 asgnRef((void**) (&(*(*n)._kind_6.sons->data[((NI) 1)]).typ), (*n).typ);
10087 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, s, mode));
10088 asgnRef((void**) (&(*(*result)._kind_6.sons->data[((NI) 1)]).typ), nTyp_2);
10089 }
10090 goto LA641_;
10091 LA647_: ;
10092 {
10093 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, s, mode));
10094 }
10095 LA641_: ;
10096 }
10097 break;
10098 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
10099 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
10100 {
10101 result = copyTree__ast_4431(n);
10102 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, mode));
10103 }
10104 break;
10105 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
10106 {
10107 result = shallowCopy__ast_4413(n);
10108 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
10109 {
10110 NI i_29;
10111 NI colontmp__20;
10112 NI i_30;
10113 i_29 = (NI)0;
10114 colontmp__20 = (NI)0;
10115 colontmp__20 = len__ast_3198(n);
10116 i_30 = ((NI) 1);
10117 {
10118 while (1) {
10119 if (!(i_30 < colontmp__20)) goto LA654;
10120 i_29 = i_30;
10121 asgnRef((void**) (&(*result)._kind_6.sons->data[i_29]), (*n)._kind_6.sons->data[i_29]);
10122 i_30 += ((NI) 1);
10123 } LA654: ;
10124 }
10125 }
10126 {
10127 NIM_BOOL T657_;
10128 T657_ = (NIM_BOOL)0;
10129 T657_ = (mode == ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2));
10130 if (!(T657_)) goto LA658_;
10131 T657_ = hasDestructor__injectdestructors_49((&(*c)), (*n).typ);
10132 LA658_: ;
10133 if (!T657_) goto LA659_;
10134 {
10135 NIM_BOOL T663_;
10136 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T667_;
10137 NI T668_;
10138 T663_ = (NIM_BOOL)0;
10139 T663_ = isAnalysableFieldAccess__dfa_903(n, (*c).owner);
10140 if (!(T663_)) goto LA664_;
10141 T663_ = isLastRead__injectdestructors_6103(n, c);
10142 LA664_: ;
10143 if (!T663_) goto LA665_;
10144 T667_ = NIM_NIL;
10145 T667_ = genWasMoved__injectdestructors_6739(c, n);
10146 unsureAsgnRef((void**) (&(*s).wasMoved), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*s).wasMoved), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
10147 T668_ = (*s).wasMoved->Sup.len++;
10148 asgnRef((void**) (&(*s).wasMoved->data[T668_]), T667_);
10149 }
10150 goto LA661_;
10151 LA665_: ;
10152 {
10153 result = passCopyToSink__injectdestructors_6805(result, c, s);
10154 }
10155 LA661_: ;
10156 }
10157 LA659_: ;
10158 }
10159 break;
10160 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
10161 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
10162 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
10163 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
10164 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
10165 {
10166 result = shallowCopy__ast_4413(n);
10167 {
10168 NI i_31;
10169 NI colontmp__21;
10170 NI i_32;
10171 i_31 = (NI)0;
10172 colontmp__21 = (NI)0;
10173 colontmp__21 = len__ast_3198(n);
10174 i_32 = ((NI) 0);
10175 {
10176 while (1) {
10177 if (!(i_32 < colontmp__21)) goto LA673;
10178 i_31 = i_32;
10179 asgnRef((void**) (&(*result)._kind_6.sons->data[i_31]), p__injectdestructors_105((*n)._kind_6.sons->data[i_31], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
10180 i_32 += ((NI) 1);
10181 } LA673: ;
10182 }
10183 }
10184 {
10185 NIM_BOOL T676_;
10186 T676_ = (NIM_BOOL)0;
10187 T676_ = (mode == ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2));
10188 if (!(T676_)) goto LA677_;
10189 T676_ = hasDestructor__injectdestructors_49((&(*c)), (*n).typ);
10190 LA677_: ;
10191 if (!T676_) goto LA678_;
10192 {
10193 NIM_BOOL T682_;
10194 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T686_;
10195 NI T687_;
10196 T682_ = (NIM_BOOL)0;
10197 T682_ = isAnalysableFieldAccess__dfa_903(n, (*c).owner);
10198 if (!(T682_)) goto LA683_;
10199 T682_ = isLastRead__injectdestructors_6103(n, c);
10200 LA683_: ;
10201 if (!T682_) goto LA684_;
10202 T686_ = NIM_NIL;
10203 T686_ = genWasMoved__injectdestructors_6739(c, n);
10204 unsureAsgnRef((void**) (&(*s).wasMoved), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*s).wasMoved), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
10205 T687_ = (*s).wasMoved->Sup.len++;
10206 asgnRef((void**) (&(*s).wasMoved->data[T687_]), T686_);
10207 }
10208 goto LA680_;
10209 LA684_: ;
10210 {
10211 result = passCopyToSink__injectdestructors_6805(result, c, s);
10212 }
10213 LA680_: ;
10214 }
10215 LA678_: ;
10216 }
10217 break;
10218 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 105):
10219 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44):
10220 {
10221 result = shallowCopy__ast_4413(n);
10222 {
10223 NI i_33;
10224 NI colontmp__22;
10225 NI i_34;
10226 i_33 = (NI)0;
10227 colontmp__22 = (NI)0;
10228 colontmp__22 = len__ast_3198(n);
10229 i_34 = ((NI) 0);
10230 {
10231 while (1) {
10232 if (!(i_34 < colontmp__22)) goto LA692;
10233 i_33 = i_34;
10234 asgnRef((void**) (&(*result)._kind_6.sons->data[i_33]), p__injectdestructors_105((*n)._kind_6.sons->data[i_33], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
10235 i_34 += ((NI) 1);
10236 } LA692: ;
10237 }
10238 }
10239 }
10240 break;
10241 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
10242 {
10243 (*s).needsTry = NIM_TRUE;
10244 result = n;
10245 }
10246 break;
10247 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
10248 {
10249 result = shallowCopy__ast_4413(n);
10250 {
10251 NI i_35;
10252 NI colontmp__23;
10253 NI i_36;
10254 i_35 = (NI)0;
10255 colontmp__23 = (NI)0;
10256 colontmp__23 = len__ast_3198(n);
10257 i_36 = ((NI) 0);
10258 {
10259 while (1) {
10260 if (!(i_36 < colontmp__23)) goto LA697;
10261 i_35 = i_36;
10262 asgnRef((void**) (&(*result)._kind_6.sons->data[i_35]), p__injectdestructors_105((*n)._kind_6.sons->data[i_35], c, s, mode));
10263 i_36 += ((NI) 1);
10264 } LA697: ;
10265 }
10266 }
10267 (*s).needsTry = NIM_TRUE;
10268 }
10269 break;
10270 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
10271 {
10272 result = shallowCopy__ast_4413(n);
10273 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), (*n)._kind_6.sons->data[((NI) 0)]);
10274 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, s, mode));
10275 }
10276 break;
10277 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
10278 {
10279 result = shallowCopy__ast_4413(n);
10280 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, mode));
10281 {
10282 NI i_37;
10283 NI colontmp__24;
10284 NI i_38;
10285 i_37 = (NI)0;
10286 colontmp__24 = (NI)0;
10287 colontmp__24 = len__ast_3198(n);
10288 i_38 = ((NI) 1);
10289 {
10290 while (1) {
10291 if (!(i_38 < colontmp__24)) goto LA702;
10292 i_37 = i_38;
10293 asgnRef((void**) (&(*result)._kind_6.sons->data[i_37]), (*n)._kind_6.sons->data[i_37]);
10294 i_38 += ((NI) 1);
10295 } LA702: ;
10296 }
10297 }
10298 }
10299 break;
10300 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156):
10301 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 157):
10302 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 89):
10303 {
10304 result = n;
10305 }
10306 break;
10307 default:
10308 {
10309 NimStringDesc* T705_;
10310 T705_ = NIM_NIL;
10311 T705_ = rawNewString((reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 40);
10312 appendString(T705_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_53));
10313 appendString(T705_, reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)));
10314 internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, T705_, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_54);
10315 }
10316 break;
10317 }
10318 }
10319 LA1_: ;
10320 }BeforeRet_: ;
10321 return result;
10322 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,injectDestructorCalls__injectdestructors_10100)10323 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, injectDestructorCalls__injectdestructors_10100)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
10324 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
10325 tyObject_Con__mVYRtnERc9advo79cBQUudxg c;
10326 tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ scope;
10327 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
10328 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T29_;
10329 { result = NIM_NIL;
10330 {
10331 NIM_BOOL T3_;
10332 NIM_BOOL T5_;
10333 T3_ = (NIM_BOOL)0;
10334 T3_ = (((*owner).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 39))&63U)))!=0);
10335 if (T3_) goto LA4_;
10336 T5_ = (NIM_BOOL)0;
10337 T5_ = ((*owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15));
10338 if (!(T5_)) goto LA6_;
10339 T5_ = isInlineIterator__ast_4989((*owner).typ);
10340 LA6_: ;
10341 T3_ = T5_;
10342 LA4_: ;
10343 if (!T3_) goto LA7_;
10344 result = n;
10345 goto BeforeRet_;
10346 }
10347 LA7_: ;
10348 nimZeroMem((void*)(&c), sizeof(tyObject_Con__mVYRtnERc9advo79cBQUudxg));
10349 nimZeroMem((void*)(&c), sizeof(tyObject_Con__mVYRtnERc9advo79cBQUudxg));
10350 c.owner = owner;
10351 c.graph = g;
10352 c.g = constructCfg__dfa_1135(owner, n);
10353 c.idgen = idgen;
10354 {
10355 if (!(((*(*g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 26))&31U)))!=0)) goto LA11_;
10356 computeCursors__varpartitions_1784(owner, n, g);
10357 }
10358 LA11_: ;
10359 computeLastReadsAndFirstWrites__injectdestructors_3780(c.g);
10360 nimZeroMem((void*)(&scope), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
10361 body = p__injectdestructors_105(n, (&c), (&scope), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
10362 {
10363 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params;
10364 if (!((126976 &((NU32)1<<((NU)((*owner).kind)&31U)))!=0)) goto LA15_;
10365 params = (*(*owner).typ).n;
10366 {
10367 NI i;
10368 NI colontmp_;
10369 NI i_2;
10370 i = (NI)0;
10371 colontmp_ = (NI)0;
10372 colontmp_ = len__ast_3198(params);
10373 i_2 = ((NI) 1);
10374 {
10375 while (1) {
10376 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
10377 if (!(i_2 < colontmp_)) goto LA19;
10378 i = i_2;
10379 t = (*(*(*params)._kind_6.sons->data[i])._kind_4.sym).typ;
10380 {
10381 NIM_BOOL T22_;
10382 tyObject_TType__facALICuu8zUj0hjvbTLFg* T24_;
10383 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
10384 NI T28_;
10385 T22_ = (NIM_BOOL)0;
10386 T22_ = isSinkTypeForParam__types_4055(t);
10387 if (!(T22_)) goto LA23_;
10388 T24_ = NIM_NIL;
10389 T24_ = skipTypes__ast_3735(t, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_55);
10390 T22_ = hasDestructor__injectdestructors_49((&c), T24_);
10391 LA23_: ;
10392 if (!T22_) goto LA25_;
10393 T27_ = NIM_NIL;
10394 T27_ = genDestroy__injectdestructors_6527((&c), (*params)._kind_6.sons->data[i]);
10395 scope.final = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)(scope.final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
10396 T28_ = scope.final->Sup.len++;
10397 asgnRef((void**) (&scope.final->data[T28_]), T27_);
10398 }
10399 LA25_: ;
10400 i_2 += ((NI) 1);
10401 } LA19: ;
10402 }
10403 }
10404 }
10405 LA15_: ;
10406 T29_ = NIM_NIL;
10407 T29_ = processScope__injectdestructors_7016((&c), (&scope), body);
10408 result = optimize__optimizer_390(T29_);
10409 {
10410 NIM_BOOL T32_;
10411 tyArray__Re75IspeoxXy2oCZHwcRrA T35_;
10412 tyArray__nHXaesL0DJZHyVS07ARPRA T36_;
10413 T32_ = (NIM_BOOL)0;
10414 T32_ = nsthasKey((*(*g).config).arcToExpand, (*(*owner).name).s);
10415 if (!T32_) goto LA33_;
10416 nimZeroMem((void*)T35_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
10417 T35_[0] = copyString(((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_56));
10418 T35_[1] = copyString((*(*owner).name).s);
10419 echoBinSafe(T35_, 2);
10420 nimZeroMem((void*)T36_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
10421 T36_[0] = renderTree__renderer_46(result, 516);
10422 echoBinSafe(T36_, 1);
10423 echoBinSafe(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_57, 1);
10424 }
10425 LA33_: ;
10426 }BeforeRet_: ;
10427 return result;
10428 }
N_NIMCALL(void,compiler_injectdestructorsDatInit000)10429 N_LIB_PRIVATE N_NIMCALL(void, compiler_injectdestructorsDatInit000)(void) {
10430 static TNimNode* TM__dJ4qrEWDmqGA8FWJ0TYKJQ_2_3[3];
10431 static TNimNode* TM__dJ4qrEWDmqGA8FWJ0TYKJQ_3_4[4];
10432 static TNimNode* TM__dJ4qrEWDmqGA8FWJ0TYKJQ_4_2[2];
10433 static TNimNode* TM__dJ4qrEWDmqGA8FWJ0TYKJQ_5_2[2];
10434 static TNimNode* TM__dJ4qrEWDmqGA8FWJ0TYKJQ_12_3[3];
10435 static TNimNode TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[19];
10436 NTIkeyvaluepair__YXXBMUJBtW9corlxevWVfYQ_.size = sizeof(tyTuple__YXXBMUJBtW9corlxevWVfYQ);
10437 NTIkeyvaluepair__YXXBMUJBtW9corlxevWVfYQ_.align = NIM_ALIGNOF(tyTuple__YXXBMUJBtW9corlxevWVfYQ);
10438 NTIkeyvaluepair__YXXBMUJBtW9corlxevWVfYQ_.kind = 18;
10439 NTIkeyvaluepair__YXXBMUJBtW9corlxevWVfYQ_.base = 0;
10440 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_2_3[0] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[1];
10441 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[1].kind = 1;
10442 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[1].offset = offsetof(tyTuple__YXXBMUJBtW9corlxevWVfYQ, Field0);
10443 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[1].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
10444 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[1].name = "Field0";
10445 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_2_3[1] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[2];
10446 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[2].kind = 1;
10447 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[2].offset = offsetof(tyTuple__YXXBMUJBtW9corlxevWVfYQ, Field1);
10448 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[2].typ = (&NTItupleLa58pnode_b58pnodeT__EFqgCXJ4d8PgqOdFJmldsQ_);
10449 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[2].name = "Field1";
10450 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_2_3[2] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[3];
10451 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[3].kind = 1;
10452 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[3].offset = offsetof(tyTuple__YXXBMUJBtW9corlxevWVfYQ, Field2);
10453 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[3].typ = (&NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_);
10454 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[3].name = "Field2";
10455 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[0].len = 3; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[0].kind = 2; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[0].sons = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_2_3[0];
10456 NTIkeyvaluepair__YXXBMUJBtW9corlxevWVfYQ_.node = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[0];
10457 NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_.size = sizeof(tySequence__sh9b9afdJBB3bJbViXY7yNAg*);
10458 NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_.align = NIM_ALIGNOF(tySequence__sh9b9afdJBB3bJbViXY7yNAg*);
10459 NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_.kind = 24;
10460 NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_.base = (&NTIkeyvaluepair__YXXBMUJBtW9corlxevWVfYQ_);
10461 NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_.marker = Marker_tySequence__sh9b9afdJBB3bJbViXY7yNAg;
10462 NTIstate58objecttype__G9bbCRpuemWPWC66CPVRKyw_.size = sizeof(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw);
10463 NTIstate58objecttype__G9bbCRpuemWPWC66CPVRKyw_.align = NIM_ALIGNOF(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw);
10464 NTIstate58objecttype__G9bbCRpuemWPWC66CPVRKyw_.kind = 18;
10465 NTIstate58objecttype__G9bbCRpuemWPWC66CPVRKyw_.base = 0;
10466 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_3_4[0] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[5];
10467 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[5].kind = 1;
10468 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[5].offset = offsetof(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw, lastReads);
10469 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[5].typ = (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_);
10470 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[5].name = "lastReads";
10471 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_3_4[1] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[6];
10472 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[6].kind = 1;
10473 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[6].offset = offsetof(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw, potentialLastReads);
10474 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[6].typ = (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_);
10475 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[6].name = "potentialLastReads";
10476 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_3_4[2] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[7];
10477 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[7].kind = 1;
10478 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[7].offset = offsetof(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw, notLastReads);
10479 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[7].typ = (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_);
10480 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[7].name = "notLastReads";
10481 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_3_4[3] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[8];
10482 NTIhashset__YByQS2i9cOlUupxNMscAMwQ_.size = sizeof(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ);
10483 NTIhashset__YByQS2i9cOlUupxNMscAMwQ_.align = NIM_ALIGNOF(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ);
10484 NTIhashset__YByQS2i9cOlUupxNMscAMwQ_.kind = 18;
10485 NTIhashset__YByQS2i9cOlUupxNMscAMwQ_.base = 0;
10486 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_4_2[0] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[10];
10487 NTIkeyvaluepair__TeyVVRby9bj1JQeNMm9aeI2w_.size = sizeof(tyTuple__TeyVVRby9bj1JQeNMm9aeI2w);
10488 NTIkeyvaluepair__TeyVVRby9bj1JQeNMm9aeI2w_.align = NIM_ALIGNOF(tyTuple__TeyVVRby9bj1JQeNMm9aeI2w);
10489 NTIkeyvaluepair__TeyVVRby9bj1JQeNMm9aeI2w_.kind = 18;
10490 NTIkeyvaluepair__TeyVVRby9bj1JQeNMm9aeI2w_.base = 0;
10491 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_5_2[0] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[12];
10492 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[12].kind = 1;
10493 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[12].offset = offsetof(tyTuple__TeyVVRby9bj1JQeNMm9aeI2w, Field0);
10494 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[12].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
10495 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[12].name = "Field0";
10496 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_5_2[1] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[13];
10497 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[13].kind = 1;
10498 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[13].offset = offsetof(tyTuple__TeyVVRby9bj1JQeNMm9aeI2w, Field1);
10499 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[13].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
10500 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[13].name = "Field1";
10501 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[11].len = 2; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[11].kind = 2; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[11].sons = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_5_2[0];
10502 NTIkeyvaluepair__TeyVVRby9bj1JQeNMm9aeI2w_.node = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[11];
10503 NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_.size = sizeof(tySequence__Y6pVop4P8VSwSorRqc2aQA*);
10504 NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_.align = NIM_ALIGNOF(tySequence__Y6pVop4P8VSwSorRqc2aQA*);
10505 NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_.kind = 24;
10506 NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_.base = (&NTIkeyvaluepair__TeyVVRby9bj1JQeNMm9aeI2w_);
10507 NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_.marker = Marker_tySequence__Y6pVop4P8VSwSorRqc2aQA;
10508 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[10].kind = 1;
10509 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[10].offset = offsetof(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ, data);
10510 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[10].typ = (&NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_);
10511 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[10].name = "data";
10512 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_4_2[1] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[14];
10513 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[14].kind = 1;
10514 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[14].offset = offsetof(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ, counter);
10515 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[14].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
10516 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[14].name = "counter";
10517 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[9].len = 2; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[9].kind = 2; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[9].sons = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_4_2[0];
10518 NTIhashset__YByQS2i9cOlUupxNMscAMwQ_.node = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[9];
10519 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[8].kind = 1;
10520 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[8].offset = offsetof(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw, alreadySeen);
10521 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[8].typ = (&NTIhashset__YByQS2i9cOlUupxNMscAMwQ_);
10522 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[8].name = "alreadySeen";
10523 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[4].len = 4; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[4].kind = 2; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[4].sons = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_3_4[0];
10524 NTIstate58objecttype__G9bbCRpuemWPWC66CPVRKyw_.node = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[4];
10525 NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_.size = sizeof(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw*);
10526 NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_.align = NIM_ALIGNOF(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw*);
10527 NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_.kind = 22;
10528 NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_.base = (&NTIstate58objecttype__G9bbCRpuemWPWC66CPVRKyw_);
10529 NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_.marker = Marker_tyRef__xMu9aauGSW9bIwiWptXaXX0Q;
10530 NTIseqLstateT__mFtVDW3p7w6wfPPNodKzsA_.size = sizeof(tySequence__mFtVDW3p7w6wfPPNodKzsA*);
10531 NTIseqLstateT__mFtVDW3p7w6wfPPNodKzsA_.align = NIM_ALIGNOF(tySequence__mFtVDW3p7w6wfPPNodKzsA*);
10532 NTIseqLstateT__mFtVDW3p7w6wfPPNodKzsA_.kind = 24;
10533 NTIseqLstateT__mFtVDW3p7w6wfPPNodKzsA_.base = (&NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_);
10534 NTIseqLstateT__mFtVDW3p7w6wfPPNodKzsA_.marker = Marker_tySequence__mFtVDW3p7w6wfPPNodKzsA;
10535 NTIkeyvaluepair__jCPpzNasrXtz9cFJFxT1NHQ_.size = sizeof(tyTuple__jCPpzNasrXtz9cFJFxT1NHQ);
10536 NTIkeyvaluepair__jCPpzNasrXtz9cFJFxT1NHQ_.align = NIM_ALIGNOF(tyTuple__jCPpzNasrXtz9cFJFxT1NHQ);
10537 NTIkeyvaluepair__jCPpzNasrXtz9cFJFxT1NHQ_.kind = 18;
10538 NTIkeyvaluepair__jCPpzNasrXtz9cFJFxT1NHQ_.base = 0;
10539 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_12_3[0] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[16];
10540 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[16].kind = 1;
10541 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[16].offset = offsetof(tyTuple__jCPpzNasrXtz9cFJFxT1NHQ, Field0);
10542 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[16].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
10543 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[16].name = "Field0";
10544 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_12_3[1] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[17];
10545 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[17].kind = 1;
10546 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[17].offset = offsetof(tyTuple__jCPpzNasrXtz9cFJFxT1NHQ, Field1);
10547 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[17].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
10548 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[17].name = "Field1";
10549 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_12_3[2] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[18];
10550 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[18].kind = 1;
10551 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[18].offset = offsetof(tyTuple__jCPpzNasrXtz9cFJFxT1NHQ, Field2);
10552 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[18].typ = (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_);
10553 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[18].name = "Field2";
10554 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[15].len = 3; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[15].kind = 2; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[15].sons = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_12_3[0];
10555 NTIkeyvaluepair__jCPpzNasrXtz9cFJFxT1NHQ_.node = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[15];
10556 NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_.size = sizeof(tySequence__JGK6WZYU2JHWLoPdKRO4AQ*);
10557 NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_.align = NIM_ALIGNOF(tySequence__JGK6WZYU2JHWLoPdKRO4AQ*);
10558 NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_.kind = 24;
10559 NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_.base = (&NTIkeyvaluepair__jCPpzNasrXtz9cFJFxT1NHQ_);
10560 NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_.marker = Marker_tySequence__JGK6WZYU2JHWLoPdKRO4AQ;
10561 }
10562
10563