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