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