1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3
4 #include "nimbase.h"
5 #include <string.h>
6 #undef LANGUAGE_C
7 #undef MIPSEB
8 #undef MIPSEL
9 #undef PPC
10 #undef R3000
11 #undef R4000
12 #undef i386
13 #undef linux
14 #undef mips
15 #undef near
16 #undef far
17 #undef powerpc
18 #undef unix
19 #define nimfr_(x, y)
20 #define nimln_(x, y)
21 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
22 typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
23 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
24 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
25 typedef struct tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A;
26 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
27 typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
28 typedef struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ tySequence__4mZLwkxT8rbt9bf3wXrXYNQ;
29 typedef struct tySequence__rQHmYk1HzcwNxKBymIFHpA tySequence__rQHmYk1HzcwNxKBymIFHpA;
30 typedef struct tySequence__XMM60DtBsc6xYsIpNANkrA tySequence__XMM60DtBsc6xYsIpNANkrA;
31 typedef struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw;
32 typedef struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg;
33 typedef struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg;
34 typedef struct tySequence__mWRMiYLthG9coLjkbElCxkw tySequence__mWRMiYLthG9coLjkbElCxkw;
35 typedef struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyObject_Table__iowAVDkco3qpbEH0z8OmkQ;
36 typedef struct tySequence__bTDCDwD2P7TodzbAefLcSw tySequence__bTDCDwD2P7TodzbAefLcSw;
37 typedef struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w;
38 typedef struct tySequence__3MPVXAHA08SszBrU4ffqEg tySequence__3MPVXAHA08SszBrU4ffqEg;
39 typedef struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw tyObject_Table__KcymdZjUsmGSK8BxmvoJgw;
40 typedef struct tySequence__YCf5zJHm4JI06qpmKwPUWg tySequence__YCf5zJHm4JI06qpmKwPUWg;
41 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
42 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
43 typedef struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ;
44 typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
45 typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
46 typedef struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA;
47 typedef struct tySequence__61s9cbAniKuBrdHwBhMDfQg tySequence__61s9cbAniKuBrdHwBhMDfQg;
48 typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
49 typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
50 typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
51 typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
52 typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
53 typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
54 typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
55 typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
56 typedef struct RootObj RootObj;
57 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
58 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
59 typedef struct tySequence__s9byh6WFJ16lPMcmqdaMTHA tySequence__s9byh6WFJ16lPMcmqdaMTHA;
60 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
61 typedef struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw tyObject_Table__Ue6w4c82v7gc7t2qntTbAw;
62 typedef struct tySequence__1U9bG8RcAedEeYkQLZjVFKA tySequence__1U9bG8RcAedEeYkQLZjVFKA;
63 typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
64 typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
65 typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
66 typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
67 typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
68 typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
69 typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
70 typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
71 typedef struct tySequence__MAQKEADohlpnXTModtugbQ tySequence__MAQKEADohlpnXTModtugbQ;
72 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
73 typedef struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA;
74 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
75 typedef struct TNimType TNimType;
76 typedef struct TNimNode TNimNode;
77 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
78 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
79 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
80 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
81 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
82 typedef struct NimStringDesc NimStringDesc;
83 typedef struct TGenericSeq TGenericSeq;
84 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
85 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
86 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
87 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
88 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
89 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
90 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
91 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
92 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
93 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
94 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
95 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
96 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
97 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
98 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
99 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
100 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
101 typedef struct tyObject_PreprocessContext__ATjkivkWYrBstrMNxiy9cNw tyObject_PreprocessContext__ATjkivkWYrBstrMNxiy9cNw;
102 typedef struct tySequence__1I3cxybVrOXM64KW2dfERQ tySequence__1I3cxybVrOXM64KW2dfERQ;
103 typedef struct tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw;
104 typedef struct tyObject_FreshVarsContext__BITJ25TBEN8CE4NK59coN0w tyObject_FreshVarsContext__BITJ25TBEN8CE4NK59coN0w;
105 typedef struct tyObject_Table__5WMmzblM3wEpYUTgMBzetQ tyObject_Table__5WMmzblM3wEpYUTgMBzetQ;
106 typedef struct tySequence__gVogYzwlGNrCaz6jQnXRzA tySequence__gVogYzwlGNrCaz6jQnXRzA;
107 typedef struct tyTuple__O3AtiO8fwKWfdl6NGmuzhw tyTuple__O3AtiO8fwKWfdl6NGmuzhw;
108 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
109 typedef struct tyTuple__EFqgCXJ4d8PgqOdFJmldsQ tyTuple__EFqgCXJ4d8PgqOdFJmldsQ;
110 typedef struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA;
111 typedef struct tySequence__vv5mGmK03BCr5e3LTZA5Hw tySequence__vv5mGmK03BCr5e3LTZA5Hw;
112 typedef struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w;
113 typedef struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ;
114 typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
115 typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
116 typedef struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw;
117 typedef struct tySequence__29bS0n2QNyO1R7e0qMMOvLA tySequence__29bS0n2QNyO1R7e0qMMOvLA;
118 typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
119 typedef struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg tySequence__REuPuHuSlOkZ0Q5oqzDrQg;
120 typedef struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA tySequence__I9aQmO9asXXWJ58UI9c8BCSzA;
121 typedef struct tySequence__NyaOkf8ZwxP6rkRF5TOkew tySequence__NyaOkf8ZwxP6rkRF5TOkew;
122 typedef struct tySequence__L9bOt8CaTEmIjgtuZvp6syg tySequence__L9bOt8CaTEmIjgtuZvp6syg;
123 typedef struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ tySequence__im8UB2GsZvUaQ4a1wKGWhQ;
124 typedef struct tySequence__xxnXDLpoqBo8zJzP9b1073g tySequence__xxnXDLpoqBo8zJzP9b1073g;
125 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
126 typedef struct tySequence__DfmUmNgVGnYaiV1I6227tw tySequence__DfmUmNgVGnYaiV1I6227tw;
127 typedef struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA tySequence__t8Uv4lEJ4lkuECvP9c6JMhA;
128 typedef struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg;
129 typedef struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ;
130 typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
131 typedef struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g tyObject_Table__CE4eiu6FavV1vmUiTXQ70g;
132 typedef struct tySequence__9bT7o0CflHuiE4VhmtqBPCw tySequence__9bT7o0CflHuiE4VhmtqBPCw;
133 typedef struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw;
134 typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q;
135 typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
136 typedef struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ;
137 typedef struct tySequence__O5RcspOP32YJ4YtU5ppxxA tySequence__O5RcspOP32YJ4YtU5ppxxA;
138 typedef struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg;
139 typedef struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ;
140 typedef struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ;
141 typedef struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg tyTuple__o67sDX0wYbEuhI9cJYAbDtg;
142 typedef struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA;
143 typedef struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg;
144 typedef struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA tySequence__ipEvhpHAmm8ZCn9bZAOdNYA;
145 typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
146 typedef struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q tyTuple__9aNnDWBFMF44sfFinBpMT4Q;
147 typedef struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg;
148 typedef struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g tySequence__159bHWBGAOOs6U7OZ9cQlO0g;
149 typedef struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ tyTuple__VrD6plbUKJjYKM0lCr3hGQ;
150 typedef struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA;
151 typedef struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA tyTuple__1ZbjBgxAbnye0IFMZ6w4OA;
152 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
153 typedef struct tyTuple__rplX06U9bjhu9asm5pWdgqsA tyTuple__rplX06U9bjhu9asm5pWdgqsA;
154 typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
155 typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
156 typedef struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A;
157 typedef struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ tyTuple__3i6hlQmqrn6m7tuVN8FHjQ;
158 typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
159 typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
160 typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
161 typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
162 typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
163 typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
164 typedef struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ;
165 typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
166 typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
167 typedef struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow;
168 typedef struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg;
169 typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
170 typedef struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA tyTuple__Q7r9caOmeWqQGZCIBHhGRUA;
171 typedef struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg;
172 typedef struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw tyTuple__XyJ8LOAZzVVXSsmt09b8uWw;
173 typedef struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA;
174 typedef struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw tySequence__vC9cvg0R8tfBaOXXi3sfMzw;
175 typedef struct tyTuple__9aoobCDZB4x41HJSOmh0mwA tyTuple__9aoobCDZB4x41HJSOmh0mwA;
176 typedef struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA tyTuple__g0Q6Qx15nK53ce9aLo7YyrA;
177 typedef struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw;
178 typedef struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw;
179 typedef struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA;
180 typedef struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ;
181 typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
182 struct tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A {
183 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g;
184 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn;
185 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* stateVarSym;
186 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* tmpResultSym;
187 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* unrollFinallySym;
188 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* curExcSym;
189 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* states;
190 NI blockLevel;
191 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* stateLoopLabel;
192 NI exitStateIdx;
193 NI tempVarId;
194 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tempVars;
195 tySequence__qwqHTkRvwhrRyENtudHQ7g* exceptionTable;
196 NIM_BOOL hasExceptions;
197 NI curExcHandlingState;
198 NI nearestFinally;
199 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
200 };
201 struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw {
202 tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg* data;
203 NI counter;
204 };
205 struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg {
206 tySequence__mWRMiYLthG9coLjkbElCxkw* data;
207 NI counter;
208 };
209 struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ {
210 tySequence__bTDCDwD2P7TodzbAefLcSw* data;
211 NI counter;
212 };
213 typedef tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ[5];
214 struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w {
215 tySequence__3MPVXAHA08SszBrU4ffqEg* data;
216 NI counter;
217 };
218 struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw {
219 tySequence__YCf5zJHm4JI06qpmKwPUWg* data;
220 NI counter;
221 };
222 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
223 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
224 NI counter;
225 };
226 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
227 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
228 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
229 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
230 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
231 struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ {
232 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
233 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
234 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
235 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
236 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
237 };
238 struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
239 NI counter;
240 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data;
241 };
242 struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA {
243 tySequence__61s9cbAniKuBrdHwBhMDfQg* data;
244 NI counter;
245 };
246 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
247 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
248 NI elems;
249 NI counter;
250 NI max;
251 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
252 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
253 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
254 };
255 struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
256 tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
257 NI counter;
258 };
259 struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
260 tySequence__kxu4GK0onha2t9bo86mdVAg* data;
261 NI counter;
262 };
263 typedef struct {
264 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
265 void* ClE_0;
266 } tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
267 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__9bjuenwQUcqO3lbmS2wX7uA[65];
268 struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw {
269 tySequence__1U9bG8RcAedEeYkQLZjVFKA* data;
270 NI counter;
271 };
272 struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
273 tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
274 NI counter;
275 };
276 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__VHDwJFdIqpwtpUGuxiXUwg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
277 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__mjUN9alLJ31lnSKkUsuyWMw) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
278 struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
279 tySequence__23SMqauuRsbDANhthj9bWlA* data;
280 NI counter;
281 };
282 struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
283 tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
284 NI counter;
285 };
286 struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
287 tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
288 NI counter;
289 };
290 typedef N_NIMCALL_PTR(void, tyProc__TjycsqkDBjsxd4da6KYTng) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
291 typedef N_NIMCALL_PTR(void, tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
292 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__J7Jq15ZScfKLqcLx8sEz9cA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
293 struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA {
294 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opNot;
295 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opContains;
296 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLe;
297 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLt;
298 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAnd;
299 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opOr;
300 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opIsNil;
301 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opEq;
302 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAdd;
303 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opSub;
304 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opMul;
305 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opDiv;
306 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLen;
307 };
308 struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ {
309 tySequence__4mZLwkxT8rbt9bf3wXrXYNQ* ifaces;
310 tySequence__rQHmYk1HzcwNxKBymIFHpA* packed_0;
311 tySequence__XMM60DtBsc6xYsIpNANkrA* encoders;
312 tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw typeInstCache;
313 tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg procInstCache;
314 tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ attachedOps;
315 tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w methodsPerType;
316 tyObject_Table__KcymdZjUsmGSK8BxmvoJgw enumToStringProcs;
317 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
318 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ startupPackedConfig;
319 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms;
320 tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA modulesPerPackage;
321 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
322 tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
323 NIM_BOOL suggestMode;
324 NIM_BOOL invalidTransitiveClosure;
325 tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
326 tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
327 RootObj* backend;
328 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
329 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
330 RootObj* vm;
331 tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
332 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* usageSym;
333 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* owners;
334 tySequence__s9byh6WFJ16lPMcmqdaMTHA* methods;
335 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* systemModule;
336 tyArray__9bjuenwQUcqO3lbmS2wX7uA sysTypes;
337 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs;
338 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed;
339 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageTypes;
340 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
341 tyObject_Table__Ue6w4c82v7gc7t2qntTbAw canonTypes;
342 tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
343 tyProc__VHDwJFdIqpwtpUGuxiXUwg importModuleCallback;
344 tyProc__mjUN9alLJ31lnSKkUsuyWMw includeFileCallback;
345 tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
346 tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
347 tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables;
348 tySequence__MAQKEADohlpnXTModtugbQ* passes;
349 tyProc__TjycsqkDBjsxd4da6KYTng onDefinition;
350 tyProc__TjycsqkDBjsxd4da6KYTng onDefinitionResolveForward;
351 tyProc__TjycsqkDBjsxd4da6KYTng onUsage;
352 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
353 tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ strongSemCheck;
354 tyProc__J7Jq15ZScfKLqcLx8sEz9cA compatibleProps;
355 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
356 tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA operators;
357 };
358 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
359 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
360 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
361 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
362 struct TNimType {
363 NI size;
364 NI align;
365 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
366 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
367 TNimType* base;
368 TNimNode* node;
369 void* finalizer;
370 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
371 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
372 };
373 struct RootObj {
374 TNimType* m_type;
375 };
376 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
377 NI32 module;
378 NI32 item;
379 };
380 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
381 RootObj Sup;
382 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
383 };
384 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
385 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
386 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
387 NU16 line;
388 NI16 col;
389 NI32 fileIndex;
390 };
391 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
392 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
393 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
394 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
395 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
396 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
397 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
398 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
399 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
400 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
401 };
402 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
403 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
404 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
405 union{
406 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
407 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
408 } _kind_1;
409 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
410 NI bitsize;
411 NI alignment;
412 } _kind_2;
413 };
414 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
415 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
416 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
417 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
418 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
419 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
420 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
421 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
422 NI position;
423 NI offset;
424 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
425 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
426 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
427 };
428 struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q {
429 NI32 module;
430 NI32 symId;
431 NI32 typeId_0;
432 NIM_BOOL sealed;
433 };
434 struct TGenericSeq {
435 NI len;
436 NI reserved;
437 };
438 struct NimStringDesc {
439 TGenericSeq Sup;
440 NIM_CHAR data[SEQ_DECL_SIZE];
441 };
442 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
443 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
444 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
445 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
446 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
447 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
448 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
449 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
450 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
451 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
452 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
453 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
454 NI64 size;
455 NI16 align;
456 NI16 paddingAtEnd;
457 NI16 lockLevel;
458 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
459 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
460 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
461 };
462 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
463 NI refcount;
464 TNimType* typ;
465 };
466 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
467 void* bottom;
468 };
469 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
470 NI len;
471 NI cap;
472 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
473 };
474 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
475 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
476 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
477 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
478 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
479 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
480 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
481 };
482 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
483 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
484 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
485 NI key;
486 NI upperBound;
487 NI level;
488 };
489 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
490 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
491 NI Field1;
492 };
493 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
494 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
495 NI len;
496 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
497 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
498 };
499 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
500 NI minLargeObj;
501 NI maxLargeObj;
502 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
503 NU32 flBitmap;
504 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
505 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
506 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
507 NI currMem;
508 NI maxMem;
509 NI freeMem;
510 NI occ;
511 NI lastSize;
512 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
513 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
514 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
515 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
516 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
517 NIM_BOOL locked;
518 NIM_BOOL blockChunkSizeIncrease;
519 NI nextChunkSize;
520 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
521 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
522 };
523 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
524 NI stackScans;
525 NI cycleCollections;
526 NI maxThreshold;
527 NI maxStackSize;
528 NI maxStackCells;
529 NI cycleTableSize;
530 NI64 maxPause;
531 };
532 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
533 NI counter;
534 NI max;
535 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
536 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
537 };
538 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
539 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
540 NI cycleThreshold;
541 NI zctThreshold;
542 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
543 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
544 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
545 NI recGcLock;
546 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
547 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
548 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
549 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
550 NI gcThreadId;
551 };
552 struct tyObject_PreprocessContext__ATjkivkWYrBstrMNxiy9cNw {
553 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* finallys;
554 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
555 tySequence__1I3cxybVrOXM64KW2dfERQ* blocks;
556 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
557 };
558 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
559 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
560 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
561 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
562 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
563 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
564 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
565 union{
566 struct {NI64 intVal;
567 } _kind_1;
568 struct {NF floatVal;
569 } _kind_2;
570 struct {NimStringDesc* strVal;
571 } _kind_3;
572 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
573 } _kind_4;
574 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
575 } _kind_5;
576 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
577 } _kind_6;
578 };
579 };
580 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
581 struct TNimNode {
582 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
583 NI offset;
584 TNimType* typ;
585 NCSTRING name;
586 NI len;
587 TNimNode** sons;
588 };
589 struct tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw {
590 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field0;
591 NI Field1;
592 };
593 struct tyObject_Table__5WMmzblM3wEpYUTgMBzetQ {
594 tySequence__gVogYzwlGNrCaz6jQnXRzA* data;
595 NI counter;
596 };
597 struct tyObject_FreshVarsContext__BITJ25TBEN8CE4NK59coN0w {
598 tyObject_Table__5WMmzblM3wEpYUTgMBzetQ tab;
599 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
600 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
601 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
602 };
603 struct tyTuple__O3AtiO8fwKWfdl6NGmuzhw {
604 NI Field0;
605 NI Field1;
606 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
607 };
608 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
609 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
610 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
611 NimStringDesc* Field0;
612 NI Field1;
613 NI Field2;
614 };
615 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__jlWPjgtbdjE069arIWHC9c9bg[1];
616 struct tyTuple__EFqgCXJ4d8PgqOdFJmldsQ {
617 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field0;
618 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field1;
619 };
620 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__AB6yfoUgfWM2NtGe9bzkCmw[2];
621 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__T6RKPw8xfAeNaoei9aZGzXg[3];
622 typedef NU8 tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g;
623 struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA {
624 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
625 tySequence__vv5mGmK03BCr5e3LTZA5Hw* converters;
626 tySequence__vv5mGmK03BCr5e3LTZA5Hw* patterns;
627 tySequence__vv5mGmK03BCr5e3LTZA5Hw* pureEnums;
628 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interf;
629 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interfHidden;
630 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* uniqueName;
631 };
632 typedef NU8 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q;
633 struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw {
634 tySequence__29bS0n2QNyO1R7e0qMMOvLA* nodes;
635 };
636 typedef NU8 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g;
637 struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg {
638 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* vals;
639 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
640 };
641 struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ {
642 tySequence__IHUFRsFxZNv7YydiUO2esQ* vals;
643 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
644 };
645 struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ {
646 NimStringDesc* definedSymbols;
647 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw moduleFlags;
648 tySequence__PXIzfWocnrafGz5p3CP5LA* includes;
649 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* imports;
650 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw toReplay;
651 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw topLevel;
652 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw bodies;
653 tySequence__b89aLriiJnVTD186H6zNIgg* exports;
654 tySequence__b89aLriiJnVTD186H6zNIgg* hidden;
655 tySequence__REuPuHuSlOkZ0Q5oqzDrQg* reexports;
656 tySequence__b89aLriiJnVTD186H6zNIgg* compilerProcs;
657 tySequence__48JTohSgTy339bRxHzUD8KA* converters;
658 tySequence__48JTohSgTy339bRxHzUD8KA* methods;
659 tySequence__48JTohSgTy339bRxHzUD8KA* trmacros;
660 tySequence__48JTohSgTy339bRxHzUD8KA* pureEnums;
661 tySequence__I9aQmO9asXXWJ58UI9c8BCSzA* macroUsages;
662 tySequence__NyaOkf8ZwxP6rkRF5TOkew* typeInstCache;
663 tySequence__L9bOt8CaTEmIjgtuZvp6syg* procInstCache;
664 tySequence__im8UB2GsZvUaQ4a1wKGWhQ* attachedOps;
665 tySequence__xxnXDLpoqBo8zJzP9b1073g* methodsPerType;
666 tySequence__NyaOkf8ZwxP6rkRF5TOkew* enumToStringProcs;
667 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* emittedTypeInfo;
668 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g backendFlags;
669 tySequence__DfmUmNgVGnYaiV1I6227tw* syms;
670 tySequence__t8Uv4lEJ4lkuECvP9c6JMhA* types;
671 tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg strings;
672 tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ numbers;
673 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ cfg;
674 };
675 struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g {
676 tySequence__9bT7o0CflHuiE4VhmtqBPCw* data;
677 NI counter;
678 };
679 struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w {
680 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q status;
681 NIM_BOOL symsInit;
682 NIM_BOOL typesInit;
683 NIM_BOOL loadedButAliveSetChanged;
684 tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ fromDisk;
685 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* syms;
686 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
687 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
688 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g iface;
689 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g ifaceHidden;
690 };
691 struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q {
692 tySequence__9cnx3zXnWzeclW8Ko4oUgAQ* data;
693 NI counter;
694 };
695 struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw {
696 NI32 thisModule;
697 NI32 lastFile;
698 NU32 lastLit;
699 tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames;
700 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* pendingTypes;
701 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* pendingSyms;
702 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker;
703 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker;
704 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
705 };
706 struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ {
707 NU32 module;
708 NI32 item;
709 };
710 struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ {
711 NI module;
712 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ packed_0;
713 };
714 struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg {
715 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
716 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
717 };
718 struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ {
719 NI Field0;
720 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
721 tySequence__O5RcspOP32YJ4YtU5ppxxA* Field2;
722 };
723 struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg {
724 NI module;
725 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ sym;
726 tySequence__ipEvhpHAmm8ZCn9bZAOdNYA* concreteTypes;
727 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
728 };
729 struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg {
730 NI Field0;
731 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
732 tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA* Field2;
733 };
734 struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q {
735 NI Field0;
736 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
737 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
738 };
739 struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA {
740 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
741 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
742 };
743 struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ {
744 NI Field0;
745 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field1;
746 };
747 struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg {
748 NI Field0;
749 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
750 tySequence__159bHWBGAOOs6U7OZ9cQlO0g* Field2;
751 };
752 struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA {
753 NI Field0;
754 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
755 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field2;
756 };
757 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
758 NI Field0;
759 NimStringDesc* Field1;
760 NI32 Field2;
761 };
762 struct tyTuple__rplX06U9bjhu9asm5pWdgqsA {
763 NI Field0;
764 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
765 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA Field2;
766 };
767 struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
768 NI Field0;
769 NI32 Field1;
770 tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
771 };
772 struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
773 NI Field0;
774 NI32 Field1;
775 NI32 Field2;
776 };
777 struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A {
778 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* Field0;
779 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
780 };
781 typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
782 struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ {
783 NI Field0;
784 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
785 tyObject_TType__facALICuu8zUj0hjvbTLFg* Field2;
786 };
787 struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
788 NI Field0;
789 NI Field1;
790 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
791 };
792 struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
793 NI Field0;
794 NimStringDesc* Field1;
795 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
796 };
797 struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
798 NI Field0;
799 NimStringDesc* Field1;
800 NI64 Field2;
801 };
802 struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
803 tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
804 NI entries;
805 };
806 struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
807 NI Field0;
808 NimStringDesc* Field1;
809 tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
810 };
811 typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__jkSFMhvPZ1AdGcvT2dK9a2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
812 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
813 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
814 struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ {
815 tyProc__jkSFMhvPZ1AdGcvT2dK9a2w Field0;
816 tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1;
817 tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2;
818 NIM_BOOL Field3;
819 };
820 struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
821 NU32 Field0;
822 NimStringDesc* Field1;
823 };
824 struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg {
825 NU16 line;
826 NI16 col;
827 NU32 file;
828 };
829 struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow {
830 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
831 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
832 NI32 operand;
833 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeId_0;
834 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
835 };
836 struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
837 NU32 Field0;
838 NI32 Field1;
839 };
840 struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA {
841 NU32 Field0;
842 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
843 };
844 struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg {
845 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
846 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg Field1;
847 };
848 struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw {
849 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
850 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
851 };
852 struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA {
853 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ key;
854 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
855 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* concreteTypes;
856 };
857 typedef NU8 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg;
858 struct tyTuple__9aoobCDZB4x41HJSOmh0mwA {
859 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg Field0;
860 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
861 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
862 };
863 struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA {
864 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
865 NI Field1;
866 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
867 };
868 typedef NU8 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ;
869 struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw {
870 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ kind;
871 NIM_BOOL generated;
872 NIM_BOOL isOverriden;
873 NU32 name;
874 NI32 path;
875 };
876 struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw {
877 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
878 NU32 name;
879 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typ;
880 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
881 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
882 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
883 NI32 ast;
884 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
885 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ guard;
886 NI bitsize;
887 NI alignment;
888 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
889 NI position;
890 NI offset;
891 NU32 externalName;
892 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA locFlags;
893 tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw annex;
894 NI32 constraint;
895 };
896 struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA {
897 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
898 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
899 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
900 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* types;
901 NI32 n;
902 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
903 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
904 NI64 size;
905 NI16 align;
906 NI16 paddingAtEnd;
907 NI16 lockLevel;
908 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeInst;
909 NI32 nonUniqueId;
910 };
911 struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ {
912 NI Field0;
913 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* Field1;
914 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* Field2;
915 };
916 struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
917 NI Field0;
918 NI32 Field1;
919 NU32 Field2;
920 };
921 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
922 TGenericSeq Sup;
923 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
924 };
925 struct tySequence__1I3cxybVrOXM64KW2dfERQ {
926 TGenericSeq Sup;
927 tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw data[SEQ_DECL_SIZE];
928 };
929 struct tySequence__gVogYzwlGNrCaz6jQnXRzA {
930 TGenericSeq Sup;
931 tyTuple__O3AtiO8fwKWfdl6NGmuzhw data[SEQ_DECL_SIZE];
932 };
933 struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
934 TGenericSeq Sup;
935 NI data[SEQ_DECL_SIZE];
936 };
937 struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ {
938 TGenericSeq Sup;
939 tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA data[SEQ_DECL_SIZE];
940 };
941 struct tySequence__rQHmYk1HzcwNxKBymIFHpA {
942 TGenericSeq Sup;
943 tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w data[SEQ_DECL_SIZE];
944 };
945 struct tySequence__XMM60DtBsc6xYsIpNANkrA {
946 TGenericSeq Sup;
947 tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw data[SEQ_DECL_SIZE];
948 };
949 struct tySequence__O5RcspOP32YJ4YtU5ppxxA {
950 TGenericSeq Sup;
951 tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg data[SEQ_DECL_SIZE];
952 };
953 struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg {
954 TGenericSeq Sup;
955 tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ data[SEQ_DECL_SIZE];
956 };
957 struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA {
958 TGenericSeq Sup;
959 tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg data[SEQ_DECL_SIZE];
960 };
961 struct tySequence__mWRMiYLthG9coLjkbElCxkw {
962 TGenericSeq Sup;
963 tyTuple__o67sDX0wYbEuhI9cJYAbDtg data[SEQ_DECL_SIZE];
964 };
965 struct tySequence__bTDCDwD2P7TodzbAefLcSw {
966 TGenericSeq Sup;
967 tyTuple__9aNnDWBFMF44sfFinBpMT4Q data[SEQ_DECL_SIZE];
968 };
969 struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g {
970 TGenericSeq Sup;
971 tyTuple__VrD6plbUKJjYKM0lCr3hGQ data[SEQ_DECL_SIZE];
972 };
973 struct tySequence__3MPVXAHA08SszBrU4ffqEg {
974 TGenericSeq Sup;
975 tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg data[SEQ_DECL_SIZE];
976 };
977 struct tySequence__YCf5zJHm4JI06qpmKwPUWg {
978 TGenericSeq Sup;
979 tyTuple__1ZbjBgxAbnye0IFMZ6w4OA data[SEQ_DECL_SIZE];
980 };
981 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
982 TGenericSeq Sup;
983 tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
984 };
985 struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
986 TGenericSeq Sup;
987 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
988 };
989 struct tySequence__61s9cbAniKuBrdHwBhMDfQg {
990 TGenericSeq Sup;
991 tyTuple__rplX06U9bjhu9asm5pWdgqsA data[SEQ_DECL_SIZE];
992 };
993 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
994 TGenericSeq Sup;
995 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
996 };
997 struct tySequence__48JTohSgTy339bRxHzUD8KA {
998 TGenericSeq Sup;
999 NI32 data[SEQ_DECL_SIZE];
1000 };
1001 struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
1002 TGenericSeq Sup;
1003 tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
1004 };
1005 struct tySequence__kxu4GK0onha2t9bo86mdVAg {
1006 TGenericSeq Sup;
1007 tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
1008 };
1009 struct tySequence__s9byh6WFJ16lPMcmqdaMTHA {
1010 TGenericSeq Sup;
1011 tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A data[SEQ_DECL_SIZE];
1012 };
1013 struct tySequence__1U9bG8RcAedEeYkQLZjVFKA {
1014 TGenericSeq Sup;
1015 tyTuple__3i6hlQmqrn6m7tuVN8FHjQ data[SEQ_DECL_SIZE];
1016 };
1017 struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
1018 TGenericSeq Sup;
1019 tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
1020 };
1021 struct tySequence__23SMqauuRsbDANhthj9bWlA {
1022 TGenericSeq Sup;
1023 tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
1024 };
1025 struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
1026 TGenericSeq Sup;
1027 tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
1028 };
1029 struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
1030 TGenericSeq Sup;
1031 tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
1032 };
1033 struct tySequence__MAQKEADohlpnXTModtugbQ {
1034 TGenericSeq Sup;
1035 tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ data[SEQ_DECL_SIZE];
1036 };
1037 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
1038 TGenericSeq Sup;
1039 tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
1040 };
1041 struct tySequence__vv5mGmK03BCr5e3LTZA5Hw {
1042 TGenericSeq Sup;
1043 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA data[SEQ_DECL_SIZE];
1044 };
1045 struct tySequence__PXIzfWocnrafGz5p3CP5LA {
1046 TGenericSeq Sup;
1047 tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE];
1048 };
1049 struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
1050 TGenericSeq Sup;
1051 NU32 data[SEQ_DECL_SIZE];
1052 };
1053 struct tySequence__29bS0n2QNyO1R7e0qMMOvLA {
1054 TGenericSeq Sup;
1055 tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow data[SEQ_DECL_SIZE];
1056 };
1057 struct tySequence__b89aLriiJnVTD186H6zNIgg {
1058 TGenericSeq Sup;
1059 tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];
1060 };
1061 struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg {
1062 TGenericSeq Sup;
1063 tyTuple__Q7r9caOmeWqQGZCIBHhGRUA data[SEQ_DECL_SIZE];
1064 };
1065 struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA {
1066 TGenericSeq Sup;
1067 tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg data[SEQ_DECL_SIZE];
1068 };
1069 struct tySequence__NyaOkf8ZwxP6rkRF5TOkew {
1070 TGenericSeq Sup;
1071 tyTuple__XyJ8LOAZzVVXSsmt09b8uWw data[SEQ_DECL_SIZE];
1072 };
1073 struct tySequence__L9bOt8CaTEmIjgtuZvp6syg {
1074 TGenericSeq Sup;
1075 tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA data[SEQ_DECL_SIZE];
1076 };
1077 struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ {
1078 TGenericSeq Sup;
1079 tyTuple__9aoobCDZB4x41HJSOmh0mwA data[SEQ_DECL_SIZE];
1080 };
1081 struct tySequence__xxnXDLpoqBo8zJzP9b1073g {
1082 TGenericSeq Sup;
1083 tyTuple__g0Q6Qx15nK53ce9aLo7YyrA data[SEQ_DECL_SIZE];
1084 };
1085 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
1086 TGenericSeq Sup;
1087 NimStringDesc* data[SEQ_DECL_SIZE];
1088 };
1089 struct tySequence__DfmUmNgVGnYaiV1I6227tw {
1090 TGenericSeq Sup;
1091 tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw data[SEQ_DECL_SIZE];
1092 };
1093 struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA {
1094 TGenericSeq Sup;
1095 tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA data[SEQ_DECL_SIZE];
1096 };
1097 struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
1098 TGenericSeq Sup;
1099 NI64 data[SEQ_DECL_SIZE];
1100 };
1101 struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw {
1102 TGenericSeq Sup;
1103 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ data[SEQ_DECL_SIZE];
1104 };
1105 struct tySequence__9bT7o0CflHuiE4VhmtqBPCw {
1106 TGenericSeq Sup;
1107 tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ data[SEQ_DECL_SIZE];
1108 };
1109 struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
1110 TGenericSeq Sup;
1111 tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];
1112 };
1113 struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA {
1114 TGenericSeq Sup;
1115 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ data[SEQ_DECL_SIZE];
1116 };
1117 static N_INLINE(void, nimZeroMem)(void* p, NI size);
1118 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
1119 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getEnvParam__lambdalifting_131)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* routine);
1120 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);
1121 N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*, getIdent__idents_143)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* ic, NimStringDesc* identifier);
1122 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1123 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, createClosureIterStateType__lambdalifting_33)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* iter, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1124 static N_INLINE(void, asgnRef)(void** dest, void* src);
1125 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1126 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
1127 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr);
1128 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
1129 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1130 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
1131 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1132 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5264)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1133 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, preprocess__closureiters_3362)(tyObject_PreprocessContext__ATjkivkWYrBstrMNxiy9cNw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1134 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1135 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
1136 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
1137 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1138 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, pop__trees_32)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** s);
1139 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
1140 static N_INLINE(void, pop__closureiters_3415)(tySequence__1I3cxybVrOXM64KW2dfERQ** s, tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw* Result);
1141 static N_INLINE(tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw*, X5BX5D___closureiters_3437)(tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw* s, NI sLen_0, NI i);
1142 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3356)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1143 N_LIB_PRIVATE N_NIMCALL(void, initTable__closureiters_3484)(NI initialSize, tyObject_Table__5WMmzblM3wEpYUTgMBzetQ* Result);
1144 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count);
1145 N_LIB_PRIVATE N_NIMCALL(NI, nextPowerOfTwo__pureZmath_177)(NI x);
1146 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
1147 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
1148 static N_NIMCALL(void, Marker_tySequence__gVogYzwlGNrCaz6jQnXRzA)(void* p, NI op);
1149 N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
1150 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, freshVars__closureiters_1804)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_FreshVarsContext__BITJ25TBEN8CE4NK59coN0w* c);
1151 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getOrDefault__closureiters_1903)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ t, NI key);
1152 static N_INLINE(NI, rawGet__closureiters_1912)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ t, NI key, NI* hc);
1153 static N_INLINE(NI, hash__pureZhashes_128)(NI x);
1154 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x);
1155 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b);
1156 static N_INLINE(NU64, hiXorLoFallback64__pureZhashes_35)(NU64 a, NU64 b);
1157 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode);
1158 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash);
1159 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3719)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1160 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyNode__ast_4336)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1161 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1162 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, copySym__ast_4054)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id);
1163 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___closureiters_2290)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ* t, NI key, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* val);
1164 static N_INLINE(NIM_BOOL, mustRehash__closureiters_2463)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ t);
1165 N_LIB_PRIVATE N_NIMCALL(void, enlarge__closureiters_2616)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ* t);
1166 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__closureiters_2916)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ* t, tySequence__gVogYzwlGNrCaz6jQnXRzA** data, NI key, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* val, NI hc, NI h);
1167 static N_INLINE(NI, rawGetKnownHC__closureiters_3085)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ t, NI key, NI hc);
1168 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3716)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1169 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);
1170 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, toStmtList__closureiters_136)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1171 N_LIB_PRIVATE N_NIMCALL(NI, newState__closureiters_97)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gotoOut);
1172 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntLit__lowerings_695)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NI64 value);
1173 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTree__ast_3392)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** children, NI childrenLen_0);
1174 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lowerStmtListExprs__closureiters_478)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL* needsSplit);
1175 N_LIB_PRIVATE N_NIMCALL(void, exprToStmtList__closureiters_385)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ* Result);
1176 static N_INLINE(void, nimGCunrefRC1)(void* p);
1177 N_LIB_PRIVATE N_NIMCALL(void, add__closureiters_406)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** y, NI yLen_0);
1178 N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1431)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
1179 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1180 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newTempVar__closureiters_167)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1181 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newEnvVar__closureiters_49)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, NimStringDesc* name, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1182 N_LIB_PRIVATE N_NIMCALL(void, addVar__lowerings_63)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v);
1183 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, addUniqueField__lowerings_443)(tyObject_TType__facALICuu8zUj0hjvbTLFg* obj, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1184 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lastSon__ast_3743)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1185 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
1186 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
1187 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
1188 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
1189 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
1190 N_LIB_PRIVATE N_NIMCALL(void, addExprAssgn__closureiters_446)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* output, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* input, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1191 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newEnvVarAsgn__closureiters_441)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v);
1192 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newEnvVarAccess__closureiters_70)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1193 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, rawIndirectAccess__lowerings_326)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1194 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
1195 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, convertExprBodyToAsgn__closureiters_469)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* exprBody, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* res);
1196 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNotCall__closureiters_474)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e);
1197 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getSysMagic__magicsys_29)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* name, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m);
1198 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getSysType__magicsys_60)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind);
1199 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getSysSym__magicsys_16)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* name);
1200 N_LIB_PRIVATE N_NIMCALL(void, transitionSonsKind__ast_4359)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g kind);
1201 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasYieldsInExpressions__closureiters_371)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1202 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasYields__closureiters_175)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1203 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformClosureIteratorBody__closureiters_1173)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gotoOut);
1204 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, addGotoOut__closureiters_147)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gotoOut);
1205 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformBreaksAndContinuesInWhile__closureiters_179)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* before, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* after);
1206 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformBreaksInBlock__closureiters_205)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* label, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* after);
1207 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, collectExceptState__closureiters_256)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1208 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);
1209 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newOr__closureiters_251)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1210 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNullifyCurExc__closureiters_245)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1211 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newCurExcAccess__closureiters_91)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx);
1212 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNode__ast_3332)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
1213 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getFinallyNode__closureiters_357)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1214 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformReturnsInTry__closureiters_1107)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1215 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newUnrollFinallyAccess__closureiters_84)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1216 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntTypeNode__ast_3783)(NI64 intVal, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1217 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTmpResultAccess__closureiters_77)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx);
1218 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newEndFinallyNode__closureiters_1092)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1219 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getClosureIterResult__lambdalifting_62)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* iter, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1220 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getCompilerProc__magicsys_145)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NimStringDesc* name);
1221 N_LIB_PRIVATE N_NIMCALL(void, addElseToExcept__closureiters_316)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1222 N_LIB_PRIVATE N_NIMCALL(void, deleteEmptyStates__closureiters_1659)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx);
1223 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipStmtList__closureiters_1491)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1224 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipThroughEmptyStates__closureiters_1529)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1225 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyTree__ast_4431)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1226 N_LIB_PRIVATE N_NIMCALL(NI, skipEmptyStates__closureiters_1503)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, NI stateIdx);
1227 N_LIB_PRIVATE N_NIMCALL(void, delete__closureiters_1709)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** x, NI i);
1228 N_LIB_PRIVATE N_NIMCALL(void, delete__closureiters_1746)(tySequence__qwqHTkRvwhrRyENtudHQ7g** x, NI i);
1229 N_LIB_PRIVATE N_NIMCALL(void, del__closureiters_3571)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** x, NI i);
1230 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformStateAssignments__closureiters_1386)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1231 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStateAssgn__closureiters_45)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, NI stateNo);
1232 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStateAssgn__closureiters_41)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* toValue);
1233 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStateAccess__closureiters_35)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx);
1234 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getStateField__lambdalifting_4660)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1235 N_LIB_PRIVATE N_NIMCALL(NI, stateFromGotoState__closureiters_1375)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1236 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, wrapIntoStateLoop__closureiters_1612)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1237 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, wrapIntoTryExcept__closureiters_1605)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1238 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newCatchBody__closureiters_1568)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1239 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, createExceptionTable__closureiters_1553)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx);
1240 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newArrayType__closureiters_1545)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1241 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newType__ast_3896)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1242 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1243 N_LIB_PRIVATE N_NIMCALL(void, rawAddSon__ast_4288)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son, NIM_BOOL propagateHasAsgn);
1244 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntNode__ast_3723)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NI64 intVal);
1245 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_2, ":state", 6);
1246 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_3, ":stateLoop", 10);
1247 extern TNimType NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
1248 extern TNimType NTIseqLtupleLn58pnode_idx58intTT__1I3cxybVrOXM64KW2dfERQ_;
1249 N_LIB_PRIVATE TNimType NTIkeyvaluepair__O3AtiO8fwKWfdl6NGmuzhw_;
1250 extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
1251 extern TNimType NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_;
1252 N_LIB_PRIVATE TNimType NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_;
1253 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_5, "unsupported control flow: \'finally: ... raise\' duplicated because of \'break\'", 76);
1254 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_7, "/home/runner/work/nightlies/nightlies/nim/compiler/closureiters.nim", 67);
1255 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_6 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1256 ((NI) 1337),
1257 ((NI) 14)}
1258 ;
1259 extern TNimType NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_;
1260 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
1261 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_8, "lowerStmtListExprs: constr typ.isNil", 36);
1262 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_9 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1263 ((NI) 468),
1264 ((NI) 35)}
1265 ;
1266 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_10, ":tmpSlLower", 11);
1267 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_11, "lowerStmtListExpr(nkIf): ", 25);
1268 extern TNimType NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_;
1269 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_12 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1270 ((NI) 546),
1271 ((NI) 23)}
1272 ;
1273 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_13, "lowerStmtListExpr(nkTryStmt): ", 30);
1274 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_14 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1275 ((NI) 576),
1276 ((NI) 25)}
1277 ;
1278 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_15, "lowerStmtListExpr(nkCaseStmt): ", 31);
1279 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_16 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1280 ((NI) 608),
1281 ((NI) 25)}
1282 ;
1283 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_17, "not", 3);
1284 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_18, "true", 4);
1285 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_19, "yield in expr not lowered", 25);
1286 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_20 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1287 ((NI) 1420),
1288 ((NI) 17)}
1289 ;
1290 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_21, "transformClosureIteratorBody != s", 33);
1291 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_22 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1292 ((NI) 888),
1293 ((NI) 23)}
1294 ;
1295 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_23, "of", 2);
1296 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_24, "getCurrentException", 19);
1297 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_25, "or", 2);
1298 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_26, ":curExc", 7);
1299 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_27, ":unrollFinally", 14);
1300 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_28, ":tmpResult", 10);
1301 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_29, "==", 2);
1302 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_30, "closureIterSetupExc", 19);
1303 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_31, "transformReturnsInTry != tryBody", 32);
1304 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_32 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1305 ((NI) 997),
1306 ((NI) 21)}
1307 ;
1308 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_33, "transformClosureIteratorBody != tryBody", 39);
1309 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_34 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1310 ((NI) 999),
1311 ((NI) 21)}
1312 ;
1313 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_35, "transformReturnsInTry != exceptBody", 35);
1314 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_36 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1315 ((NI) 1004),
1316 ((NI) 21)}
1317 ;
1318 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_37, "transformClosureIteratorBody != exceptBody", 42);
1319 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_38 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1320 ((NI) 1006),
1321 ((NI) 21)}
1322 ;
1323 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_39, "transformClosureIteratorBody != finallyBody", 43);
1324 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_40 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1325 ((NI) 1011),
1326 ((NI) 21)}
1327 ;
1328 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_41, "closure iter ", 13);
1329 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_42 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1330 ((NI) 1014),
1331 ((NI) 17)}
1332 ;
1333 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_43, "<", 1);
1334 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_44, "-", 1);
1335 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5217;
N_INLINE(void,nimSetMem__systemZmemory_7)1336 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
1337 void* T1_;
1338 T1_ = (void*)0;
1339 T1_ = memset(a, v, ((size_t) (size)));
1340 }
N_INLINE(void,nimZeroMem)1341 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
1342 nimSetMem__systemZmemory_7(p, ((int) 0), size);
1343 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextSymId__ast_3132)1344 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
1345 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
1346 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
1347 (*x).symId += ((NI) 1);
1348 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
1349 result.module = (*x).module;
1350 result.item = (*x).symId;
1351 return result;
1352 }
N_INLINE(NI,pluspercent___system_696)1353 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
1354 NI result;
1355 result = (NI)0;
1356 result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
1357 return result;
1358 }
N_INLINE(void,incRef__system_5308)1359 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1360 (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
1361 }
N_INLINE(NI,minuspercent___system_716)1362 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
1363 NI result;
1364 result = (NI)0;
1365 result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
1366 return result;
1367 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5270)1368 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr) {
1369 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
1370 NI T1_;
1371 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1372 T1_ = (NI)0;
1373 T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
1374 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
1375 return result;
1376 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)1377 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
1378 NIM_BOOL result;
1379 result = (NIM_BOOL)0;
1380 result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
1381 return result;
1382 }
N_INLINE(void,rtlAddZCT__system_5313)1383 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1384 addZCT__system_5264((&gch__system_5217.zct), c);
1385 }
N_INLINE(void,decRef__system_5315)1386 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1387 (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
1388 {
1389 NIM_BOOL T3_;
1390 T3_ = (NIM_BOOL)0;
1391 T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
1392 if (!T3_) goto LA4_;
1393 rtlAddZCT__system_5313(c);
1394 }
1395 LA4_: ;
1396 }
N_INLINE(void,asgnRef)1397 static N_INLINE(void, asgnRef)(void** dest, void* src) {
1398 {
1399 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
1400 if (!!((src == NIM_NIL))) goto LA3_;
1401 T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1402 T5_ = usrToCell__system_5270(src);
1403 incRef__system_5308(T5_);
1404 }
1405 LA3_: ;
1406 {
1407 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
1408 if (!!(((*dest) == NIM_NIL))) goto LA8_;
1409 T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1410 T10_ = usrToCell__system_5270((*dest));
1411 decRef__system_5315(T10_);
1412 }
1413 LA8_: ;
1414 (*dest) = src;
1415 }
N_INLINE(NI,len__ast_3198)1416 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1417 NI result;
1418 NI T1_;
1419 result = (NI)0;
1420 T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
1421 result = T1_;
1422 return result;
1423 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,pop__trees_32)1424 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, pop__trees_32)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** s) {
1425 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1426 NI L;
1427 NI T1_;
1428 result = NIM_NIL;
1429 T1_ = ((*s) ? (*s)->Sup.len : 0);
1430 L = (NI)(T1_ - ((NI) 1));
1431 result = (*s)->data[L];
1432 unsureAsgnRef((void**) (&(*s)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*s))->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (L))));
1433 return result;
1434 }
N_INLINE(void,pop__closureiters_3415)1435 static N_INLINE(void, pop__closureiters_3415)(tySequence__1I3cxybVrOXM64KW2dfERQ** s, tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw* Result) {
1436 NI L;
1437 NI T1_;
1438 T1_ = ((*s) ? (*s)->Sup.len : 0);
1439 L = (NI)(T1_ - ((NI) 1));
1440 unsureAsgnRef((void**) (&(*Result).Field0), (*s)->data[L].Field0);
1441 (*Result).Field1 = (*s)->data[L].Field1;
1442 unsureAsgnRef((void**) (&(*s)), (tySequence__1I3cxybVrOXM64KW2dfERQ*) setLengthSeqV2(&((*s))->Sup, (&NTIseqLtupleLn58pnode_idx58intTT__1I3cxybVrOXM64KW2dfERQ_), ((NI) (L))));
1443 }
N_INLINE(tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw *,X5BX5D___closureiters_3437)1444 static N_INLINE(tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw*, X5BX5D___closureiters_3437)(tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw* s, NI sLen_0, NI i) {
1445 tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw* result;
1446 result = (tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw*)0;
1447 result = (&s[(NI)(sLen_0 - i)]);
1448 return result;
1449 }
N_INLINE(NI,slotsNeeded__pureZcollectionsZtables_42)1450 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count) {
1451 NI result;
1452 result = (NI)0;
1453 result = nextPowerOfTwo__pureZmath_177((NI)((NI)((NI)(((NI) (count)) * ((NI) 3)) / ((NI) 2)) + ((NI) 4)));
1454 return result;
1455 }
N_NIMCALL(void,Marker_tySequence__gVogYzwlGNrCaz6jQnXRzA)1456 static N_NIMCALL(void, Marker_tySequence__gVogYzwlGNrCaz6jQnXRzA)(void* p, NI op) {
1457 tySequence__gVogYzwlGNrCaz6jQnXRzA* a;
1458 NI T1_;
1459 a = (tySequence__gVogYzwlGNrCaz6jQnXRzA*)p;
1460 T1_ = (NI)0;
1461 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
1462 nimGCvisit((void*)a->data[T1_].Field2, op);
1463 }
1464 }
N_NIMCALL(void,initTable__closureiters_3484)1465 N_LIB_PRIVATE N_NIMCALL(void, initTable__closureiters_3484)(NI initialSize, tyObject_Table__5WMmzblM3wEpYUTgMBzetQ* Result) {
1466 NI correctSizeX60gensym346_;
1467 unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
1468 (*Result).counter = 0;
1469 correctSizeX60gensym346_ = slotsNeeded__pureZcollectionsZtables_42(((NI) (initialSize)));
1470 (*Result).counter = ((NI) 0);
1471 unsureAsgnRef((void**) (&(*Result).data), (tySequence__gVogYzwlGNrCaz6jQnXRzA*) newSeq((&NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_), ((NI) (correctSizeX60gensym346_))));
1472 }
N_INLINE(NU64,hiXorLoFallback64__pureZhashes_35)1473 static N_INLINE(NU64, hiXorLoFallback64__pureZhashes_35)(NU64 a, NU64 b) {
1474 NU64 result;
1475 NU64 aH;
1476 NU64 aL;
1477 NU64 bH;
1478 NU64 bL;
1479 NU64 rHH;
1480 NU64 rHL;
1481 NU64 rLH;
1482 NU64 rLL;
1483 NU64 t;
1484 NU64 c;
1485 NU64 lo;
1486 NU64 T6_;
1487 NU64 hi;
1488 { result = (NU64)0;
1489 aH = (NU64)((NU64)(a) >> (NU64)(((NI) 32)));
1490 aL = (NU64)(a & 4294967295ULL);
1491 bH = (NU64)((NU64)(b) >> (NU64)(((NI) 32)));
1492 bL = (NU64)(b & 4294967295ULL);
1493 rHH = (NU64)((NU64)(aH) * (NU64)(bH));
1494 rHL = (NU64)((NU64)(aH) * (NU64)(bL));
1495 rLH = (NU64)((NU64)(aL) * (NU64)(bH));
1496 rLL = (NU64)((NU64)(aL) * (NU64)(bL));
1497 t = (NU64)((NU64)(rLL) + (NU64)((NU64)((NU64)(rHL) << (NU64)(((NI) 32)))));
1498 {
1499 if (!((NU64)(t) < (NU64)(rLL))) goto LA3_;
1500 c = 1ULL;
1501 }
1502 goto LA1_;
1503 LA3_: ;
1504 {
1505 c = 0ULL;
1506 }
1507 LA1_: ;
1508 lo = (NU64)((NU64)(t) + (NU64)((NU64)((NU64)(rLH) << (NU64)(((NI) 32)))));
1509 T6_ = (NU64)0;
1510 {
1511 if (!((NU64)(lo) < (NU64)(t))) goto LA9_;
1512 T6_ = 1ULL;
1513 }
1514 goto LA7_;
1515 LA9_: ;
1516 {
1517 T6_ = 0ULL;
1518 }
1519 LA7_: ;
1520 c += T6_;
1521 hi = (NU64)((NU64)((NU64)((NU64)((NU64)((NU64)(rHH) + (NU64)((NU64)((NU64)(rHL) >> (NU64)(((NI) 32)))))) + (NU64)((NU64)((NU64)(rLH) >> (NU64)(((NI) 32)))))) + (NU64)(c));
1522 result = (NU64)(hi ^ lo);
1523 goto BeforeRet_;
1524 }BeforeRet_: ;
1525 return result;
1526 }
N_INLINE(NU64,hiXorLo__pureZhashes_79)1527 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b) {
1528 NU64 result;
1529 result = (NU64)0;
1530 result = hiXorLoFallback64__pureZhashes_35(a, b);
1531 return result;
1532 }
N_INLINE(NI,hashWangYi1__pureZhashes_136)1533 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x) {
1534 NI result;
1535 NU64 T1_;
1536 NU64 T2_;
1537 result = (NI)0;
1538 T1_ = (NU64)0;
1539 T1_ = hiXorLo__pureZhashes_79(11562461410679940143ULL, (NU64)(x ^ 16646288086500911323ULL));
1540 T2_ = (NU64)0;
1541 T2_ = hiXorLo__pureZhashes_79(T1_, 16952864883938283885ULL);
1542 result = ((NI) (T2_));
1543 return result;
1544 }
N_INLINE(NI,hash__pureZhashes_128)1545 static N_INLINE(NI, hash__pureZhashes_128)(NI x) {
1546 NI result;
1547 result = (NI)0;
1548 result = hashWangYi1__pureZhashes_136(((NU64) (x)));
1549 return result;
1550 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZtables_31)1551 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) {
1552 NIM_BOOL result;
1553 result = (NIM_BOOL)0;
1554 result = !((hcode == ((NI) 0)));
1555 return result;
1556 }
N_INLINE(NI,nextTry__pureZcollectionsZtables_34)1557 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash) {
1558 NI result;
1559 result = (NI)0;
1560 result = (NI)((NI)(h + ((NI) 1)) & maxHash);
1561 return result;
1562 }
N_INLINE(NI,rawGet__closureiters_1912)1563 static N_INLINE(NI, rawGet__closureiters_1912)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ t, NI key, NI* hc) {
1564 NI result;
1565 NI h;
1566 NI T10_;
1567 { result = (NI)0;
1568 (*hc) = hash__pureZhashes_128(key);
1569 {
1570 if (!((*hc) == ((NI) 0))) goto LA3_;
1571 (*hc) = ((NI) 314159265);
1572 }
1573 LA3_: ;
1574 {
1575 NI T7_;
1576 T7_ = (t.data ? t.data->Sup.len : 0);
1577 if (!(T7_ == ((NI) 0))) goto LA8_;
1578 result = ((NI) -1);
1579 goto BeforeRet_;
1580 }
1581 LA8_: ;
1582 T10_ = ((t.data ? t.data->Sup.len : 0)-1);
1583 h = (NI)((*hc) & T10_);
1584 {
1585 while (1) {
1586 NIM_BOOL T13_;
1587 NI T20_;
1588 T13_ = (NIM_BOOL)0;
1589 T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
1590 if (!T13_) goto LA12;
1591 {
1592 NIM_BOOL T16_;
1593 T16_ = (NIM_BOOL)0;
1594 T16_ = (t.data->data[h].Field0 == (*hc));
1595 if (!(T16_)) goto LA17_;
1596 T16_ = (t.data->data[h].Field1 == key);
1597 LA17_: ;
1598 if (!T16_) goto LA18_;
1599 result = h;
1600 goto BeforeRet_;
1601 }
1602 LA18_: ;
1603 T20_ = ((t.data ? t.data->Sup.len : 0)-1);
1604 h = nextTry__pureZcollectionsZtables_34(h, T20_);
1605 } LA12: ;
1606 }
1607 result = (NI)(((NI) -1) - h);
1608 }BeforeRet_: ;
1609 return result;
1610 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,getOrDefault__closureiters_1903)1611 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getOrDefault__closureiters_1903)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ t, NI key) {
1612 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
1613 NI hcX60gensym308_;
1614 NI indexX60gensym308_;
1615 result = NIM_NIL;
1616 hcX60gensym308_ = (NI)0;
1617 indexX60gensym308_ = rawGet__closureiters_1912(t, key, (&hcX60gensym308_));
1618 {
1619 if (!(((NI) 0) <= indexX60gensym308_)) goto LA3_;
1620 result = t.data->data[indexX60gensym308_].Field2;
1621 }
1622 LA3_: ;
1623 return result;
1624 }
N_INLINE(NI,safeLen__ast_3191)1625 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1626 NI result;
1627 result = (NI)0;
1628 {
1629 if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
1630 result = ((NI) 0);
1631 }
1632 goto LA1_;
1633 LA3_: ;
1634 {
1635 result = len__ast_3198(n);
1636 }
1637 LA1_: ;
1638 return result;
1639 }
N_INLINE(NIM_BOOL,mustRehash__closureiters_2463)1640 static N_INLINE(NIM_BOOL, mustRehash__closureiters_2463)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ t) {
1641 NIM_BOOL result;
1642 NIM_BOOL T1_;
1643 NI T2_;
1644 NI T4_;
1645 result = (NIM_BOOL)0;
1646 T1_ = (NIM_BOOL)0;
1647 T2_ = (t.data ? t.data->Sup.len : 0);
1648 T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
1649 if (T1_) goto LA3_;
1650 T4_ = (t.data ? t.data->Sup.len : 0);
1651 T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
1652 LA3_: ;
1653 result = T1_;
1654 return result;
1655 }
N_NIMCALL(void,rawInsert__closureiters_2916)1656 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__closureiters_2916)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ* t, tySequence__gVogYzwlGNrCaz6jQnXRzA** data, NI key, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* val, NI hc, NI h) {
1657 (*data)->data[h].Field1 = key;
1658 asgnRef((void**) (&(*data)->data[h].Field2), val);
1659 (*data)->data[h].Field0 = hc;
1660 }
N_NIMCALL(void,enlarge__closureiters_2616)1661 N_LIB_PRIVATE N_NIMCALL(void, enlarge__closureiters_2616)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ* t) {
1662 tySequence__gVogYzwlGNrCaz6jQnXRzA* n;
1663 NI T1_;
1664 tySequence__gVogYzwlGNrCaz6jQnXRzA* T2_;
1665 n = NIM_NIL;
1666 T1_ = ((*t).data ? (*t).data->Sup.len : 0);
1667 n = (tySequence__gVogYzwlGNrCaz6jQnXRzA*) newSeq((&NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_), ((NI) ((NI)(T1_ * ((NI) 2)))));
1668 T2_ = NIM_NIL;
1669 T2_ = (*t).data;
1670 unsureAsgnRef((void**) (&(*t).data), n);
1671 n = T2_;
1672 {
1673 NI i;
1674 NI colontmp_;
1675 NI T4_;
1676 NI res;
1677 i = (NI)0;
1678 colontmp_ = (NI)0;
1679 T4_ = ((n ? n->Sup.len : 0)-1);
1680 colontmp_ = T4_;
1681 res = ((NI) 0);
1682 {
1683 while (1) {
1684 NI eh;
1685 if (!(res <= colontmp_)) goto LA6;
1686 i = res;
1687 eh = n->data[i].Field0;
1688 {
1689 NIM_BOOL T9_;
1690 NI j;
1691 NI T12_;
1692 NI T17_;
1693 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T18_;
1694 T9_ = (NIM_BOOL)0;
1695 T9_ = isFilled__pureZcollectionsZtables_31(eh);
1696 if (!T9_) goto LA10_;
1697 T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
1698 j = (NI)(eh & T12_);
1699 {
1700 while (1) {
1701 NIM_BOOL T15_;
1702 NI T16_;
1703 T15_ = (NIM_BOOL)0;
1704 T15_ = isFilled__pureZcollectionsZtables_31((*t).data->data[j].Field0);
1705 if (!T15_) goto LA14;
1706 T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
1707 j = nextTry__pureZcollectionsZtables_34(j, T16_);
1708 } LA14: ;
1709 }
1710 T17_ = (NI)0;
1711 T17_ = n->data[i].Field1;
1712 n->data[i].Field1 = 0;
1713 T18_ = NIM_NIL;
1714 T18_ = n->data[i].Field2;
1715 asgnRef((void**) (&n->data[i].Field2), NIM_NIL);
1716 rawInsert__closureiters_2916(t, (&(*t).data), T17_, T18_, eh, j);
1717 }
1718 LA10_: ;
1719 res += ((NI) 1);
1720 } LA6: ;
1721 }
1722 }
1723 }
N_INLINE(NI,rawGetKnownHC__closureiters_3085)1724 static N_INLINE(NI, rawGetKnownHC__closureiters_3085)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ t, NI key, NI hc) {
1725 NI result;
1726 NI h;
1727 NI T6_;
1728 { result = (NI)0;
1729 {
1730 NI T3_;
1731 T3_ = (t.data ? t.data->Sup.len : 0);
1732 if (!(T3_ == ((NI) 0))) goto LA4_;
1733 result = ((NI) -1);
1734 goto BeforeRet_;
1735 }
1736 LA4_: ;
1737 T6_ = ((t.data ? t.data->Sup.len : 0)-1);
1738 h = (NI)(hc & T6_);
1739 {
1740 while (1) {
1741 NIM_BOOL T9_;
1742 NI T16_;
1743 T9_ = (NIM_BOOL)0;
1744 T9_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
1745 if (!T9_) goto LA8;
1746 {
1747 NIM_BOOL T12_;
1748 T12_ = (NIM_BOOL)0;
1749 T12_ = (t.data->data[h].Field0 == hc);
1750 if (!(T12_)) goto LA13_;
1751 T12_ = (t.data->data[h].Field1 == key);
1752 LA13_: ;
1753 if (!T12_) goto LA14_;
1754 result = h;
1755 goto BeforeRet_;
1756 }
1757 LA14_: ;
1758 T16_ = ((t.data ? t.data->Sup.len : 0)-1);
1759 h = nextTry__pureZcollectionsZtables_34(h, T16_);
1760 } LA8: ;
1761 }
1762 result = (NI)(((NI) -1) - h);
1763 }BeforeRet_: ;
1764 return result;
1765 }
N_NIMCALL(void,X5BX5Deq___closureiters_2290)1766 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___closureiters_2290)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ* t, NI key, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* val) {
1767 NI hc;
1768 NI index;
1769 {
1770 NI T3_;
1771 NI correctSizeX60gensym318_;
1772 T3_ = ((*t).data ? (*t).data->Sup.len : 0);
1773 if (!(T3_ == ((NI) 0))) goto LA4_;
1774 correctSizeX60gensym318_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
1775 (*t).counter = ((NI) 0);
1776 unsureAsgnRef((void**) (&(*t).data), (tySequence__gVogYzwlGNrCaz6jQnXRzA*) newSeq((&NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_), ((NI) (correctSizeX60gensym318_))));
1777 }
1778 LA4_: ;
1779 hc = (NI)0;
1780 index = rawGet__closureiters_1912((*t), key, (&hc));
1781 {
1782 if (!(((NI) 0) <= index)) goto LA8_;
1783 asgnRef((void**) (&(*t).data->data[index].Field2), val);
1784 }
1785 goto LA6_;
1786 LA8_: ;
1787 {
1788 {
1789 NI T13_;
1790 NI correctSizeX60gensym321_;
1791 T13_ = ((*t).data ? (*t).data->Sup.len : 0);
1792 if (!(T13_ == ((NI) 0))) goto LA14_;
1793 correctSizeX60gensym321_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
1794 (*t).counter = ((NI) 0);
1795 unsureAsgnRef((void**) (&(*t).data), (tySequence__gVogYzwlGNrCaz6jQnXRzA*) newSeq((&NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_), ((NI) (correctSizeX60gensym321_))));
1796 }
1797 LA14_: ;
1798 {
1799 NIM_BOOL T18_;
1800 T18_ = (NIM_BOOL)0;
1801 T18_ = mustRehash__closureiters_2463((*t));
1802 if (!T18_) goto LA19_;
1803 enlarge__closureiters_2616(t);
1804 index = rawGetKnownHC__closureiters_3085((*t), key, hc);
1805 }
1806 LA19_: ;
1807 index = (NI)(((NI) -1) - index);
1808 rawInsert__closureiters_2916(t, (&(*t).data), key, val, hc, index);
1809 (*t).counter += ((NI) 1);
1810 }
1811 LA6_: ;
1812 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,freshVars__closureiters_1804)1813 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, freshVars__closureiters_1804)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_FreshVarsContext__BITJ25TBEN8CE4NK59coN0w* c) {
1814 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1815 result = NIM_NIL;
1816 switch ((*n).kind) {
1817 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
1818 {
1819 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* x;
1820 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym307_;
1821 xX60gensym307_ = (*n)._kind_4.sym;
1822 x = getOrDefault__closureiters_1903((*c).tab, (NI)((NI)((NU32)(((NI) ((*xX60gensym307_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym307_).Sup.itemId.item))));
1823 {
1824 if (!(x == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA4_;
1825 result = n;
1826 }
1827 goto LA2_;
1828 LA4_: ;
1829 {
1830 result = newSymNode__ast_3719(x, (*n).info);
1831 }
1832 LA2_: ;
1833 }
1834 break;
1835 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
1836 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
1837 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
1838 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
1839 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
1840 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
1841 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
1842 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
1843 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
1844 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
1845 {
1846 result = n;
1847 }
1848 break;
1849 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
1850 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
1851 {
1852 result = copyNode__ast_4336(n);
1853 {
1854 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
1855 it = NIM_NIL;
1856 {
1857 NI i;
1858 NI colontmp_;
1859 NI i_2;
1860 i = (NI)0;
1861 colontmp_ = (NI)0;
1862 colontmp_ = safeLen__ast_3191(n);
1863 i_2 = ((NI) 0);
1864 {
1865 while (1) {
1866 if (!(i_2 < colontmp_)) goto LA12;
1867 i = i_2;
1868 it = (*n)._kind_6.sons->data[i];
1869 {
1870 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* idefs;
1871 if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA15_;
1872 idefs = copyNode__ast_4336(it);
1873 {
1874 NI v;
1875 NI colontmp__2;
1876 NI T18_;
1877 NI res;
1878 v = (NI)0;
1879 colontmp__2 = (NI)0;
1880 T18_ = (NI)0;
1881 T18_ = len__ast_3198(it);
1882 colontmp__2 = (NI)(T18_ - ((NI) 3));
1883 res = ((NI) 0);
1884 {
1885 while (1) {
1886 if (!(res <= colontmp__2)) goto LA20;
1887 v = res;
1888 {
1889 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* x_2;
1890 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T25_;
1891 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym316_;
1892 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T26_;
1893 if (!((*(*it)._kind_6.sons->data[v]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA23_;
1894 T25_ = nextSymId__ast_3132((*c).idgen);
1895 x_2 = copySym__ast_4054((*(*it)._kind_6.sons->data[v])._kind_4.sym, T25_);
1896 xX60gensym316_ = (*(*it)._kind_6.sons->data[v])._kind_4.sym;
1897 X5BX5Deq___closureiters_2290((&(*c).tab), (NI)((NI)((NU32)(((NI) ((*xX60gensym316_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym316_).Sup.itemId.item))), x_2);
1898 T26_ = NIM_NIL;
1899 T26_ = newSymNode__ast_3716(x_2);
1900 add__ast_4797(idefs, T26_);
1901 }
1902 goto LA21_;
1903 LA23_: ;
1904 {
1905 add__ast_4797(idefs, (*it)._kind_6.sons->data[v]);
1906 }
1907 LA21_: ;
1908 res += ((NI) 1);
1909 } LA20: ;
1910 }
1911 }
1912 {
1913 NI rest;
1914 NI colontmp__3;
1915 NI colontmp__4;
1916 NI T29_;
1917 NI i_3;
1918 rest = (NI)0;
1919 colontmp__3 = (NI)0;
1920 colontmp__4 = (NI)0;
1921 T29_ = (NI)0;
1922 T29_ = len__ast_3198(it);
1923 colontmp__3 = (NI)(T29_ - ((NI) 2));
1924 colontmp__4 = len__ast_3198(it);
1925 i_3 = colontmp__3;
1926 {
1927 while (1) {
1928 if (!(i_3 < colontmp__4)) goto LA31;
1929 rest = i_3;
1930 add__ast_4797(idefs, (*it)._kind_6.sons->data[rest]);
1931 i_3 += ((NI) 1);
1932 } LA31: ;
1933 }
1934 }
1935 add__ast_4797(result, idefs);
1936 }
1937 goto LA13_;
1938 LA15_: ;
1939 {
1940 add__ast_4797(result, it);
1941 }
1942 LA13_: ;
1943 i_2 += ((NI) 1);
1944 } LA12: ;
1945 }
1946 }
1947 }
1948 }
1949 break;
1950 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
1951 {
1952 liMessage__msgs_1118((*c).config, (*c).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_5), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__slVvvIjx75ivXdMpHiE9c9aQ_6, NIM_FALSE);
1953 }
1954 break;
1955 default:
1956 {
1957 result = n;
1958 {
1959 NI i_4;
1960 NI colontmp__5;
1961 NI i_5;
1962 i_4 = (NI)0;
1963 colontmp__5 = (NI)0;
1964 colontmp__5 = safeLen__ast_3191(n);
1965 i_5 = ((NI) 0);
1966 {
1967 while (1) {
1968 if (!(i_5 < colontmp__5)) goto LA37;
1969 i_4 = i_5;
1970 asgnRef((void**) (&(*result)._kind_6.sons->data[i_4]), freshVars__closureiters_1804((*n)._kind_6.sons->data[i_4], c));
1971 i_5 += ((NI) 1);
1972 } LA37: ;
1973 }
1974 }
1975 }
1976 break;
1977 }
1978 return result;
1979 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,preprocess__closureiters_3362)1980 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, preprocess__closureiters_3362)(tyObject_PreprocessContext__ATjkivkWYrBstrMNxiy9cNw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1981 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1982 result = NIM_NIL;
1983 result = n;
1984 switch ((*n).kind) {
1985 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
1986 {
1987 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f;
1988 f = lastSon__ast_4832(n);
1989 {
1990 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
1991 NI T7_;
1992 if (!((*f).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA4_;
1993 T6_ = NIM_NIL;
1994 T6_ = lastSon__ast_4832(f);
1995 unsureAsgnRef((void**) (&(*c).finallys), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*c).finallys), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
1996 T7_ = (*c).finallys->Sup.len++;
1997 asgnRef((void**) (&(*c).finallys->data[T7_]), T6_);
1998 }
1999 LA4_: ;
2000 {
2001 NI i;
2002 NI colontmp_;
2003 NI i_2;
2004 i = (NI)0;
2005 colontmp_ = (NI)0;
2006 colontmp_ = len__ast_3198(n);
2007 i_2 = ((NI) 0);
2008 {
2009 while (1) {
2010 if (!(i_2 < colontmp_)) goto LA10;
2011 i = i_2;
2012 asgnRef((void**) (&(*result)._kind_6.sons->data[i]), preprocess__closureiters_3362(c, (*n)._kind_6.sons->data[i]));
2013 i_2 += ((NI) 1);
2014 } LA10: ;
2015 }
2016 }
2017 {
2018 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
2019 if (!((*f).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA13_;
2020 T15_ = NIM_NIL;
2021 T15_ = pop__trees_32((&(*c).finallys));
2022 (void)(T15_);
2023 }
2024 LA13_: ;
2025 }
2026 break;
2027 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
2028 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
2029 {
2030 tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw T17_;
2031 NI T18_;
2032 NI T19_;
2033 tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw T23_;
2034 nimZeroMem((void*)(&T17_), sizeof(tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw));
2035 T17_.Field0 = n;
2036 T18_ = ((*c).finallys ? (*c).finallys->Sup.len : 0);
2037 T17_.Field1 = T18_;
2038 unsureAsgnRef((void**) (&(*c).blocks), (tySequence__1I3cxybVrOXM64KW2dfERQ*) incrSeqV3((TGenericSeq*)((*c).blocks), (&NTIseqLtupleLn58pnode_idx58intTT__1I3cxybVrOXM64KW2dfERQ_)));
2039 T19_ = (*c).blocks->Sup.len++;
2040 asgnRef((void**) (&(*c).blocks->data[T19_].Field0), T17_.Field0);
2041 (*c).blocks->data[T19_].Field1 = T17_.Field1;
2042 {
2043 NI i_3;
2044 NI colontmp__2;
2045 NI i_4;
2046 i_3 = (NI)0;
2047 colontmp__2 = (NI)0;
2048 colontmp__2 = len__ast_3198(n);
2049 i_4 = ((NI) 0);
2050 {
2051 while (1) {
2052 if (!(i_4 < colontmp__2)) goto LA22;
2053 i_3 = i_4;
2054 asgnRef((void**) (&(*result)._kind_6.sons->data[i_3]), preprocess__closureiters_3362(c, (*n)._kind_6.sons->data[i_3]));
2055 i_4 += ((NI) 1);
2056 } LA22: ;
2057 }
2058 }
2059 nimZeroMem((void*)(&T23_), sizeof(tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw));
2060 pop__closureiters_3415((&(*c).blocks), (&T23_));
2061 (void)(T23_);
2062 }
2063 break;
2064 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
2065 {
2066 {
2067 NI T27_;
2068 T27_ = ((*c).blocks ? (*c).blocks->Sup.len : 0);
2069 if (!(T27_ == ((NI) 0))) goto LA28_;
2070 }
2071 goto LA25_;
2072 LA28_: ;
2073 {
2074 NI fin;
2075 fin = ((NI) -1);
2076 {
2077 tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw* T35_;
2078 if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA33_;
2079 T35_ = (tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw*)0;
2080 T35_ = X5BX5D___closureiters_3437((*c).blocks->data, ((*c).blocks ? (*c).blocks->Sup.len : 0), ((NI) 1));
2081 fin = (*T35_).Field1;
2082 }
2083 goto LA31_;
2084 LA33_: ;
2085 {
2086 if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA37_;
2087 {
2088 NI i_5;
2089 NI colontmp__3;
2090 NI T40_;
2091 NI res;
2092 i_5 = (NI)0;
2093 colontmp__3 = (NI)0;
2094 T40_ = (((*c).blocks ? (*c).blocks->Sup.len : 0)-1);
2095 colontmp__3 = T40_;
2096 res = colontmp__3;
2097 {
2098 while (1) {
2099 if (!(((NI) 0) <= res)) goto LA42;
2100 i_5 = res;
2101 {
2102 NIM_BOOL T45_;
2103 NIM_BOOL T46_;
2104 T45_ = (NIM_BOOL)0;
2105 T46_ = (NIM_BOOL)0;
2106 T46_ = ((*(*c).blocks->data[i_5].Field0).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112));
2107 if (!(T46_)) goto LA47_;
2108 T46_ = ((*(*(*c).blocks->data[i_5].Field0)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
2109 LA47_: ;
2110 T45_ = T46_;
2111 if (!(T45_)) goto LA48_;
2112 T45_ = ((*(*(*c).blocks->data[i_5].Field0)._kind_6.sons->data[((NI) 0)])._kind_4.sym == (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
2113 LA48_: ;
2114 if (!T45_) goto LA49_;
2115 fin = (*c).blocks->data[i_5].Field1;
2116 goto LA39;
2117 }
2118 LA49_: ;
2119 res -= ((NI) 1);
2120 } LA42: ;
2121 }
2122 } LA39: ;
2123 }
2124 goto LA31_;
2125 LA37_: ;
2126 LA31_: ;
2127 {
2128 if (!(((NI) 0) <= fin)) goto LA53_;
2129 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
2130 {
2131 NI i_6;
2132 NI colontmp__4;
2133 NI T56_;
2134 NI res_2;
2135 i_6 = (NI)0;
2136 colontmp__4 = (NI)0;
2137 T56_ = (((*c).finallys ? (*c).finallys->Sup.len : 0)-1);
2138 colontmp__4 = T56_;
2139 res_2 = colontmp__4;
2140 {
2141 while (1) {
2142 tyObject_FreshVarsContext__BITJ25TBEN8CE4NK59coN0w vars;
2143 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T59_;
2144 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T60_;
2145 if (!(fin <= res_2)) goto LA58;
2146 i_6 = res_2;
2147 nimZeroMem((void*)(&vars), sizeof(tyObject_FreshVarsContext__BITJ25TBEN8CE4NK59coN0w));
2148 nimZeroMem((void*)(&vars), sizeof(tyObject_FreshVarsContext__BITJ25TBEN8CE4NK59coN0w));
2149 initTable__closureiters_3484(((NI) 32), (&vars.tab));
2150 vars.config = (*c).config;
2151 vars.info = (*n).info;
2152 vars.idgen = (*c).idgen;
2153 T59_ = NIM_NIL;
2154 T59_ = preprocess__closureiters_3362(c, (*c).finallys->data[i_6]);
2155 T60_ = NIM_NIL;
2156 T60_ = freshVars__closureiters_1804(T59_, (&vars));
2157 add__ast_4797(result, T60_);
2158 unsureAsgnRef((void**) (&(*c).idgen), vars.idgen);
2159 res_2 -= ((NI) 1);
2160 } LA58: ;
2161 }
2162 }
2163 add__ast_4797(result, n);
2164 }
2165 LA53_: ;
2166 }
2167 LA25_: ;
2168 }
2169 break;
2170 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
2171 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
2172 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
2173 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
2174 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
2175 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
2176 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
2177 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
2178 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
2179 {
2180 }
2181 break;
2182 default:
2183 {
2184 {
2185 NI i_7;
2186 NI colontmp__5;
2187 NI i_8;
2188 i_7 = (NI)0;
2189 colontmp__5 = (NI)0;
2190 colontmp__5 = len__ast_3198(n);
2191 i_8 = ((NI) 0);
2192 {
2193 while (1) {
2194 if (!(i_8 < colontmp__5)) goto LA65;
2195 i_7 = i_8;
2196 asgnRef((void**) (&(*result)._kind_6.sons->data[i_7]), preprocess__closureiters_3362(c, (*n)._kind_6.sons->data[i_7]));
2197 i_8 += ((NI) 1);
2198 } LA65: ;
2199 }
2200 }
2201 }
2202 break;
2203 }
2204 return result;
2205 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,toStmtList__closureiters_136)2206 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, toStmtList__closureiters_136)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2207 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2208 result = NIM_NIL;
2209 result = n;
2210 {
2211 if (!!(((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126)))) goto LA3_;
2212 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
2213 add__ast_4797(result, n);
2214 }
2215 LA3_: ;
2216 return result;
2217 }
N_NIMCALL(NI,newState__closureiters_97)2218 N_LIB_PRIVATE N_NIMCALL(NI, newState__closureiters_97)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gotoOut) {
2219 NI result;
2220 NI T1_;
2221 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resLit;
2222 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
2223 NI T2_;
2224 NI T3_;
2225 result = (NI)0;
2226 T1_ = ((*ctx).states ? (*ctx).states->Sup.len : 0);
2227 result = T1_;
2228 resLit = newIntLit__lowerings_695((*ctx).g, (*n).info, ((NI64) (result)));
2229 s = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 157), (*n).info);
2230 add__ast_4797(s, resLit);
2231 add__ast_4797(s, n);
2232 unsureAsgnRef((void**) (&(*ctx).states), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*ctx).states), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
2233 T2_ = (*ctx).states->Sup.len++;
2234 asgnRef((void**) (&(*ctx).states->data[T2_]), s);
2235 unsureAsgnRef((void**) (&(*ctx).exceptionTable), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*ctx).exceptionTable), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
2236 T3_ = (*ctx).exceptionTable->Sup.len++;
2237 (*ctx).exceptionTable->data[T3_] = (*ctx).curExcHandlingState;
2238 {
2239 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
2240 if (!!((gotoOut == 0))) goto LA6_;
2241 T8_ = NIM_NIL;
2242 T8_ = newIntLit__lowerings_695((*ctx).g, (*gotoOut).info, ((NI64) (result)));
2243 add__ast_4797(gotoOut, T8_);
2244 }
2245 LA6_: ;
2246 return result;
2247 }
N_INLINE(void,nimGCunrefRC1)2248 static N_INLINE(void, nimGCunrefRC1)(void* p) {
2249 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
2250 T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2251 T1_ = usrToCell__system_5270(p);
2252 decRef__system_5315(T1_);
2253 }
N_NIMCALL(void,add__closureiters_406)2254 N_LIB_PRIVATE N_NIMCALL(void, add__closureiters_406)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** y, NI yLen_0) {
2255 NI xl;
2256 NI T1_;
2257 T1_ = ((*x) ? (*x)->Sup.len : 0);
2258 xl = T1_;
2259 unsureAsgnRef((void**) (&(*x)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*x))->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) ((NI)(xl + yLen_0)))));
2260 {
2261 NI i;
2262 NI colontmp_;
2263 NI res;
2264 i = (NI)0;
2265 colontmp_ = (NI)0;
2266 colontmp_ = (yLen_0-1);
2267 res = ((NI) 0);
2268 {
2269 while (1) {
2270 if (!(res <= colontmp_)) goto LA4;
2271 i = res;
2272 asgnRef((void**) (&(*x)->data[(NI)(xl + i)]), y[i]);
2273 res += ((NI) 1);
2274 } LA4: ;
2275 }
2276 }
2277 }
N_NIMCALL(void,exprToStmtList__closureiters_385)2278 N_LIB_PRIVATE N_NIMCALL(void, exprToStmtList__closureiters_385)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ* Result) {
2279 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
2280 unsureAsgnRef((void**)&(*Result).Field0, NIM_NIL);
2281 unsureAsgnRef((void**)&(*Result).Field1, NIM_NIL);
2282 unsureAsgnRef((void**) (&(*Result).Field0), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info));
2283 if ((*(*Result).Field0)._kind_6.sons) { nimGCunrefRC1((*(*Result).Field0)._kind_6.sons); (*(*Result).Field0)._kind_6.sons = NIM_NIL; }
2284 n_2 = n;
2285 {
2286 while (1) {
2287 NI T3_;
2288 NI T4_;
2289 if (!((*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA2;
2290 add__closureiters_406((&(*(*Result).Field0)._kind_6.sons), (*n_2)._kind_6.sons->data, ((*n_2)._kind_6.sons ? (*n_2)._kind_6.sons->Sup.len : 0));
2291 T3_ = (NI)0;
2292 T3_ = len__ast_3198((*Result).Field0);
2293 asgnRef((void**) (&(*(*Result).Field0)._kind_6.sons), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*(*Result).Field0)._kind_6.sons)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) ((NI)(T3_ - ((NI) 1))))));
2294 T4_ = (NI)0;
2295 T4_ = len__ast_3198(n_2);
2296 n_2 = (*n_2)._kind_6.sons->data[(NI)(T4_ - ((NI) 1))];
2297 } LA2: ;
2298 }
2299 unsureAsgnRef((void**) (&(*Result).Field1), n_2);
2300 }
N_INLINE(NIM_BOOL,isEmptyType__ast_4779)2301 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
2302 NIM_BOOL result;
2303 NIM_BOOL T1_;
2304 result = (NIM_BOOL)0;
2305 T1_ = (NIM_BOOL)0;
2306 T1_ = (t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
2307 if (T1_) goto LA2_;
2308 T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7));
2309 LA2_: ;
2310 result = T1_;
2311 return result;
2312 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,newEnvVar__closureiters_49)2313 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newEnvVar__closureiters_49)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, NimStringDesc* name, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
2314 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
2315 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
2316 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T2_;
2317 result = NIM_NIL;
2318 T1_ = NIM_NIL;
2319 T1_ = getIdent__idents_143((*(*ctx).g).cache, name);
2320 T2_ = nextSymId__ast_3132((*ctx).idgen);
2321 result = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8), T1_, T2_, (*ctx).fn, (*(*ctx).fn).info, 0);
2322 asgnRef((void**) (&(*result).typ), typ);
2323 {
2324 if (!!(((*ctx).stateVarSym == 0))) goto LA5_;
2325 {
2326 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
2327 if (!((*ctx).tempVars == 0)) goto LA9_;
2328 unsureAsgnRef((void**) (&(*ctx).tempVars), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*ctx).fn).info));
2329 T11_ = NIM_NIL;
2330 T11_ = newSymNode__ast_3716(result);
2331 addVar__lowerings_63((*ctx).tempVars, T11_);
2332 }
2333 LA9_: ;
2334 }
2335 goto LA3_;
2336 LA5_: ;
2337 {
2338 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* envParam;
2339 tyObject_TType__facALICuu8zUj0hjvbTLFg* T13_;
2340 envParam = getEnvParam__lambdalifting_131((*ctx).fn);
2341 T13_ = NIM_NIL;
2342 T13_ = lastSon__ast_3743((*envParam).typ);
2343 result = addUniqueField__lowerings_443(T13_, result, (*(*ctx).g).cache, (*ctx).idgen);
2344 }
2345 LA3_: ;
2346 return result;
2347 }
N_INLINE(void,nimCopyMem)2348 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
2349 void* T1_;
2350 T1_ = (void*)0;
2351 T1_ = memcpy(dest, source, ((size_t) (size)));
2352 }
N_INLINE(void,copyMem__system_1727)2353 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
2354 nimCopyMem(dest, source, size);
2355 }
N_INLINE(void,appendString)2356 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
2357 {
2358 if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
2359 copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
2360 (*dest).Sup.len += (*src).Sup.len;
2361 }
2362 LA3_: ;
2363 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,newTempVar__closureiters_167)2364 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newTempVar__closureiters_167)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
2365 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
2366 NimStringDesc* T1_;
2367 NimStringDesc* T2_;
2368 result = NIM_NIL;
2369 T1_ = NIM_NIL;
2370 T2_ = NIM_NIL;
2371 T2_ = dollar___systemZdollars_3((*ctx).tempVarId);
2372 T1_ = rawNewString((T2_ ? T2_->Sup.len : 0) + 11);
2373 appendString(T1_, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_10));
2374 appendString(T1_, T2_);
2375 result = newEnvVar__closureiters_49(ctx, T1_, typ);
2376 (*ctx).tempVarId += ((NI) 1);
2377 return result;
2378 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newEnvVarAccess__closureiters_70)2379 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newEnvVarAccess__closureiters_70)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2380 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2381 result = NIM_NIL;
2382 {
2383 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T5_;
2384 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
2385 if (!((*ctx).stateVarSym == 0)) goto LA3_;
2386 T5_ = NIM_NIL;
2387 T5_ = getEnvParam__lambdalifting_131((*ctx).fn);
2388 T6_ = NIM_NIL;
2389 T6_ = newSymNode__ast_3716(T5_);
2390 result = rawIndirectAccess__lowerings_326(T6_, s, (*(*ctx).fn).info);
2391 }
2392 goto LA1_;
2393 LA3_: ;
2394 {
2395 result = newSymNode__ast_3716(s);
2396 }
2397 LA1_: ;
2398 return result;
2399 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newEnvVarAsgn__closureiters_441)2400 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newEnvVarAsgn__closureiters_441)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v) {
2401 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2402 result = NIM_NIL;
2403 {
2404 NIM_BOOL T3_;
2405 T3_ = (NIM_BOOL)0;
2406 T3_ = isEmptyType__ast_4779((*v).typ);
2407 if (!T3_) goto LA4_;
2408 result = v;
2409 }
2410 goto LA1_;
2411 LA4_: ;
2412 {
2413 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T7_;
2414 nimZeroMem((void*)T7_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
2415 T7_[0] = newEnvVarAccess__closureiters_70(ctx, s);
2416 T7_[1] = v;
2417 result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T7_, 2);
2418 (*result).info = (*v).info;
2419 }
2420 LA1_: ;
2421 return result;
2422 }
N_NIMCALL(void,addExprAssgn__closureiters_446)2423 N_LIB_PRIVATE N_NIMCALL(void, addExprAssgn__closureiters_446)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* output, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* input, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
2424 {
2425 tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T5_;
2426 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st;
2427 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* res;
2428 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
2429 if (!((*input).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA3_;
2430 nimZeroMem((void*)(&T5_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2431 exprToStmtList__closureiters_385(input, (&T5_));
2432 st = NIM_NIL;
2433 st = T5_.Field0;
2434 res = NIM_NIL;
2435 res = T5_.Field1;
2436 add__ast_4797(output, st);
2437 T6_ = NIM_NIL;
2438 T6_ = newEnvVarAsgn__closureiters_441(ctx, sym, res);
2439 add__ast_4797(output, T6_);
2440 }
2441 goto LA1_;
2442 LA3_: ;
2443 {
2444 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
2445 T8_ = NIM_NIL;
2446 T8_ = newEnvVarAsgn__closureiters_441(ctx, sym, input);
2447 add__ast_4797(output, T8_);
2448 }
2449 LA1_: ;
2450 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,convertExprBodyToAsgn__closureiters_469)2451 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, convertExprBodyToAsgn__closureiters_469)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* exprBody, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* res) {
2452 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2453 result = NIM_NIL;
2454 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*exprBody).info);
2455 addExprAssgn__closureiters_446(ctx, result, exprBody, res);
2456 return result;
2457 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newNotCall__closureiters_474)2458 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNotCall__closureiters_474)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e) {
2459 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2460 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T1_;
2461 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T2_;
2462 result = NIM_NIL;
2463 nimZeroMem((void*)T1_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
2464 T2_ = NIM_NIL;
2465 T2_ = getSysMagic__magicsys_29(g, (*e).info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_17), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96));
2466 T1_[0] = newSymNode__ast_3719(T2_, (*e).info);
2467 T1_[1] = e;
2468 result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T1_, 2);
2469 asgnRef((void**) (&(*result).typ), getSysType__magicsys_60(g, (*e).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
2470 return result;
2471 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,lowerStmtListExprs__closureiters_478)2472 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lowerStmtListExprs__closureiters_478)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL* needsSplit) {
2473 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2474 result = NIM_NIL;
2475 result = n;
2476 switch ((*n).kind) {
2477 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
2478 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
2479 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
2480 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
2481 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
2482 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
2483 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
2484 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
2485 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
2486 {
2487 }
2488 break;
2489 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 104):
2490 {
2491 NIM_BOOL ns;
2492 ns = NIM_FALSE;
2493 {
2494 NI i;
2495 NI colontmp_;
2496 NI i_2;
2497 i = (NI)0;
2498 colontmp_ = (NI)0;
2499 colontmp_ = len__ast_3198(n);
2500 i_2 = ((NI) 0);
2501 {
2502 while (1) {
2503 if (!(i_2 < colontmp_)) goto LA5;
2504 i = i_2;
2505 asgnRef((void**) (&(*n)._kind_6.sons->data[i]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i], (&ns)));
2506 i_2 += ((NI) 1);
2507 } LA5: ;
2508 }
2509 }
2510 {
2511 tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T10_;
2512 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st;
2513 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex;
2514 if (!ns) goto LA8_;
2515 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
2516 nimZeroMem((void*)(&T10_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2517 exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 0)], (&T10_));
2518 st = NIM_NIL;
2519 st = T10_.Field0;
2520 ex = NIM_NIL;
2521 ex = T10_.Field1;
2522 add__ast_4797(result, st);
2523 asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), ex);
2524 add__ast_4797(result, n);
2525 }
2526 LA8_: ;
2527 (*needsSplit) = NIM_TRUE;
2528 }
2529 break;
2530 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
2531 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
2532 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
2533 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
2534 {
2535 NIM_BOOL ns_2;
2536 ns_2 = NIM_FALSE;
2537 {
2538 NI i_3;
2539 NI colontmp__2;
2540 NI i_4;
2541 i_3 = (NI)0;
2542 colontmp__2 = (NI)0;
2543 colontmp__2 = len__ast_3198(n);
2544 i_4 = ((NI) 0);
2545 {
2546 while (1) {
2547 if (!(i_4 < colontmp__2)) goto LA14;
2548 i_3 = i_4;
2549 asgnRef((void**) (&(*n)._kind_6.sons->data[i_3]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_3], (&ns_2)));
2550 i_4 += ((NI) 1);
2551 } LA14: ;
2552 }
2553 }
2554 {
2555 if (!ns_2) goto LA17_;
2556 (*needsSplit) = NIM_TRUE;
2557 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
2558 {
2559 if (!((*n).typ == 0)) goto LA21_;
2560 internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_8), TM__slVvvIjx75ivXdMpHiE9c9aQ_9);
2561 }
2562 LA21_: ;
2563 asgnRef((void**) (&(*result).typ), (*n).typ);
2564 {
2565 NI i_5;
2566 NI colontmp__3;
2567 NI i_6;
2568 i_5 = (NI)0;
2569 colontmp__3 = (NI)0;
2570 colontmp__3 = len__ast_3198(n);
2571 i_6 = ((NI) 0);
2572 {
2573 while (1) {
2574 if (!(i_6 < colontmp__3)) goto LA25;
2575 i_5 = i_6;
2576 switch ((*(*n)._kind_6.sons->data[i_5]).kind) {
2577 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34):
2578 {
2579 {
2580 tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T31_;
2581 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_2;
2582 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_2;
2583 if (!((*(*(*n)._kind_6.sons->data[i_5])._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA29_;
2584 nimZeroMem((void*)(&T31_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2585 exprToStmtList__closureiters_385((*(*n)._kind_6.sons->data[i_5])._kind_6.sons->data[((NI) 1)], (&T31_));
2586 st_2 = NIM_NIL;
2587 st_2 = T31_.Field0;
2588 ex_2 = NIM_NIL;
2589 ex_2 = T31_.Field1;
2590 add__ast_4797(result, st_2);
2591 asgnRef((void**) (&(*(*n)._kind_6.sons->data[i_5])._kind_6.sons->data[((NI) 1)]), ex_2);
2592 }
2593 LA29_: ;
2594 }
2595 break;
2596 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
2597 {
2598 tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T33_;
2599 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_3;
2600 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_3;
2601 nimZeroMem((void*)(&T33_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2602 exprToStmtList__closureiters_385((*n)._kind_6.sons->data[i_5], (&T33_));
2603 st_3 = NIM_NIL;
2604 st_3 = T33_.Field0;
2605 ex_3 = NIM_NIL;
2606 ex_3 = T33_.Field1;
2607 add__ast_4797(result, st_3);
2608 asgnRef((void**) (&(*n)._kind_6.sons->data[i_5]), ex_3);
2609 }
2610 break;
2611 default:
2612 {
2613 }
2614 break;
2615 }
2616 i_6 += ((NI) 1);
2617 } LA25: ;
2618 }
2619 }
2620 add__ast_4797(result, n);
2621 }
2622 LA17_: ;
2623 }
2624 break;
2625 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
2626 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
2627 {
2628 NIM_BOOL ns_3;
2629 ns_3 = NIM_FALSE;
2630 {
2631 NI i_7;
2632 NI colontmp__4;
2633 NI i_8;
2634 i_7 = (NI)0;
2635 colontmp__4 = (NI)0;
2636 colontmp__4 = len__ast_3198(n);
2637 i_8 = ((NI) 0);
2638 {
2639 while (1) {
2640 if (!(i_8 < colontmp__4)) goto LA38;
2641 i_7 = i_8;
2642 asgnRef((void**) (&(*n)._kind_6.sons->data[i_7]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_7], (&ns_3)));
2643 i_8 += ((NI) 1);
2644 } LA38: ;
2645 }
2646 }
2647 {
2648 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* tmp;
2649 NIM_BOOL isExpr;
2650 NIM_BOOL T43_;
2651 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* curS;
2652 if (!ns_3) goto LA41_;
2653 (*needsSplit) = NIM_TRUE;
2654 tmp = NIM_NIL;
2655 T43_ = (NIM_BOOL)0;
2656 T43_ = isEmptyType__ast_4779((*n).typ);
2657 isExpr = !(T43_);
2658 {
2659 if (!isExpr) goto LA46_;
2660 tmp = newTempVar__closureiters_167(ctx, (*n).typ);
2661 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
2662 asgnRef((void**) (&(*result).typ), (*n).typ);
2663 }
2664 goto LA44_;
2665 LA46_: ;
2666 {
2667 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
2668 }
2669 LA44_: ;
2670 curS = result;
2671 {
2672 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
2673 branch = NIM_NIL;
2674 {
2675 NI i_9;
2676 NI colontmp__5;
2677 NI i_10;
2678 i_9 = (NI)0;
2679 colontmp__5 = (NI)0;
2680 colontmp__5 = safeLen__ast_3191(n);
2681 i_10 = ((NI) 0);
2682 {
2683 while (1) {
2684 if (!(i_10 < colontmp__5)) goto LA52;
2685 i_9 = i_10;
2686 branch = (*n)._kind_6.sons->data[i_9];
2687 switch ((*branch).kind) {
2688 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 50):
2689 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
2690 {
2691 {
2692 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchBody;
2693 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* newBranch;
2694 tyArray__jlWPjgtbdjE069arIWHC9c9bg T58_;
2695 if (!isExpr) goto LA56_;
2696 branchBody = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*branch).info);
2697 addExprAssgn__closureiters_446((&(*ctx)), branchBody, (*branch)._kind_6.sons->data[((NI) 0)], tmp);
2698 nimZeroMem((void*)T58_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
2699 T58_[0] = branchBody;
2700 newBranch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), T58_, 1);
2701 add__ast_4797(curS, newBranch);
2702 }
2703 goto LA54_;
2704 LA56_: ;
2705 {
2706 add__ast_4797(curS, branch);
2707 }
2708 LA54_: ;
2709 }
2710 break;
2711 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49):
2712 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
2713 {
2714 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* newBranch_2;
2715 newBranch_2 = NIM_NIL;
2716 {
2717 tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T65_;
2718 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_4;
2719 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* res;
2720 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elseBody;
2721 tyArray__jlWPjgtbdjE069arIWHC9c9bg T66_;
2722 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T67_;
2723 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* newIf;
2724 tyArray__jlWPjgtbdjE069arIWHC9c9bg T68_;
2725 if (!((*(*branch)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA63_;
2726 nimZeroMem((void*)(&T65_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2727 exprToStmtList__closureiters_385((*branch)._kind_6.sons->data[((NI) 0)], (&T65_));
2728 st_4 = NIM_NIL;
2729 st_4 = T65_.Field0;
2730 res = NIM_NIL;
2731 res = T65_.Field1;
2732 nimZeroMem((void*)T66_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
2733 T66_[0] = st_4;
2734 elseBody = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T66_, 1);
2735 nimZeroMem((void*)T67_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
2736 T67_[0] = res;
2737 T67_[1] = (*branch)._kind_6.sons->data[((NI) 1)];
2738 newBranch_2 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), T67_, 2);
2739 nimZeroMem((void*)T68_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
2740 T68_[0] = newBranch_2;
2741 newIf = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T68_, 1);
2742 add__ast_4797(elseBody, newIf);
2743 {
2744 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* newElse;
2745 if (!((*curS).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92))) goto LA71_;
2746 newElse = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), (*branch).info);
2747 add__ast_4797(newElse, elseBody);
2748 add__ast_4797(curS, newElse);
2749 }
2750 goto LA69_;
2751 LA71_: ;
2752 {
2753 add__ast_4797(curS, elseBody);
2754 }
2755 LA69_: ;
2756 curS = newIf;
2757 }
2758 goto LA61_;
2759 LA63_: ;
2760 {
2761 newBranch_2 = branch;
2762 {
2763 if (!((*curS).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92))) goto LA77_;
2764 add__ast_4797(curS, newBranch_2);
2765 }
2766 goto LA75_;
2767 LA77_: ;
2768 {
2769 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* newIf_2;
2770 tyArray__jlWPjgtbdjE069arIWHC9c9bg T80_;
2771 nimZeroMem((void*)T80_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
2772 T80_[0] = newBranch_2;
2773 newIf_2 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T80_, 1);
2774 add__ast_4797(curS, newIf_2);
2775 curS = newIf_2;
2776 }
2777 LA75_: ;
2778 }
2779 LA61_: ;
2780 {
2781 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchBody_2;
2782 if (!isExpr) goto LA83_;
2783 branchBody_2 = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*branch)._kind_6.sons->data[((NI) 1)]).info);
2784 addExprAssgn__closureiters_446((&(*ctx)), branchBody_2, (*branch)._kind_6.sons->data[((NI) 1)], tmp);
2785 asgnRef((void**) (&(*newBranch_2)._kind_6.sons->data[((NI) 1)]), branchBody_2);
2786 }
2787 LA83_: ;
2788 }
2789 break;
2790 default:
2791 {
2792 NimStringDesc* T86_;
2793 T86_ = NIM_NIL;
2794 T86_ = rawNewString((reprEnum((NI)(*branch).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*branch).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 25);
2795 appendString(T86_, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_11));
2796 appendString(T86_, reprEnum((NI)(*branch).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)));
2797 internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, T86_, TM__slVvvIjx75ivXdMpHiE9c9aQ_12);
2798 }
2799 break;
2800 }
2801 i_10 += ((NI) 1);
2802 } LA52: ;
2803 }
2804 }
2805 }
2806 {
2807 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T91_;
2808 if (!isExpr) goto LA89_;
2809 T91_ = NIM_NIL;
2810 T91_ = newEnvVarAccess__closureiters_70((&(*ctx)), tmp);
2811 add__ast_4797(result, T91_);
2812 }
2813 LA89_: ;
2814 }
2815 LA41_: ;
2816 }
2817 break;
2818 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
2819 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
2820 {
2821 NIM_BOOL ns_4;
2822 ns_4 = NIM_FALSE;
2823 {
2824 NI i_11;
2825 NI colontmp__6;
2826 NI i_12;
2827 i_11 = (NI)0;
2828 colontmp__6 = (NI)0;
2829 colontmp__6 = len__ast_3198(n);
2830 i_12 = ((NI) 0);
2831 {
2832 while (1) {
2833 if (!(i_12 < colontmp__6)) goto LA95;
2834 i_11 = i_12;
2835 asgnRef((void**) (&(*n)._kind_6.sons->data[i_11]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_11], (&ns_4)));
2836 i_12 += ((NI) 1);
2837 } LA95: ;
2838 }
2839 }
2840 {
2841 NIM_BOOL isExpr_2;
2842 NIM_BOOL T100_;
2843 if (!ns_4) goto LA98_;
2844 (*needsSplit) = NIM_TRUE;
2845 T100_ = (NIM_BOOL)0;
2846 T100_ = isEmptyType__ast_4779((*n).typ);
2847 isExpr_2 = !(T100_);
2848 {
2849 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* tmp_2;
2850 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T117_;
2851 if (!isExpr_2) goto LA103_;
2852 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
2853 asgnRef((void**) (&(*result).typ), (*n).typ);
2854 tmp_2 = newTempVar__closureiters_167(ctx, (*n).typ);
2855 asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), convertExprBodyToAsgn__closureiters_469((&(*ctx)), (*n)._kind_6.sons->data[((NI) 0)], tmp_2));
2856 {
2857 NI i_13;
2858 NI colontmp__7;
2859 NI i_14;
2860 i_13 = (NI)0;
2861 colontmp__7 = (NI)0;
2862 colontmp__7 = len__ast_3198(n);
2863 i_14 = ((NI) 1);
2864 {
2865 while (1) {
2866 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch_2;
2867 if (!(i_14 < colontmp__7)) goto LA107;
2868 i_13 = i_14;
2869 branch_2 = (*n)._kind_6.sons->data[i_13];
2870 switch ((*branch_2).kind) {
2871 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87):
2872 {
2873 {
2874 if (!((*(*branch_2)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4))) goto LA111_;
2875 asgnRef((void**) (&(*branch_2)._kind_6.sons->data[((NI) 1)]), convertExprBodyToAsgn__closureiters_469((&(*ctx)), (*branch_2)._kind_6.sons->data[((NI) 1)], tmp_2));
2876 }
2877 goto LA109_;
2878 LA111_: ;
2879 {
2880 asgnRef((void**) (&(*branch_2)._kind_6.sons->data[((NI) 0)]), convertExprBodyToAsgn__closureiters_469((&(*ctx)), (*branch_2)._kind_6.sons->data[((NI) 0)], tmp_2));
2881 }
2882 LA109_: ;
2883 }
2884 break;
2885 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107):
2886 {
2887 }
2888 break;
2889 default:
2890 {
2891 NimStringDesc* T116_;
2892 T116_ = NIM_NIL;
2893 T116_ = rawNewString((reprEnum((NI)(*branch_2).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*branch_2).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 30);
2894 appendString(T116_, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_13));
2895 appendString(T116_, reprEnum((NI)(*branch_2).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)));
2896 internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, T116_, TM__slVvvIjx75ivXdMpHiE9c9aQ_14);
2897 }
2898 break;
2899 }
2900 i_14 += ((NI) 1);
2901 } LA107: ;
2902 }
2903 }
2904 add__ast_4797(result, n);
2905 T117_ = NIM_NIL;
2906 T117_ = newEnvVarAccess__closureiters_70((&(*ctx)), tmp_2);
2907 add__ast_4797(result, T117_);
2908 }
2909 LA103_: ;
2910 }
2911 LA98_: ;
2912 }
2913 break;
2914 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
2915 {
2916 NIM_BOOL ns_5;
2917 ns_5 = NIM_FALSE;
2918 {
2919 NI i_15;
2920 NI colontmp__8;
2921 NI i_16;
2922 i_15 = (NI)0;
2923 colontmp__8 = (NI)0;
2924 colontmp__8 = len__ast_3198(n);
2925 i_16 = ((NI) 0);
2926 {
2927 while (1) {
2928 if (!(i_16 < colontmp__8)) goto LA121;
2929 i_15 = i_16;
2930 asgnRef((void**) (&(*n)._kind_6.sons->data[i_15]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_15], (&ns_5)));
2931 i_16 += ((NI) 1);
2932 } LA121: ;
2933 }
2934 }
2935 {
2936 NIM_BOOL isExpr_3;
2937 NIM_BOOL T126_;
2938 if (!ns_5) goto LA124_;
2939 (*needsSplit) = NIM_TRUE;
2940 T126_ = (NIM_BOOL)0;
2941 T126_ = isEmptyType__ast_4779((*n).typ);
2942 isExpr_3 = !(T126_);
2943 {
2944 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* tmp_3;
2945 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T145_;
2946 if (!isExpr_3) goto LA129_;
2947 tmp_3 = newTempVar__closureiters_167(ctx, (*n).typ);
2948 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
2949 asgnRef((void**) (&(*result).typ), (*n).typ);
2950 {
2951 tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T135_;
2952 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_5;
2953 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_4;
2954 if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA133_;
2955 nimZeroMem((void*)(&T135_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2956 exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 0)], (&T135_));
2957 st_5 = NIM_NIL;
2958 st_5 = T135_.Field0;
2959 ex_4 = NIM_NIL;
2960 ex_4 = T135_.Field1;
2961 add__ast_4797(result, st_5);
2962 asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), ex_4);
2963 }
2964 LA133_: ;
2965 {
2966 NI i_17;
2967 NI colontmp__9;
2968 NI i_18;
2969 i_17 = (NI)0;
2970 colontmp__9 = (NI)0;
2971 colontmp__9 = len__ast_3198(n);
2972 i_18 = ((NI) 1);
2973 {
2974 while (1) {
2975 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch_3;
2976 if (!(i_18 < colontmp__9)) goto LA138;
2977 i_17 = i_18;
2978 branch_3 = (*n)._kind_6.sons->data[i_17];
2979 switch ((*branch_3).kind) {
2980 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
2981 {
2982 NI T140_;
2983 NI T141_;
2984 T140_ = (NI)0;
2985 T140_ = len__ast_3198(branch_3);
2986 T141_ = (NI)0;
2987 T141_ = len__ast_3198(branch_3);
2988 asgnRef((void**) (&(*branch_3)._kind_6.sons->data[(NI)(T140_ - ((NI) 1))]), convertExprBodyToAsgn__closureiters_469((&(*ctx)), (*branch_3)._kind_6.sons->data[(NI)(T141_ - ((NI) 1))], tmp_3));
2989 }
2990 break;
2991 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
2992 {
2993 asgnRef((void**) (&(*branch_3)._kind_6.sons->data[((NI) 0)]), convertExprBodyToAsgn__closureiters_469((&(*ctx)), (*branch_3)._kind_6.sons->data[((NI) 0)], tmp_3));
2994 }
2995 break;
2996 default:
2997 {
2998 NimStringDesc* T144_;
2999 T144_ = NIM_NIL;
3000 T144_ = rawNewString((reprEnum((NI)(*branch_3).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*branch_3).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 31);
3001 appendString(T144_, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_15));
3002 appendString(T144_, reprEnum((NI)(*branch_3).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)));
3003 internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, T144_, TM__slVvvIjx75ivXdMpHiE9c9aQ_16);
3004 }
3005 break;
3006 }
3007 i_18 += ((NI) 1);
3008 } LA138: ;
3009 }
3010 }
3011 add__ast_4797(result, n);
3012 T145_ = NIM_NIL;
3013 T145_ = newEnvVarAccess__closureiters_70((&(*ctx)), tmp_3);
3014 add__ast_4797(result, T145_);
3015 }
3016 goto LA127_;
3017 LA129_: ;
3018 {
3019 tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T149_;
3020 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_6;
3021 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_5;
3022 if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA147_;
3023 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
3024 nimZeroMem((void*)(&T149_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3025 exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 0)], (&T149_));
3026 st_6 = NIM_NIL;
3027 st_6 = T149_.Field0;
3028 ex_5 = NIM_NIL;
3029 ex_5 = T149_.Field1;
3030 add__ast_4797(result, st_6);
3031 asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), ex_5);
3032 add__ast_4797(result, n);
3033 }
3034 goto LA127_;
3035 LA147_: ;
3036 LA127_: ;
3037 }
3038 LA124_: ;
3039 }
3040 break;
3041 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
3042 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
3043 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
3044 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
3045 {
3046 NIM_BOOL ns_6;
3047 ns_6 = NIM_FALSE;
3048 {
3049 NI i_19;
3050 NI colontmp__10;
3051 NI i_20;
3052 i_19 = (NI)0;
3053 colontmp__10 = (NI)0;
3054 colontmp__10 = len__ast_3198(n);
3055 i_20 = ((NI) 0);
3056 {
3057 while (1) {
3058 if (!(i_20 < colontmp__10)) goto LA153;
3059 i_19 = i_20;
3060 asgnRef((void**) (&(*n)._kind_6.sons->data[i_19]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_19], (&ns_6)));
3061 i_20 += ((NI) 1);
3062 } LA153: ;
3063 }
3064 }
3065 {
3066 NIM_BOOL isExpr_4;
3067 NIM_BOOL T158_;
3068 if (!ns_6) goto LA156_;
3069 (*needsSplit) = NIM_TRUE;
3070 T158_ = (NIM_BOOL)0;
3071 T158_ = isEmptyType__ast_4779((*n).typ);
3072 isExpr_4 = !(T158_);
3073 {
3074 if (!isExpr_4) goto LA161_;
3075 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
3076 asgnRef((void**) (&(*result).typ), (*n).typ);
3077 }
3078 goto LA159_;
3079 LA161_: ;
3080 {
3081 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
3082 }
3083 LA159_: ;
3084 {
3085 NIM_BOOL T166_;
3086 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond;
3087 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* tmp_4;
3088 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T175_;
3089 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* check;
3090 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifBody;
3091 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T185_;
3092 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifBranch;
3093 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T186_;
3094 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifNode;
3095 tyArray__jlWPjgtbdjE069arIWHC9c9bg T187_;
3096 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T188_;
3097 T166_ = (NIM_BOOL)0;
3098 T166_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3099 if (!(T166_)) goto LA167_;
3100 T166_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109) || (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110));
3101 LA167_: ;
3102 if (!T166_) goto LA168_;
3103 cond = (*n)._kind_6.sons->data[((NI) 1)];
3104 {
3105 tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T174_;
3106 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_7;
3107 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_6;
3108 if (!((*cond).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA172_;
3109 nimZeroMem((void*)(&T174_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3110 exprToStmtList__closureiters_385(cond, (&T174_));
3111 st_7 = NIM_NIL;
3112 st_7 = T174_.Field0;
3113 ex_6 = NIM_NIL;
3114 ex_6 = T174_.Field1;
3115 add__ast_4797(result, st_7);
3116 cond = ex_6;
3117 }
3118 LA172_: ;
3119 tmp_4 = newTempVar__closureiters_167(ctx, (*cond).typ);
3120 T175_ = NIM_NIL;
3121 T175_ = newEnvVarAsgn__closureiters_441((&(*ctx)), tmp_4, cond);
3122 add__ast_4797(result, T175_);
3123 check = newEnvVarAccess__closureiters_70((&(*ctx)), tmp_4);
3124 {
3125 if (!((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110))) goto LA178_;
3126 check = newNotCall__closureiters_474((*ctx).g, check);
3127 }
3128 LA178_: ;
3129 cond = (*n)._kind_6.sons->data[((NI) 2)];
3130 ifBody = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*cond).info);
3131 {
3132 tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T184_;
3133 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_8;
3134 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_7;
3135 if (!((*cond).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA182_;
3136 nimZeroMem((void*)(&T184_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3137 exprToStmtList__closureiters_385(cond, (&T184_));
3138 st_8 = NIM_NIL;
3139 st_8 = T184_.Field0;
3140 ex_7 = NIM_NIL;
3141 ex_7 = T184_.Field1;
3142 add__ast_4797(ifBody, st_8);
3143 cond = ex_7;
3144 }
3145 LA182_: ;
3146 T185_ = NIM_NIL;
3147 T185_ = newEnvVarAsgn__closureiters_441((&(*ctx)), tmp_4, cond);
3148 add__ast_4797(ifBody, T185_);
3149 nimZeroMem((void*)T186_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
3150 T186_[0] = check;
3151 T186_[1] = ifBody;
3152 ifBranch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), T186_, 2);
3153 nimZeroMem((void*)T187_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
3154 T187_[0] = ifBranch;
3155 ifNode = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T187_, 1);
3156 add__ast_4797(result, ifNode);
3157 T188_ = NIM_NIL;
3158 T188_ = newEnvVarAccess__closureiters_70((&(*ctx)), tmp_4);
3159 add__ast_4797(result, T188_);
3160 }
3161 goto LA164_;
3162 LA168_: ;
3163 {
3164 {
3165 NI i_21;
3166 NI colontmp__11;
3167 NI i_22;
3168 i_21 = (NI)0;
3169 colontmp__11 = (NI)0;
3170 colontmp__11 = len__ast_3198(n);
3171 i_22 = ((NI) 0);
3172 {
3173 while (1) {
3174 if (!(i_22 < colontmp__11)) goto LA192;
3175 i_21 = i_22;
3176 {
3177 tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T197_;
3178 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_9;
3179 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_8;
3180 if (!((*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA195_;
3181 nimZeroMem((void*)(&T197_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3182 exprToStmtList__closureiters_385((*n)._kind_6.sons->data[i_21], (&T197_));
3183 st_9 = NIM_NIL;
3184 st_9 = T197_.Field0;
3185 ex_8 = NIM_NIL;
3186 ex_8 = T197_.Field1;
3187 add__ast_4797(result, st_9);
3188 asgnRef((void**) (&(*n)._kind_6.sons->data[i_21]), ex_8);
3189 }
3190 LA195_: ;
3191 {
3192 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* tmp_5;
3193 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T202_;
3194 if (!((*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA200_;
3195 tmp_5 = newTempVar__closureiters_167(ctx, (*(*n)._kind_6.sons->data[i_21]).typ);
3196 T202_ = NIM_NIL;
3197 T202_ = newEnvVarAsgn__closureiters_441((&(*ctx)), tmp_5, (*n)._kind_6.sons->data[i_21]);
3198 add__ast_4797(result, T202_);
3199 asgnRef((void**) (&(*n)._kind_6.sons->data[i_21]), newEnvVarAccess__closureiters_70((&(*ctx)), tmp_5));
3200 }
3201 LA200_: ;
3202 i_22 += ((NI) 1);
3203 } LA192: ;
3204 }
3205 }
3206 add__ast_4797(result, n);
3207 }
3208 LA164_: ;
3209 }
3210 LA156_: ;
3211 }
3212 break;
3213 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
3214 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
3215 {
3216 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
3217 {
3218 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c;
3219 c = NIM_NIL;
3220 {
3221 NI i_23;
3222 NI colontmp__12;
3223 NI i_24;
3224 i_23 = (NI)0;
3225 colontmp__12 = (NI)0;
3226 colontmp__12 = safeLen__ast_3191(n);
3227 i_24 = ((NI) 0);
3228 {
3229 while (1) {
3230 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSect;
3231 NIM_BOOL ns_7;
3232 NI T208_;
3233 NI T209_;
3234 if (!(i_24 < colontmp__12)) goto LA207;
3235 i_23 = i_24;
3236 c = (*n)._kind_6.sons->data[i_23];
3237 varSect = newNodeI__ast_3356((*n).kind, (*n).info);
3238 add__ast_4797(varSect, c);
3239 ns_7 = NIM_FALSE;
3240 T208_ = (NI)0;
3241 T208_ = len__ast_3198(c);
3242 T209_ = (NI)0;
3243 T209_ = len__ast_3198(c);
3244 asgnRef((void**) (&(*c)._kind_6.sons->data[(NI)(T208_ - ((NI) 1))]), lowerStmtListExprs__closureiters_478(ctx, (*c)._kind_6.sons->data[(NI)(T209_ - ((NI) 1))], (&ns_7)));
3245 {
3246 NI T214_;
3247 tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T215_;
3248 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_10;
3249 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_9;
3250 NI T216_;
3251 if (!ns_7) goto LA212_;
3252 (*needsSplit) = NIM_TRUE;
3253 T214_ = (NI)0;
3254 T214_ = len__ast_3198(c);
3255 nimZeroMem((void*)(&T215_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3256 exprToStmtList__closureiters_385((*c)._kind_6.sons->data[(NI)(T214_ - ((NI) 1))], (&T215_));
3257 st_10 = NIM_NIL;
3258 st_10 = T215_.Field0;
3259 ex_9 = NIM_NIL;
3260 ex_9 = T215_.Field1;
3261 add__ast_4797(result, st_10);
3262 T216_ = (NI)0;
3263 T216_ = len__ast_3198(c);
3264 asgnRef((void**) (&(*c)._kind_6.sons->data[(NI)(T216_ - ((NI) 1))]), ex_9);
3265 }
3266 LA212_: ;
3267 add__ast_4797(result, varSect);
3268 i_24 += ((NI) 1);
3269 } LA207: ;
3270 }
3271 }
3272 }
3273 }
3274 break;
3275 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114):
3276 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
3277 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
3278 {
3279 NIM_BOOL ns_8;
3280 ns_8 = NIM_FALSE;
3281 {
3282 NI i_25;
3283 NI colontmp__13;
3284 NI i_26;
3285 i_25 = (NI)0;
3286 colontmp__13 = (NI)0;
3287 colontmp__13 = len__ast_3198(n);
3288 i_26 = ((NI) 0);
3289 {
3290 while (1) {
3291 if (!(i_26 < colontmp__13)) goto LA220;
3292 i_25 = i_26;
3293 asgnRef((void**) (&(*n)._kind_6.sons->data[i_25]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_25], (&ns_8)));
3294 i_26 += ((NI) 1);
3295 } LA220: ;
3296 }
3297 }
3298 {
3299 tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T225_;
3300 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_11;
3301 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_10;
3302 if (!ns_8) goto LA223_;
3303 (*needsSplit) = NIM_TRUE;
3304 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
3305 nimZeroMem((void*)(&T225_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3306 exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 0)], (&T225_));
3307 st_11 = NIM_NIL;
3308 st_11 = T225_.Field0;
3309 ex_10 = NIM_NIL;
3310 ex_10 = T225_.Field1;
3311 add__ast_4797(result, st_11);
3312 asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), ex_10);
3313 add__ast_4797(result, n);
3314 }
3315 LA223_: ;
3316 }
3317 break;
3318 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
3319 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
3320 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
3321 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
3322 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
3323 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
3324 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
3325 {
3326 NIM_BOOL ns_9;
3327 ns_9 = NIM_FALSE;
3328 {
3329 NI i_27;
3330 NI colontmp__14;
3331 NI colontmp__15;
3332 NI i_28;
3333 i_27 = (NI)0;
3334 colontmp__14 = (NI)0;
3335 colontmp__15 = (NI)0;
3336 colontmp__14 = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61));
3337 colontmp__15 = len__ast_3198(n);
3338 i_28 = colontmp__14;
3339 {
3340 while (1) {
3341 if (!(i_28 < colontmp__15)) goto LA229;
3342 i_27 = i_28;
3343 asgnRef((void**) (&(*n)._kind_6.sons->data[i_27]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_27], (&ns_9)));
3344 i_28 += ((NI) 1);
3345 } LA229: ;
3346 }
3347 }
3348 {
3349 NI T234_;
3350 tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T235_;
3351 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_12;
3352 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_11;
3353 NI T236_;
3354 if (!ns_9) goto LA232_;
3355 (*needsSplit) = NIM_TRUE;
3356 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
3357 asgnRef((void**) (&(*result).typ), (*n).typ);
3358 T234_ = (NI)0;
3359 T234_ = len__ast_3198(n);
3360 nimZeroMem((void*)(&T235_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3361 exprToStmtList__closureiters_385((*n)._kind_6.sons->data[(NI)(T234_ - ((NI) 1))], (&T235_));
3362 st_12 = NIM_NIL;
3363 st_12 = T235_.Field0;
3364 ex_11 = NIM_NIL;
3365 ex_11 = T235_.Field1;
3366 add__ast_4797(result, st_12);
3367 T236_ = (NI)0;
3368 T236_ = len__ast_3198(n);
3369 asgnRef((void**) (&(*n)._kind_6.sons->data[(NI)(T236_ - ((NI) 1))]), ex_11);
3370 add__ast_4797(result, n);
3371 }
3372 LA232_: ;
3373 }
3374 break;
3375 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
3376 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
3377 {
3378 NIM_BOOL ns_10;
3379 ns_10 = NIM_FALSE;
3380 {
3381 NI i_29;
3382 NI colontmp__16;
3383 NI i_30;
3384 i_29 = (NI)0;
3385 colontmp__16 = (NI)0;
3386 colontmp__16 = len__ast_3198(n);
3387 i_30 = ((NI) 0);
3388 {
3389 while (1) {
3390 if (!(i_30 < colontmp__16)) goto LA240;
3391 i_29 = i_30;
3392 asgnRef((void**) (&(*n)._kind_6.sons->data[i_29]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_29], (&ns_10)));
3393 i_30 += ((NI) 1);
3394 } LA240: ;
3395 }
3396 }
3397 {
3398 if (!ns_10) goto LA243_;
3399 (*needsSplit) = NIM_TRUE;
3400 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
3401 {
3402 tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T249_;
3403 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_13;
3404 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_12;
3405 if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA247_;
3406 nimZeroMem((void*)(&T249_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3407 exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 0)], (&T249_));
3408 st_13 = NIM_NIL;
3409 st_13 = T249_.Field0;
3410 ex_12 = NIM_NIL;
3411 ex_12 = T249_.Field1;
3412 add__ast_4797(result, st_13);
3413 asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), ex_12);
3414 }
3415 LA247_: ;
3416 {
3417 tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T254_;
3418 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_14;
3419 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_13;
3420 if (!((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA252_;
3421 nimZeroMem((void*)(&T254_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3422 exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 1)], (&T254_));
3423 st_14 = NIM_NIL;
3424 st_14 = T254_.Field0;
3425 ex_13 = NIM_NIL;
3426 ex_13 = T254_.Field1;
3427 add__ast_4797(result, st_14);
3428 asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), ex_13);
3429 }
3430 LA252_: ;
3431 add__ast_4797(result, n);
3432 }
3433 LA243_: ;
3434 }
3435 break;
3436 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
3437 {
3438 NIM_BOOL lhsNeedsSplit;
3439 NIM_BOOL rhsNeedsSplit;
3440 lhsNeedsSplit = NIM_FALSE;
3441 rhsNeedsSplit = NIM_FALSE;
3442 asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[((NI) 0)], (&lhsNeedsSplit)));
3443 asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[((NI) 1)], (&rhsNeedsSplit)));
3444 {
3445 NIM_BOOL T258_;
3446 T258_ = (NIM_BOOL)0;
3447 T258_ = lhsNeedsSplit;
3448 if (T258_) goto LA259_;
3449 T258_ = rhsNeedsSplit;
3450 LA259_: ;
3451 if (!T258_) goto LA260_;
3452 (*needsSplit) = NIM_TRUE;
3453 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
3454 {
3455 tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T266_;
3456 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_15;
3457 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_14;
3458 if (!lhsNeedsSplit) goto LA264_;
3459 nimZeroMem((void*)(&T266_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3460 exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 0)], (&T266_));
3461 st_15 = NIM_NIL;
3462 st_15 = T266_.Field0;
3463 ex_14 = NIM_NIL;
3464 ex_14 = T266_.Field1;
3465 add__ast_4797(result, st_15);
3466 asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), ex_14);
3467 }
3468 LA264_: ;
3469 {
3470 tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T271_;
3471 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_16;
3472 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_15;
3473 if (!rhsNeedsSplit) goto LA269_;
3474 nimZeroMem((void*)(&T271_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3475 exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 1)], (&T271_));
3476 st_16 = NIM_NIL;
3477 st_16 = T271_.Field0;
3478 ex_15 = NIM_NIL;
3479 ex_15 = T271_.Field1;
3480 add__ast_4797(result, st_16);
3481 asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), ex_15);
3482 }
3483 LA269_: ;
3484 add__ast_4797(result, n);
3485 }
3486 LA260_: ;
3487 }
3488 break;
3489 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
3490 {
3491 NIM_BOOL condNeedsSplit;
3492 NIM_BOOL bodyNeedsSplit;
3493 condNeedsSplit = NIM_FALSE;
3494 asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[((NI) 0)], (&condNeedsSplit)));
3495 bodyNeedsSplit = NIM_FALSE;
3496 asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[((NI) 1)], (&bodyNeedsSplit)));
3497 {
3498 NIM_BOOL T275_;
3499 T275_ = (NIM_BOOL)0;
3500 T275_ = condNeedsSplit;
3501 if (T275_) goto LA276_;
3502 T275_ = bodyNeedsSplit;
3503 LA276_: ;
3504 if (!T275_) goto LA277_;
3505 (*needsSplit) = NIM_TRUE;
3506 {
3507 tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T283_;
3508 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_17;
3509 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_16;
3510 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* brk;
3511 tyArray__jlWPjgtbdjE069arIWHC9c9bg T284_;
3512 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch_4;
3513 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T285_;
3514 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* check_2;
3515 tyArray__jlWPjgtbdjE069arIWHC9c9bg T286_;
3516 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* newBody;
3517 tyArray__T6RKPw8xfAeNaoei9aZGzXg T287_;
3518 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T288_;
3519 if (!condNeedsSplit) goto LA281_;
3520 nimZeroMem((void*)(&T283_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3521 exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 0)], (&T283_));
3522 st_17 = NIM_NIL;
3523 st_17 = T283_.Field0;
3524 ex_16 = NIM_NIL;
3525 ex_16 = T283_.Field1;
3526 nimZeroMem((void*)T284_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
3527 T284_[0] = (*(*ctx).g).emptyNode;
3528 brk = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110), T284_, 1);
3529 nimZeroMem((void*)T285_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
3530 T285_[0] = newNotCall__closureiters_474((*ctx).g, ex_16);
3531 T285_[1] = brk;
3532 branch_4 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), T285_, 2);
3533 nimZeroMem((void*)T286_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
3534 T286_[0] = branch_4;
3535 check_2 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T286_, 1);
3536 nimZeroMem((void*)T287_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
3537 T287_[0] = st_17;
3538 T287_[1] = check_2;
3539 T287_[2] = (*n)._kind_6.sons->data[((NI) 1)];
3540 newBody = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T287_, 3);
3541 T288_ = NIM_NIL;
3542 T288_ = getSysSym__magicsys_16((*ctx).g, (*(*n)._kind_6.sons->data[((NI) 0)]).info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_18));
3543 asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(T288_));
3544 asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), newBody);
3545 }
3546 LA281_: ;
3547 }
3548 LA277_: ;
3549 }
3550 break;
3551 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
3552 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
3553 {
3554 NIM_BOOL ns_11;
3555 ns_11 = NIM_FALSE;
3556 asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[((NI) 0)], (&ns_11)));
3557 {
3558 tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T294_;
3559 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_18;
3560 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_17;
3561 if (!ns_11) goto LA292_;
3562 (*needsSplit) = NIM_TRUE;
3563 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
3564 asgnRef((void**) (&(*result).typ), (*n).typ);
3565 nimZeroMem((void*)(&T294_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3566 exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 0)], (&T294_));
3567 st_18 = NIM_NIL;
3568 st_18 = T294_.Field0;
3569 ex_17 = NIM_NIL;
3570 ex_17 = T294_.Field1;
3571 add__ast_4797(result, st_18);
3572 asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), ex_17);
3573 add__ast_4797(result, n);
3574 }
3575 LA292_: ;
3576 }
3577 break;
3578 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
3579 {
3580 NIM_BOOL ns_12;
3581 ns_12 = NIM_FALSE;
3582 asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[((NI) 1)], (&ns_12)));
3583 {
3584 tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T300_;
3585 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_19;
3586 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_18;
3587 if (!ns_12) goto LA298_;
3588 (*needsSplit) = NIM_TRUE;
3589 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
3590 asgnRef((void**) (&(*result).typ), (*n).typ);
3591 nimZeroMem((void*)(&T300_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3592 exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 1)], (&T300_));
3593 st_19 = NIM_NIL;
3594 st_19 = T300_.Field0;
3595 ex_18 = NIM_NIL;
3596 ex_18 = T300_.Field1;
3597 transitionSonsKind__ast_4359(n, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 112));
3598 asgnRef((void**) (&(*n).typ), ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
3599 asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), st_19);
3600 add__ast_4797(result, n);
3601 add__ast_4797(result, ex_18);
3602 }
3603 LA298_: ;
3604 }
3605 break;
3606 default:
3607 {
3608 {
3609 NI i_31;
3610 NI colontmp__17;
3611 NI i_32;
3612 i_31 = (NI)0;
3613 colontmp__17 = (NI)0;
3614 colontmp__17 = len__ast_3198(n);
3615 i_32 = ((NI) 0);
3616 {
3617 while (1) {
3618 if (!(i_32 < colontmp__17)) goto LA304;
3619 i_31 = i_32;
3620 asgnRef((void**) (&(*n)._kind_6.sons->data[i_31]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_31], needsSplit));
3621 i_32 += ((NI) 1);
3622 } LA304: ;
3623 }
3624 }
3625 }
3626 break;
3627 }
3628 return result;
3629 }
N_NIMCALL(NIM_BOOL,hasYields__closureiters_175)3630 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasYields__closureiters_175)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3631 NIM_BOOL result;
3632 result = (NIM_BOOL)0;
3633 switch ((*n).kind) {
3634 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 104):
3635 {
3636 result = NIM_TRUE;
3637 }
3638 break;
3639 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
3640 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
3641 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
3642 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
3643 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
3644 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
3645 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
3646 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
3647 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
3648 {
3649 }
3650 break;
3651 default:
3652 {
3653 {
3654 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c;
3655 c = NIM_NIL;
3656 {
3657 NI i;
3658 NI colontmp_;
3659 NI i_2;
3660 i = (NI)0;
3661 colontmp_ = (NI)0;
3662 colontmp_ = safeLen__ast_3191(n);
3663 i_2 = ((NI) 0);
3664 {
3665 while (1) {
3666 if (!(i_2 < colontmp_)) goto LA7;
3667 i = i_2;
3668 c = (*n)._kind_6.sons->data[i];
3669 {
3670 NIM_BOOL T10_;
3671 T10_ = (NIM_BOOL)0;
3672 T10_ = hasYields__closureiters_175(c);
3673 if (!T10_) goto LA11_;
3674 result = NIM_TRUE;
3675 goto LA4;
3676 }
3677 LA11_: ;
3678 i_2 += ((NI) 1);
3679 } LA7: ;
3680 }
3681 }
3682 } LA4: ;
3683 }
3684 break;
3685 }
3686 return result;
3687 }
N_NIMCALL(NIM_BOOL,hasYieldsInExpressions__closureiters_371)3688 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasYieldsInExpressions__closureiters_371)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3689 NIM_BOOL result;
3690 { result = (NIM_BOOL)0;
3691 switch ((*n).kind) {
3692 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
3693 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
3694 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
3695 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
3696 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
3697 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
3698 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
3699 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
3700 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
3701 {
3702 }
3703 break;
3704 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
3705 {
3706 {
3707 NIM_BOOL T5_;
3708 T5_ = (NIM_BOOL)0;
3709 T5_ = isEmptyType__ast_4779((*n).typ);
3710 if (!T5_) goto LA6_;
3711 {
3712 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c;
3713 c = NIM_NIL;
3714 {
3715 NI i;
3716 NI colontmp_;
3717 NI i_2;
3718 i = (NI)0;
3719 colontmp_ = (NI)0;
3720 colontmp_ = safeLen__ast_3191(n);
3721 i_2 = ((NI) 0);
3722 {
3723 while (1) {
3724 if (!(i_2 < colontmp_)) goto LA11;
3725 i = i_2;
3726 c = (*n)._kind_6.sons->data[i];
3727 {
3728 NIM_BOOL T14_;
3729 T14_ = (NIM_BOOL)0;
3730 T14_ = hasYieldsInExpressions__closureiters_371(c);
3731 if (!T14_) goto LA15_;
3732 result = NIM_TRUE;
3733 goto BeforeRet_;
3734 }
3735 LA15_: ;
3736 i_2 += ((NI) 1);
3737 } LA11: ;
3738 }
3739 }
3740 }
3741 }
3742 goto LA3_;
3743 LA6_: ;
3744 {
3745 result = hasYields__closureiters_175(n);
3746 }
3747 LA3_: ;
3748 }
3749 break;
3750 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
3751 {
3752 {
3753 NI i_3;
3754 NI colontmp__2;
3755 NI i_4;
3756 i_3 = (NI)0;
3757 colontmp__2 = (NI)0;
3758 colontmp__2 = len__ast_3198(n);
3759 i_4 = ((NI) 1);
3760 {
3761 while (1) {
3762 if (!(i_4 < colontmp__2)) goto LA21;
3763 i_3 = i_4;
3764 {
3765 NIM_BOOL T24_;
3766 T24_ = (NIM_BOOL)0;
3767 T24_ = hasYieldsInExpressions__closureiters_371((*n)._kind_6.sons->data[i_3]);
3768 if (!T24_) goto LA25_;
3769 result = NIM_TRUE;
3770 goto BeforeRet_;
3771 }
3772 LA25_: ;
3773 i_4 += ((NI) 1);
3774 } LA21: ;
3775 }
3776 }
3777 }
3778 break;
3779 default:
3780 {
3781 {
3782 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c_2;
3783 c_2 = NIM_NIL;
3784 {
3785 NI i_5;
3786 NI colontmp__3;
3787 NI i_6;
3788 i_5 = (NI)0;
3789 colontmp__3 = (NI)0;
3790 colontmp__3 = safeLen__ast_3191(n);
3791 i_6 = ((NI) 0);
3792 {
3793 while (1) {
3794 if (!(i_6 < colontmp__3)) goto LA31;
3795 i_5 = i_6;
3796 c_2 = (*n)._kind_6.sons->data[i_5];
3797 {
3798 NIM_BOOL T34_;
3799 T34_ = (NIM_BOOL)0;
3800 T34_ = hasYieldsInExpressions__closureiters_371(c_2);
3801 if (!T34_) goto LA35_;
3802 result = NIM_TRUE;
3803 goto BeforeRet_;
3804 }
3805 LA35_: ;
3806 i_6 += ((NI) 1);
3807 } LA31: ;
3808 }
3809 }
3810 }
3811 }
3812 break;
3813 }
3814 }BeforeRet_: ;
3815 return result;
3816 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,addGotoOut__closureiters_147)3817 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, addGotoOut__closureiters_147)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gotoOut) {
3818 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3819 result = NIM_NIL;
3820 result = toStmtList__closureiters_136(n);
3821 {
3822 NIM_BOOL T3_;
3823 NI T4_;
3824 NI T6_;
3825 T3_ = (NIM_BOOL)0;
3826 T4_ = (NI)0;
3827 T4_ = len__ast_3198(result);
3828 T3_ = (T4_ == ((NI) 0));
3829 if (T3_) goto LA5_;
3830 T6_ = (NI)0;
3831 T6_ = len__ast_3198(result);
3832 T3_ = !(((*(*result)._kind_6.sons->data[(NI)(T6_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156)));
3833 LA5_: ;
3834 if (!T3_) goto LA7_;
3835 add__ast_4797(result, gotoOut);
3836 }
3837 LA7_: ;
3838 return result;
3839 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,transformBreaksAndContinuesInWhile__closureiters_179)3840 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformBreaksAndContinuesInWhile__closureiters_179)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* before, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* after) {
3841 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3842 result = NIM_NIL;
3843 result = n;
3844 switch ((*n).kind) {
3845 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
3846 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
3847 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
3848 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
3849 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
3850 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
3851 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
3852 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
3853 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
3854 {
3855 }
3856 break;
3857 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
3858 {
3859 }
3860 break;
3861 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 111):
3862 {
3863 result = before;
3864 }
3865 break;
3866 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
3867 {
3868 (*ctx).blockLevel += ((NI) 1);
3869 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), transformBreaksAndContinuesInWhile__closureiters_179(ctx, (*result)._kind_6.sons->data[((NI) 1)], before, after));
3870 (*ctx).blockLevel -= ((NI) 1);
3871 }
3872 break;
3873 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
3874 {
3875 {
3876 if (!((*ctx).blockLevel == ((NI) 0))) goto LA8_;
3877 result = after;
3878 }
3879 LA8_: ;
3880 }
3881 break;
3882 default:
3883 {
3884 {
3885 NI i;
3886 NI colontmp_;
3887 NI i_2;
3888 i = (NI)0;
3889 colontmp_ = (NI)0;
3890 colontmp_ = len__ast_3198(n);
3891 i_2 = ((NI) 0);
3892 {
3893 while (1) {
3894 if (!(i_2 < colontmp_)) goto LA13;
3895 i = i_2;
3896 asgnRef((void**) (&(*n)._kind_6.sons->data[i]), transformBreaksAndContinuesInWhile__closureiters_179(ctx, (*n)._kind_6.sons->data[i], before, after));
3897 i_2 += ((NI) 1);
3898 } LA13: ;
3899 }
3900 }
3901 }
3902 break;
3903 }
3904 return result;
3905 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,transformBreaksInBlock__closureiters_205)3906 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformBreaksInBlock__closureiters_205)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* label, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* after) {
3907 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3908 result = NIM_NIL;
3909 result = n;
3910 switch ((*n).kind) {
3911 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
3912 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
3913 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
3914 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
3915 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
3916 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
3917 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
3918 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
3919 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
3920 {
3921 }
3922 break;
3923 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
3924 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
3925 {
3926 (*ctx).blockLevel += ((NI) 1);
3927 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), transformBreaksInBlock__closureiters_205(ctx, (*result)._kind_6.sons->data[((NI) 1)], label, after));
3928 (*ctx).blockLevel -= ((NI) 1);
3929 }
3930 break;
3931 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
3932 {
3933 {
3934 if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA6_;
3935 {
3936 if (!((*ctx).blockLevel == ((NI) 0))) goto LA10_;
3937 result = after;
3938 }
3939 LA10_: ;
3940 }
3941 goto LA4_;
3942 LA6_: ;
3943 {
3944 {
3945 NIM_BOOL T15_;
3946 T15_ = (NIM_BOOL)0;
3947 T15_ = ((*label).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3948 if (!(T15_)) goto LA16_;
3949 T15_ = ((*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym == (*label)._kind_4.sym);
3950 LA16_: ;
3951 if (!T15_) goto LA17_;
3952 result = after;
3953 }
3954 LA17_: ;
3955 }
3956 LA4_: ;
3957 }
3958 break;
3959 default:
3960 {
3961 {
3962 NI i;
3963 NI colontmp_;
3964 NI i_2;
3965 i = (NI)0;
3966 colontmp_ = (NI)0;
3967 colontmp_ = len__ast_3198(n);
3968 i_2 = ((NI) 0);
3969 {
3970 while (1) {
3971 if (!(i_2 < colontmp_)) goto LA22;
3972 i = i_2;
3973 asgnRef((void**) (&(*n)._kind_6.sons->data[i]), transformBreaksInBlock__closureiters_205(ctx, (*n)._kind_6.sons->data[i], label, after));
3974 i_2 += ((NI) 1);
3975 } LA22: ;
3976 }
3977 }
3978 }
3979 break;
3980 }
3981 return result;
3982 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newOr__closureiters_251)3983 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newOr__closureiters_251)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
3984 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3985 tyArray__T6RKPw8xfAeNaoei9aZGzXg T1_;
3986 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T2_;
3987 result = NIM_NIL;
3988 nimZeroMem((void*)T1_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
3989 T2_ = NIM_NIL;
3990 T2_ = getSysMagic__magicsys_29(g, (*a).info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_25), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110));
3991 T1_[0] = newSymNode__ast_3716(T2_);
3992 T1_[1] = a;
3993 T1_[2] = b;
3994 result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T1_, 3);
3995 asgnRef((void**) (&(*result).typ), getSysType__magicsys_60(g, (*a).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
3996 (*result).info = (*a).info;
3997 return result;
3998 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newCurExcAccess__closureiters_91)3999 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newCurExcAccess__closureiters_91)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx) {
4000 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4001 result = NIM_NIL;
4002 {
4003 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
4004 if (!((*ctx).curExcSym == 0)) goto LA3_;
4005 T5_ = NIM_NIL;
4006 T5_ = callCodegenProc__lowerings_635((*ctx).g, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_24), unknownLineInfo__lineinfos_280, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4007 unsureAsgnRef((void**) (&(*ctx).curExcSym), newEnvVar__closureiters_49(ctx, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_26), (*T5_).typ));
4008 }
4009 LA3_: ;
4010 result = newEnvVarAccess__closureiters_70((&(*ctx)), (*ctx).curExcSym);
4011 return result;
4012 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newNullifyCurExc__closureiters_245)4013 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNullifyCurExc__closureiters_245)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
4014 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4015 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* curExc;
4016 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nilnode;
4017 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T1_;
4018 result = NIM_NIL;
4019 curExc = newCurExcAccess__closureiters_91(ctx);
4020 (*curExc).info = info;
4021 nilnode = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
4022 asgnRef((void**) (&(*nilnode).typ), (*curExc).typ);
4023 nimZeroMem((void*)T1_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4024 T1_[0] = curExc;
4025 T1_[1] = nilnode;
4026 result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), T1_, 2);
4027 return result;
4028 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,collectExceptState__closureiters_256)4029 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, collectExceptState__closureiters_256)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4030 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4031 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifStmt;
4032 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g;
4033 result = NIM_NIL;
4034 ifStmt = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), (*n).info);
4035 g = (*ctx).g;
4036 {
4037 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c;
4038 c = NIM_NIL;
4039 {
4040 NI i;
4041 NI colontmp_;
4042 NI i_2;
4043 i = (NI)0;
4044 colontmp_ = (NI)0;
4045 colontmp_ = safeLen__ast_3191(n);
4046 i_2 = ((NI) 0);
4047 {
4048 while (1) {
4049 if (!(i_2 < colontmp_)) goto LA4;
4050 i = i_2;
4051 c = (*n)._kind_6.sons->data[i];
4052 {
4053 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifBranch;
4054 NI T32_;
4055 if (!((*c).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87))) goto LA7_;
4056 ifBranch = NIM_NIL;
4057 {
4058 NI T11_;
4059 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond;
4060 T11_ = (NI)0;
4061 T11_ = len__ast_3198(c);
4062 if (!(((NI) 1) < T11_)) goto LA12_;
4063 cond = NIM_NIL;
4064 {
4065 NI i_3;
4066 NI colontmp__2;
4067 NI T15_;
4068 NI i_4;
4069 i_3 = (NI)0;
4070 colontmp__2 = (NI)0;
4071 T15_ = (NI)0;
4072 T15_ = len__ast_3198(c);
4073 colontmp__2 = (NI)(T15_ - ((NI) 1));
4074 i_4 = ((NI) 0);
4075 {
4076 while (1) {
4077 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nextCond;
4078 tyArray__T6RKPw8xfAeNaoei9aZGzXg T18_;
4079 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T19_;
4080 if (!(i_4 < colontmp__2)) goto LA17;
4081 i_3 = i_4;
4082 nimZeroMem((void*)T18_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
4083 T19_ = NIM_NIL;
4084 T19_ = getSysMagic__magicsys_29(g, (*c).info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_23), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 15));
4085 T18_[0] = newSymNode__ast_3716(T19_);
4086 T18_[1] = callCodegenProc__lowerings_635(g, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_24), unknownLineInfo__lineinfos_280, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4087 T18_[2] = (*c)._kind_6.sons->data[i_3];
4088 nextCond = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T18_, 3);
4089 asgnRef((void**) (&(*nextCond).typ), getSysType__magicsys_60((*ctx).g, (*c).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
4090 (*nextCond).info = (*c).info;
4091 {
4092 if (!(cond == 0)) goto LA22_;
4093 cond = nextCond;
4094 }
4095 goto LA20_;
4096 LA22_: ;
4097 {
4098 cond = newOr__closureiters_251(g, cond, nextCond);
4099 }
4100 LA20_: ;
4101 i_4 += ((NI) 1);
4102 } LA17: ;
4103 }
4104 }
4105 ifBranch = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), (*c).info);
4106 add__ast_4797(ifBranch, cond);
4107 }
4108 goto LA9_;
4109 LA12_: ;
4110 {
4111 {
4112 NI T28_;
4113 T28_ = (NI)0;
4114 T28_ = len__ast_3198(ifStmt);
4115 if (!(T28_ == ((NI) 0))) goto LA29_;
4116 ifStmt = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*c).info);
4117 ifBranch = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*c).info);
4118 }
4119 goto LA26_;
4120 LA29_: ;
4121 {
4122 ifBranch = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), (*c).info);
4123 }
4124 LA26_: ;
4125 }
4126 LA9_: ;
4127 T32_ = (NI)0;
4128 T32_ = len__ast_3198(c);
4129 add__ast_4797(ifBranch, (*c)._kind_6.sons->data[(NI)(T32_ - ((NI) 1))]);
4130 add__ast_4797(ifStmt, ifBranch);
4131 }
4132 LA7_: ;
4133 i_2 += ((NI) 1);
4134 } LA4: ;
4135 }
4136 }
4137 }
4138 {
4139 NI T35_;
4140 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T38_;
4141 T35_ = (NI)0;
4142 T35_ = len__ast_3198(ifStmt);
4143 if (!!((T35_ == ((NI) 0)))) goto LA36_;
4144 nimZeroMem((void*)T38_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4145 T38_[0] = newNullifyCurExc__closureiters_245(ctx, (*n).info);
4146 T38_[1] = ifStmt;
4147 result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T38_, 2);
4148 }
4149 goto LA33_;
4150 LA36_: ;
4151 {
4152 result = (*(*ctx).g).emptyNode;
4153 }
4154 LA33_: ;
4155 return result;
4156 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getFinallyNode__closureiters_357)4157 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getFinallyNode__closureiters_357)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4158 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4159 NI T1_;
4160 result = NIM_NIL;
4161 T1_ = (NI)0;
4162 T1_ = len__ast_3198(n);
4163 result = (*n)._kind_6.sons->data[(NI)(T1_ - ((NI) 1))];
4164 {
4165 if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA4_;
4166 result = (*result)._kind_6.sons->data[((NI) 0)];
4167 }
4168 goto LA2_;
4169 LA4_: ;
4170 {
4171 result = (*(*ctx).g).emptyNode;
4172 }
4173 LA2_: ;
4174 return result;
4175 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newUnrollFinallyAccess__closureiters_84)4176 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newUnrollFinallyAccess__closureiters_84)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
4177 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4178 result = NIM_NIL;
4179 {
4180 tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
4181 if (!((*ctx).unrollFinallySym == 0)) goto LA3_;
4182 T5_ = NIM_NIL;
4183 T5_ = getSysType__magicsys_60((*ctx).g, info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
4184 unsureAsgnRef((void**) (&(*ctx).unrollFinallySym), newEnvVar__closureiters_49(ctx, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_27), T5_));
4185 }
4186 LA3_: ;
4187 result = newEnvVarAccess__closureiters_70((&(*ctx)), (*ctx).unrollFinallySym);
4188 return result;
4189 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newTmpResultAccess__closureiters_77)4190 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTmpResultAccess__closureiters_77)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx) {
4191 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4192 result = NIM_NIL;
4193 {
4194 if (!((*ctx).tmpResultSym == 0)) goto LA3_;
4195 unsureAsgnRef((void**) (&(*ctx).tmpResultSym), newEnvVar__closureiters_49(ctx, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_28), (*(*(*ctx).fn).typ).sons->data[((NI) 0)]));
4196 }
4197 LA3_: ;
4198 result = newEnvVarAccess__closureiters_70((&(*ctx)), (*ctx).tmpResultSym);
4199 return result;
4200 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,transformReturnsInTry__closureiters_1107)4201 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformReturnsInTry__closureiters_1107)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4202 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4203 result = NIM_NIL;
4204 result = n;
4205 switch ((*n).kind) {
4206 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
4207 {
4208 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
4209 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* goto_1;
4210 tyArray__jlWPjgtbdjE069arIWHC9c9bg T17_;
4211 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
4212 {
4213 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* asgn;
4214 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
4215 tyObject_TType__facALICuu8zUj0hjvbTLFg* T4_;
4216 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
4217 asgn = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), (*n).info);
4218 T3_ = NIM_NIL;
4219 T3_ = newUnrollFinallyAccess__closureiters_84(ctx, (*n).info);
4220 add__ast_4797(asgn, T3_);
4221 T4_ = NIM_NIL;
4222 T4_ = getSysType__magicsys_60((*ctx).g, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
4223 T5_ = NIM_NIL;
4224 T5_ = newIntTypeNode__ast_3783(IL64(1), T4_);
4225 add__ast_4797(asgn, T5_);
4226 add__ast_4797(result, asgn);
4227 }
4228 {
4229 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* asgnTmpResult;
4230 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
4231 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
4232 if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA8_;
4233 asgnTmpResult = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), (*n).info);
4234 T10_ = NIM_NIL;
4235 T10_ = newTmpResultAccess__closureiters_77(ctx);
4236 add__ast_4797(asgnTmpResult, T10_);
4237 {
4238 if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74))) goto LA13_;
4239 x = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)];
4240 }
4241 goto LA11_;
4242 LA13_: ;
4243 {
4244 x = (*n)._kind_6.sons->data[((NI) 0)];
4245 }
4246 LA11_: ;
4247 add__ast_4797(asgnTmpResult, x);
4248 add__ast_4797(result, asgnTmpResult);
4249 }
4250 LA8_: ;
4251 T16_ = NIM_NIL;
4252 T16_ = newNullifyCurExc__closureiters_245(ctx, (*n).info);
4253 add__ast_4797(result, T16_);
4254 nimZeroMem((void*)T17_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4255 T17_[0] = newIntLit__lowerings_695((*ctx).g, (*n).info, ((NI64) ((*ctx).nearestFinally)));
4256 goto_1 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), T17_, 1);
4257 add__ast_4797(result, goto_1);
4258 }
4259 break;
4260 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
4261 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
4262 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
4263 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
4264 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
4265 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
4266 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
4267 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
4268 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
4269 {
4270 }
4271 break;
4272 default:
4273 {
4274 {
4275 NI i;
4276 NI colontmp_;
4277 NI i_2;
4278 i = (NI)0;
4279 colontmp_ = (NI)0;
4280 colontmp_ = len__ast_3198(n);
4281 i_2 = ((NI) 0);
4282 {
4283 while (1) {
4284 if (!(i_2 < colontmp_)) goto LA22;
4285 i = i_2;
4286 asgnRef((void**) (&(*n)._kind_6.sons->data[i]), transformReturnsInTry__closureiters_1107(ctx, (*n)._kind_6.sons->data[i]));
4287 i_2 += ((NI) 1);
4288 } LA22: ;
4289 }
4290 }
4291 }
4292 break;
4293 }
4294 return result;
4295 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newEndFinallyNode__closureiters_1092)4296 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newEndFinallyNode__closureiters_1092)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
4297 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4298 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* curExc;
4299 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nilnode;
4300 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cmp;
4301 tyArray__T6RKPw8xfAeNaoei9aZGzXg T1_;
4302 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T2_;
4303 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* asgn;
4304 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T3_;
4305 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T4_;
4306 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* retStmt;
4307 tyArray__jlWPjgtbdjE069arIWHC9c9bg T5_;
4308 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
4309 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T6_;
4310 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nullifyExc;
4311 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T7_;
4312 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T8_;
4313 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* raiseStmt;
4314 tyArray__jlWPjgtbdjE069arIWHC9c9bg T9_;
4315 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elseBranch;
4316 tyArray__jlWPjgtbdjE069arIWHC9c9bg T10_;
4317 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T11_;
4318 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifBody;
4319 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T12_;
4320 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elifBranch;
4321 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T13_;
4322 tyArray__jlWPjgtbdjE069arIWHC9c9bg T14_;
4323 result = NIM_NIL;
4324 curExc = newCurExcAccess__closureiters_91(ctx);
4325 nilnode = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
4326 asgnRef((void**) (&(*nilnode).typ), (*curExc).typ);
4327 nimZeroMem((void*)T1_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
4328 T2_ = NIM_NIL;
4329 T2_ = getSysMagic__magicsys_29((*ctx).g, info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_29), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 87));
4330 T1_[0] = newSymNode__ast_3719(T2_, info);
4331 T1_[1] = curExc;
4332 T1_[2] = nilnode;
4333 cmp = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T1_, 3);
4334 asgnRef((void**) (&(*cmp).typ), getSysType__magicsys_60((*ctx).g, info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
4335 nimZeroMem((void*)T3_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4336 T4_ = NIM_NIL;
4337 T4_ = getClosureIterResult__lambdalifting_62((*ctx).g, (*ctx).fn, (*ctx).idgen);
4338 T3_[0] = newSymNode__ast_3719(T4_, info);
4339 T3_[1] = newTmpResultAccess__closureiters_77(ctx);
4340 asgn = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T3_, 2);
4341 nimZeroMem((void*)T5_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4342 T5_[0] = asgn;
4343 retStmt = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109), T5_, 1);
4344 nimZeroMem((void*)T6_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4345 T6_[0] = cmp;
4346 T6_[1] = retStmt;
4347 branch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), T6_, 2);
4348 nimZeroMem((void*)T7_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4349 T8_ = NIM_NIL;
4350 T8_ = getCompilerProc__magicsys_145((*ctx).g, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_30));
4351 T7_[0] = newSymNode__ast_3716(T8_);
4352 T7_[1] = nilnode;
4353 nullifyExc = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T7_, 2);
4354 (*nullifyExc).info = info;
4355 nimZeroMem((void*)T9_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4356 T9_[0] = curExc;
4357 raiseStmt = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108), T9_, 1);
4358 (*raiseStmt).info = info;
4359 nimZeroMem((void*)T10_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4360 nimZeroMem((void*)T11_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4361 T11_[0] = nullifyExc;
4362 T11_[1] = raiseStmt;
4363 T10_[0] = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T11_, 2);
4364 elseBranch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), T10_, 1);
4365 nimZeroMem((void*)T12_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4366 T12_[0] = branch;
4367 T12_[1] = elseBranch;
4368 ifBody = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T12_, 2);
4369 nimZeroMem((void*)T13_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4370 T13_[0] = newUnrollFinallyAccess__closureiters_84(ctx, info);
4371 T13_[1] = ifBody;
4372 elifBranch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), T13_, 2);
4373 (*elifBranch).info = info;
4374 nimZeroMem((void*)T14_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4375 T14_[0] = elifBranch;
4376 result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T14_, 1);
4377 return result;
4378 }
N_NIMCALL(void,addElseToExcept__closureiters_316)4379 N_LIB_PRIVATE N_NIMCALL(void, addElseToExcept__closureiters_316)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4380 {
4381 NIM_BOOL T3_;
4382 NIM_BOOL T4_;
4383 NI T7_;
4384 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchBody;
4385 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elseBranch;
4386 tyArray__jlWPjgtbdjE069arIWHC9c9bg T20_;
4387 T3_ = (NIM_BOOL)0;
4388 T4_ = (NIM_BOOL)0;
4389 T4_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115));
4390 if (!(T4_)) goto LA5_;
4391 T4_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92));
4392 LA5_: ;
4393 T3_ = T4_;
4394 if (!(T3_)) goto LA6_;
4395 T7_ = (NI)0;
4396 T7_ = len__ast_3198((*n)._kind_6.sons->data[((NI) 1)]);
4397 T3_ = !(((*(*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[(NI)(T7_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88)));
4398 LA6_: ;
4399 if (!T3_) goto LA8_;
4400 branchBody = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
4401 {
4402 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T11_;
4403 tyObject_TType__facALICuu8zUj0hjvbTLFg* T12_;
4404 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T13_;
4405 nimZeroMem((void*)T11_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4406 T11_[0] = newUnrollFinallyAccess__closureiters_84(ctx, (*n).info);
4407 T12_ = NIM_NIL;
4408 T12_ = getSysType__magicsys_60((*ctx).g, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
4409 T11_[1] = newIntTypeNode__ast_3783(IL64(1), T12_);
4410 T13_ = NIM_NIL;
4411 T13_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), T11_, 2);
4412 add__ast_4797(branchBody, T13_);
4413 }
4414 {
4415 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T15_;
4416 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
4417 nimZeroMem((void*)T15_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4418 T15_[0] = newCurExcAccess__closureiters_91(ctx);
4419 T15_[1] = callCodegenProc__lowerings_635((*ctx).g, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_24), unknownLineInfo__lineinfos_280, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4420 T16_ = NIM_NIL;
4421 T16_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), T15_, 2);
4422 add__ast_4797(branchBody, T16_);
4423 }
4424 {
4425 tyArray__jlWPjgtbdjE069arIWHC9c9bg T18_;
4426 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T19_;
4427 nimZeroMem((void*)T18_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4428 T18_[0] = newIntLit__lowerings_695((*ctx).g, (*n).info, ((NI64) ((*ctx).nearestFinally)));
4429 T19_ = NIM_NIL;
4430 T19_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), T18_, 1);
4431 add__ast_4797(branchBody, T19_);
4432 }
4433 nimZeroMem((void*)T20_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4434 T20_[0] = branchBody;
4435 elseBranch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), T20_, 1);
4436 add__ast_4797((*n)._kind_6.sons->data[((NI) 1)], elseBranch);
4437 }
4438 LA8_: ;
4439 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,transformClosureIteratorBody__closureiters_1173)4440 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformClosureIteratorBody__closureiters_1173)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gotoOut) {
4441 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4442 result = NIM_NIL;
4443 result = n;
4444 switch ((*n).kind) {
4445 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
4446 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
4447 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
4448 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
4449 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
4450 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
4451 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
4452 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
4453 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
4454 {
4455 }
4456 break;
4457 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
4458 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
4459 {
4460 result = addGotoOut__closureiters_147(result, gotoOut);
4461 {
4462 NI i;
4463 NI colontmp_;
4464 NI i_2;
4465 i = (NI)0;
4466 colontmp_ = (NI)0;
4467 colontmp_ = len__ast_3198(n);
4468 i_2 = ((NI) 0);
4469 {
4470 while (1) {
4471 if (!(i_2 < colontmp_)) goto LA5;
4472 i = i_2;
4473 {
4474 NIM_BOOL T8_;
4475 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* go;
4476 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
4477 NI T14_;
4478 T8_ = (NIM_BOOL)0;
4479 T8_ = hasYields__closureiters_175((*n)._kind_6.sons->data[i]);
4480 if (!T8_) goto LA9_;
4481 go = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), (*(*n)._kind_6.sons->data[i]).info);
4482 asgnRef((void**) (&(*n)._kind_6.sons->data[i]), transformClosureIteratorBody__closureiters_1173(ctx, (*n)._kind_6.sons->data[i], go));
4483 s = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*n)._kind_6.sons->data[(NI)(i + ((NI) 1))]).info);
4484 {
4485 NI j;
4486 NI colontmp__2;
4487 NI colontmp__3;
4488 NI i_3;
4489 j = (NI)0;
4490 colontmp__2 = (NI)0;
4491 colontmp__3 = (NI)0;
4492 colontmp__2 = (NI)(i + ((NI) 1));
4493 colontmp__3 = len__ast_3198(n);
4494 i_3 = colontmp__2;
4495 {
4496 while (1) {
4497 if (!(i_3 < colontmp__3)) goto LA13;
4498 j = i_3;
4499 add__ast_4797(s, (*n)._kind_6.sons->data[j]);
4500 i_3 += ((NI) 1);
4501 } LA13: ;
4502 }
4503 }
4504 asgnRef((void**) (&(*n)._kind_6.sons), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*n)._kind_6.sons)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) ((NI)(i + ((NI) 1))))));
4505 T14_ = (NI)0;
4506 T14_ = newState__closureiters_97(ctx, s, go);
4507 (void)(T14_);
4508 {
4509 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T17_;
4510 T17_ = NIM_NIL;
4511 T17_ = transformClosureIteratorBody__closureiters_1173(ctx, s, gotoOut);
4512 if (!!((T17_ == s))) goto LA18_;
4513 internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_21), TM__slVvvIjx75ivXdMpHiE9c9aQ_22);
4514 }
4515 LA18_: ;
4516 goto LA3;
4517 }
4518 LA9_: ;
4519 i_2 += ((NI) 1);
4520 } LA5: ;
4521 }
4522 } LA3: ;
4523 }
4524 break;
4525 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 104):
4526 {
4527 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
4528 add__ast_4797(result, n);
4529 add__ast_4797(result, gotoOut);
4530 }
4531 break;
4532 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
4533 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 50):
4534 {
4535 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), addGotoOut__closureiters_147((*result)._kind_6.sons->data[((NI) 0)], gotoOut));
4536 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), transformClosureIteratorBody__closureiters_1173(ctx, (*result)._kind_6.sons->data[((NI) 0)], gotoOut));
4537 }
4538 break;
4539 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
4540 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49):
4541 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
4542 {
4543 NI T23_;
4544 NI T24_;
4545 NI T25_;
4546 NI T26_;
4547 T23_ = (NI)0;
4548 T23_ = len__ast_3198(result);
4549 T24_ = (NI)0;
4550 T24_ = len__ast_3198(result);
4551 asgnRef((void**) (&(*result)._kind_6.sons->data[(NI)(T23_ - ((NI) 1))]), addGotoOut__closureiters_147((*result)._kind_6.sons->data[(NI)(T24_ - ((NI) 1))], gotoOut));
4552 T25_ = (NI)0;
4553 T25_ = len__ast_3198(result);
4554 T26_ = (NI)0;
4555 T26_ = len__ast_3198(result);
4556 asgnRef((void**) (&(*result)._kind_6.sons->data[(NI)(T25_ - ((NI) 1))]), transformClosureIteratorBody__closureiters_1173(ctx, (*result)._kind_6.sons->data[(NI)(T26_ - ((NI) 1))], gotoOut));
4557 }
4558 break;
4559 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
4560 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
4561 {
4562 {
4563 NI i_4;
4564 NI colontmp__4;
4565 NI i_5;
4566 i_4 = (NI)0;
4567 colontmp__4 = (NI)0;
4568 colontmp__4 = len__ast_3198(n);
4569 i_5 = ((NI) 0);
4570 {
4571 while (1) {
4572 if (!(i_5 < colontmp__4)) goto LA30;
4573 i_4 = i_5;
4574 asgnRef((void**) (&(*n)._kind_6.sons->data[i_4]), transformClosureIteratorBody__closureiters_1173(ctx, (*n)._kind_6.sons->data[i_4], gotoOut));
4575 i_5 += ((NI) 1);
4576 } LA30: ;
4577 }
4578 }
4579 {
4580 NI T33_;
4581 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elseBranch;
4582 tyArray__jlWPjgtbdjE069arIWHC9c9bg T36_;
4583 T33_ = (NI)0;
4584 T33_ = len__ast_3198(n);
4585 if (!!(((*(*n)._kind_6.sons->data[(NI)(T33_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88)))) goto LA34_;
4586 nimZeroMem((void*)T36_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4587 T36_[0] = gotoOut;
4588 elseBranch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), T36_, 1);
4589 add__ast_4797(n, elseBranch);
4590 }
4591 LA34_: ;
4592 }
4593 break;
4594 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
4595 {
4596 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s_2;
4597 NI T38_;
4598 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifNode;
4599 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elifBranch;
4600 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
4601 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elseBranch_2;
4602 tyArray__jlWPjgtbdjE069arIWHC9c9bg T39_;
4603 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), (*n).info);
4604 s_2 = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
4605 T38_ = (NI)0;
4606 T38_ = newState__closureiters_97(ctx, s_2, result);
4607 (void)(T38_);
4608 ifNode = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), (*n).info);
4609 elifBranch = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), (*n).info);
4610 add__ast_4797(elifBranch, (*n)._kind_6.sons->data[((NI) 0)]);
4611 body = addGotoOut__closureiters_147((*n)._kind_6.sons->data[((NI) 1)], result);
4612 body = transformBreaksAndContinuesInWhile__closureiters_179(ctx, body, result, gotoOut);
4613 body = transformClosureIteratorBody__closureiters_1173(ctx, body, result);
4614 add__ast_4797(elifBranch, body);
4615 add__ast_4797(ifNode, elifBranch);
4616 nimZeroMem((void*)T39_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4617 T39_[0] = gotoOut;
4618 elseBranch_2 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), T39_, 1);
4619 add__ast_4797(ifNode, elseBranch_2);
4620 add__ast_4797(s_2, ifNode);
4621 }
4622 break;
4623 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
4624 {
4625 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), addGotoOut__closureiters_147((*result)._kind_6.sons->data[((NI) 1)], gotoOut));
4626 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), transformBreaksInBlock__closureiters_205(ctx, (*result)._kind_6.sons->data[((NI) 1)], (*result)._kind_6.sons->data[((NI) 0)], gotoOut));
4627 asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), transformClosureIteratorBody__closureiters_1173(ctx, (*result)._kind_6.sons->data[((NI) 1)], gotoOut));
4628 }
4629 break;
4630 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
4631 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
4632 {
4633 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tryBody;
4634 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* exceptBody;
4635 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finallyBody;
4636 tyArray__jlWPjgtbdjE069arIWHC9c9bg T42_;
4637 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T43_;
4638 NI tryIdx;
4639 NI T44_;
4640 NI exceptIdx;
4641 NI finallyIdx;
4642 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* outToFinally;
4643 (*ctx).hasExceptions = NIM_TRUE;
4644 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), (*n).info);
4645 tryBody = toStmtList__closureiters_136((*n)._kind_6.sons->data[((NI) 0)]);
4646 exceptBody = collectExceptState__closureiters_256(ctx, n);
4647 nimZeroMem((void*)T42_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4648 T42_[0] = getFinallyNode__closureiters_357(ctx, n);
4649 finallyBody = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T42_, 1);
4650 finallyBody = transformReturnsInTry__closureiters_1107(ctx, finallyBody);
4651 T43_ = NIM_NIL;
4652 T43_ = newEndFinallyNode__closureiters_1092(ctx, (*finallyBody).info);
4653 add__ast_4797(finallyBody, T43_);
4654 T44_ = ((*ctx).states ? (*ctx).states->Sup.len : 0);
4655 tryIdx = T44_;
4656 exceptIdx = (NI)0;
4657 finallyIdx = (NI)0;
4658 {
4659 if (!!(((*exceptBody).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA47_;
4660 exceptIdx = ((NI32)-((NI)(tryIdx + ((NI) 1))));
4661 finallyIdx = (NI)(tryIdx + ((NI) 2));
4662 }
4663 goto LA45_;
4664 LA47_: ;
4665 {
4666 exceptIdx = (NI)(tryIdx + ((NI) 1));
4667 finallyIdx = (NI)(tryIdx + ((NI) 1));
4668 }
4669 LA45_: ;
4670 outToFinally = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), (*finallyBody).info);
4671 {
4672 NI oldExcHandlingState;
4673 NI realTryIdx;
4674 NI realFinallyIdx;
4675 oldExcHandlingState = (*ctx).curExcHandlingState;
4676 (*ctx).curExcHandlingState = exceptIdx;
4677 realTryIdx = newState__closureiters_97(ctx, tryBody, result);
4678 {
4679 NI realExceptIdx;
4680 if (!!(((*exceptBody).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA53_;
4681 (*ctx).curExcHandlingState = finallyIdx;
4682 realExceptIdx = newState__closureiters_97(ctx, exceptBody, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4683 }
4684 LA53_: ;
4685 (*ctx).curExcHandlingState = oldExcHandlingState;
4686 realFinallyIdx = newState__closureiters_97(ctx, finallyBody, outToFinally);
4687 }
4688 {
4689 NI oldNearestFinally;
4690 NI oldExcHandlingState_2;
4691 oldNearestFinally = (*ctx).nearestFinally;
4692 (*ctx).nearestFinally = finallyIdx;
4693 oldExcHandlingState_2 = (*ctx).curExcHandlingState;
4694 (*ctx).curExcHandlingState = exceptIdx;
4695 {
4696 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T58_;
4697 T58_ = NIM_NIL;
4698 T58_ = transformReturnsInTry__closureiters_1107(ctx, tryBody);
4699 if (!!((T58_ == tryBody))) goto LA59_;
4700 internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_31), TM__slVvvIjx75ivXdMpHiE9c9aQ_32);
4701 }
4702 LA59_: ;
4703 {
4704 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T63_;
4705 T63_ = NIM_NIL;
4706 T63_ = transformClosureIteratorBody__closureiters_1173(ctx, tryBody, outToFinally);
4707 if (!!((T63_ == tryBody))) goto LA64_;
4708 internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_33), TM__slVvvIjx75ivXdMpHiE9c9aQ_34);
4709 }
4710 LA64_: ;
4711 (*ctx).curExcHandlingState = finallyIdx;
4712 addElseToExcept__closureiters_316(ctx, exceptBody);
4713 {
4714 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T68_;
4715 T68_ = NIM_NIL;
4716 T68_ = transformReturnsInTry__closureiters_1107(ctx, exceptBody);
4717 if (!!((T68_ == exceptBody))) goto LA69_;
4718 internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_35), TM__slVvvIjx75ivXdMpHiE9c9aQ_36);
4719 }
4720 LA69_: ;
4721 {
4722 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T73_;
4723 T73_ = NIM_NIL;
4724 T73_ = transformClosureIteratorBody__closureiters_1173(ctx, exceptBody, outToFinally);
4725 if (!!((T73_ == exceptBody))) goto LA74_;
4726 internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_37), TM__slVvvIjx75ivXdMpHiE9c9aQ_38);
4727 }
4728 LA74_: ;
4729 (*ctx).curExcHandlingState = oldExcHandlingState_2;
4730 (*ctx).nearestFinally = oldNearestFinally;
4731 {
4732 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T78_;
4733 T78_ = NIM_NIL;
4734 T78_ = transformClosureIteratorBody__closureiters_1173(ctx, finallyBody, gotoOut);
4735 if (!!((T78_ == finallyBody))) goto LA79_;
4736 internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_39), TM__slVvvIjx75ivXdMpHiE9c9aQ_40);
4737 }
4738 LA79_: ;
4739 }
4740 }
4741 break;
4742 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156):
4743 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 94):
4744 {
4745 NimStringDesc* T82_;
4746 T82_ = NIM_NIL;
4747 T82_ = rawNewString((reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 13);
4748 appendString(T82_, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_41));
4749 appendString(T82_, reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)));
4750 internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, T82_, TM__slVvvIjx75ivXdMpHiE9c9aQ_42);
4751 }
4752 break;
4753 default:
4754 {
4755 {
4756 NI i_6;
4757 NI colontmp__5;
4758 NI i_7;
4759 i_6 = (NI)0;
4760 colontmp__5 = (NI)0;
4761 colontmp__5 = len__ast_3198(n);
4762 i_7 = ((NI) 0);
4763 {
4764 while (1) {
4765 if (!(i_7 < colontmp__5)) goto LA86;
4766 i_6 = i_7;
4767 asgnRef((void**) (&(*n)._kind_6.sons->data[i_6]), transformClosureIteratorBody__closureiters_1173(ctx, (*n)._kind_6.sons->data[i_6], gotoOut));
4768 i_7 += ((NI) 1);
4769 } LA86: ;
4770 }
4771 }
4772 }
4773 break;
4774 }
4775 return result;
4776 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,skipStmtList__closureiters_1491)4777 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipStmtList__closureiters_1491)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4778 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4779 { result = NIM_NIL;
4780 result = n;
4781 {
4782 while (1) {
4783 if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA2;
4784 {
4785 NI T5_;
4786 T5_ = (NI)0;
4787 T5_ = len__ast_3198(result);
4788 if (!(T5_ == ((NI) 0))) goto LA6_;
4789 result = (*(*ctx).g).emptyNode;
4790 goto BeforeRet_;
4791 }
4792 LA6_: ;
4793 result = (*result)._kind_6.sons->data[((NI) 0)];
4794 } LA2: ;
4795 }
4796 }BeforeRet_: ;
4797 return result;
4798 }
N_NIMCALL(NI,skipEmptyStates__closureiters_1503)4799 N_LIB_PRIVATE N_NIMCALL(NI, skipEmptyStates__closureiters_1503)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, NI stateIdx) {
4800 NI result;
4801 NI maxJumps;
4802 NI T1_;
4803 NI stateIdx_2;
4804 result = (NI)0;
4805 T1_ = ((*ctx).states ? (*ctx).states->Sup.len : 0);
4806 maxJumps = T1_;
4807 stateIdx_2 = stateIdx;
4808 {
4809 while (1) {
4810 NI label;
4811 NI newLabel;
4812 label = stateIdx_2;
4813 {
4814 if (!(label == (*ctx).exitStateIdx)) goto LA6_;
4815 goto LA2;
4816 }
4817 LA6_: ;
4818 newLabel = label;
4819 {
4820 if (!(label == ((NI) -1))) goto LA10_;
4821 newLabel = (*ctx).exitStateIdx;
4822 }
4823 goto LA8_;
4824 LA10_: ;
4825 {
4826 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fs;
4827 fs = skipStmtList__closureiters_1491(ctx, (*(*ctx).states->data[label])._kind_6.sons->data[((NI) 1)]);
4828 {
4829 if (!((*fs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156))) goto LA15_;
4830 newLabel = ((NI) ((*(*fs)._kind_6.sons->data[((NI) 0)])._kind_1.intVal));
4831 }
4832 LA15_: ;
4833 }
4834 LA8_: ;
4835 {
4836 if (!(label == newLabel)) goto LA19_;
4837 goto LA2;
4838 }
4839 LA19_: ;
4840 stateIdx_2 = newLabel;
4841 maxJumps -= ((NI) 1);
4842 {
4843 if (!(maxJumps == ((NI) 0))) goto LA23_;
4844 }
4845 LA23_: ;
4846 }
4847 } LA2: ;
4848 result = ((NI) ((*(*(*ctx).states->data[stateIdx_2])._kind_6.sons->data[((NI) 0)])._kind_1.intVal));
4849 return result;
4850 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,skipThroughEmptyStates__closureiters_1529)4851 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipThroughEmptyStates__closureiters_1529)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4852 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4853 result = NIM_NIL;
4854 result = n;
4855 switch ((*n).kind) {
4856 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
4857 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
4858 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
4859 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
4860 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
4861 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
4862 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
4863 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
4864 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
4865 {
4866 }
4867 break;
4868 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156):
4869 {
4870 NI T3_;
4871 result = copyTree__ast_4431(n);
4872 T3_ = (NI)0;
4873 T3_ = skipEmptyStates__closureiters_1503((&(*ctx)), ((NI) ((*(*result)._kind_6.sons->data[((NI) 0)])._kind_1.intVal)));
4874 (*(*result)._kind_6.sons->data[((NI) 0)])._kind_1.intVal = ((NI64) (T3_));
4875 }
4876 break;
4877 default:
4878 {
4879 {
4880 NI i;
4881 NI colontmp_;
4882 NI i_2;
4883 i = (NI)0;
4884 colontmp_ = (NI)0;
4885 colontmp_ = len__ast_3198(n);
4886 i_2 = ((NI) 0);
4887 {
4888 while (1) {
4889 if (!(i_2 < colontmp_)) goto LA7;
4890 i = i_2;
4891 asgnRef((void**) (&(*n)._kind_6.sons->data[i]), skipThroughEmptyStates__closureiters_1529(ctx, (*n)._kind_6.sons->data[i]));
4892 i_2 += ((NI) 1);
4893 } LA7: ;
4894 }
4895 }
4896 }
4897 break;
4898 }
4899 return result;
4900 }
N_NIMCALL(void,delete__closureiters_1709)4901 N_LIB_PRIVATE N_NIMCALL(void, delete__closureiters_1709)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** x, NI i) {
4902 NI xlX60gensym304_;
4903 NI T1_;
4904 T1_ = ((*x) ? (*x)->Sup.len : 0);
4905 xlX60gensym304_ = T1_;
4906 {
4907 NI jX60gensym304_;
4908 NI colontmp_;
4909 NI colontmp__2;
4910 NI res;
4911 jX60gensym304_ = (NI)0;
4912 colontmp_ = (NI)0;
4913 colontmp__2 = (NI)0;
4914 colontmp_ = ((NI) (i));
4915 colontmp__2 = (NI)(xlX60gensym304_ - ((NI) 2));
4916 res = colontmp_;
4917 {
4918 while (1) {
4919 if (!(res <= colontmp__2)) goto LA4;
4920 jX60gensym304_ = res;
4921 asgnRef((void**) (&(*x)->data[jX60gensym304_]), (*x)->data[(NI)(jX60gensym304_ + ((NI) 1))]);
4922 res += ((NI) 1);
4923 } LA4: ;
4924 }
4925 }
4926 unsureAsgnRef((void**) (&(*x)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*x))->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) ((NI)(xlX60gensym304_ - ((NI) 1))))));
4927 }
N_NIMCALL(void,delete__closureiters_1746)4928 N_LIB_PRIVATE N_NIMCALL(void, delete__closureiters_1746)(tySequence__qwqHTkRvwhrRyENtudHQ7g** x, NI i) {
4929 NI xlX60gensym306_;
4930 NI T1_;
4931 T1_ = ((*x) ? (*x)->Sup.len : 0);
4932 xlX60gensym306_ = T1_;
4933 {
4934 NI jX60gensym306_;
4935 NI colontmp_;
4936 NI colontmp__2;
4937 NI res;
4938 jX60gensym306_ = (NI)0;
4939 colontmp_ = (NI)0;
4940 colontmp__2 = (NI)0;
4941 colontmp_ = ((NI) (i));
4942 colontmp__2 = (NI)(xlX60gensym306_ - ((NI) 2));
4943 res = colontmp_;
4944 {
4945 while (1) {
4946 if (!(res <= colontmp__2)) goto LA4;
4947 jX60gensym306_ = res;
4948 (*x)->data[jX60gensym306_] = (*x)->data[(NI)(jX60gensym306_ + ((NI) 1))];
4949 res += ((NI) 1);
4950 } LA4: ;
4951 }
4952 }
4953 unsureAsgnRef((void**) (&(*x)), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*x))->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) ((NI)(xlX60gensym306_ - ((NI) 1))))));
4954 }
N_NIMCALL(void,deleteEmptyStates__closureiters_1659)4955 N_LIB_PRIVATE N_NIMCALL(void, deleteEmptyStates__closureiters_1659)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx) {
4956 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* goOut;
4957 tyArray__jlWPjgtbdjE069arIWHC9c9bg T1_;
4958 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T2_;
4959 NI iValid;
4960 NI i_5;
4961 nimZeroMem((void*)T1_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4962 nimZeroMem((void*)(&T2_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
4963 T1_[0] = newIntLit__lowerings_695((*ctx).g, T2_, IL64(-1));
4964 goOut = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), T1_, 1);
4965 (*ctx).exitStateIdx = newState__closureiters_97(ctx, goOut, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4966 iValid = ((NI) 0);
4967 {
4968 NI i;
4969 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
4970 NI i_2;
4971 NI L;
4972 NI T4_;
4973 i = (NI)0;
4974 s = NIM_NIL;
4975 i_2 = ((NI) 0);
4976 T4_ = ((*ctx).states ? (*ctx).states->Sup.len : 0);
4977 L = T4_;
4978 {
4979 while (1) {
4980 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
4981 if (!(i_2 < L)) goto LA6;
4982 i = i_2;
4983 s = (*ctx).states->data[i_2];
4984 body = skipStmtList__closureiters_1491((&(*ctx)), (*s)._kind_6.sons->data[((NI) 1)]);
4985 {
4986 NIM_BOOL T9_;
4987 NIM_BOOL T10_;
4988 NI T12_;
4989 T9_ = (NIM_BOOL)0;
4990 T10_ = (NIM_BOOL)0;
4991 T10_ = ((*body).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156));
4992 if (!(T10_)) goto LA11_;
4993 T12_ = ((*ctx).states ? (*ctx).states->Sup.len : 0);
4994 T10_ = !((i == (NI)(T12_ - ((NI) 1))));
4995 LA11_: ;
4996 T9_ = T10_;
4997 if (!(T9_)) goto LA13_;
4998 T9_ = !((i == ((NI) 0)));
4999 LA13_: ;
5000 if (!T9_) goto LA14_;
5001 (*(*s)._kind_6.sons->data[((NI) 0)])._kind_1.intVal = IL64(-1);
5002 }
5003 goto LA7_;
5004 LA14_: ;
5005 {
5006 (*(*s)._kind_6.sons->data[((NI) 0)])._kind_1.intVal = ((NI64) (iValid));
5007 iValid += ((NI) 1);
5008 }
5009 LA7_: ;
5010 i_2 += ((NI) 1);
5011 } LA6: ;
5012 }
5013 }
5014 {
5015 NI i_3;
5016 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s_2;
5017 NI i_4;
5018 NI L_2;
5019 NI T18_;
5020 i_3 = (NI)0;
5021 s_2 = NIM_NIL;
5022 i_4 = ((NI) 0);
5023 T18_ = ((*ctx).states ? (*ctx).states->Sup.len : 0);
5024 L_2 = T18_;
5025 {
5026 while (1) {
5027 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body_2;
5028 if (!(i_4 < L_2)) goto LA20;
5029 i_3 = i_4;
5030 s_2 = (*ctx).states->data[i_4];
5031 body_2 = skipStmtList__closureiters_1491((&(*ctx)), (*s_2)._kind_6.sons->data[((NI) 1)]);
5032 {
5033 NIM_BOOL T23_;
5034 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
5035 NI excHandlState;
5036 T23_ = (NIM_BOOL)0;
5037 T23_ = !(((*body_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156)));
5038 if (T23_) goto LA24_;
5039 T23_ = (i_3 == ((NI) 0));
5040 LA24_: ;
5041 if (!T23_) goto LA25_;
5042 T27_ = NIM_NIL;
5043 T27_ = skipThroughEmptyStates__closureiters_1529(ctx, s_2);
5044 (void)(T27_);
5045 excHandlState = (*ctx).exceptionTable->data[i_3];
5046 {
5047 NI T32_;
5048 if (!(excHandlState < ((NI) 0))) goto LA30_;
5049 T32_ = (NI)0;
5050 T32_ = skipEmptyStates__closureiters_1503((&(*ctx)), ((NI32)-(excHandlState)));
5051 (*ctx).exceptionTable->data[i_3] = ((NI32)-(T32_));
5052 }
5053 goto LA28_;
5054 LA30_: ;
5055 {
5056 if (!!((excHandlState == ((NI) 0)))) goto LA34_;
5057 (*ctx).exceptionTable->data[i_3] = skipEmptyStates__closureiters_1503((&(*ctx)), excHandlState);
5058 }
5059 goto LA28_;
5060 LA34_: ;
5061 LA28_: ;
5062 }
5063 LA25_: ;
5064 i_4 += ((NI) 1);
5065 } LA20: ;
5066 }
5067 }
5068 i_5 = ((NI) 0);
5069 {
5070 while (1) {
5071 NI T38_;
5072 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fs;
5073 T38_ = ((*ctx).states ? (*ctx).states->Sup.len : 0);
5074 if (!(i_5 < (NI)(T38_ - ((NI) 1)))) goto LA37;
5075 fs = skipStmtList__closureiters_1491((&(*ctx)), (*(*ctx).states->data[i_5])._kind_6.sons->data[((NI) 1)]);
5076 {
5077 NIM_BOOL T41_;
5078 T41_ = (NIM_BOOL)0;
5079 T41_ = ((*fs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156));
5080 if (!(T41_)) goto LA42_;
5081 T41_ = !((i_5 == ((NI) 0)));
5082 LA42_: ;
5083 if (!T41_) goto LA43_;
5084 delete__closureiters_1709((&(*ctx).states), ((NI) (i_5)));
5085 delete__closureiters_1746((&(*ctx).exceptionTable), ((NI) (i_5)));
5086 }
5087 goto LA39_;
5088 LA43_: ;
5089 {
5090 i_5 += ((NI) 1);
5091 }
5092 LA39_: ;
5093 } LA37: ;
5094 }
5095 }
N_NIMCALL(void,del__closureiters_3571)5096 N_LIB_PRIVATE N_NIMCALL(void, del__closureiters_3571)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** x, NI i) {
5097 NI xl;
5098 NI T1_;
5099 T1_ = ((*x) ? (*x)->Sup.len : 0);
5100 xl = (NI)(T1_ - ((NI) 1));
5101 asgnRef((void**) (&(*x)->data[i]), (*x)->data[xl]);
5102 unsureAsgnRef((void**) (&(*x)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*x))->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (xl))));
5103 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newStateAccess__closureiters_35)5104 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStateAccess__closureiters_35)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx) {
5105 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5106 result = NIM_NIL;
5107 {
5108 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T5_;
5109 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
5110 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T7_;
5111 if (!((*ctx).stateVarSym == 0)) goto LA3_;
5112 T5_ = NIM_NIL;
5113 T5_ = getEnvParam__lambdalifting_131((*ctx).fn);
5114 T6_ = NIM_NIL;
5115 T6_ = newSymNode__ast_3716(T5_);
5116 T7_ = NIM_NIL;
5117 T7_ = getStateField__lambdalifting_4660((*ctx).g, (*ctx).fn);
5118 result = rawIndirectAccess__lowerings_326(T6_, T7_, (*(*ctx).fn).info);
5119 }
5120 goto LA1_;
5121 LA3_: ;
5122 {
5123 result = newSymNode__ast_3716((*ctx).stateVarSym);
5124 }
5125 LA1_: ;
5126 return result;
5127 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newStateAssgn__closureiters_41)5128 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStateAssgn__closureiters_41)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* toValue) {
5129 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5130 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T1_;
5131 result = NIM_NIL;
5132 nimZeroMem((void*)T1_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5133 T1_[0] = newStateAccess__closureiters_35(ctx);
5134 T1_[1] = toValue;
5135 result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), T1_, 2);
5136 return result;
5137 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newStateAssgn__closureiters_45)5138 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStateAssgn__closureiters_45)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, NI stateNo) {
5139 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5140 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1_;
5141 tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
5142 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
5143 result = NIM_NIL;
5144 nimZeroMem((void*)(&T1_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
5145 T2_ = NIM_NIL;
5146 T2_ = getSysType__magicsys_60((*ctx).g, T1_, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
5147 T3_ = NIM_NIL;
5148 T3_ = newIntTypeNode__ast_3783(((NI64) (stateNo)), T2_);
5149 result = newStateAssgn__closureiters_41(ctx, T3_);
5150 return result;
5151 }
N_NIMCALL(NI,stateFromGotoState__closureiters_1375)5152 N_LIB_PRIVATE N_NIMCALL(NI, stateFromGotoState__closureiters_1375)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5153 NI result;
5154 result = (NI)0;
5155 result = ((NI) ((*(*n)._kind_6.sons->data[((NI) 0)])._kind_1.intVal));
5156 return result;
5157 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,transformStateAssignments__closureiters_1386)5158 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformStateAssignments__closureiters_1386)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5159 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5160 result = NIM_NIL;
5161 result = n;
5162 switch ((*n).kind) {
5163 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
5164 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
5165 {
5166 {
5167 NIM_BOOL T4_;
5168 NI T5_;
5169 NI T9_;
5170 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
5171 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* retStmt;
5172 T4_ = (NIM_BOOL)0;
5173 T5_ = (NI)0;
5174 T5_ = len__ast_3198(n);
5175 T4_ = !((T5_ == ((NI) 0)));
5176 if (!(T4_)) goto LA6_;
5177 T4_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 104));
5178 LA6_: ;
5179 if (!T4_) goto LA7_;
5180 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
5181 T9_ = (NI)0;
5182 T9_ = stateFromGotoState__closureiters_1375((*n)._kind_6.sons->data[((NI) 1)]);
5183 T10_ = NIM_NIL;
5184 T10_ = newStateAssgn__closureiters_45(ctx, T9_);
5185 add__ast_4797(result, T10_);
5186 retStmt = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109), (*n).info);
5187 {
5188 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
5189 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* retVal;
5190 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T15_;
5191 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
5192 if (!!(((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA13_;
5193 a = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]).info);
5194 retVal = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)];
5195 T15_ = NIM_NIL;
5196 T15_ = getClosureIterResult__lambdalifting_62((*ctx).g, (*ctx).fn, (*ctx).idgen);
5197 T16_ = NIM_NIL;
5198 T16_ = newSymNode__ast_3716(T15_);
5199 add__ast_4797(a, T16_);
5200 add__ast_4797(a, retVal);
5201 add__ast_4797(retStmt, a);
5202 }
5203 goto LA11_;
5204 LA13_: ;
5205 {
5206 add__ast_4797(retStmt, (*(*ctx).g).emptyNode);
5207 }
5208 LA11_: ;
5209 add__ast_4797(result, retStmt);
5210 }
5211 goto LA2_;
5212 LA7_: ;
5213 {
5214 {
5215 NI i;
5216 NI colontmp_;
5217 NI i_2;
5218 i = (NI)0;
5219 colontmp_ = (NI)0;
5220 colontmp_ = len__ast_3198(n);
5221 i_2 = ((NI) 0);
5222 {
5223 while (1) {
5224 if (!(i_2 < colontmp_)) goto LA21;
5225 i = i_2;
5226 asgnRef((void**) (&(*n)._kind_6.sons->data[i]), transformStateAssignments__closureiters_1386(ctx, (*n)._kind_6.sons->data[i]));
5227 i_2 += ((NI) 1);
5228 } LA21: ;
5229 }
5230 }
5231 }
5232 LA2_: ;
5233 }
5234 break;
5235 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
5236 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
5237 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
5238 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
5239 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
5240 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
5241 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
5242 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
5243 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
5244 {
5245 }
5246 break;
5247 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
5248 {
5249 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T24_;
5250 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
5251 T24_ = NIM_NIL;
5252 T24_ = newStateAssgn__closureiters_45(ctx, ((NI) -1));
5253 add__ast_4797(result, T24_);
5254 add__ast_4797(result, n);
5255 }
5256 break;
5257 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156):
5258 {
5259 NI T26_;
5260 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
5261 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* breakState;
5262 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T28_;
5263 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
5264 T26_ = (NI)0;
5265 T26_ = stateFromGotoState__closureiters_1375(n);
5266 T27_ = NIM_NIL;
5267 T27_ = newStateAssgn__closureiters_45(ctx, T26_);
5268 add__ast_4797(result, T27_);
5269 breakState = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110), (*n).info);
5270 T28_ = NIM_NIL;
5271 T28_ = newSymNode__ast_3716((*ctx).stateLoopLabel);
5272 add__ast_4797(breakState, T28_);
5273 add__ast_4797(result, breakState);
5274 }
5275 break;
5276 default:
5277 {
5278 {
5279 NI i_3;
5280 NI colontmp__2;
5281 NI i_4;
5282 i_3 = (NI)0;
5283 colontmp__2 = (NI)0;
5284 colontmp__2 = len__ast_3198(n);
5285 i_4 = ((NI) 0);
5286 {
5287 while (1) {
5288 if (!(i_4 < colontmp__2)) goto LA32;
5289 i_3 = i_4;
5290 asgnRef((void**) (&(*n)._kind_6.sons->data[i_3]), transformStateAssignments__closureiters_1386(ctx, (*n)._kind_6.sons->data[i_3]));
5291 i_4 += ((NI) 1);
5292 } LA32: ;
5293 }
5294 }
5295 }
5296 break;
5297 }
5298 return result;
5299 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextTypeId__ast_3151)5300 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
5301 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
5302 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
5303 (*x).typeId_0 += ((NI) 1);
5304 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
5305 result.module = (*x).module;
5306 result.item = (*x).typeId_0;
5307 return result;
5308 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,newArrayType__closureiters_1545)5309 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newArrayType__closureiters_1545)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner) {
5310 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
5311 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T1_;
5312 tyObject_TType__facALICuu8zUj0hjvbTLFg* rng;
5313 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T2_;
5314 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T3_;
5315 result = NIM_NIL;
5316 T1_ = nextTypeId__ast_3151(idgen);
5317 result = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16), T1_, owner);
5318 T2_ = nextTypeId__ast_3151(idgen);
5319 rng = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20), T2_, owner);
5320 nimZeroMem((void*)T3_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5321 T3_[0] = newIntLit__lowerings_695(g, (*owner).info, IL64(0));
5322 T3_[1] = newIntLit__lowerings_695(g, (*owner).info, ((NI64) (n)));
5323 asgnRef((void**) (&(*rng).n), newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44), T3_, 2));
5324 rawAddSon__ast_4288(rng, t, NIM_TRUE);
5325 rawAddSon__ast_4288(result, rng, NIM_TRUE);
5326 rawAddSon__ast_4288(result, t, NIM_TRUE);
5327 return result;
5328 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,createExceptionTable__closureiters_1553)5329 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, createExceptionTable__closureiters_1553)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx) {
5330 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5331 NI T1_;
5332 tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
5333 result = NIM_NIL;
5334 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), (*(*ctx).fn).info);
5335 T1_ = ((*ctx).exceptionTable ? (*ctx).exceptionTable->Sup.len : 0);
5336 T2_ = NIM_NIL;
5337 T2_ = getSysType__magicsys_60((*ctx).g, (*(*ctx).fn).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33));
5338 asgnRef((void**) (&(*result).typ), newArrayType__closureiters_1545((*ctx).g, T1_, T2_, (*ctx).idgen, (*ctx).fn));
5339 {
5340 NI* i;
5341 NI i_2;
5342 NI L;
5343 NI T4_;
5344 i = (NI*)0;
5345 i_2 = ((NI) 0);
5346 T4_ = ((*ctx).exceptionTable ? (*ctx).exceptionTable->Sup.len : 0);
5347 L = T4_;
5348 {
5349 while (1) {
5350 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elem;
5351 if (!(i_2 < L)) goto LA6;
5352 i = (&(*ctx).exceptionTable->data[i_2]);
5353 elem = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) ((*i))));
5354 asgnRef((void**) (&(*elem).typ), getSysType__magicsys_60((*ctx).g, (*(*ctx).fn).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33)));
5355 add__ast_4797(result, elem);
5356 i_2 += ((NI) 1);
5357 } LA6: ;
5358 }
5359 }
5360 return result;
5361 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newCatchBody__closureiters_1568)5362 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newCatchBody__closureiters_1568)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
5363 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5364 tyObject_TType__facALICuu8zUj0hjvbTLFg* intTyp;
5365 tyObject_TType__facALICuu8zUj0hjvbTLFg* boolTyp;
5366 result = NIM_NIL;
5367 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), info);
5368 intTyp = getSysType__magicsys_60((*ctx).g, info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
5369 boolTyp = getSysType__magicsys_60((*ctx).g, info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
5370 {
5371 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* getNextState;
5372 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T2_;
5373 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
5374 nimZeroMem((void*)T2_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5375 T2_[0] = createExceptionTable__closureiters_1553(ctx);
5376 T2_[1] = newStateAccess__closureiters_35(ctx);
5377 getNextState = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), T2_, 2);
5378 asgnRef((void**) (&(*getNextState).typ), intTyp);
5379 T3_ = NIM_NIL;
5380 T3_ = newStateAssgn__closureiters_41(ctx, getNextState);
5381 add__ast_4797(result, T3_);
5382 }
5383 {
5384 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond;
5385 tyArray__T6RKPw8xfAeNaoei9aZGzXg T5_;
5386 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T6_;
5387 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* raiseStmt;
5388 tyArray__jlWPjgtbdjE069arIWHC9c9bg T7_;
5389 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifBranch;
5390 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T8_;
5391 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifStmt;
5392 tyArray__jlWPjgtbdjE069arIWHC9c9bg T9_;
5393 nimZeroMem((void*)T5_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
5394 T6_ = NIM_NIL;
5395 T6_ = getSysMagic__magicsys_29((*ctx).g, info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_29), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 70));
5396 T5_[0] = newSymNode__ast_3716(T6_);
5397 T5_[1] = newStateAccess__closureiters_35(ctx);
5398 T5_[2] = newIntTypeNode__ast_3783(IL64(0), intTyp);
5399 cond = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T5_, 3);
5400 asgnRef((void**) (&(*cond).typ), boolTyp);
5401 nimZeroMem((void*)T7_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
5402 T7_[0] = (*(*ctx).g).emptyNode;
5403 raiseStmt = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108), T7_, 1);
5404 nimZeroMem((void*)T8_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5405 T8_[0] = cond;
5406 T8_[1] = raiseStmt;
5407 ifBranch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), T8_, 2);
5408 nimZeroMem((void*)T9_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
5409 T9_[0] = ifBranch;
5410 ifStmt = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T9_, 1);
5411 add__ast_4797(result, ifStmt);
5412 }
5413 {
5414 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond_2;
5415 tyArray__T6RKPw8xfAeNaoei9aZGzXg T11_;
5416 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T12_;
5417 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* asgn;
5418 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T13_;
5419 nimZeroMem((void*)T11_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
5420 T12_ = NIM_NIL;
5421 T12_ = getSysMagic__magicsys_29((*ctx).g, info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_43), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 72));
5422 T11_[0] = newSymNode__ast_3716(T12_);
5423 T11_[1] = newIntTypeNode__ast_3783(IL64(0), intTyp);
5424 T11_[2] = newStateAccess__closureiters_35(ctx);
5425 cond_2 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T11_, 3);
5426 asgnRef((void**) (&(*cond_2).typ), boolTyp);
5427 nimZeroMem((void*)T13_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5428 T13_[0] = newUnrollFinallyAccess__closureiters_84(ctx, info);
5429 T13_[1] = cond_2;
5430 asgn = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), T13_, 2);
5431 add__ast_4797(result, asgn);
5432 }
5433 {
5434 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond_3;
5435 tyArray__T6RKPw8xfAeNaoei9aZGzXg T15_;
5436 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T16_;
5437 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* negateState;
5438 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T17_;
5439 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T18_;
5440 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifBranch_2;
5441 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T19_;
5442 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifStmt_2;
5443 tyArray__jlWPjgtbdjE069arIWHC9c9bg T20_;
5444 nimZeroMem((void*)T15_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
5445 T16_ = NIM_NIL;
5446 T16_ = getSysMagic__magicsys_29((*ctx).g, info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_43), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 72));
5447 T15_[0] = newSymNode__ast_3716(T16_);
5448 T15_[1] = newStateAccess__closureiters_35(ctx);
5449 T15_[2] = newIntTypeNode__ast_3783(IL64(0), intTyp);
5450 cond_3 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T15_, 3);
5451 asgnRef((void**) (&(*cond_3).typ), boolTyp);
5452 nimZeroMem((void*)T17_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5453 T18_ = NIM_NIL;
5454 T18_ = getSysMagic__magicsys_29((*ctx).g, info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_44), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 93));
5455 T17_[0] = newSymNode__ast_3716(T18_);
5456 T17_[1] = newStateAccess__closureiters_35(ctx);
5457 negateState = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T17_, 2);
5458 asgnRef((void**) (&(*negateState).typ), intTyp);
5459 nimZeroMem((void*)T19_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5460 T19_[0] = cond_3;
5461 T19_[1] = newStateAssgn__closureiters_41(ctx, negateState);
5462 ifBranch_2 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), T19_, 2);
5463 nimZeroMem((void*)T20_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
5464 T20_[0] = ifBranch_2;
5465 ifStmt_2 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T20_, 1);
5466 add__ast_4797(result, ifStmt_2);
5467 }
5468 {
5469 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T22_;
5470 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T23_;
5471 nimZeroMem((void*)T22_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5472 T22_[0] = newCurExcAccess__closureiters_91(ctx);
5473 T22_[1] = callCodegenProc__lowerings_635((*ctx).g, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_24), unknownLineInfo__lineinfos_280, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
5474 T23_ = NIM_NIL;
5475 T23_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), T22_, 2);
5476 add__ast_4797(result, T23_);
5477 }
5478 return result;
5479 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,wrapIntoTryExcept__closureiters_1605)5480 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, wrapIntoTryExcept__closureiters_1605)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5481 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5482 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* setupExc;
5483 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T1_;
5484 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T2_;
5485 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tryBody;
5486 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T3_;
5487 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* exceptBranch;
5488 tyArray__jlWPjgtbdjE069arIWHC9c9bg T4_;
5489 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T5_;
5490 result = NIM_NIL;
5491 nimZeroMem((void*)T1_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5492 T2_ = NIM_NIL;
5493 T2_ = getCompilerProc__magicsys_145((*ctx).g, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_30));
5494 T1_[0] = newSymNode__ast_3716(T2_);
5495 T1_[1] = newCurExcAccess__closureiters_91(ctx);
5496 setupExc = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T1_, 2);
5497 nimZeroMem((void*)T3_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5498 T3_[0] = setupExc;
5499 T3_[1] = n;
5500 tryBody = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T3_, 2);
5501 nimZeroMem((void*)T4_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
5502 T4_[0] = newCatchBody__closureiters_1568(ctx, (*(*ctx).fn).info);
5503 exceptBranch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87), T4_, 1);
5504 nimZeroMem((void*)T5_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5505 T5_[0] = tryBody;
5506 T5_[1] = exceptBranch;
5507 result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106), T5_, 2);
5508 return result;
5509 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,wrapIntoStateLoop__closureiters_1612)5510 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, wrapIntoStateLoop__closureiters_1612)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5511 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5512 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* loopBody;
5513 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T1_;
5514 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T2_;
5515 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* localVars;
5516 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* blockStmt;
5517 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
5518 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gs;
5519 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T13_;
5520 NI T14_;
5521 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
5522 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* blockBody;
5523 tyArray__T6RKPw8xfAeNaoei9aZGzXg T16_;
5524 result = NIM_NIL;
5525 loopBody = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
5526 nimZeroMem((void*)T1_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5527 T2_ = NIM_NIL;
5528 T2_ = getSysSym__magicsys_16((*ctx).g, (*n).info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_18));
5529 T1_[0] = newSymNode__ast_3716(T2_);
5530 T1_[1] = loopBody;
5531 result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96), T1_, 2);
5532 (*result).info = (*n).info;
5533 localVars = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
5534 {
5535 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSect;
5536 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
5537 if (!!(((*ctx).stateVarSym == 0))) goto LA5_;
5538 varSect = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*n).info);
5539 T7_ = NIM_NIL;
5540 T7_ = newSymNode__ast_3716((*ctx).stateVarSym);
5541 addVar__lowerings_63(varSect, T7_);
5542 add__ast_4797(localVars, varSect);
5543 {
5544 if (!!(((*ctx).tempVars == 0))) goto LA10_;
5545 add__ast_4797(localVars, (*ctx).tempVars);
5546 }
5547 LA10_: ;
5548 }
5549 LA5_: ;
5550 blockStmt = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112), (*n).info);
5551 T12_ = NIM_NIL;
5552 T12_ = newSymNode__ast_3716((*ctx).stateLoopLabel);
5553 add__ast_4797(blockStmt, T12_);
5554 gs = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), (*n).info);
5555 T13_ = NIM_NIL;
5556 T13_ = newStateAccess__closureiters_35(ctx);
5557 add__ast_4797(gs, T13_);
5558 T14_ = ((*ctx).states ? (*ctx).states->Sup.len : 0);
5559 T15_ = NIM_NIL;
5560 T15_ = newIntLit__lowerings_695((*ctx).g, (*n).info, ((NI64) ((NI)(T14_ - ((NI) 1)))));
5561 add__ast_4797(gs, T15_);
5562 nimZeroMem((void*)T16_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
5563 T16_[0] = gs;
5564 T16_[1] = localVars;
5565 T16_[2] = n;
5566 blockBody = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T16_, 3);
5567 {
5568 if (!(*ctx).hasExceptions) goto LA19_;
5569 blockBody = wrapIntoTryExcept__closureiters_1605(ctx, blockBody);
5570 }
5571 LA19_: ;
5572 add__ast_4797(blockStmt, blockBody);
5573 add__ast_4797(loopBody, blockStmt);
5574 return result;
5575 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,transformClosureIterator__closureiters_3541)5576 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformClosureIterator__closureiters_3541)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5577 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5578 tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A ctx;
5579 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T8_;
5580 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T9_;
5581 tyObject_PreprocessContext__ATjkivkWYrBstrMNxiy9cNw pc;
5582 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
5583 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
5584 NI T11_;
5585 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gotoOut;
5586 tyArray__jlWPjgtbdjE069arIWHC9c9bg T12_;
5587 NIM_BOOL ns;
5588 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
5589 result = NIM_NIL;
5590 nimZeroMem((void*)(&ctx), sizeof(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A));
5591 ctx.g = g;
5592 ctx.fn = fn;
5593 ctx.idgen = idgen;
5594 {
5595 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T3_;
5596 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T6_;
5597 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T7_;
5598 T3_ = NIM_NIL;
5599 T3_ = getEnvParam__lambdalifting_131(fn);
5600 if (!(T3_ == 0)) goto LA4_;
5601 T6_ = NIM_NIL;
5602 T6_ = getIdent__idents_143((*ctx.g).cache, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_2));
5603 T7_ = nextSymId__ast_3132(idgen);
5604 ctx.stateVarSym = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8), T6_, T7_, fn, (*fn).info, 0);
5605 asgnRef((void**) (&(*ctx.stateVarSym).typ), createClosureIterStateType__lambdalifting_33(g, fn, idgen));
5606 }
5607 LA4_: ;
5608 T8_ = NIM_NIL;
5609 T8_ = getIdent__idents_143((*ctx.g).cache, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_3));
5610 T9_ = nextSymId__ast_3132(idgen);
5611 ctx.stateLoopLabel = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 22), T8_, T9_, fn, (*fn).info, 0);
5612 nimZeroMem((void*)(&pc), sizeof(tyObject_PreprocessContext__ATjkivkWYrBstrMNxiy9cNw));
5613 nimZeroMem((void*)(&pc), sizeof(tyObject_PreprocessContext__ATjkivkWYrBstrMNxiy9cNw));
5614 pc.finallys = NIM_NIL;
5615 pc.config = (*g).config;
5616 pc.idgen = idgen;
5617 T10_ = NIM_NIL;
5618 T10_ = toStmtList__closureiters_136(n);
5619 n_2 = preprocess__closureiters_3362((&pc), T10_);
5620 T11_ = (NI)0;
5621 T11_ = newState__closureiters_97((&ctx), n_2, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
5622 (void)(T11_);
5623 nimZeroMem((void*)T12_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
5624 T12_[0] = newIntLit__lowerings_695(g, (*n_2).info, IL64(-1));
5625 gotoOut = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), T12_, 1);
5626 ns = NIM_FALSE;
5627 n_2 = lowerStmtListExprs__closureiters_478((&ctx), n_2, (&ns));
5628 {
5629 NIM_BOOL T15_;
5630 T15_ = (NIM_BOOL)0;
5631 T15_ = hasYieldsInExpressions__closureiters_371(n_2);
5632 if (!T15_) goto LA16_;
5633 internalErrorImpl__msgs_1431((*ctx.g).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_19), TM__slVvvIjx75ivXdMpHiE9c9aQ_20);
5634 }
5635 LA16_: ;
5636 T18_ = NIM_NIL;
5637 T18_ = transformClosureIteratorBody__closureiters_1173((&ctx), n_2, gotoOut);
5638 (void)(T18_);
5639 deleteEmptyStates__closureiters_1659((&ctx));
5640 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n_2).info);
5641 {
5642 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** s;
5643 NI i;
5644 NI L;
5645 NI T20_;
5646 s = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
5647 i = ((NI) 0);
5648 T20_ = (ctx.states ? ctx.states->Sup.len : 0);
5649 L = T20_;
5650 {
5651 while (1) {
5652 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
5653 if (!(i < L)) goto LA22;
5654 s = &ctx.states->data[i];
5655 body = (*(*s))._kind_6.sons->data[((NI) 1)];
5656 del__closureiters_3571((&(*(*s))._kind_6.sons), ((NI) 1));
5657 add__ast_4797(result, (*s));
5658 add__ast_4797(result, body);
5659 i += ((NI) 1);
5660 } LA22: ;
5661 }
5662 }
5663 result = transformStateAssignments__closureiters_1386((&ctx), result);
5664 result = wrapIntoStateLoop__closureiters_1612((&ctx), result);
5665 return result;
5666 }
N_NIMCALL(void,compiler_closureitersDatInit000)5667 N_LIB_PRIVATE N_NIMCALL(void, compiler_closureitersDatInit000)(void) {
5668 static TNimNode* TM__slVvvIjx75ivXdMpHiE9c9aQ_4_3[3];
5669 static TNimNode TM__slVvvIjx75ivXdMpHiE9c9aQ_0[4];
5670 NTIkeyvaluepair__O3AtiO8fwKWfdl6NGmuzhw_.size = sizeof(tyTuple__O3AtiO8fwKWfdl6NGmuzhw);
5671 NTIkeyvaluepair__O3AtiO8fwKWfdl6NGmuzhw_.align = NIM_ALIGNOF(tyTuple__O3AtiO8fwKWfdl6NGmuzhw);
5672 NTIkeyvaluepair__O3AtiO8fwKWfdl6NGmuzhw_.kind = 18;
5673 NTIkeyvaluepair__O3AtiO8fwKWfdl6NGmuzhw_.base = 0;
5674 TM__slVvvIjx75ivXdMpHiE9c9aQ_4_3[0] = &TM__slVvvIjx75ivXdMpHiE9c9aQ_0[1];
5675 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[1].kind = 1;
5676 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[1].offset = offsetof(tyTuple__O3AtiO8fwKWfdl6NGmuzhw, Field0);
5677 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[1].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
5678 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[1].name = "Field0";
5679 TM__slVvvIjx75ivXdMpHiE9c9aQ_4_3[1] = &TM__slVvvIjx75ivXdMpHiE9c9aQ_0[2];
5680 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[2].kind = 1;
5681 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[2].offset = offsetof(tyTuple__O3AtiO8fwKWfdl6NGmuzhw, Field1);
5682 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[2].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
5683 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[2].name = "Field1";
5684 TM__slVvvIjx75ivXdMpHiE9c9aQ_4_3[2] = &TM__slVvvIjx75ivXdMpHiE9c9aQ_0[3];
5685 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[3].kind = 1;
5686 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[3].offset = offsetof(tyTuple__O3AtiO8fwKWfdl6NGmuzhw, Field2);
5687 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[3].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
5688 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[3].name = "Field2";
5689 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[0].len = 3; TM__slVvvIjx75ivXdMpHiE9c9aQ_0[0].kind = 2; TM__slVvvIjx75ivXdMpHiE9c9aQ_0[0].sons = &TM__slVvvIjx75ivXdMpHiE9c9aQ_4_3[0];
5690 NTIkeyvaluepair__O3AtiO8fwKWfdl6NGmuzhw_.node = &TM__slVvvIjx75ivXdMpHiE9c9aQ_0[0];
5691 NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_.size = sizeof(tySequence__gVogYzwlGNrCaz6jQnXRzA*);
5692 NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_.align = NIM_ALIGNOF(tySequence__gVogYzwlGNrCaz6jQnXRzA*);
5693 NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_.kind = 24;
5694 NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_.base = (&NTIkeyvaluepair__O3AtiO8fwKWfdl6NGmuzhw_);
5695 NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_.marker = Marker_tySequence__gVogYzwlGNrCaz6jQnXRzA;
5696 }
5697
5698