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