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_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
22 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
23 typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
24 typedef struct tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag;
25 typedef struct tySequence__7PsCyIDXDb8nGSU5UlS9cAA tySequence__7PsCyIDXDb8nGSU5UlS9cAA;
26 typedef struct tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA;
27 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
28 typedef struct RootObj RootObj;
29 typedef struct TNimType TNimType;
30 typedef struct TNimNode TNimNode;
31 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
32 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
33 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
34 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
35 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
36 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
37 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
38 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
39 typedef struct NimStringDesc NimStringDesc;
40 typedef struct TGenericSeq TGenericSeq;
41 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
42 typedef struct tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA;
43 typedef struct tyObject_Connection__EevFKe104MtQGkxxkLKkgg tyObject_Connection__EevFKe104MtQGkxxkLKkgg;
44 typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
45 typedef struct tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug;
46 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
47 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
48 typedef struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ tySequence__4mZLwkxT8rbt9bf3wXrXYNQ;
49 typedef struct tySequence__rQHmYk1HzcwNxKBymIFHpA tySequence__rQHmYk1HzcwNxKBymIFHpA;
50 typedef struct tySequence__XMM60DtBsc6xYsIpNANkrA tySequence__XMM60DtBsc6xYsIpNANkrA;
51 typedef struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw;
52 typedef struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg;
53 typedef struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg;
54 typedef struct tySequence__mWRMiYLthG9coLjkbElCxkw tySequence__mWRMiYLthG9coLjkbElCxkw;
55 typedef struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyObject_Table__iowAVDkco3qpbEH0z8OmkQ;
56 typedef struct tySequence__bTDCDwD2P7TodzbAefLcSw tySequence__bTDCDwD2P7TodzbAefLcSw;
57 typedef struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w;
58 typedef struct tySequence__3MPVXAHA08SszBrU4ffqEg tySequence__3MPVXAHA08SszBrU4ffqEg;
59 typedef struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw tyObject_Table__KcymdZjUsmGSK8BxmvoJgw;
60 typedef struct tySequence__YCf5zJHm4JI06qpmKwPUWg tySequence__YCf5zJHm4JI06qpmKwPUWg;
61 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
62 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
63 typedef struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ;
64 typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
65 typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
66 typedef struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA;
67 typedef struct tySequence__61s9cbAniKuBrdHwBhMDfQg tySequence__61s9cbAniKuBrdHwBhMDfQg;
68 typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
69 typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
70 typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
71 typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
72 typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
73 typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
74 typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
75 typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
76 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
77 typedef struct tySequence__s9byh6WFJ16lPMcmqdaMTHA tySequence__s9byh6WFJ16lPMcmqdaMTHA;
78 typedef struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw tyObject_Table__Ue6w4c82v7gc7t2qntTbAw;
79 typedef struct tySequence__1U9bG8RcAedEeYkQLZjVFKA tySequence__1U9bG8RcAedEeYkQLZjVFKA;
80 typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
81 typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
82 typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
83 typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
84 typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
85 typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
86 typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
87 typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
88 typedef struct tySequence__MAQKEADohlpnXTModtugbQ tySequence__MAQKEADohlpnXTModtugbQ;
89 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
90 typedef struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA;
91 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
92 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
93 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
94 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
95 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
96 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
97 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
98 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
99 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
100 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
101 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
102 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
103 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
104 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
105 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
106 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
107 typedef struct tySequence__u9c10b19cqoKPxYSuh3ZKtIw tySequence__u9c10b19cqoKPxYSuh3ZKtIw;
108 typedef struct tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ;
109 typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
110 typedef struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA;
111 typedef struct tySequence__vv5mGmK03BCr5e3LTZA5Hw tySequence__vv5mGmK03BCr5e3LTZA5Hw;
112 typedef struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w;
113 typedef struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ;
114 typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
115 typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
116 typedef struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw;
117 typedef struct tySequence__29bS0n2QNyO1R7e0qMMOvLA tySequence__29bS0n2QNyO1R7e0qMMOvLA;
118 typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
119 typedef struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg tySequence__REuPuHuSlOkZ0Q5oqzDrQg;
120 typedef struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA tySequence__I9aQmO9asXXWJ58UI9c8BCSzA;
121 typedef struct tySequence__NyaOkf8ZwxP6rkRF5TOkew tySequence__NyaOkf8ZwxP6rkRF5TOkew;
122 typedef struct tySequence__L9bOt8CaTEmIjgtuZvp6syg tySequence__L9bOt8CaTEmIjgtuZvp6syg;
123 typedef struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ tySequence__im8UB2GsZvUaQ4a1wKGWhQ;
124 typedef struct tySequence__xxnXDLpoqBo8zJzP9b1073g tySequence__xxnXDLpoqBo8zJzP9b1073g;
125 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
126 typedef struct tySequence__DfmUmNgVGnYaiV1I6227tw tySequence__DfmUmNgVGnYaiV1I6227tw;
127 typedef struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA tySequence__t8Uv4lEJ4lkuECvP9c6JMhA;
128 typedef struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg;
129 typedef struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ;
130 typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
131 typedef struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g tyObject_Table__CE4eiu6FavV1vmUiTXQ70g;
132 typedef struct tySequence__9bT7o0CflHuiE4VhmtqBPCw tySequence__9bT7o0CflHuiE4VhmtqBPCw;
133 typedef struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw;
134 typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q;
135 typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
136 typedef struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ;
137 typedef struct tySequence__O5RcspOP32YJ4YtU5ppxxA tySequence__O5RcspOP32YJ4YtU5ppxxA;
138 typedef struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg;
139 typedef struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ;
140 typedef struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ;
141 typedef struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg tyTuple__o67sDX0wYbEuhI9cJYAbDtg;
142 typedef struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA;
143 typedef struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg;
144 typedef struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA tySequence__ipEvhpHAmm8ZCn9bZAOdNYA;
145 typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
146 typedef struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q tyTuple__9aNnDWBFMF44sfFinBpMT4Q;
147 typedef struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg;
148 typedef struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g tySequence__159bHWBGAOOs6U7OZ9cQlO0g;
149 typedef struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ tyTuple__VrD6plbUKJjYKM0lCr3hGQ;
150 typedef struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA;
151 typedef struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA tyTuple__1ZbjBgxAbnye0IFMZ6w4OA;
152 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
153 typedef struct tyTuple__rplX06U9bjhu9asm5pWdgqsA tyTuple__rplX06U9bjhu9asm5pWdgqsA;
154 typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
155 typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
156 typedef struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A;
157 typedef struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ tyTuple__3i6hlQmqrn6m7tuVN8FHjQ;
158 typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
159 typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
160 typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
161 typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
162 typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
163 typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
164 typedef struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ;
165 typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
166 typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
167 typedef struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow;
168 typedef struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg;
169 typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
170 typedef struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA tyTuple__Q7r9caOmeWqQGZCIBHhGRUA;
171 typedef struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg;
172 typedef struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw tyTuple__XyJ8LOAZzVVXSsmt09b8uWw;
173 typedef struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA;
174 typedef struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw tySequence__vC9cvg0R8tfBaOXXi3sfMzw;
175 typedef struct tyTuple__9aoobCDZB4x41HJSOmh0mwA tyTuple__9aoobCDZB4x41HJSOmh0mwA;
176 typedef struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA tyTuple__g0Q6Qx15nK53ce9aLo7YyrA;
177 typedef struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw;
178 typedef struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw;
179 typedef struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA;
180 typedef struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ;
181 typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
182 typedef NU8 tySet_tyEnum_Goal__JuPChZ1Q9aI1A9aNNAM6t8Pg;
183 struct tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag {
184 NI abstractTime;
185 tySequence__7PsCyIDXDb8nGSU5UlS9cAA* s;
186 tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA* graphs;
187 tySet_tyEnum_Goal__JuPChZ1Q9aI1A9aNNAM6t8Pg goals;
188 NIM_BOOL unanalysableMutation;
189 NI inAsgnSource;
190 NI inConstructor;
191 NI inNoSideEffectSection;
192 NI inConditional;
193 NI inLoop;
194 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
195 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g;
196 };
197 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
198 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
199 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
200 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
201 struct TNimType {
202 NI size;
203 NI align;
204 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
205 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
206 TNimType* base;
207 TNimNode* node;
208 void* finalizer;
209 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
210 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
211 };
212 struct RootObj {
213 TNimType* m_type;
214 };
215 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
216 NI32 module;
217 NI32 item;
218 };
219 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
220 RootObj Sup;
221 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
222 };
223 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
224 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
225 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
226 NU16 line;
227 NI16 col;
228 NI32 fileIndex;
229 };
230 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
231 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
232 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
233 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
234 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
235 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
236 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
237 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
238 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
239 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
240 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
241 };
242 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
243 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
244 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
245 union{
246 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
247 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
248 } _kind_1;
249 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
250 NI bitsize;
251 NI alignment;
252 } _kind_2;
253 };
254 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
255 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
256 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
257 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
258 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
259 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
260 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
261 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
262 NI position;
263 NI offset;
264 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
265 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
266 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
267 };
268 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
269 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
270 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
271 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
272 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
273 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
274 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
275 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
276 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
277 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
278 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
279 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
280 NI64 size;
281 NI16 align;
282 NI16 paddingAtEnd;
283 NI16 lockLevel;
284 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
285 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
286 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
287 };
288 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
289 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
290 struct TGenericSeq {
291 NI len;
292 NI reserved;
293 };
294 struct NimStringDesc {
295 TGenericSeq Sup;
296 NIM_CHAR data[SEQ_DECL_SIZE];
297 };
298 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
299 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
300 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
301 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
302 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
303 union{
304 struct {NI64 intVal;
305 } _kind_1;
306 struct {NF floatVal;
307 } _kind_2;
308 struct {NimStringDesc* strVal;
309 } _kind_3;
310 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
311 } _kind_4;
312 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
313 } _kind_5;
314 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
315 } _kind_6;
316 };
317 };
318 typedef NU8 tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA;
319 struct tyObject_Connection__EevFKe104MtQGkxxkLKkgg {
320 tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA kind;
321 union{
322 NI parent;
323 NI graphIndex;
324 };
325 };
326 typedef NU8 tySet_tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ;
327 struct tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA {
328 tyObject_Connection__EevFKe104MtQGkxxkLKkgg con;
329 tySet_tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ flags;
330 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
331 NI reassignedTo;
332 NI aliveStart;
333 NI aliveEnd;
334 tySequence__qwqHTkRvwhrRyENtudHQ7g* borrowsFrom;
335 };
336 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
337 struct TNimNode {
338 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
339 NI offset;
340 TNimType* typ;
341 NCSTRING name;
342 NI len;
343 TNimNode** sons;
344 };
345 typedef NU8 tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ;
346 typedef NU8 tySet_tyEnum_SubgraphFlag__mxQvR0HTC631bhUr6jBDDw;
347 struct tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug {
348 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
349 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q mutatedHere;
350 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q connectedVia;
351 tySet_tyEnum_SubgraphFlag__mxQvR0HTC631bhUr6jBDDw flags;
352 NI maxMutation;
353 NI minConnection;
354 tySequence__qwqHTkRvwhrRyENtudHQ7g* mutations;
355 };
356 typedef NU8 tyEnum_SubgraphFlag__mxQvR0HTC631bhUr6jBDDw;
357 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
358 typedef NU8 tyEnum_Goal__JuPChZ1Q9aI1A9aNNAM6t8Pg;
359 typedef NU8 tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog;
360 typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
361 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
362 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
363 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
364 NimStringDesc* Field0;
365 NI Field1;
366 NI Field2;
367 };
368 struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw {
369 tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg* data;
370 NI counter;
371 };
372 struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg {
373 tySequence__mWRMiYLthG9coLjkbElCxkw* data;
374 NI counter;
375 };
376 struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ {
377 tySequence__bTDCDwD2P7TodzbAefLcSw* data;
378 NI counter;
379 };
380 typedef tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ[5];
381 struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w {
382 tySequence__3MPVXAHA08SszBrU4ffqEg* data;
383 NI counter;
384 };
385 struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw {
386 tySequence__YCf5zJHm4JI06qpmKwPUWg* data;
387 NI counter;
388 };
389 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
390 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
391 NI counter;
392 };
393 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
394 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
395 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
396 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
397 struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ {
398 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
399 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
400 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
401 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
402 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
403 };
404 struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
405 NI counter;
406 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data;
407 };
408 struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA {
409 tySequence__61s9cbAniKuBrdHwBhMDfQg* data;
410 NI counter;
411 };
412 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
413 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
414 NI elems;
415 NI counter;
416 NI max;
417 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
418 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
419 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
420 };
421 struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
422 tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
423 NI counter;
424 };
425 struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
426 tySequence__kxu4GK0onha2t9bo86mdVAg* data;
427 NI counter;
428 };
429 typedef struct {
430 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
431 void* ClE_0;
432 } tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
433 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__9bjuenwQUcqO3lbmS2wX7uA[65];
434 struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw {
435 tySequence__1U9bG8RcAedEeYkQLZjVFKA* data;
436 NI counter;
437 };
438 struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
439 tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
440 NI counter;
441 };
442 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__VHDwJFdIqpwtpUGuxiXUwg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
443 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__mjUN9alLJ31lnSKkUsuyWMw) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
444 struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
445 tySequence__23SMqauuRsbDANhthj9bWlA* data;
446 NI counter;
447 };
448 struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
449 tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
450 NI counter;
451 };
452 struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
453 tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
454 NI counter;
455 };
456 typedef N_NIMCALL_PTR(void, tyProc__TjycsqkDBjsxd4da6KYTng) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
457 typedef N_NIMCALL_PTR(void, tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
458 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__J7Jq15ZScfKLqcLx8sEz9cA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
459 struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA {
460 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opNot;
461 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opContains;
462 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLe;
463 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLt;
464 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAnd;
465 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opOr;
466 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opIsNil;
467 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opEq;
468 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAdd;
469 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opSub;
470 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opMul;
471 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opDiv;
472 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLen;
473 };
474 struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ {
475 tySequence__4mZLwkxT8rbt9bf3wXrXYNQ* ifaces;
476 tySequence__rQHmYk1HzcwNxKBymIFHpA* packed_0;
477 tySequence__XMM60DtBsc6xYsIpNANkrA* encoders;
478 tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw typeInstCache;
479 tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg procInstCache;
480 tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ attachedOps;
481 tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w methodsPerType;
482 tyObject_Table__KcymdZjUsmGSK8BxmvoJgw enumToStringProcs;
483 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
484 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ startupPackedConfig;
485 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms;
486 tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA modulesPerPackage;
487 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
488 tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
489 NIM_BOOL suggestMode;
490 NIM_BOOL invalidTransitiveClosure;
491 tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
492 tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
493 RootObj* backend;
494 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
495 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
496 RootObj* vm;
497 tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
498 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* usageSym;
499 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* owners;
500 tySequence__s9byh6WFJ16lPMcmqdaMTHA* methods;
501 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* systemModule;
502 tyArray__9bjuenwQUcqO3lbmS2wX7uA sysTypes;
503 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs;
504 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed;
505 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageTypes;
506 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
507 tyObject_Table__Ue6w4c82v7gc7t2qntTbAw canonTypes;
508 tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
509 tyProc__VHDwJFdIqpwtpUGuxiXUwg importModuleCallback;
510 tyProc__mjUN9alLJ31lnSKkUsuyWMw includeFileCallback;
511 tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
512 tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
513 tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables;
514 tySequence__MAQKEADohlpnXTModtugbQ* passes;
515 tyProc__TjycsqkDBjsxd4da6KYTng onDefinition;
516 tyProc__TjycsqkDBjsxd4da6KYTng onDefinitionResolveForward;
517 tyProc__TjycsqkDBjsxd4da6KYTng onUsage;
518 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
519 tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ strongSemCheck;
520 tyProc__J7Jq15ZScfKLqcLx8sEz9cA compatibleProps;
521 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
522 tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA operators;
523 };
524 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
525 NI refcount;
526 TNimType* typ;
527 };
528 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
529 void* bottom;
530 };
531 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
532 NI len;
533 NI cap;
534 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
535 };
536 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
537 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
538 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
539 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
540 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
541 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
542 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
543 };
544 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
545 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
546 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
547 NI key;
548 NI upperBound;
549 NI level;
550 };
551 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
552 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
553 NI Field1;
554 };
555 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
556 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
557 NI len;
558 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
559 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
560 };
561 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
562 NI minLargeObj;
563 NI maxLargeObj;
564 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
565 NU32 flBitmap;
566 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
567 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
568 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
569 NI currMem;
570 NI maxMem;
571 NI freeMem;
572 NI occ;
573 NI lastSize;
574 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
575 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
576 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
577 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
578 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
579 NIM_BOOL locked;
580 NIM_BOOL blockChunkSizeIncrease;
581 NI nextChunkSize;
582 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
583 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
584 };
585 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
586 NI stackScans;
587 NI cycleCollections;
588 NI maxThreshold;
589 NI maxStackSize;
590 NI maxStackCells;
591 NI cycleTableSize;
592 NI64 maxPause;
593 };
594 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
595 NI counter;
596 NI max;
597 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
598 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
599 };
600 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
601 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
602 NI cycleThreshold;
603 NI zctThreshold;
604 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
605 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
606 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
607 NI recGcLock;
608 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
609 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
610 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
611 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
612 NI gcThreadId;
613 };
614 struct tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ {
615 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0;
616 NI Field1;
617 };
618 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__NbBRo5rVxVVQby3QsoZkZQ) (tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
619 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
620 struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
621 NI a;
622 NI b;
623 };
624 struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA {
625 NI id;
626 NimStringDesc* s;
627 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* next;
628 NI h;
629 };
630 struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA {
631 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
632 tySequence__vv5mGmK03BCr5e3LTZA5Hw* converters;
633 tySequence__vv5mGmK03BCr5e3LTZA5Hw* patterns;
634 tySequence__vv5mGmK03BCr5e3LTZA5Hw* pureEnums;
635 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interf;
636 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interfHidden;
637 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* uniqueName;
638 };
639 typedef NU8 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q;
640 struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw {
641 tySequence__29bS0n2QNyO1R7e0qMMOvLA* nodes;
642 };
643 typedef NU8 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g;
644 struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg {
645 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* vals;
646 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
647 };
648 struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ {
649 tySequence__IHUFRsFxZNv7YydiUO2esQ* vals;
650 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
651 };
652 struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ {
653 NimStringDesc* definedSymbols;
654 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw moduleFlags;
655 tySequence__PXIzfWocnrafGz5p3CP5LA* includes;
656 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* imports;
657 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw toReplay;
658 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw topLevel;
659 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw bodies;
660 tySequence__b89aLriiJnVTD186H6zNIgg* exports;
661 tySequence__b89aLriiJnVTD186H6zNIgg* hidden;
662 tySequence__REuPuHuSlOkZ0Q5oqzDrQg* reexports;
663 tySequence__b89aLriiJnVTD186H6zNIgg* compilerProcs;
664 tySequence__48JTohSgTy339bRxHzUD8KA* converters;
665 tySequence__48JTohSgTy339bRxHzUD8KA* methods;
666 tySequence__48JTohSgTy339bRxHzUD8KA* trmacros;
667 tySequence__48JTohSgTy339bRxHzUD8KA* pureEnums;
668 tySequence__I9aQmO9asXXWJ58UI9c8BCSzA* macroUsages;
669 tySequence__NyaOkf8ZwxP6rkRF5TOkew* typeInstCache;
670 tySequence__L9bOt8CaTEmIjgtuZvp6syg* procInstCache;
671 tySequence__im8UB2GsZvUaQ4a1wKGWhQ* attachedOps;
672 tySequence__xxnXDLpoqBo8zJzP9b1073g* methodsPerType;
673 tySequence__NyaOkf8ZwxP6rkRF5TOkew* enumToStringProcs;
674 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* emittedTypeInfo;
675 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g backendFlags;
676 tySequence__DfmUmNgVGnYaiV1I6227tw* syms;
677 tySequence__t8Uv4lEJ4lkuECvP9c6JMhA* types;
678 tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg strings;
679 tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ numbers;
680 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ cfg;
681 };
682 struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g {
683 tySequence__9bT7o0CflHuiE4VhmtqBPCw* data;
684 NI counter;
685 };
686 struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w {
687 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q status;
688 NIM_BOOL symsInit;
689 NIM_BOOL typesInit;
690 NIM_BOOL loadedButAliveSetChanged;
691 tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ fromDisk;
692 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* syms;
693 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
694 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
695 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g iface;
696 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g ifaceHidden;
697 };
698 struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q {
699 tySequence__9cnx3zXnWzeclW8Ko4oUgAQ* data;
700 NI counter;
701 };
702 struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw {
703 NI32 thisModule;
704 NI32 lastFile;
705 NU32 lastLit;
706 tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames;
707 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* pendingTypes;
708 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* pendingSyms;
709 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker;
710 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker;
711 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
712 };
713 struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ {
714 NU32 module;
715 NI32 item;
716 };
717 struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ {
718 NI module;
719 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ packed_0;
720 };
721 struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg {
722 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
723 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
724 };
725 struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ {
726 NI Field0;
727 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
728 tySequence__O5RcspOP32YJ4YtU5ppxxA* Field2;
729 };
730 struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg {
731 NI module;
732 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ sym;
733 tySequence__ipEvhpHAmm8ZCn9bZAOdNYA* concreteTypes;
734 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
735 };
736 struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg {
737 NI Field0;
738 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
739 tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA* Field2;
740 };
741 struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q {
742 NI Field0;
743 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
744 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
745 };
746 struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA {
747 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
748 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
749 };
750 struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ {
751 NI Field0;
752 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field1;
753 };
754 struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg {
755 NI Field0;
756 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
757 tySequence__159bHWBGAOOs6U7OZ9cQlO0g* Field2;
758 };
759 struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA {
760 NI Field0;
761 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
762 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field2;
763 };
764 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
765 NI Field0;
766 NimStringDesc* Field1;
767 NI32 Field2;
768 };
769 struct tyTuple__rplX06U9bjhu9asm5pWdgqsA {
770 NI Field0;
771 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
772 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA Field2;
773 };
774 struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
775 NI Field0;
776 NI32 Field1;
777 tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
778 };
779 struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
780 NI Field0;
781 NI32 Field1;
782 NI32 Field2;
783 };
784 struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A {
785 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* Field0;
786 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
787 };
788 typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
789 struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ {
790 NI Field0;
791 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
792 tyObject_TType__facALICuu8zUj0hjvbTLFg* Field2;
793 };
794 struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
795 NI Field0;
796 NI Field1;
797 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
798 };
799 struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
800 NI Field0;
801 NimStringDesc* Field1;
802 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
803 };
804 struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
805 NI Field0;
806 NimStringDesc* Field1;
807 NI64 Field2;
808 };
809 struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
810 tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
811 NI entries;
812 };
813 struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
814 NI Field0;
815 NimStringDesc* Field1;
816 tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
817 };
818 typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__jkSFMhvPZ1AdGcvT2dK9a2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
819 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
820 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
821 struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ {
822 tyProc__jkSFMhvPZ1AdGcvT2dK9a2w Field0;
823 tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1;
824 tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2;
825 NIM_BOOL Field3;
826 };
827 struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
828 NU32 Field0;
829 NimStringDesc* Field1;
830 };
831 struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg {
832 NU16 line;
833 NI16 col;
834 NU32 file;
835 };
836 struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow {
837 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
838 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
839 NI32 operand;
840 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeId_0;
841 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
842 };
843 struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
844 NU32 Field0;
845 NI32 Field1;
846 };
847 struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA {
848 NU32 Field0;
849 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
850 };
851 struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg {
852 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
853 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg Field1;
854 };
855 struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw {
856 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
857 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
858 };
859 struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA {
860 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ key;
861 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
862 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* concreteTypes;
863 };
864 typedef NU8 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg;
865 struct tyTuple__9aoobCDZB4x41HJSOmh0mwA {
866 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg Field0;
867 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
868 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
869 };
870 struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA {
871 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
872 NI Field1;
873 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
874 };
875 typedef NU8 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ;
876 struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw {
877 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ kind;
878 NIM_BOOL generated;
879 NIM_BOOL isOverriden;
880 NU32 name;
881 NI32 path;
882 };
883 struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw {
884 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
885 NU32 name;
886 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typ;
887 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
888 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
889 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
890 NI32 ast;
891 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
892 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ guard;
893 NI bitsize;
894 NI alignment;
895 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
896 NI position;
897 NI offset;
898 NU32 externalName;
899 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA locFlags;
900 tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw annex;
901 NI32 constraint;
902 };
903 struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA {
904 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
905 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
906 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
907 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* types;
908 NI32 n;
909 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
910 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
911 NI64 size;
912 NI16 align;
913 NI16 paddingAtEnd;
914 NI16 lockLevel;
915 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeInst;
916 NI32 nonUniqueId;
917 };
918 struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ {
919 NI Field0;
920 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* Field1;
921 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* Field2;
922 };
923 struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
924 NI Field0;
925 NI32 Field1;
926 NU32 Field2;
927 };
928 struct tySequence__7PsCyIDXDb8nGSU5UlS9cAA {
929 TGenericSeq Sup;
930 tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA data[SEQ_DECL_SIZE];
931 };
932 struct tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA {
933 TGenericSeq Sup;
934 tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug data[SEQ_DECL_SIZE];
935 };
936 struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
937 TGenericSeq Sup;
938 NI data[SEQ_DECL_SIZE];
939 };
940 struct tySequence__u9c10b19cqoKPxYSuh3ZKtIw {
941 TGenericSeq Sup;
942 tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ data[SEQ_DECL_SIZE];
943 };
944 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
945 TGenericSeq Sup;
946 tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
947 };
948 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
949 TGenericSeq Sup;
950 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
951 };
952 struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ {
953 TGenericSeq Sup;
954 tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA data[SEQ_DECL_SIZE];
955 };
956 struct tySequence__rQHmYk1HzcwNxKBymIFHpA {
957 TGenericSeq Sup;
958 tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w data[SEQ_DECL_SIZE];
959 };
960 struct tySequence__XMM60DtBsc6xYsIpNANkrA {
961 TGenericSeq Sup;
962 tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw data[SEQ_DECL_SIZE];
963 };
964 struct tySequence__O5RcspOP32YJ4YtU5ppxxA {
965 TGenericSeq Sup;
966 tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg data[SEQ_DECL_SIZE];
967 };
968 struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg {
969 TGenericSeq Sup;
970 tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ data[SEQ_DECL_SIZE];
971 };
972 struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA {
973 TGenericSeq Sup;
974 tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg data[SEQ_DECL_SIZE];
975 };
976 struct tySequence__mWRMiYLthG9coLjkbElCxkw {
977 TGenericSeq Sup;
978 tyTuple__o67sDX0wYbEuhI9cJYAbDtg data[SEQ_DECL_SIZE];
979 };
980 struct tySequence__bTDCDwD2P7TodzbAefLcSw {
981 TGenericSeq Sup;
982 tyTuple__9aNnDWBFMF44sfFinBpMT4Q data[SEQ_DECL_SIZE];
983 };
984 struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g {
985 TGenericSeq Sup;
986 tyTuple__VrD6plbUKJjYKM0lCr3hGQ data[SEQ_DECL_SIZE];
987 };
988 struct tySequence__3MPVXAHA08SszBrU4ffqEg {
989 TGenericSeq Sup;
990 tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg data[SEQ_DECL_SIZE];
991 };
992 struct tySequence__YCf5zJHm4JI06qpmKwPUWg {
993 TGenericSeq Sup;
994 tyTuple__1ZbjBgxAbnye0IFMZ6w4OA data[SEQ_DECL_SIZE];
995 };
996 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
997 TGenericSeq Sup;
998 tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
999 };
1000 struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
1001 TGenericSeq Sup;
1002 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
1003 };
1004 struct tySequence__61s9cbAniKuBrdHwBhMDfQg {
1005 TGenericSeq Sup;
1006 tyTuple__rplX06U9bjhu9asm5pWdgqsA data[SEQ_DECL_SIZE];
1007 };
1008 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
1009 TGenericSeq Sup;
1010 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
1011 };
1012 struct tySequence__48JTohSgTy339bRxHzUD8KA {
1013 TGenericSeq Sup;
1014 NI32 data[SEQ_DECL_SIZE];
1015 };
1016 struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
1017 TGenericSeq Sup;
1018 tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
1019 };
1020 struct tySequence__kxu4GK0onha2t9bo86mdVAg {
1021 TGenericSeq Sup;
1022 tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
1023 };
1024 struct tySequence__s9byh6WFJ16lPMcmqdaMTHA {
1025 TGenericSeq Sup;
1026 tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A data[SEQ_DECL_SIZE];
1027 };
1028 struct tySequence__1U9bG8RcAedEeYkQLZjVFKA {
1029 TGenericSeq Sup;
1030 tyTuple__3i6hlQmqrn6m7tuVN8FHjQ data[SEQ_DECL_SIZE];
1031 };
1032 struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
1033 TGenericSeq Sup;
1034 tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
1035 };
1036 struct tySequence__23SMqauuRsbDANhthj9bWlA {
1037 TGenericSeq Sup;
1038 tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
1039 };
1040 struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
1041 TGenericSeq Sup;
1042 tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
1043 };
1044 struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
1045 TGenericSeq Sup;
1046 tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
1047 };
1048 struct tySequence__MAQKEADohlpnXTModtugbQ {
1049 TGenericSeq Sup;
1050 tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ data[SEQ_DECL_SIZE];
1051 };
1052 struct tySequence__vv5mGmK03BCr5e3LTZA5Hw {
1053 TGenericSeq Sup;
1054 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA data[SEQ_DECL_SIZE];
1055 };
1056 struct tySequence__PXIzfWocnrafGz5p3CP5LA {
1057 TGenericSeq Sup;
1058 tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE];
1059 };
1060 struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
1061 TGenericSeq Sup;
1062 NU32 data[SEQ_DECL_SIZE];
1063 };
1064 struct tySequence__29bS0n2QNyO1R7e0qMMOvLA {
1065 TGenericSeq Sup;
1066 tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow data[SEQ_DECL_SIZE];
1067 };
1068 struct tySequence__b89aLriiJnVTD186H6zNIgg {
1069 TGenericSeq Sup;
1070 tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];
1071 };
1072 struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg {
1073 TGenericSeq Sup;
1074 tyTuple__Q7r9caOmeWqQGZCIBHhGRUA data[SEQ_DECL_SIZE];
1075 };
1076 struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA {
1077 TGenericSeq Sup;
1078 tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg data[SEQ_DECL_SIZE];
1079 };
1080 struct tySequence__NyaOkf8ZwxP6rkRF5TOkew {
1081 TGenericSeq Sup;
1082 tyTuple__XyJ8LOAZzVVXSsmt09b8uWw data[SEQ_DECL_SIZE];
1083 };
1084 struct tySequence__L9bOt8CaTEmIjgtuZvp6syg {
1085 TGenericSeq Sup;
1086 tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA data[SEQ_DECL_SIZE];
1087 };
1088 struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ {
1089 TGenericSeq Sup;
1090 tyTuple__9aoobCDZB4x41HJSOmh0mwA data[SEQ_DECL_SIZE];
1091 };
1092 struct tySequence__xxnXDLpoqBo8zJzP9b1073g {
1093 TGenericSeq Sup;
1094 tyTuple__g0Q6Qx15nK53ce9aLo7YyrA data[SEQ_DECL_SIZE];
1095 };
1096 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
1097 TGenericSeq Sup;
1098 NimStringDesc* data[SEQ_DECL_SIZE];
1099 };
1100 struct tySequence__DfmUmNgVGnYaiV1I6227tw {
1101 TGenericSeq Sup;
1102 tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw data[SEQ_DECL_SIZE];
1103 };
1104 struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA {
1105 TGenericSeq Sup;
1106 tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA data[SEQ_DECL_SIZE];
1107 };
1108 struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
1109 TGenericSeq Sup;
1110 NI64 data[SEQ_DECL_SIZE];
1111 };
1112 struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw {
1113 TGenericSeq Sup;
1114 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ data[SEQ_DECL_SIZE];
1115 };
1116 struct tySequence__9bT7o0CflHuiE4VhmtqBPCw {
1117 TGenericSeq Sup;
1118 tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ data[SEQ_DECL_SIZE];
1119 };
1120 struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
1121 TGenericSeq Sup;
1122 tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];
1123 };
1124 struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA {
1125 TGenericSeq Sup;
1126 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ data[SEQ_DECL_SIZE];
1127 };
1128 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
1129 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1130 N_LIB_PRIVATE N_NIMCALL(void, registerParam__varpartitions_267)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1131 static N_INLINE(void, nimZeroMem)(void* p, NI size);
1132 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
1133 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
1134 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
1135 static N_NIMCALL(void, Marker_tySequence__7PsCyIDXDb8nGSU5UlS9cAA)(void* p, NI op);
1136 N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
1137 static N_NIMCALL(void, Marker_tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA)(void* p, NI op);
1138 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1139 N_LIB_PRIVATE N_NIMCALL(void, registerResult__varpartitions_214)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1140 N_LIB_PRIVATE N_NIMCALL(void, computeLiveRanges__varpartitions_1454)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1141 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1142 N_LIB_PRIVATE N_NIMCALL(void, registerVariable__varpartitions_304)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1143 N_LIB_PRIVATE N_NIMCALL(NI, variableId__varpartitions_197)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* x);
1144 static N_INLINE(void, markAsReassigned__varpartitions_1443)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, NI vid);
1145 static N_INLINE(NI, max__varpartitions_1527)(NI x, NI y);
1146 static N_INLINE(NI, min__varpartitions_475)(NI x, NI y);
1147 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1148 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
1149 static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_3528)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1150 N_LIB_PRIVATE N_NIMCALL(void, traverse__varpartitions_1272)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1151 N_LIB_PRIVATE N_NIMCALL(void, deps__varpartitions_1150)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1152 N_LIB_PRIVATE N_NIMCALL(void, borrowingAsgn__varpartitions_1098)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1153 N_LIB_PRIVATE N_NIMCALL(tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog, directViewType__typeallowed_568)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1154 N_LIB_PRIVATE N_NIMCALL(void, borrowFrom__varpartitions_1024)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1155 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, pathExpr__varpartitions_593)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1156 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, stupidStmtListExpr__trees_404)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1157 N_LIB_PRIVATE N_NIMCALL(tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog, classifyViewType__typeallowed_564)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1158 N_LIB_PRIVATE N_NIMCALL(tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg, getMagic__trees_137)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* op);
1159 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, borrowFromConstExpr__varpartitions_558)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1160 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);
1161 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
1162 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
1163 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
1164 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toString__varpartitions_1017)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1165 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
1166 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___renderer_2106)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1167 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
1168 static N_INLINE(void, asgnRef)(void** dest, void* src);
1169 static N_INLINE(void, incRef__system_5309)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1170 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
1171 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5271)(void* usr);
1172 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
1173 static N_INLINE(void, decRef__system_5316)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1174 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
1175 static N_INLINE(void, rtlAddZCT__system_5314)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1176 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5265)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1177 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isConstSym__varpartitions_1002)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1178 N_LIB_PRIVATE N_NIMCALL(void, allRoots__varpartitions_653)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__u9c10b19cqoKPxYSuh3ZKtIw** result, NI level);
1179 static N_NIMCALL(void, Marker_tySequence__u9c10b19cqoKPxYSuh3ZKtIw)(void* p, NI op);
1180 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1181 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canAlias__isolation95check_99)(tyObject_TType__facALICuu8zUj0hjvbTLFg* arg, tyObject_TType__facALICuu8zUj0hjvbTLFg* ret);
1182 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsPointer__varpartitions_1140)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1183 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, searchTypeFor__types_470)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyProc__NbBRo5rVxVVQby3QsoZkZQ predicate);
1184 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, wrap__varpartitions_1143)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1185 N_LIB_PRIVATE N_NIMCALL(void, potentialMutation__varpartitions_335)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* v, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NI level, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1186 N_LIB_PRIVATE N_NIMCALL(NI, root__varpartitions_315)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* v, NI start);
1187 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
1188 N_LIB_PRIVATE N_NIMCALL(void, connect__varpartitions_431)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* v, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1189 N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
1190 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___msgs_993)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q a, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q b);
1191 N_LIB_PRIVATE N_NIMCALL(void, add__varpartitions_521)(tySequence__qwqHTkRvwhrRyENtudHQ7g** x, NI* y, NI yLen_0);
1192 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
1193 N_LIB_PRIVATE N_NIMCALL(void, destMightOwn__varpartitions_779)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1194 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasDisabledAsgn__modulegraphs_8859)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1195 N_LIB_PRIVATE N_NIMCALL(void, noCursor__varpartitions_985)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1196 N_LIB_PRIVATE N_NIMCALL(void, borrowingCall__varpartitions_1068)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* destType, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI i);
1197 N_LIB_PRIVATE N_NIMCALL(void, potentialMutationViaArg__varpartitions_1255)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee);
1198 N_LIB_PRIVATE N_NIMCALL(void, pretendOwnsData__varpartitions_993)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1199 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipColon__ast_4948)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1200 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isNoSideEffectPragma__trees_257)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1201 static N_INLINE(NIM_BOOL, mutationAfterConnection__varpartitions_105)(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug* g);
1202 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, dangerousMutation__varpartitions_1646)(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug* g, tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA* v);
1203 static N_INLINE(NIM_BOOL, contains__varpartitions_1698)(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA s, NI value);
1204 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___varpartitions_1677)(NI a, NI b);
1205 N_LIB_PRIVATE N_NIMCALL(void, cannotBorrow__varpartitions_1714)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug* g);
1206 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
1207 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___msgs_624)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1208 N_LIB_PRIVATE N_NIMCALL(void, computeGraphPartitions__varpartitions_1607)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tySet_tyEnum_Goal__JuPChZ1Q9aI1A9aNNAM6t8Pg goals, tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* Result);
1209 N_LIB_PRIVATE TNimType NTIvarindex__9bUY0kR5KFdp9cLhJiAMwmwA_;
1210 N_LIB_PRIVATE TNimType NTIconnection__EevFKe104MtQGkxxkLKkgg_;
1211 N_LIB_PRIVATE TNimType NTIvarindexkind__TA6PMQGIDoHplflSd7kZxA_;
1212 TNimNode* NimDT___EevFKe104MtQGkxxkLKkgg_kind[4];
1213 extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
1214 N_LIB_PRIVATE TNimType NTIvarflag__F7v3qXI9a6XJkYmtFhBnwUQ_;
1215 N_LIB_PRIVATE TNimType NTIsetLvarflagT__aPvbyqN5lPiKM7xpscHQuw_;
1216 extern TNimType NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_;
1217 extern TNimType NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_;
1218 N_LIB_PRIVATE TNimType NTIseqLvarindexT__7PsCyIDXDb8nGSU5UlS9cAA_;
1219 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
1220 N_LIB_PRIVATE TNimType NTImutationinfo__0Sg6dzXBBdtdBAkDWxEFug_;
1221 extern TNimType NTItlineinfo__WGx4rAexNXnczy1Avn646Q_;
1222 N_LIB_PRIVATE TNimType NTIsubgraphflag__mxQvR0HTC631bhUr6jBDDw_;
1223 N_LIB_PRIVATE TNimType NTIsetLsubgraphflagT__o2yv2nZi9a9cCH8g7WNv9aEew_;
1224 N_LIB_PRIVATE TNimType NTIseqLmutationinfoT__QAWA9c8ge5HfZnhFNlb9c9ajA_;
1225 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__39a9bfgg3gnILXo9by9cxATh0Q_13 = {
1226 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1227 0x00}
1228 ;
1229 STRING_LITERAL(TM__39a9bfgg3gnILXo9by9cxATh0Q_14, "cannot borrow from ", 19);
1230 STRING_LITERAL(TM__39a9bfgg3gnILXo9by9cxATh0Q_15, "<empty>", 7);
1231 STRING_LITERAL(TM__39a9bfgg3gnILXo9by9cxATh0Q_16, ", it is not a path expression; see https://nim-lang.github.io/Nim/manual_experimental.html#view-types-algorithm-path-expressions for details", 140);
1232 STRING_LITERAL(TM__39a9bfgg3gnILXo9by9cxATh0Q_18, "/home/runner/work/nightlies/nightlies/nim/compiler/varpartitions.nim", 68);
1233 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__39a9bfgg3gnILXo9by9cxATh0Q_17 = {((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_18),
1234 ((NI) 533),
1235 ((NI) 14)}
1236 ;
1237 STRING_LITERAL(TM__39a9bfgg3gnILXo9by9cxATh0Q_19, "\'result\' must borrow from the first parameter", 45);
1238 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__39a9bfgg3gnILXo9by9cxATh0Q_20 = {((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_18),
1239 ((NI) 537),
1240 ((NI) 18)}
1241 ;
1242 N_LIB_PRIVATE TNimType NTILpsym_intT__TZXo9ct5DP9bCdCGHY4IfZPQ_;
1243 N_LIB_PRIVATE TNimType NTIseqLLpsym_intTT__u9c10b19cqoKPxYSuh3ZKtIw_;
1244 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__39a9bfgg3gnILXo9by9cxATh0Q_22 = {
1245 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
1246 0x00}
1247 ;
1248 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__39a9bfgg3gnILXo9by9cxATh0Q_23 = {
1249 0x10, 0x08, 0x80, 0x00, 0x00, 0xc0, 0x00, 0x00,
1250 0x00}
1251 ;
1252 STRING_LITERAL(TM__39a9bfgg3gnILXo9by9cxATh0Q_24, "cannot determine the target of the borrow", 41);
1253 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__39a9bfgg3gnILXo9by9cxATh0Q_25 = {((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_18),
1254 ((NI) 569),
1255 ((NI) 14)}
1256 ;
1257 STRING_LITERAL(TM__39a9bfgg3gnILXo9by9cxATh0Q_26, "cannot borrow ", 14);
1258 STRING_LITERAL(TM__39a9bfgg3gnILXo9by9cxATh0Q_27, "; what it borrows from is potentially mutated", 45);
1259 STRING_LITERAL(TM__39a9bfgg3gnILXo9by9cxATh0Q_28, "\012", 1);
1260 STRING_LITERAL(TM__39a9bfgg3gnILXo9by9cxATh0Q_29, " the mutation is here", 21);
1261 STRING_LITERAL(TM__39a9bfgg3gnILXo9by9cxATh0Q_30, " is the statement that connected the mutation to the parameter", 62);
1262 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__39a9bfgg3gnILXo9by9cxATh0Q_31 = {((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_18),
1263 ((NI) 894),
1264 ((NI) 12)}
1265 ;
1266 STRING_LITERAL(TM__39a9bfgg3gnILXo9by9cxATh0Q_32, "\'", 1);
1267 STRING_LITERAL(TM__39a9bfgg3gnILXo9by9cxATh0Q_33, "\' borrows from location \'", 25);
1268 STRING_LITERAL(TM__39a9bfgg3gnILXo9by9cxATh0Q_34, "\' which does not live long enough", 33);
1269 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__39a9bfgg3gnILXo9by9cxATh0Q_35 = {((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_18),
1270 ((NI) 909),
1271 ((NI) 24)}
1272 ;
1273 STRING_LITERAL(TM__39a9bfgg3gnILXo9by9cxATh0Q_36, "\' borrows from the immutable location \'", 39);
1274 STRING_LITERAL(TM__39a9bfgg3gnILXo9by9cxATh0Q_37, "\' and attempts to mutate it", 27);
1275 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__39a9bfgg3gnILXo9by9cxATh0Q_38 = {((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_18),
1276 ((NI) 912),
1277 ((NI) 24)}
1278 ;
1279 STRING_LITERAL(TM__39a9bfgg3gnILXo9by9cxATh0Q_39, "\' borrows from an immutable location and attempts to mutate it", 62);
1280 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__39a9bfgg3gnILXo9by9cxATh0Q_40 = {((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_18),
1281 ((NI) 919),
1282 ((NI) 20)}
1283 ;
1284 STRING_LITERAL(TM__39a9bfgg3gnILXo9by9cxATh0Q_41, "\012an object reachable from \'", 27);
1285 STRING_LITERAL(TM__39a9bfgg3gnILXo9by9cxATh0Q_42, "\' is potentially mutated", 24);
1286 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5218;
N_INLINE(NI,len__ast_3198)1287 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1288 NI result;
1289 NI T1_;
1290 result = (NI)0;
1291 T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
1292 result = T1_;
1293 return result;
1294 }
N_INLINE(void,nimSetMem__systemZmemory_7)1295 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
1296 void* T1_;
1297 T1_ = (void*)0;
1298 T1_ = memset(a, v, ((size_t) (size)));
1299 }
N_INLINE(void,nimZeroMem)1300 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
1301 nimSetMem__systemZmemory_7(p, ((int) 0), size);
1302 }
N_NIMCALL(void,Marker_tySequence__7PsCyIDXDb8nGSU5UlS9cAA)1303 static N_NIMCALL(void, Marker_tySequence__7PsCyIDXDb8nGSU5UlS9cAA)(void* p, NI op) {
1304 tySequence__7PsCyIDXDb8nGSU5UlS9cAA* a;
1305 NI T1_;
1306 a = (tySequence__7PsCyIDXDb8nGSU5UlS9cAA*)p;
1307 T1_ = (NI)0;
1308 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
1309 switch (a->data[T1_].con.kind) {
1310 case ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 0):
1311 break;
1312 case ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 1):
1313 break;
1314 case ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 2):
1315 break;
1316 }
1317 nimGCvisit((void*)a->data[T1_].sym, op);
1318 nimGCvisit((void*)a->data[T1_].borrowsFrom, op);
1319 }
1320 }
N_NIMCALL(void,Marker_tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA)1321 static N_NIMCALL(void, Marker_tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA)(void* p, NI op) {
1322 tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA* a;
1323 NI T1_;
1324 a = (tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA*)p;
1325 T1_ = (NI)0;
1326 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
1327 nimGCvisit((void*)a->data[T1_].param, op);
1328 nimGCvisit((void*)a->data[T1_].mutations, op);
1329 }
1330 }
N_NIMCALL(void,registerParam__varpartitions_267)1331 N_LIB_PRIVATE N_NIMCALL(void, registerParam__varpartitions_267)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1332 {
1333 NIM_BOOL T3_;
1334 tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA T7_;
1335 NI T8_;
1336 NI T9_;
1337 tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug T10_;
1338 NI T11_;
1339 T3_ = (NIM_BOOL)0;
1340 T3_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
1341 if (!(T3_)) goto LA4_;
1342 T3_ = !(((*(*(*n)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*(*n)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46)));
1343 LA4_: ;
1344 if (!T3_) goto LA5_;
1345 nimZeroMem((void*)(&T7_), sizeof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA));
1346 nimZeroMem((void*)(&T7_), sizeof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA));
1347 nimZeroMem((void*)(&T7_.con), sizeof(tyObject_Connection__EevFKe104MtQGkxxkLKkgg));
1348 T7_.con.kind = ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 2);
1349 T8_ = ((*c).graphs ? (*c).graphs->Sup.len : 0);
1350 T7_.con.graphIndex = T8_;
1351 T7_.sym = (*n)._kind_4.sym;
1352 T7_.reassignedTo = ((NI) 0);
1353 T7_.aliveStart = (*c).abstractTime;
1354 T7_.aliveEnd = (*c).abstractTime;
1355 unsureAsgnRef((void**) (&(*c).s), (tySequence__7PsCyIDXDb8nGSU5UlS9cAA*) incrSeqV3((TGenericSeq*)((*c).s), (&NTIseqLvarindexT__7PsCyIDXDb8nGSU5UlS9cAA_)));
1356 T9_ = (*c).s->Sup.len++;
1357 genericAssign((void*)(&(*c).s->data[T9_]), (void*)(&T7_), (&NTIvarindex__9bUY0kR5KFdp9cLhJiAMwmwA_));
1358 nimZeroMem((void*)(&T10_), sizeof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug));
1359 nimZeroMem((void*)(&T10_), sizeof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug));
1360 T10_.param = (*n)._kind_4.sym;
1361 T10_.mutatedHere = unknownLineInfo__lineinfos_280;
1362 T10_.connectedVia = unknownLineInfo__lineinfos_280;
1363 T10_.flags = 8;
1364 T10_.maxMutation = ((NI) -1);
1365 T10_.minConnection = ((NI) IL64(9223372036854775807));
1366 T10_.mutations = NIM_NIL;
1367 unsureAsgnRef((void**) (&(*c).graphs), (tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA*) incrSeqV3((TGenericSeq*)((*c).graphs), (&NTIseqLmutationinfoT__QAWA9c8ge5HfZnhFNlb9c9ajA_)));
1368 T11_ = (*c).graphs->Sup.len++;
1369 genericAssign((void*)(&(*c).graphs->data[T11_]), (void*)(&T10_), (&NTImutationinfo__0Sg6dzXBBdtdBAkDWxEFug_));
1370 }
1371 goto LA1_;
1372 LA5_: ;
1373 {
1374 tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA T13_;
1375 NI T14_;
1376 nimZeroMem((void*)(&T13_), sizeof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA));
1377 nimZeroMem((void*)(&T13_), sizeof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA));
1378 nimZeroMem((void*)(&T13_.con), sizeof(tyObject_Connection__EevFKe104MtQGkxxkLKkgg));
1379 T13_.con.kind = ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 0);
1380 T13_.sym = (*n)._kind_4.sym;
1381 T13_.reassignedTo = ((NI) 0);
1382 T13_.aliveStart = (*c).abstractTime;
1383 T13_.aliveEnd = (*c).abstractTime;
1384 unsureAsgnRef((void**) (&(*c).s), (tySequence__7PsCyIDXDb8nGSU5UlS9cAA*) incrSeqV3((TGenericSeq*)((*c).s), (&NTIseqLvarindexT__7PsCyIDXDb8nGSU5UlS9cAA_)));
1385 T14_ = (*c).s->Sup.len++;
1386 genericAssign((void*)(&(*c).s->data[T14_]), (void*)(&T13_), (&NTIvarindex__9bUY0kR5KFdp9cLhJiAMwmwA_));
1387 }
1388 LA1_: ;
1389 }
N_INLINE(NI,safeLen__ast_3191)1390 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1391 NI result;
1392 result = (NI)0;
1393 {
1394 if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
1395 result = ((NI) 0);
1396 }
1397 goto LA1_;
1398 LA3_: ;
1399 {
1400 result = len__ast_3198(n);
1401 }
1402 LA1_: ;
1403 return result;
1404 }
N_NIMCALL(void,registerResult__varpartitions_214)1405 N_LIB_PRIVATE N_NIMCALL(void, registerResult__varpartitions_214)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1406 {
1407 tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA T5_;
1408 NI T6_;
1409 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
1410 nimZeroMem((void*)(&T5_), sizeof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA));
1411 nimZeroMem((void*)(&T5_), sizeof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA));
1412 nimZeroMem((void*)(&T5_.con), sizeof(tyObject_Connection__EevFKe104MtQGkxxkLKkgg));
1413 T5_.con.kind = ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 0);
1414 T5_.sym = (*n)._kind_4.sym;
1415 T5_.reassignedTo = ((NI) 0);
1416 T5_.aliveStart = ((NI) IL64(9223372036854775807));
1417 T5_.aliveEnd = (*c).abstractTime;
1418 unsureAsgnRef((void**) (&(*c).s), (tySequence__7PsCyIDXDb8nGSU5UlS9cAA*) incrSeqV3((TGenericSeq*)((*c).s), (&NTIseqLvarindexT__7PsCyIDXDb8nGSU5UlS9cAA_)));
1419 T6_ = (*c).s->Sup.len++;
1420 genericAssign((void*)(&(*c).s->data[T6_]), (void*)(&T5_), (&NTIvarindex__9bUY0kR5KFdp9cLhJiAMwmwA_));
1421 }
1422 LA3_: ;
1423 }
N_NIMCALL(NI,variableId__varpartitions_197)1424 N_LIB_PRIVATE N_NIMCALL(NI, variableId__varpartitions_197)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* x) {
1425 NI result;
1426 { result = (NI)0;
1427 {
1428 NI i;
1429 NI colontmp_;
1430 NI T2_;
1431 NI i_2;
1432 i = (NI)0;
1433 colontmp_ = (NI)0;
1434 T2_ = ((*c).s ? (*c).s->Sup.len : 0);
1435 colontmp_ = T2_;
1436 i_2 = ((NI) 0);
1437 {
1438 while (1) {
1439 if (!(i_2 < colontmp_)) goto LA4;
1440 i = i_2;
1441 {
1442 if (!((*c).s->data[i].sym == x)) goto LA7_;
1443 result = i;
1444 goto BeforeRet_;
1445 }
1446 LA7_: ;
1447 i_2 += ((NI) 1);
1448 } LA4: ;
1449 }
1450 }
1451 result = ((NI) -1);
1452 goto BeforeRet_;
1453 }BeforeRet_: ;
1454 return result;
1455 }
N_NIMCALL(void,registerVariable__varpartitions_304)1456 N_LIB_PRIVATE N_NIMCALL(void, registerVariable__varpartitions_304)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1457 {
1458 NIM_BOOL T3_;
1459 NI T5_;
1460 tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA T8_;
1461 NI T9_;
1462 T3_ = (NIM_BOOL)0;
1463 T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
1464 if (!(T3_)) goto LA4_;
1465 T5_ = (NI)0;
1466 T5_ = variableId__varpartitions_197((&(*c)), (*n)._kind_4.sym);
1467 T3_ = (T5_ < ((NI) 0));
1468 LA4_: ;
1469 if (!T3_) goto LA6_;
1470 nimZeroMem((void*)(&T8_), sizeof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA));
1471 nimZeroMem((void*)(&T8_), sizeof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA));
1472 nimZeroMem((void*)(&T8_.con), sizeof(tyObject_Connection__EevFKe104MtQGkxxkLKkgg));
1473 T8_.con.kind = ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 0);
1474 T8_.sym = (*n)._kind_4.sym;
1475 T8_.reassignedTo = ((NI) 0);
1476 T8_.aliveStart = (*c).abstractTime;
1477 T8_.aliveEnd = (*c).abstractTime;
1478 unsureAsgnRef((void**) (&(*c).s), (tySequence__7PsCyIDXDb8nGSU5UlS9cAA*) incrSeqV3((TGenericSeq*)((*c).s), (&NTIseqLvarindexT__7PsCyIDXDb8nGSU5UlS9cAA_)));
1479 T9_ = (*c).s->Sup.len++;
1480 genericAssign((void*)(&(*c).s->data[T9_]), (void*)(&T8_), (&NTIvarindex__9bUY0kR5KFdp9cLhJiAMwmwA_));
1481 }
1482 LA6_: ;
1483 }
N_INLINE(void,markAsReassigned__varpartitions_1443)1484 static N_INLINE(void, markAsReassigned__varpartitions_1443)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, NI vid) {
1485 (*c).s->data[vid].flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 2)) & 7);
1486 {
1487 NIM_BOOL T3_;
1488 T3_ = (NIM_BOOL)0;
1489 T3_ = (((NI) 0) < (*c).inConditional);
1490 if (!(T3_)) goto LA4_;
1491 T3_ = (((NI) 0) < (*c).inLoop);
1492 LA4_: ;
1493 if (!T3_) goto LA5_;
1494 (*c).s->data[vid].flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 3)) & 7);
1495 }
1496 LA5_: ;
1497 }
N_INLINE(NI,max__varpartitions_1527)1498 static N_INLINE(NI, max__varpartitions_1527)(NI x, NI y) {
1499 NI result;
1500 result = (NI)0;
1501 {
1502 if (!(y <= x)) goto LA3_;
1503 result = x;
1504 }
1505 goto LA1_;
1506 LA3_: ;
1507 {
1508 result = y;
1509 }
1510 LA1_: ;
1511 return result;
1512 }
N_INLINE(NI,min__varpartitions_475)1513 static N_INLINE(NI, min__varpartitions_475)(NI x, NI y) {
1514 NI result;
1515 result = (NI)0;
1516 {
1517 if (!(x <= y)) goto LA3_;
1518 result = x;
1519 }
1520 goto LA1_;
1521 LA3_: ;
1522 {
1523 result = y;
1524 }
1525 LA1_: ;
1526 return result;
1527 }
N_INLINE(NI,len__ast_4002)1528 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
1529 NI result;
1530 NI T1_;
1531 result = (NI)0;
1532 T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
1533 result = T1_;
1534 return result;
1535 }
N_INLINE(NIM_BOOL,isCompileTimeOnly__types_3528)1536 static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_3528)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
1537 NIM_BOOL result;
1538 result = (NIM_BOOL)0;
1539 result = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
1540 return result;
1541 }
N_NIMCALL(void,computeLiveRanges__varpartitions_1454)1542 N_LIB_PRIVATE N_NIMCALL(void, computeLiveRanges__varpartitions_1454)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1543 { (*c).abstractTime += ((NI) 1);
1544 switch ((*n).kind) {
1545 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
1546 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
1547 {
1548 {
1549 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
1550 child = NIM_NIL;
1551 {
1552 NI i;
1553 NI colontmp_;
1554 NI i_2;
1555 i = (NI)0;
1556 colontmp_ = (NI)0;
1557 colontmp_ = safeLen__ast_3191(n);
1558 i_2 = ((NI) 0);
1559 {
1560 while (1) {
1561 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* last;
1562 if (!(i_2 < colontmp_)) goto LA5;
1563 i = i_2;
1564 child = (*n)._kind_6.sons->data[i];
1565 last = lastSon__ast_4832(child);
1566 computeLiveRanges__varpartitions_1454(c, last);
1567 {
1568 NIM_BOOL T8_;
1569 T8_ = (NIM_BOOL)0;
1570 T8_ = ((*child).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36));
1571 if (!(T8_)) goto LA9_;
1572 T8_ = ((*last).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37) || (*last).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160));
1573 LA9_: ;
1574 if (!T8_) goto LA10_;
1575 {
1576 NI T14_;
1577 NI T15_;
1578 T14_ = (NI)0;
1579 T14_ = len__ast_3198(child);
1580 T15_ = (NI)0;
1581 T15_ = len__ast_3198(last);
1582 if (!!(((NI)(T14_ - ((NI) 2)) == T15_))) goto LA16_;
1583 goto BeforeRet_;
1584 }
1585 LA16_: ;
1586 {
1587 NI i_3;
1588 NI colontmp__2;
1589 NI T19_;
1590 NI i_4;
1591 i_3 = (NI)0;
1592 colontmp__2 = (NI)0;
1593 T19_ = (NI)0;
1594 T19_ = len__ast_3198(child);
1595 colontmp__2 = (NI)(T19_ - ((NI) 2));
1596 i_4 = ((NI) 0);
1597 {
1598 while (1) {
1599 if (!(i_4 < colontmp__2)) goto LA21;
1600 i_3 = i_4;
1601 registerVariable__varpartitions_304(c, (*child)._kind_6.sons->data[i_3]);
1602 i_4 += ((NI) 1);
1603 } LA21: ;
1604 }
1605 }
1606 }
1607 goto LA6_;
1608 LA10_: ;
1609 {
1610 {
1611 NI i_5;
1612 NI colontmp__3;
1613 NI T24_;
1614 NI i_6;
1615 i_5 = (NI)0;
1616 colontmp__3 = (NI)0;
1617 T24_ = (NI)0;
1618 T24_ = len__ast_3198(child);
1619 colontmp__3 = (NI)(T24_ - ((NI) 2));
1620 i_6 = ((NI) 0);
1621 {
1622 while (1) {
1623 if (!(i_6 < colontmp__3)) goto LA26;
1624 i_5 = i_6;
1625 registerVariable__varpartitions_304(c, (*child)._kind_6.sons->data[i_5]);
1626 i_6 += ((NI) 1);
1627 } LA26: ;
1628 }
1629 }
1630 }
1631 LA6_: ;
1632 i_2 += ((NI) 1);
1633 } LA5: ;
1634 }
1635 }
1636 }
1637 }
1638 break;
1639 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
1640 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
1641 {
1642 computeLiveRanges__varpartitions_1454(c, (*n)._kind_6.sons->data[((NI) 0)]);
1643 computeLiveRanges__varpartitions_1454(c, (*n)._kind_6.sons->data[((NI) 1)]);
1644 {
1645 NI vid;
1646 if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA30_;
1647 vid = variableId__varpartitions_197((&(*c)), (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
1648 {
1649 if (!(((NI) 0) <= vid)) goto LA34_;
1650 {
1651 NIM_BOOL T38_;
1652 NIM_BOOL T40_;
1653 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym179_;
1654 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym181_;
1655 T38_ = (NIM_BOOL)0;
1656 T38_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
1657 if (!(T38_)) goto LA39_;
1658 T40_ = (NIM_BOOL)0;
1659 T40_ = ((*c).s->data[vid].reassignedTo == ((NI) 0));
1660 if (T40_) goto LA41_;
1661 xX60gensym179_ = (*(*n)._kind_6.sons->data[((NI) 1)])._kind_4.sym;
1662 T40_ = ((*c).s->data[vid].reassignedTo == (NI)((NI)((NU64)(((NI) ((*xX60gensym179_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym179_).Sup.itemId.item))));
1663 LA41_: ;
1664 T38_ = T40_;
1665 LA39_: ;
1666 if (!T38_) goto LA42_;
1667 xX60gensym181_ = (*(*n)._kind_6.sons->data[((NI) 1)])._kind_4.sym;
1668 (*c).s->data[vid].reassignedTo = (NI)((NI)((NU64)(((NI) ((*xX60gensym181_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym181_).Sup.itemId.item)));
1669 }
1670 goto LA36_;
1671 LA42_: ;
1672 {
1673 markAsReassigned__varpartitions_1443(c, vid);
1674 }
1675 LA36_: ;
1676 }
1677 LA34_: ;
1678 }
1679 LA30_: ;
1680 }
1681 break;
1682 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
1683 {
1684 (*c).abstractTime -= ((NI) 1);
1685 {
1686 NI id;
1687 if (!((2100008 &((NU32)1<<((NU)((*(*n)._kind_4.sym).kind)&31U)))!=0)) goto LA48_;
1688 id = variableId__varpartitions_197((&(*c)), (*n)._kind_4.sym);
1689 {
1690 if (!(((NI) 0) <= id)) goto LA52_;
1691 (*c).s->data[id].aliveEnd = max__varpartitions_1527((*c).s->data[id].aliveEnd, (*c).abstractTime);
1692 {
1693 if (!((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11))) goto LA56_;
1694 (*c).s->data[id].aliveStart = min__varpartitions_475((*c).s->data[id].aliveStart, (*c).abstractTime);
1695 }
1696 LA56_: ;
1697 }
1698 LA52_: ;
1699 }
1700 LA48_: ;
1701 }
1702 break;
1703 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
1704 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
1705 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
1706 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
1707 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
1708 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
1709 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102):
1710 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116):
1711 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118):
1712 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
1713 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
1714 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
1715 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 158) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
1716 {
1717 (*c).abstractTime -= ((NI) 1);
1718 }
1719 break;
1720 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
1721 {
1722 tyObject_TType__facALICuu8zUj0hjvbTLFg* parameters;
1723 NI L;
1724 {
1725 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child_2;
1726 child_2 = NIM_NIL;
1727 {
1728 NI i_7;
1729 NI colontmp__4;
1730 NI i_8;
1731 i_7 = (NI)0;
1732 colontmp__4 = (NI)0;
1733 colontmp__4 = safeLen__ast_3191(n);
1734 i_8 = ((NI) 0);
1735 {
1736 while (1) {
1737 if (!(i_8 < colontmp__4)) goto LA63;
1738 i_7 = i_8;
1739 child_2 = (*n)._kind_6.sons->data[i_7];
1740 computeLiveRanges__varpartitions_1454(c, child_2);
1741 i_8 += ((NI) 1);
1742 } LA63: ;
1743 }
1744 }
1745 }
1746 parameters = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
1747 {
1748 if (!!((parameters == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA66_;
1749 L = len__ast_4002(parameters);
1750 }
1751 goto LA64_;
1752 LA66_: ;
1753 {
1754 L = ((NI) 0);
1755 }
1756 LA64_: ;
1757 {
1758 NI i_9;
1759 NI colontmp__5;
1760 NI i_10;
1761 i_9 = (NI)0;
1762 colontmp__5 = (NI)0;
1763 colontmp__5 = len__ast_3198(n);
1764 i_10 = ((NI) 1);
1765 {
1766 while (1) {
1767 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
1768 if (!(i_10 < colontmp__5)) goto LA71;
1769 i_9 = i_10;
1770 it = (*n)._kind_6.sons->data[i_9];
1771 {
1772 NIM_BOOL T74_;
1773 tyObject_TType__facALICuu8zUj0hjvbTLFg* paramType;
1774 T74_ = (NIM_BOOL)0;
1775 T74_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
1776 if (!(T74_)) goto LA75_;
1777 T74_ = (i_9 < L);
1778 LA75_: ;
1779 if (!T74_) goto LA76_;
1780 paramType = skipTypes__ast_3735((*parameters).sons->data[i_9], TM__39a9bfgg3gnILXo9by9cxATh0Q_13);
1781 {
1782 NIM_BOOL T80_;
1783 NIM_BOOL T81_;
1784 NI vid_2;
1785 T80_ = (NIM_BOOL)0;
1786 T81_ = (NIM_BOOL)0;
1787 T81_ = isCompileTimeOnly__types_3528(paramType);
1788 T80_ = !(T81_);
1789 if (!(T80_)) goto LA82_;
1790 T80_ = ((*paramType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
1791 LA82_: ;
1792 if (!T80_) goto LA83_;
1793 vid_2 = variableId__varpartitions_197((&(*c)), (*it)._kind_4.sym);
1794 {
1795 if (!(((NI) 0) <= vid_2)) goto LA87_;
1796 markAsReassigned__varpartitions_1443(c, vid_2);
1797 }
1798 LA87_: ;
1799 }
1800 LA83_: ;
1801 }
1802 LA76_: ;
1803 i_10 += ((NI) 1);
1804 } LA71: ;
1805 }
1806 }
1807 }
1808 break;
1809 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
1810 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
1811 {
1812 computeLiveRanges__varpartitions_1454(c, (*n)._kind_6.sons->data[((NI) 0)]);
1813 {
1814 NI vid_3;
1815 if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA92_;
1816 vid_3 = variableId__varpartitions_197((&(*c)), (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
1817 {
1818 if (!(((NI) 0) <= vid_3)) goto LA96_;
1819 (*c).s->data[vid_3].flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 1)) & 7);
1820 }
1821 LA96_: ;
1822 }
1823 LA92_: ;
1824 }
1825 break;
1826 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 91):
1827 {
1828 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T99_;
1829 T99_ = NIM_NIL;
1830 T99_ = lastSon__ast_4832(n);
1831 computeLiveRanges__varpartitions_1454(c, T99_);
1832 }
1833 break;
1834 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
1835 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 94):
1836 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 95):
1837 {
1838 {
1839 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child_3;
1840 child_3 = NIM_NIL;
1841 {
1842 NI i_11;
1843 NI colontmp__6;
1844 NI i_12;
1845 i_11 = (NI)0;
1846 colontmp__6 = (NI)0;
1847 colontmp__6 = safeLen__ast_3191(n);
1848 i_12 = ((NI) 0);
1849 {
1850 while (1) {
1851 if (!(i_12 < colontmp__6)) goto LA104;
1852 i_11 = i_12;
1853 child_3 = (*n)._kind_6.sons->data[i_11];
1854 computeLiveRanges__varpartitions_1454(c, child_3);
1855 i_12 += ((NI) 1);
1856 } LA104: ;
1857 }
1858 }
1859 }
1860 (*c).inLoop += ((NI) 1);
1861 {
1862 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child_4;
1863 child_4 = NIM_NIL;
1864 {
1865 NI i_13;
1866 NI colontmp__7;
1867 NI i_14;
1868 i_13 = (NI)0;
1869 colontmp__7 = (NI)0;
1870 colontmp__7 = safeLen__ast_3191(n);
1871 i_14 = ((NI) 0);
1872 {
1873 while (1) {
1874 if (!(i_14 < colontmp__7)) goto LA108;
1875 i_13 = i_14;
1876 child_4 = (*n)._kind_6.sons->data[i_13];
1877 computeLiveRanges__varpartitions_1454(c, child_4);
1878 i_14 += ((NI) 1);
1879 } LA108: ;
1880 }
1881 }
1882 }
1883 (*c).inLoop += ((NI) 1);
1884 }
1885 break;
1886 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
1887 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49):
1888 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
1889 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
1890 {
1891 (*c).inConditional += ((NI) 1);
1892 {
1893 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child_5;
1894 child_5 = NIM_NIL;
1895 {
1896 NI i_15;
1897 NI colontmp__8;
1898 NI i_16;
1899 i_15 = (NI)0;
1900 colontmp__8 = (NI)0;
1901 colontmp__8 = safeLen__ast_3191(n);
1902 i_16 = ((NI) 0);
1903 {
1904 while (1) {
1905 if (!(i_16 < colontmp__8)) goto LA113;
1906 i_15 = i_16;
1907 child_5 = (*n)._kind_6.sons->data[i_15];
1908 computeLiveRanges__varpartitions_1454(c, child_5);
1909 i_16 += ((NI) 1);
1910 } LA113: ;
1911 }
1912 }
1913 }
1914 (*c).inConditional -= ((NI) 1);
1915 }
1916 break;
1917 default:
1918 {
1919 {
1920 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child_6;
1921 child_6 = NIM_NIL;
1922 {
1923 NI i_17;
1924 NI colontmp__9;
1925 NI i_18;
1926 i_17 = (NI)0;
1927 colontmp__9 = (NI)0;
1928 colontmp__9 = safeLen__ast_3191(n);
1929 i_18 = ((NI) 0);
1930 {
1931 while (1) {
1932 if (!(i_18 < colontmp__9)) goto LA118;
1933 i_17 = i_18;
1934 child_6 = (*n)._kind_6.sons->data[i_17];
1935 computeLiveRanges__varpartitions_1454(c, child_6);
1936 i_18 += ((NI) 1);
1937 } LA118: ;
1938 }
1939 }
1940 }
1941 }
1942 break;
1943 }
1944 }BeforeRet_: ;
1945 }
N_NIMCALL(NIM_BOOL,borrowFromConstExpr__varpartitions_558)1946 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, borrowFromConstExpr__varpartitions_558)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1947 NIM_BOOL result;
1948 { result = (NIM_BOOL)0;
1949 switch ((*n).kind) {
1950 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
1951 {
1952 result = NIM_TRUE;
1953 }
1954 break;
1955 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33):
1956 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34):
1957 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
1958 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
1959 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
1960 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
1961 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
1962 {
1963 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
1964 T3_ = NIM_NIL;
1965 T3_ = lastSon__ast_4832(n);
1966 result = borrowFromConstExpr__varpartitions_558(T3_);
1967 }
1968 break;
1969 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
1970 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
1971 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
1972 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
1973 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
1974 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
1975 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44):
1976 {
1977 result = NIM_TRUE;
1978 {
1979 NI i;
1980 NI colontmp_;
1981 NI colontmp__2;
1982 NI i_2;
1983 i = (NI)0;
1984 colontmp_ = (NI)0;
1985 colontmp__2 = (NI)0;
1986 colontmp_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38));
1987 colontmp__2 = len__ast_3198(n);
1988 i_2 = colontmp_;
1989 {
1990 while (1) {
1991 if (!(i_2 < colontmp__2)) goto LA7;
1992 i = i_2;
1993 {
1994 NIM_BOOL T10_;
1995 T10_ = (NIM_BOOL)0;
1996 T10_ = borrowFromConstExpr__varpartitions_558((*n)._kind_6.sons->data[i]);
1997 if (!!(T10_)) goto LA11_;
1998 result = NIM_FALSE;
1999 goto BeforeRet_;
2000 }
2001 LA11_: ;
2002 i_2 += ((NI) 1);
2003 } LA7: ;
2004 }
2005 }
2006 }
2007 break;
2008 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
2009 {
2010 {
2011 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T16_;
2012 T16_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
2013 T16_ = getMagic__trees_137(n);
2014 if (!(T16_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 144))) goto LA17_;
2015 result = NIM_TRUE;
2016 {
2017 NI i_3;
2018 NI colontmp__3;
2019 NI i_4;
2020 i_3 = (NI)0;
2021 colontmp__3 = (NI)0;
2022 colontmp__3 = len__ast_3198(n);
2023 i_4 = ((NI) 1);
2024 {
2025 while (1) {
2026 if (!(i_4 < colontmp__3)) goto LA21;
2027 i_3 = i_4;
2028 {
2029 NIM_BOOL T24_;
2030 T24_ = (NIM_BOOL)0;
2031 T24_ = borrowFromConstExpr__varpartitions_558((*n)._kind_6.sons->data[i_3]);
2032 if (!!(T24_)) goto LA25_;
2033 result = NIM_FALSE;
2034 goto BeforeRet_;
2035 }
2036 LA25_: ;
2037 i_4 += ((NI) 1);
2038 } LA21: ;
2039 }
2040 }
2041 }
2042 LA17_: ;
2043 }
2044 break;
2045 default:
2046 {
2047 }
2048 break;
2049 }
2050 }BeforeRet_: ;
2051 return result;
2052 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,pathExpr__varpartitions_593)2053 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, pathExpr__varpartitions_593)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner) {
2054 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2055 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
2056 result = NIM_NIL;
2057 n = node;
2058 result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
2059 {
2060 while (1) {
2061 switch ((*n).kind) {
2062 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
2063 {
2064 switch ((*(*n)._kind_4.sym).kind) {
2065 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3):
2066 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5):
2067 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11):
2068 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21):
2069 {
2070 {
2071 if (!((*(*n)._kind_4.sym).owner == owner)) goto LA7_;
2072 result = n;
2073 }
2074 LA7_: ;
2075 }
2076 break;
2077 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8):
2078 {
2079 {
2080 NIM_BOOL T12_;
2081 T12_ = (NIM_BOOL)0;
2082 T12_ = ((*(*n)._kind_4.sym).owner == owner);
2083 if (T12_) goto LA13_;
2084 T12_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 26))&63U)))!=0);
2085 LA13_: ;
2086 if (!T12_) goto LA14_;
2087 result = n;
2088 }
2089 LA14_: ;
2090 }
2091 break;
2092 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9):
2093 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10):
2094 {
2095 {
2096 NIM_BOOL T19_;
2097 T19_ = (NIM_BOOL)0;
2098 T19_ = ((*(*n)._kind_4.sym).owner == owner);
2099 if (T19_) goto LA20_;
2100 T19_ = !(((67108872 & (*(*n)._kind_4.sym).flags) == 0));
2101 LA20_: ;
2102 if (!T19_) goto LA21_;
2103 result = n;
2104 }
2105 LA21_: ;
2106 }
2107 break;
2108 default:
2109 {
2110 }
2111 break;
2112 }
2113 goto LA1;
2114 }
2115 break;
2116 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
2117 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
2118 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
2119 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
2120 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
2121 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
2122 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
2123 {
2124 n = (*n)._kind_6.sons->data[((NI) 0)];
2125 }
2126 break;
2127 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
2128 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
2129 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
2130 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
2131 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
2132 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
2133 {
2134 n = lastSon__ast_4832(n);
2135 }
2136 break;
2137 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
2138 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
2139 {
2140 {
2141 NIM_BOOL T29_;
2142 NI T30_;
2143 T29_ = (NIM_BOOL)0;
2144 T30_ = (NI)0;
2145 T30_ = len__ast_3198(n);
2146 T29_ = (((NI) 0) < T30_);
2147 if (!(T29_)) goto LA31_;
2148 T29_ = stupidStmtListExpr__trees_404(n);
2149 LA31_: ;
2150 if (!T29_) goto LA32_;
2151 n = lastSon__ast_4832(n);
2152 }
2153 goto LA27_;
2154 LA32_: ;
2155 {
2156 goto LA1;
2157 }
2158 LA27_: ;
2159 }
2160 break;
2161 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
2162 {
2163 {
2164 NI T38_;
2165 T38_ = (NI)0;
2166 T38_ = len__ast_3198(n);
2167 if (!(((NI) 1) < T38_)) goto LA39_;
2168 {
2169 NIM_BOOL T43_;
2170 NIM_BOOL T44_;
2171 tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog T46_;
2172 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T48_;
2173 T43_ = (NIM_BOOL)0;
2174 T44_ = (NIM_BOOL)0;
2175 T44_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2176 if (!(T44_)) goto LA45_;
2177 T46_ = (tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog)0;
2178 T46_ = classifyViewType__typeallowed_564((*n).typ);
2179 T44_ = !((T46_ == ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 0)));
2180 LA45_: ;
2181 T43_ = T44_;
2182 if (T43_) goto LA47_;
2183 T48_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
2184 T48_ = getMagic__trees_137(n);
2185 T43_ = (T48_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 126));
2186 LA47_: ;
2187 if (!T43_) goto LA49_;
2188 n = (*n)._kind_6.sons->data[((NI) 1)];
2189 }
2190 goto LA41_;
2191 LA49_: ;
2192 {
2193 goto LA1;
2194 }
2195 LA41_: ;
2196 }
2197 goto LA36_;
2198 LA39_: ;
2199 {
2200 goto LA1;
2201 }
2202 LA36_: ;
2203 }
2204 break;
2205 default:
2206 {
2207 goto LA1;
2208 }
2209 break;
2210 }
2211 }
2212 } LA1: ;
2213 {
2214 NIM_BOOL T56_;
2215 T56_ = (NIM_BOOL)0;
2216 T56_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
2217 if (!(T56_)) goto LA57_;
2218 T56_ = borrowFromConstExpr__varpartitions_558(n);
2219 LA57_: ;
2220 if (!T56_) goto LA58_;
2221 result = n;
2222 }
2223 LA58_: ;
2224 return result;
2225 }
N_INLINE(void,nimCopyMem)2226 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
2227 void* T1_;
2228 T1_ = (void*)0;
2229 T1_ = memcpy(dest, source, ((size_t) (size)));
2230 }
N_INLINE(void,copyMem__system_1727)2231 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
2232 nimCopyMem(dest, source, size);
2233 }
N_INLINE(void,appendString)2234 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
2235 {
2236 if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
2237 copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
2238 (*dest).Sup.len += (*src).Sup.len;
2239 }
2240 LA3_: ;
2241 }
N_NIMCALL(NimStringDesc *,toString__varpartitions_1017)2242 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toString__varpartitions_1017)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2243 NimStringDesc* result;
2244 result = NIM_NIL;
2245 {
2246 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA3_;
2247 result = copyString(((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_15));
2248 }
2249 goto LA1_;
2250 LA3_: ;
2251 {
2252 result = dollar___renderer_2106(n);
2253 }
2254 LA1_: ;
2255 return result;
2256 }
N_INLINE(NI,pluspercent___system_696)2257 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
2258 NI result;
2259 result = (NI)0;
2260 result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
2261 return result;
2262 }
N_INLINE(void,incRef__system_5309)2263 static N_INLINE(void, incRef__system_5309)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2264 (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
2265 }
N_INLINE(NI,minuspercent___system_716)2266 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
2267 NI result;
2268 result = (NI)0;
2269 result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
2270 return result;
2271 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5271)2272 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5271)(void* usr) {
2273 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
2274 NI T1_;
2275 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2276 T1_ = (NI)0;
2277 T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
2278 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
2279 return result;
2280 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)2281 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
2282 NIM_BOOL result;
2283 result = (NIM_BOOL)0;
2284 result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
2285 return result;
2286 }
N_INLINE(void,rtlAddZCT__system_5314)2287 static N_INLINE(void, rtlAddZCT__system_5314)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2288 addZCT__system_5265((&gch__system_5218.zct), c);
2289 }
N_INLINE(void,decRef__system_5316)2290 static N_INLINE(void, decRef__system_5316)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2291 (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
2292 {
2293 NIM_BOOL T3_;
2294 T3_ = (NIM_BOOL)0;
2295 T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
2296 if (!T3_) goto LA4_;
2297 rtlAddZCT__system_5314(c);
2298 }
2299 LA4_: ;
2300 }
N_INLINE(void,asgnRef)2301 static N_INLINE(void, asgnRef)(void** dest, void* src) {
2302 {
2303 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
2304 if (!!((src == NIM_NIL))) goto LA3_;
2305 T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2306 T5_ = usrToCell__system_5271(src);
2307 incRef__system_5309(T5_);
2308 }
2309 LA3_: ;
2310 {
2311 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
2312 if (!!(((*dest) == NIM_NIL))) goto LA8_;
2313 T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2314 T10_ = usrToCell__system_5271((*dest));
2315 decRef__system_5316(T10_);
2316 }
2317 LA8_: ;
2318 (*dest) = src;
2319 }
N_NIMCALL(NIM_BOOL,isConstSym__varpartitions_1002)2320 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isConstSym__varpartitions_1002)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2321 NIM_BOOL result;
2322 NIM_BOOL T1_;
2323 NIM_BOOL T3_;
2324 result = (NIM_BOOL)0;
2325 T1_ = (NIM_BOOL)0;
2326 T1_ = ((1536 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
2327 if (T1_) goto LA2_;
2328 T3_ = (NIM_BOOL)0;
2329 T3_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
2330 if (!(T3_)) goto LA4_;
2331 T3_ = !(((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46)));
2332 LA4_: ;
2333 T1_ = T3_;
2334 LA2_: ;
2335 result = T1_;
2336 return result;
2337 }
N_NIMCALL(void,borrowFrom__varpartitions_1024)2338 N_LIB_PRIVATE N_NIMCALL(void, borrowFrom__varpartitions_1024)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src) {
2339 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
2340 s = pathExpr__varpartitions_593(src, (*c).owner);
2341 {
2342 NimStringDesc* T5_;
2343 NimStringDesc* T6_;
2344 if (!(s == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
2345 T5_ = NIM_NIL;
2346 T6_ = NIM_NIL;
2347 T6_ = toString__varpartitions_1017(src);
2348 T5_ = rawNewString((T6_ ? T6_->Sup.len : 0) + 159);
2349 appendString(T5_, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_14));
2350 appendString(T5_, T6_);
2351 appendString(T5_, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_16));
2352 liMessage__msgs_1118((*(*c).g).config, (*src).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T5_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__39a9bfgg3gnILXo9by9cxATh0Q_17, NIM_FALSE);
2353 }
2354 goto LA1_;
2355 LA3_: ;
2356 {
2357 NI vid;
2358 if (!((*s).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA8_;
2359 {
2360 if (!((*dest).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11))) goto LA12_;
2361 {
2362 NIM_BOOL T16_;
2363 T16_ = (NIM_BOOL)0;
2364 T16_ = !(((*(*s)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)));
2365 if (T16_) goto LA17_;
2366 T16_ = !(((*(*s)._kind_4.sym).position == ((NI) 0)));
2367 LA17_: ;
2368 if (!T16_) goto LA18_;
2369 liMessage__msgs_1118((*(*c).g).config, (*src).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_19), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__39a9bfgg3gnILXo9by9cxATh0Q_20, NIM_FALSE);
2370 }
2371 LA18_: ;
2372 }
2373 LA12_: ;
2374 vid = variableId__varpartitions_197((&(*c)), dest);
2375 {
2376 NI sourceIdx;
2377 NI T31_;
2378 if (!(((NI) 0) <= vid)) goto LA22_;
2379 sourceIdx = variableId__varpartitions_197((&(*c)), (*s)._kind_4.sym);
2380 {
2381 NI T28_;
2382 tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA T29_;
2383 NI T30_;
2384 if (!(sourceIdx < ((NI) 0))) goto LA26_;
2385 T28_ = ((*c).s ? (*c).s->Sup.len : 0);
2386 sourceIdx = T28_;
2387 nimZeroMem((void*)(&T29_), sizeof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA));
2388 nimZeroMem((void*)(&T29_), sizeof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA));
2389 nimZeroMem((void*)(&T29_.con), sizeof(tyObject_Connection__EevFKe104MtQGkxxkLKkgg));
2390 T29_.con.kind = ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 0);
2391 T29_.sym = (*s)._kind_4.sym;
2392 T29_.reassignedTo = ((NI) 0);
2393 T29_.aliveStart = ((NI) -1);
2394 T29_.aliveEnd = ((NI) IL64(9223372036854775807));
2395 unsureAsgnRef((void**) (&(*c).s), (tySequence__7PsCyIDXDb8nGSU5UlS9cAA*) incrSeqV3((TGenericSeq*)((*c).s), (&NTIseqLvarindexT__7PsCyIDXDb8nGSU5UlS9cAA_)));
2396 T30_ = (*c).s->Sup.len++;
2397 genericAssign((void*)(&(*c).s->data[T30_]), (void*)(&T29_), (&NTIvarindex__9bUY0kR5KFdp9cLhJiAMwmwA_));
2398 }
2399 LA26_: ;
2400 asgnRef((void**) (&(*c).s->data[vid].borrowsFrom), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*c).s->data[vid].borrowsFrom), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
2401 T31_ = (*c).s->data[vid].borrowsFrom->Sup.len++;
2402 (*c).s->data[vid].borrowsFrom->data[T31_] = sourceIdx;
2403 {
2404 NIM_BOOL T34_;
2405 T34_ = (NIM_BOOL)0;
2406 T34_ = isConstSym__varpartitions_1002((*s)._kind_4.sym);
2407 if (!T34_) goto LA35_;
2408 (*c).s->data[vid].flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 5)) & 7);
2409 }
2410 LA35_: ;
2411 }
2412 LA22_: ;
2413 }
2414 goto LA1_;
2415 LA8_: ;
2416 {
2417 NI vid_2;
2418 vid_2 = variableId__varpartitions_197((&(*c)), dest);
2419 {
2420 if (!(((NI) 0) <= vid_2)) goto LA40_;
2421 (*c).s->data[vid_2].flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 5)) & 7);
2422 }
2423 LA40_: ;
2424 }
2425 LA1_: ;
2426 }
N_NIMCALL(void,borrowingAsgn__varpartitions_1098)2427 N_LIB_PRIVATE N_NIMCALL(void, borrowingAsgn__varpartitions_1098)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src) {
2428 {
2429 if (!((*dest).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
2430 {
2431 tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog T7_;
2432 T7_ = (tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog)0;
2433 T7_ = directViewType__typeallowed_568((*dest).typ);
2434 if (!!((T7_ == ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 0)))) goto LA8_;
2435 borrowFrom__varpartitions_1024(c, (*dest)._kind_4.sym, src);
2436 }
2437 LA8_: ;
2438 }
2439 goto LA1_;
2440 LA3_: ;
2441 {
2442 tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog T13_;
2443 if (!((*dest).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65) || (*dest).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47) || (*dest).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42))) goto LA11_;
2444 T13_ = (tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog)0;
2445 T13_ = directViewType__typeallowed_568((*(*dest)._kind_6.sons->data[((NI) 0)]).typ);
2446 switch (T13_) {
2447 case ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 2):
2448 case ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 1):
2449 {
2450 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* viewOrigin;
2451 viewOrigin = pathExpr__varpartitions_593(dest, (*c).owner);
2452 {
2453 NI vid;
2454 if (!((*viewOrigin).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA17_;
2455 vid = variableId__varpartitions_197((&(*c)), (*viewOrigin)._kind_4.sym);
2456 {
2457 if (!(((NI) 0) <= vid)) goto LA21_;
2458 (*c).s->data[vid].flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 4)) & 7);
2459 }
2460 LA21_: ;
2461 }
2462 LA17_: ;
2463 }
2464 break;
2465 case ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 0):
2466 {
2467 }
2468 break;
2469 }
2470 }
2471 goto LA1_;
2472 LA11_: ;
2473 LA1_: ;
2474 }
N_NIMCALL(void,Marker_tySequence__u9c10b19cqoKPxYSuh3ZKtIw)2475 static N_NIMCALL(void, Marker_tySequence__u9c10b19cqoKPxYSuh3ZKtIw)(void* p, NI op) {
2476 tySequence__u9c10b19cqoKPxYSuh3ZKtIw* a;
2477 NI T1_;
2478 a = (tySequence__u9c10b19cqoKPxYSuh3ZKtIw*)p;
2479 T1_ = (NI)0;
2480 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
2481 nimGCvisit((void*)a->data[T1_].Field0, op);
2482 }
2483 }
N_INLINE(NIM_BOOL,isEmptyType__ast_4779)2484 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
2485 NIM_BOOL result;
2486 NIM_BOOL T1_;
2487 result = (NIM_BOOL)0;
2488 T1_ = (NIM_BOOL)0;
2489 T1_ = (t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
2490 if (T1_) goto LA2_;
2491 T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7));
2492 LA2_: ;
2493 result = T1_;
2494 return result;
2495 }
N_NIMCALL(void,allRoots__varpartitions_653)2496 N_LIB_PRIVATE N_NIMCALL(void, allRoots__varpartitions_653)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__u9c10b19cqoKPxYSuh3ZKtIw** result, NI level) {
2497 { switch ((*n).kind) {
2498 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
2499 {
2500 {
2501 tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ T6_;
2502 NI T7_;
2503 if (!((2100008 &((NU32)1<<((NU)((*(*n)._kind_4.sym).kind)&31U)))!=0)) goto LA4_;
2504 nimZeroMem((void*)(&T6_), sizeof(tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ));
2505 T6_.Field0 = (*n)._kind_4.sym;
2506 T6_.Field1 = level;
2507 unsureAsgnRef((void**) (&(*result)), (tySequence__u9c10b19cqoKPxYSuh3ZKtIw*) incrSeqV3((TGenericSeq*)((*result)), (&NTIseqLLpsym_intTT__u9c10b19cqoKPxYSuh3ZKtIw_)));
2508 T7_ = (*result)->Sup.len++;
2509 asgnRef((void**) (&(*result)->data[T7_].Field0), T6_.Field0);
2510 (*result)->data[T7_].Field1 = T6_.Field1;
2511 }
2512 LA4_: ;
2513 }
2514 break;
2515 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
2516 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
2517 {
2518 allRoots__varpartitions_653((*n)._kind_6.sons->data[((NI) 0)], result, (NI)(level + ((NI) 1)));
2519 }
2520 break;
2521 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
2522 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
2523 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
2524 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
2525 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
2526 {
2527 allRoots__varpartitions_653((*n)._kind_6.sons->data[((NI) 0)], result, level);
2528 }
2529 break;
2530 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33):
2531 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34):
2532 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
2533 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
2534 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
2535 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
2536 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
2537 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
2538 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
2539 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
2540 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
2541 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
2542 {
2543 {
2544 NI T13_;
2545 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
2546 T13_ = (NI)0;
2547 T13_ = len__ast_3198(n);
2548 if (!(((NI) 0) < T13_)) goto LA14_;
2549 T16_ = NIM_NIL;
2550 T16_ = lastSon__ast_4832(n);
2551 allRoots__varpartitions_653(T16_, result, level);
2552 }
2553 LA14_: ;
2554 }
2555 break;
2556 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
2557 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
2558 {
2559 {
2560 NI i;
2561 NI colontmp_;
2562 NI i_2;
2563 i = (NI)0;
2564 colontmp_ = (NI)0;
2565 colontmp_ = len__ast_3198(n);
2566 i_2 = ((NI) 1);
2567 {
2568 while (1) {
2569 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T21_;
2570 if (!(i_2 < colontmp_)) goto LA20;
2571 i = i_2;
2572 T21_ = NIM_NIL;
2573 T21_ = lastSon__ast_4832((*n)._kind_6.sons->data[i]);
2574 allRoots__varpartitions_653(T21_, result, level);
2575 i_2 += ((NI) 1);
2576 } LA20: ;
2577 }
2578 }
2579 }
2580 break;
2581 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
2582 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
2583 {
2584 {
2585 NI i_3;
2586 NI colontmp__2;
2587 NI i_4;
2588 i_3 = (NI)0;
2589 colontmp__2 = (NI)0;
2590 colontmp__2 = len__ast_3198(n);
2591 i_4 = ((NI) 0);
2592 {
2593 while (1) {
2594 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T26_;
2595 if (!(i_4 < colontmp__2)) goto LA25;
2596 i_3 = i_4;
2597 T26_ = NIM_NIL;
2598 T26_ = lastSon__ast_4832((*n)._kind_6.sons->data[i_3]);
2599 allRoots__varpartitions_653(T26_, result, level);
2600 i_4 += ((NI) 1);
2601 } LA25: ;
2602 }
2603 }
2604 }
2605 break;
2606 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
2607 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
2608 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
2609 {
2610 {
2611 NI i_5;
2612 NI colontmp__3;
2613 NI i_6;
2614 i_5 = (NI)0;
2615 colontmp__3 = (NI)0;
2616 colontmp__3 = len__ast_3198(n);
2617 i_6 = ((NI) 0);
2618 {
2619 while (1) {
2620 if (!(i_6 < colontmp__3)) goto LA30;
2621 i_5 = i_6;
2622 allRoots__varpartitions_653((*n)._kind_6.sons->data[i_5], result, (NI)(level - ((NI) 1)));
2623 i_6 += ((NI) 1);
2624 } LA30: ;
2625 }
2626 }
2627 }
2628 break;
2629 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
2630 {
2631 {
2632 NIM_BOOL T34_;
2633 T34_ = (NIM_BOOL)0;
2634 T34_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2635 if (!(T34_)) goto LA35_;
2636 T34_ = ((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
2637 LA35_: ;
2638 if (!T34_) goto LA36_;
2639 {
2640 NI T40_;
2641 T40_ = (NI)0;
2642 T40_ = len__ast_3198(n);
2643 if (!(((NI) 1) < T40_)) goto LA41_;
2644 allRoots__varpartitions_653((*n)._kind_6.sons->data[((NI) 1)], result, ((NI) 1000));
2645 }
2646 LA41_: ;
2647 }
2648 goto LA32_;
2649 LA36_: ;
2650 {
2651 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m;
2652 m = getMagic__trees_137(n);
2653 switch (m) {
2654 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0):
2655 {
2656 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
2657 {
2658 if (!((*(*n)._kind_6.sons->data[((NI) 0)]).typ == 0)) goto LA47_;
2659 goto BeforeRet_;
2660 }
2661 LA47_: ;
2662 typ = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
2663 {
2664 if (!!((typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA51_;
2665 typ = skipTypes__ast_3735(typ, TM__39a9bfgg3gnILXo9by9cxATh0Q_22);
2666 {
2667 if (!!(((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25)))) goto LA55_;
2668 typ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
2669 }
2670 goto LA53_;
2671 LA55_: ;
2672 {
2673 }
2674 LA53_: ;
2675 }
2676 LA51_: ;
2677 {
2678 NI i_7;
2679 NI colontmp__4;
2680 NI i_8;
2681 i_7 = (NI)0;
2682 colontmp__4 = (NI)0;
2683 colontmp__4 = len__ast_3198(n);
2684 i_8 = ((NI) 1);
2685 {
2686 while (1) {
2687 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
2688 if (!(i_8 < colontmp__4)) goto LA60;
2689 i_7 = i_8;
2690 it = (*n)._kind_6.sons->data[i_7];
2691 {
2692 NIM_BOOL T63_;
2693 NI T65_;
2694 tyObject_TType__facALICuu8zUj0hjvbTLFg* paramType;
2695 T63_ = (NIM_BOOL)0;
2696 T63_ = !((typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2697 if (!(T63_)) goto LA64_;
2698 T65_ = (NI)0;
2699 T65_ = len__ast_4002(typ);
2700 T63_ = (i_7 < T65_);
2701 LA64_: ;
2702 if (!T63_) goto LA66_;
2703 paramType = (*(*(*typ).n)._kind_6.sons->data[i_7]).typ;
2704 {
2705 NIM_BOOL T70_;
2706 NIM_BOOL T71_;
2707 NIM_BOOL T72_;
2708 NIM_BOOL T74_;
2709 T70_ = (NIM_BOOL)0;
2710 T71_ = (NIM_BOOL)0;
2711 T72_ = (NIM_BOOL)0;
2712 T72_ = isCompileTimeOnly__types_3528(paramType);
2713 T71_ = !(T72_);
2714 if (!(T71_)) goto LA73_;
2715 T74_ = (NIM_BOOL)0;
2716 T74_ = isEmptyType__ast_4779((*typ).sons->data[((NI) 0)]);
2717 T71_ = !(T74_);
2718 LA73_: ;
2719 T70_ = T71_;
2720 if (!(T70_)) goto LA75_;
2721 T70_ = canAlias__isolation95check_99(paramType, (*typ).sons->data[((NI) 0)]);
2722 LA75_: ;
2723 if (!T70_) goto LA76_;
2724 allRoots__varpartitions_653(it, result, ((NI) 1000));
2725 }
2726 LA76_: ;
2727 }
2728 goto LA61_;
2729 LA66_: ;
2730 {
2731 allRoots__varpartitions_653(it, result, ((NI) 1000));
2732 }
2733 LA61_: ;
2734 i_8 += ((NI) 1);
2735 } LA60: ;
2736 }
2737 }
2738 }
2739 break;
2740 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 126):
2741 {
2742 allRoots__varpartitions_653((*n)._kind_6.sons->data[((NI) 1)], result, (NI)(level + ((NI) 1)));
2743 }
2744 break;
2745 default:
2746 {
2747 }
2748 break;
2749 }
2750 }
2751 LA32_: ;
2752 }
2753 break;
2754 default:
2755 {
2756 }
2757 break;
2758 }
2759 }BeforeRet_: ;
2760 }
N_NIMCALL(NIM_BOOL,wrap__varpartitions_1143)2761 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, wrap__varpartitions_1143)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
2762 NIM_BOOL result;
2763 result = (NIM_BOOL)0;
2764 result = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21));
2765 return result;
2766 }
N_NIMCALL(NIM_BOOL,containsPointer__varpartitions_1140)2767 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsPointer__varpartitions_1140)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
2768 NIM_BOOL result;
2769 result = (NIM_BOOL)0;
2770 result = searchTypeFor__types_470(t, wrap__varpartitions_1143);
2771 return result;
2772 }
N_NIMCALL(NI,root__varpartitions_315)2773 N_LIB_PRIVATE N_NIMCALL(NI, root__varpartitions_315)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* v, NI start) {
2774 NI result;
2775 NI depth;
2776 result = (NI)0;
2777 result = start;
2778 depth = ((NI) 0);
2779 {
2780 while (1) {
2781 if (!((*v).s->data[result].con.kind == ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 1))) goto LA2;
2782 result = (*v).s->data[result].con.parent;
2783 depth += ((NI) 1);
2784 } LA2: ;
2785 }
2786 {
2787 NI it;
2788 if (!(((NI) 0) < depth)) goto LA5_;
2789 it = start;
2790 {
2791 while (1) {
2792 NI next;
2793 tyObject_Connection__EevFKe104MtQGkxxkLKkgg T9_;
2794 if (!((*v).s->data[it].con.kind == ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 1))) goto LA8;
2795 next = (*v).s->data[it].con.parent;
2796 nimZeroMem((void*)(&T9_), sizeof(tyObject_Connection__EevFKe104MtQGkxxkLKkgg));
2797 T9_.kind = ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 1);
2798 T9_.parent = result;
2799 (*v).s->data[it].con = T9_;
2800 it = next;
2801 } LA8: ;
2802 }
2803 }
2804 LA5_: ;
2805 return result;
2806 }
N_NIMCALL(void,potentialMutation__varpartitions_335)2807 N_LIB_PRIVATE N_NIMCALL(void, potentialMutation__varpartitions_335)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* v, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NI level, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
2808 NI id;
2809 id = variableId__varpartitions_197((&(*v)), s);
2810 {
2811 NI r;
2812 tySet_tyEnum_SubgraphFlag__mxQvR0HTC631bhUr6jBDDw flags;
2813 if (!(((NI) 0) <= id)) goto LA3_;
2814 r = root__varpartitions_315(v, id);
2815 {
2816 if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3))) goto LA7_;
2817 {
2818 NIM_BOOL T11_;
2819 T11_ = (NIM_BOOL)0;
2820 T11_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
2821 if (!(T11_)) goto LA12_;
2822 T11_ = !(((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46)));
2823 LA12_: ;
2824 if (!T11_) goto LA13_;
2825 flags = 3;
2826 }
2827 goto LA9_;
2828 LA13_: ;
2829 {
2830 NIM_BOOL T16_;
2831 T16_ = (NIM_BOOL)0;
2832 T16_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
2833 if (!(T16_)) goto LA17_;
2834 T16_ = (level <= ((NI) 1));
2835 LA17_: ;
2836 if (!T16_) goto LA18_;
2837 flags = 4;
2838 }
2839 goto LA9_;
2840 LA18_: ;
2841 {
2842 flags = 1;
2843 }
2844 LA9_: ;
2845 }
2846 goto LA5_;
2847 LA7_: ;
2848 {
2849 flags = 1;
2850 }
2851 LA5_: ;
2852 switch ((*v).s->data[r].con.kind) {
2853 case ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 0):
2854 {
2855 tyObject_Connection__EevFKe104MtQGkxxkLKkgg T23_;
2856 NI T24_;
2857 tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug T25_;
2858 NI T33_;
2859 nimZeroMem((void*)(&T23_), sizeof(tyObject_Connection__EevFKe104MtQGkxxkLKkgg));
2860 T23_.kind = ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 2);
2861 T24_ = ((*v).graphs ? (*v).graphs->Sup.len : 0);
2862 T23_.graphIndex = T24_;
2863 (*v).s->data[r].con = T23_;
2864 nimZeroMem((void*)(&T25_), sizeof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug));
2865 nimZeroMem((void*)(&T25_), sizeof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug));
2866 {
2867 NIM_BOOL T28_;
2868 T28_ = (NIM_BOOL)0;
2869 T28_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
2870 if (!(T28_)) goto LA29_;
2871 T28_ = !(((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46)));
2872 LA29_: ;
2873 if (!T28_) goto LA30_;
2874 T25_.param = s;
2875 }
2876 goto LA26_;
2877 LA30_: ;
2878 {
2879 T25_.param = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
2880 }
2881 LA26_: ;
2882 T25_.mutatedHere = info;
2883 T25_.connectedVia = unknownLineInfo__lineinfos_280;
2884 T25_.flags = flags;
2885 T25_.maxMutation = (*v).abstractTime;
2886 T25_.minConnection = ((NI) IL64(9223372036854775807));
2887 T25_.mutations = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) newSeq((&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), 1);
2888 T25_.mutations->data[0] = (*v).abstractTime;
2889 unsureAsgnRef((void**) (&(*v).graphs), (tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA*) incrSeqV3((TGenericSeq*)((*v).graphs), (&NTIseqLmutationinfoT__QAWA9c8ge5HfZnhFNlb9c9ajA_)));
2890 T33_ = (*v).graphs->Sup.len++;
2891 genericAssign((void*)(&(*v).graphs->data[T33_]), (void*)(&T25_), (&NTImutationinfo__0Sg6dzXBBdtdBAkDWxEFug_));
2892 }
2893 break;
2894 case ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 2):
2895 {
2896 tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug* g;
2897 NI T47_;
2898 g = (&(*v).graphs->data[(*v).s->data[r].con.graphIndex]);
2899 {
2900 NIM_BOOL T37_;
2901 NIM_BOOL T39_;
2902 T37_ = (NIM_BOOL)0;
2903 T37_ = ((*g).param == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
2904 if (!(T37_)) goto LA38_;
2905 T39_ = (NIM_BOOL)0;
2906 T39_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
2907 if (!(T39_)) goto LA40_;
2908 T39_ = !(((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46)));
2909 LA40_: ;
2910 T37_ = T39_;
2911 LA38_: ;
2912 if (!T37_) goto LA41_;
2913 unsureAsgnRef((void**) (&(*g).param), s);
2914 }
2915 LA41_: ;
2916 {
2917 if (!((*g).maxMutation < (*v).abstractTime)) goto LA45_;
2918 (*g).mutatedHere = info;
2919 (*g).maxMutation = (*v).abstractTime;
2920 }
2921 LA45_: ;
2922 (*g).flags = ((*g).flags | flags);
2923 unsureAsgnRef((void**) (&(*g).mutations), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*g).mutations), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
2924 T47_ = (*g).mutations->Sup.len++;
2925 (*g).mutations->data[T47_] = (*v).abstractTime;
2926 }
2927 break;
2928 default:
2929 {
2930 }
2931 break;
2932 }
2933 }
2934 goto LA1_;
2935 LA3_: ;
2936 {
2937 (*v).unanalysableMutation = NIM_TRUE;
2938 }
2939 LA1_: ;
2940 }
N_NIMCALL(void,add__varpartitions_521)2941 N_LIB_PRIVATE N_NIMCALL(void, add__varpartitions_521)(tySequence__qwqHTkRvwhrRyENtudHQ7g** x, NI* y, NI yLen_0) {
2942 NI xl;
2943 NI T1_;
2944 T1_ = ((*x) ? (*x)->Sup.len : 0);
2945 xl = T1_;
2946 unsureAsgnRef((void**) (&(*x)), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*x))->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) ((NI)(xl + yLen_0)))));
2947 {
2948 NI i;
2949 NI colontmp_;
2950 NI res;
2951 i = (NI)0;
2952 colontmp_ = (NI)0;
2953 colontmp_ = (yLen_0-1);
2954 res = ((NI) 0);
2955 {
2956 while (1) {
2957 if (!(res <= colontmp_)) goto LA4;
2958 i = res;
2959 (*x)->data[(NI)(xl + i)] = y[i];
2960 res += ((NI) 1);
2961 } LA4: ;
2962 }
2963 }
2964 }
N_NIMCALL(void,connect__varpartitions_431)2965 N_LIB_PRIVATE N_NIMCALL(void, connect__varpartitions_431)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* v, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
2966 NI aid;
2967 NI bid;
2968 NI ra;
2969 NI rb;
2970 { aid = variableId__varpartitions_197((&(*v)), a);
2971 {
2972 if (!(aid < ((NI) 0))) goto LA3_;
2973 goto BeforeRet_;
2974 }
2975 LA3_: ;
2976 bid = variableId__varpartitions_197((&(*v)), b);
2977 {
2978 if (!(bid < ((NI) 0))) goto LA7_;
2979 goto BeforeRet_;
2980 }
2981 LA7_: ;
2982 ra = root__varpartitions_315(v, aid);
2983 rb = root__varpartitions_315(v, bid);
2984 {
2985 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
2986 tySet_tyEnum_SubgraphFlag__mxQvR0HTC631bhUr6jBDDw paramFlags;
2987 tySet_tyEnum_SubgraphFlag__mxQvR0HTC631bhUr6jBDDw rbFlags;
2988 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q mutatedHere;
2989 NI mut;
2990 NI con;
2991 tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug* gb;
2992 tyObject_Connection__EevFKe104MtQGkxxkLKkgg T37_;
2993 if (!!((ra == rb))) goto LA11_;
2994 param = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
2995 {
2996 NIM_BOOL T15_;
2997 T15_ = (NIM_BOOL)0;
2998 T15_ = ((*a).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
2999 if (!(T15_)) goto LA16_;
3000 T15_ = !(((*(*a).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*a).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46)));
3001 LA16_: ;
3002 if (!T15_) goto LA17_;
3003 param = a;
3004 }
3005 goto LA13_;
3006 LA17_: ;
3007 {
3008 NIM_BOOL T20_;
3009 T20_ = (NIM_BOOL)0;
3010 T20_ = ((*b).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
3011 if (!(T20_)) goto LA21_;
3012 T20_ = !(((*(*b).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*b).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46)));
3013 LA21_: ;
3014 if (!T20_) goto LA22_;
3015 param = b;
3016 }
3017 goto LA13_;
3018 LA22_: ;
3019 LA13_: ;
3020 {
3021 if (!!((param == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA26_;
3022 paramFlags = 8;
3023 }
3024 goto LA24_;
3025 LA26_: ;
3026 {
3027 paramFlags = 0;
3028 }
3029 LA24_: ;
3030 rbFlags = 0;
3031 mutatedHere = unknownLineInfo__lineinfos_280;
3032 mut = ((NI) 0);
3033 con = (*v).abstractTime;
3034 gb = ((tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug*) NIM_NIL);
3035 {
3036 if (!((*v).s->data[rb].con.kind == ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 2))) goto LA31_;
3037 gb = (&(*v).graphs->data[(*v).s->data[rb].con.graphIndex]);
3038 {
3039 if (!(param == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA35_;
3040 param = (*gb).param;
3041 }
3042 LA35_: ;
3043 mutatedHere = (*gb).mutatedHere;
3044 rbFlags = (*gb).flags;
3045 mut = (*gb).maxMutation;
3046 con = min__varpartitions_475(con, (*gb).minConnection);
3047 }
3048 LA31_: ;
3049 nimZeroMem((void*)(&T37_), sizeof(tyObject_Connection__EevFKe104MtQGkxxkLKkgg));
3050 T37_.kind = ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 1);
3051 T37_.parent = ra;
3052 (*v).s->data[rb].con = T37_;
3053 switch ((*v).s->data[ra].con.kind) {
3054 case ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 0):
3055 {
3056 tyObject_Connection__EevFKe104MtQGkxxkLKkgg T39_;
3057 NI T40_;
3058 tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug T41_;
3059 NI T47_;
3060 nimZeroMem((void*)(&T39_), sizeof(tyObject_Connection__EevFKe104MtQGkxxkLKkgg));
3061 T39_.kind = ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 2);
3062 T40_ = ((*v).graphs ? (*v).graphs->Sup.len : 0);
3063 T39_.graphIndex = T40_;
3064 (*v).s->data[ra].con = T39_;
3065 nimZeroMem((void*)(&T41_), sizeof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug));
3066 nimZeroMem((void*)(&T41_), sizeof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug));
3067 T41_.param = param;
3068 T41_.mutatedHere = mutatedHere;
3069 T41_.connectedVia = info;
3070 T41_.flags = (paramFlags | rbFlags);
3071 T41_.maxMutation = mut;
3072 T41_.minConnection = con;
3073 {
3074 if (!!((gb == ((tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug*) NIM_NIL)))) goto LA44_;
3075 genericSeqAssign((&T41_.mutations), (*gb).mutations, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
3076 }
3077 goto LA42_;
3078 LA44_: ;
3079 {
3080 T41_.mutations = NIM_NIL;
3081 }
3082 LA42_: ;
3083 unsureAsgnRef((void**) (&(*v).graphs), (tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA*) incrSeqV3((TGenericSeq*)((*v).graphs), (&NTIseqLmutationinfoT__QAWA9c8ge5HfZnhFNlb9c9ajA_)));
3084 T47_ = (*v).graphs->Sup.len++;
3085 genericAssign((void*)(&(*v).graphs->data[T47_]), (void*)(&T41_), (&NTImutationinfo__0Sg6dzXBBdtdBAkDWxEFug_));
3086 }
3087 break;
3088 case ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 2):
3089 {
3090 tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug* g;
3091 g = (&(*v).graphs->data[(*v).s->data[ra].con.graphIndex]);
3092 {
3093 if (!((*g).param == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA51_;
3094 unsureAsgnRef((void**) (&(*g).param), param);
3095 }
3096 LA51_: ;
3097 {
3098 NIM_BOOL T55_;
3099 T55_ = (NIM_BOOL)0;
3100 T55_ = eqeq___msgs_993((*g).mutatedHere, unknownLineInfo__lineinfos_280);
3101 if (!T55_) goto LA56_;
3102 (*g).mutatedHere = mutatedHere;
3103 }
3104 LA56_: ;
3105 (*g).minConnection = min__varpartitions_475((*g).minConnection, con);
3106 (*g).connectedVia = info;
3107 (*g).flags = ((*g).flags | (paramFlags | rbFlags));
3108 {
3109 if (!!((gb == ((tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug*) NIM_NIL)))) goto LA60_;
3110 add__varpartitions_521((&(*g).mutations), (*gb).mutations->data, ((*gb).mutations ? (*gb).mutations->Sup.len : 0));
3111 }
3112 LA60_: ;
3113 }
3114 break;
3115 default:
3116 {
3117 }
3118 break;
3119 }
3120 }
3121 LA11_: ;
3122 }BeforeRet_: ;
3123 }
N_NIMCALL(void,destMightOwn__varpartitions_779)3124 N_LIB_PRIVATE N_NIMCALL(void, destMightOwn__varpartitions_779)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3125 switch ((*n).kind) {
3126 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
3127 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
3128 {
3129 }
3130 break;
3131 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33):
3132 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34):
3133 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
3134 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
3135 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
3136 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
3137 {
3138 destMightOwn__varpartitions_779(c, dest, (*n)._kind_6.sons->data[((NI) 1)]);
3139 }
3140 break;
3141 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
3142 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
3143 {
3144 {
3145 NI i;
3146 NI colontmp_;
3147 NI i_2;
3148 i = (NI)0;
3149 colontmp_ = (NI)0;
3150 colontmp_ = len__ast_3198(n);
3151 i_2 = ((NI) 0);
3152 {
3153 while (1) {
3154 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
3155 if (!(i_2 < colontmp_)) goto LA6;
3156 i = i_2;
3157 T7_ = NIM_NIL;
3158 T7_ = lastSon__ast_4832((*n)._kind_6.sons->data[i]);
3159 destMightOwn__varpartitions_779(c, dest, T7_);
3160 i_2 += ((NI) 1);
3161 } LA6: ;
3162 }
3163 }
3164 }
3165 break;
3166 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
3167 {
3168 {
3169 NI i_3;
3170 NI colontmp__2;
3171 NI i_4;
3172 i_3 = (NI)0;
3173 colontmp__2 = (NI)0;
3174 colontmp__2 = len__ast_3198(n);
3175 i_4 = ((NI) 1);
3176 {
3177 while (1) {
3178 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
3179 if (!(i_4 < colontmp__2)) goto LA11;
3180 i_3 = i_4;
3181 T12_ = NIM_NIL;
3182 T12_ = lastSon__ast_4832((*n)._kind_6.sons->data[i_3]);
3183 destMightOwn__varpartitions_779(c, dest, T12_);
3184 i_4 += ((NI) 1);
3185 } LA11: ;
3186 }
3187 }
3188 }
3189 break;
3190 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
3191 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
3192 {
3193 {
3194 NI T16_;
3195 NI T19_;
3196 T16_ = (NI)0;
3197 T16_ = len__ast_3198(n);
3198 if (!(((NI) 0) < T16_)) goto LA17_;
3199 T19_ = (NI)0;
3200 T19_ = len__ast_3198(n);
3201 destMightOwn__varpartitions_779(c, dest, (*n)._kind_6.sons->data[(NI)(T19_ - ((NI) 1))]);
3202 }
3203 LA17_: ;
3204 }
3205 break;
3206 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
3207 {
3208 {
3209 NI i_5;
3210 NI colontmp__3;
3211 NI i_6;
3212 i_5 = (NI)0;
3213 colontmp__3 = (NI)0;
3214 colontmp__3 = len__ast_3198(n);
3215 i_6 = ((NI) 1);
3216 {
3217 while (1) {
3218 if (!(i_6 < colontmp__3)) goto LA23;
3219 i_5 = i_6;
3220 destMightOwn__varpartitions_779(c, dest, (*n)._kind_6.sons->data[i_5]);
3221 i_6 += ((NI) 1);
3222 } LA23: ;
3223 }
3224 }
3225 (*dest).flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 0)) & 7);
3226 }
3227 break;
3228 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
3229 {
3230 {
3231 NI i_7;
3232 NI colontmp__4;
3233 NI i_8;
3234 i_7 = (NI)0;
3235 colontmp__4 = (NI)0;
3236 colontmp__4 = len__ast_3198(n);
3237 i_8 = ((NI) 1);
3238 {
3239 while (1) {
3240 if (!(i_8 < colontmp__4)) goto LA27;
3241 i_7 = i_8;
3242 destMightOwn__varpartitions_779(c, dest, (*n)._kind_6.sons->data[i_7]);
3243 i_8 += ((NI) 1);
3244 } LA27: ;
3245 }
3246 }
3247 {
3248 if (!!(((IL64(2147483664) & (*(*n).typ).flags) == 0))) goto LA30_;
3249 (*dest).flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 0)) & 7);
3250 }
3251 LA30_: ;
3252 }
3253 break;
3254 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
3255 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
3256 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
3257 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
3258 {
3259 (*c).inConstructor += ((NI) 1);
3260 {
3261 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son;
3262 son = NIM_NIL;
3263 {
3264 NI i_9;
3265 NI colontmp__5;
3266 NI i_10;
3267 i_9 = (NI)0;
3268 colontmp__5 = (NI)0;
3269 colontmp__5 = safeLen__ast_3191(n);
3270 i_10 = ((NI) 0);
3271 {
3272 while (1) {
3273 if (!(i_10 < colontmp__5)) goto LA36;
3274 i_9 = i_10;
3275 son = (*n)._kind_6.sons->data[i_9];
3276 destMightOwn__varpartitions_779(c, dest, son);
3277 i_10 += ((NI) 1);
3278 } LA36: ;
3279 }
3280 }
3281 }
3282 (*c).inConstructor -= ((NI) 1);
3283 {
3284 tyObject_TType__facALICuu8zUj0hjvbTLFg* T39_;
3285 T39_ = NIM_NIL;
3286 T39_ = skipTypes__ast_3735((*n).typ, TM__39a9bfgg3gnILXo9by9cxATh0Q_22);
3287 if (!((*T39_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24))) goto LA40_;
3288 (*dest).flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 0)) & 7);
3289 }
3290 LA40_: ;
3291 }
3292 break;
3293 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
3294 {
3295 {
3296 if (!((2100008 &((NU32)1<<((NU)((*(*n)._kind_4.sym).kind)&31U)))!=0)) goto LA45_;
3297 {
3298 if (!!((((*(*n)._kind_4.sym).flags & 67108872) == 0))) goto LA49_;
3299 (*dest).flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 0)) & 7);
3300 }
3301 goto LA47_;
3302 LA49_: ;
3303 {
3304 connect__varpartitions_431(c, (*dest).sym, (*n)._kind_4.sym, (*n).info);
3305 {
3306 if (!(((NI) 0) < (*c).inConstructor)) goto LA54_;
3307 (*dest).flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 0)) & 7);
3308 }
3309 LA54_: ;
3310 }
3311 LA47_: ;
3312 }
3313 LA45_: ;
3314 }
3315 break;
3316 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
3317 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
3318 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
3319 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
3320 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
3321 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
3322 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
3323 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
3324 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
3325 {
3326 destMightOwn__varpartitions_779(c, dest, (*n)._kind_6.sons->data[((NI) 0)]);
3327 }
3328 break;
3329 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
3330 {
3331 {
3332 if (!!(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA60_;
3333 {
3334 if (!!(((IL64(2147483664) & (*(*n).typ).flags) == 0))) goto LA64_;
3335 (*dest).flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 0)) & 7);
3336 }
3337 goto LA62_;
3338 LA64_: ;
3339 {
3340 NIM_BOOL T67_;
3341 NI T69_;
3342 tySequence__u9c10b19cqoKPxYSuh3ZKtIw* roots;
3343 T67_ = (NIM_BOOL)0;
3344 T67_ = ((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
3345 if (!(T67_)) goto LA68_;
3346 T69_ = (NI)0;
3347 T69_ = len__ast_3198(n);
3348 T67_ = (((NI) 1) < T69_);
3349 LA68_: ;
3350 if (!T67_) goto LA70_;
3351 roots = NIM_NIL;
3352 allRoots__varpartitions_653((*n)._kind_6.sons->data[((NI) 1)], (&roots), ((NI) 1000));
3353 {
3354 tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ* r;
3355 NI i_11;
3356 NI L;
3357 NI T73_;
3358 r = (tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ*)0;
3359 i_11 = ((NI) 0);
3360 T73_ = (roots ? roots->Sup.len : 0);
3361 L = T73_;
3362 {
3363 while (1) {
3364 if (!(i_11 < L)) goto LA75;
3365 r = (&roots->data[i_11]);
3366 connect__varpartitions_431(c, (*dest).sym, (*r).Field0, (*(*n)._kind_6.sons->data[((NI) 1)]).info);
3367 i_11 += ((NI) 1);
3368 } LA75: ;
3369 }
3370 }
3371 }
3372 goto LA62_;
3373 LA70_: ;
3374 {
3375 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
3376 {
3377 if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA79_;
3378 magic = (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic;
3379 }
3380 goto LA77_;
3381 LA79_: ;
3382 {
3383 magic = ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0);
3384 }
3385 LA77_: ;
3386 {
3387 if (!(magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0) || magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 148) || magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 126) || magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 131) || magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 132) || magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 133) || magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 144))) goto LA84_;
3388 {
3389 NI i_12;
3390 NI colontmp__6;
3391 NI i_13;
3392 i_12 = (NI)0;
3393 colontmp__6 = (NI)0;
3394 colontmp__6 = len__ast_3198(n);
3395 i_13 = ((NI) 1);
3396 {
3397 while (1) {
3398 if (!(i_13 < colontmp__6)) goto LA88;
3399 i_12 = i_13;
3400 {
3401 tyObject_TType__facALICuu8zUj0hjvbTLFg* T91_;
3402 T91_ = NIM_NIL;
3403 T91_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[i_12]).typ, TM__39a9bfgg3gnILXo9by9cxATh0Q_23);
3404 if (!!(((IL64(2147483664) & (*T91_).flags) == 0))) goto LA92_;
3405 destMightOwn__varpartitions_779(c, dest, (*n)._kind_6.sons->data[i_12]);
3406 }
3407 LA92_: ;
3408 i_13 += ((NI) 1);
3409 } LA88: ;
3410 }
3411 }
3412 }
3413 LA84_: ;
3414 }
3415 LA62_: ;
3416 }
3417 LA60_: ;
3418 }
3419 break;
3420 default:
3421 {
3422 (*dest).flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 1)) & 7);
3423 }
3424 break;
3425 }
3426 }
N_NIMCALL(void,deps__varpartitions_1150)3427 N_LIB_PRIVATE N_NIMCALL(void, deps__varpartitions_1150)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src) {
3428 tySequence__u9c10b19cqoKPxYSuh3ZKtIw* targets;
3429 tySequence__u9c10b19cqoKPxYSuh3ZKtIw* sources;
3430 NIM_BOOL destIsComplex;
3431 {
3432 if (!(((*c).goals &((NU8)1<<((NU)(((tyEnum_Goal__JuPChZ1Q9aI1A9aNNAM6t8Pg) 1))&7U)))!=0)) goto LA3_;
3433 borrowingAsgn__varpartitions_1098(c, dest, src);
3434 }
3435 LA3_: ;
3436 targets = NIM_NIL;
3437 sources = NIM_NIL;
3438 allRoots__varpartitions_653(dest, (&targets), ((NI) 0));
3439 allRoots__varpartitions_653(src, (&sources), ((NI) 0));
3440 destIsComplex = containsPointer__varpartitions_1140((*dest).typ);
3441 {
3442 tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ* t;
3443 NI i;
3444 NI L;
3445 NI T6_;
3446 t = (tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ*)0;
3447 i = ((NI) 0);
3448 T6_ = (targets ? targets->Sup.len : 0);
3449 L = T6_;
3450 {
3451 while (1) {
3452 if (!(i < L)) goto LA8;
3453 t = (&targets->data[i]);
3454 {
3455 NIM_BOOL T11_;
3456 T11_ = (NIM_BOOL)0;
3457 T11_ = !(((*dest).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
3458 if (!(T11_)) goto LA12_;
3459 T11_ = ((*c).inNoSideEffectSection == ((NI) 0));
3460 LA12_: ;
3461 if (!T11_) goto LA13_;
3462 potentialMutation__varpartitions_335(c, (*t).Field0, (*t).Field1, (*dest).info);
3463 }
3464 LA13_: ;
3465 {
3466 if (!destIsComplex) goto LA17_;
3467 {
3468 tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ* s;
3469 NI i_2;
3470 NI L_2;
3471 NI T20_;
3472 s = (tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ*)0;
3473 i_2 = ((NI) 0);
3474 T20_ = (sources ? sources->Sup.len : 0);
3475 L_2 = T20_;
3476 {
3477 while (1) {
3478 if (!(i_2 < L_2)) goto LA22;
3479 s = (&sources->data[i_2]);
3480 connect__varpartitions_431(c, (*t).Field0, (*s).Field0, (*dest).info);
3481 i_2 += ((NI) 1);
3482 } LA22: ;
3483 }
3484 }
3485 }
3486 LA17_: ;
3487 i += ((NI) 1);
3488 } LA8: ;
3489 }
3490 }
3491 {
3492 NIM_BOOL T25_;
3493 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* d;
3494 T25_ = (NIM_BOOL)0;
3495 T25_ = (((*c).goals &((NU8)1<<((NU)(((tyEnum_Goal__JuPChZ1Q9aI1A9aNNAM6t8Pg) 2))&7U)))!=0);
3496 if (!(T25_)) goto LA26_;
3497 T25_ = !(((*src).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
3498 LA26_: ;
3499 if (!T25_) goto LA27_;
3500 d = pathExpr__varpartitions_593(dest, (*c).owner);
3501 {
3502 NIM_BOOL T31_;
3503 NI vid;
3504 T31_ = (NIM_BOOL)0;
3505 T31_ = !((d == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3506 if (!(T31_)) goto LA32_;
3507 T31_ = ((*d).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3508 LA32_: ;
3509 if (!T31_) goto LA33_;
3510 vid = variableId__varpartitions_197((&(*c)), (*d)._kind_4.sym);
3511 {
3512 if (!(((NI) 0) <= vid)) goto LA37_;
3513 destMightOwn__varpartitions_779(c, (&(*c).s->data[vid]), src);
3514 {
3515 tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ* source;
3516 NI i_3;
3517 NI L_3;
3518 NI T40_;
3519 source = (tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ*)0;
3520 i_3 = ((NI) 0);
3521 T40_ = (sources ? sources->Sup.len : 0);
3522 L_3 = T40_;
3523 {
3524 while (1) {
3525 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
3526 if (!(i_3 < L_3)) goto LA42;
3527 source = (&sources->data[i_3]);
3528 s_2 = (*source).Field0;
3529 {
3530 if (!(s_2 == (*d)._kind_4.sym)) goto LA45_;
3531 }
3532 goto LA43_;
3533 LA45_: ;
3534 {
3535 NIM_BOOL T48_;
3536 T48_ = (NIM_BOOL)0;
3537 T48_ = !(((67108872 & (*s_2).flags) == 0));
3538 if (T48_) goto LA49_;
3539 T48_ = hasDisabledAsgn__modulegraphs_8859((*c).g, (*s_2).typ);
3540 LA49_: ;
3541 if (!T48_) goto LA50_;
3542 (*c).s->data[vid].flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 1)) & 7);
3543 }
3544 goto LA43_;
3545 LA50_: ;
3546 {
3547 NI srcid;
3548 srcid = variableId__varpartitions_197((&(*c)), s_2);
3549 {
3550 if (!(((NI) 0) <= srcid)) goto LA55_;
3551 {
3552 NIM_BOOL T59_;
3553 T59_ = (NIM_BOOL)0;
3554 T59_ = !(((2056 &((NU32)1<<((NU)((*s_2).kind)&31U)))!=0));
3555 if (!(T59_)) goto LA60_;
3556 T59_ = ((*c).s->data[srcid].aliveEnd < (*c).s->data[vid].aliveEnd);
3557 LA60_: ;
3558 if (!T59_) goto LA61_;
3559 (*c).s->data[vid].flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 1)) & 7);
3560 }
3561 goto LA57_;
3562 LA61_: ;
3563 {
3564 if (!!(((6 & (*c).s->data[srcid].flags) == 0))) goto LA64_;
3565 (*c).s->data[vid].flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 1)) & 7);
3566 }
3567 goto LA57_;
3568 LA64_: ;
3569 {
3570 NIM_BOOL T67_;
3571 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym135_;
3572 T67_ = (NIM_BOOL)0;
3573 T67_ = !(((*c).s->data[srcid].reassignedTo == ((NI) 0)));
3574 if (!(T67_)) goto LA68_;
3575 xX60gensym135_ = (*d)._kind_4.sym;
3576 T67_ = !(((*c).s->data[srcid].reassignedTo == (NI)((NI)((NU64)(((NI) ((*xX60gensym135_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym135_).Sup.itemId.item)))));
3577 LA68_: ;
3578 if (!T67_) goto LA69_;
3579 (*c).s->data[vid].flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 1)) & 7);
3580 }
3581 goto LA57_;
3582 LA69_: ;
3583 LA57_: ;
3584 }
3585 LA55_: ;
3586 }
3587 LA43_: ;
3588 i_3 += ((NI) 1);
3589 } LA42: ;
3590 }
3591 }
3592 }
3593 LA37_: ;
3594 }
3595 LA33_: ;
3596 }
3597 LA27_: ;
3598 }
N_NIMCALL(void,noCursor__varpartitions_985)3599 N_LIB_PRIVATE N_NIMCALL(void, noCursor__varpartitions_985)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
3600 NI vid;
3601 vid = variableId__varpartitions_197((&(*c)), s);
3602 {
3603 if (!(((NI) 0) <= vid)) goto LA3_;
3604 (*c).s->data[vid].flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 1)) & 7);
3605 }
3606 LA3_: ;
3607 }
N_NIMCALL(void,borrowingCall__varpartitions_1068)3608 N_LIB_PRIVATE N_NIMCALL(void, borrowingCall__varpartitions_1068)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* destType, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI i) {
3609 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v;
3610 v = pathExpr__varpartitions_593((*n)._kind_6.sons->data[i], (*c).owner);
3611 {
3612 NIM_BOOL T3_;
3613 T3_ = (NIM_BOOL)0;
3614 T3_ = !((v == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3615 if (!(T3_)) goto LA4_;
3616 T3_ = ((*v).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3617 LA4_: ;
3618 if (!T3_) goto LA5_;
3619 {
3620 NI j;
3621 NI colontmp_;
3622 NI colontmp__2;
3623 NI i_2;
3624 j = (NI)0;
3625 colontmp_ = (NI)0;
3626 colontmp__2 = (NI)0;
3627 colontmp_ = (NI)(i + ((NI) 1));
3628 colontmp__2 = len__ast_3198(n);
3629 i_2 = colontmp_;
3630 {
3631 while (1) {
3632 if (!(i_2 < colontmp__2)) goto LA9;
3633 j = i_2;
3634 {
3635 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T12_;
3636 T12_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
3637 T12_ = getMagic__trees_137((*n)._kind_6.sons->data[j]);
3638 if (!(T12_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 126))) goto LA13_;
3639 borrowFrom__varpartitions_1024(c, (*v)._kind_4.sym, (*n)._kind_6.sons->data[j]);
3640 }
3641 LA13_: ;
3642 i_2 += ((NI) 1);
3643 } LA9: ;
3644 }
3645 }
3646 }
3647 goto LA1_;
3648 LA5_: ;
3649 {
3650 liMessage__msgs_1118((*(*c).g).config, (*(*n)._kind_6.sons->data[i]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_24), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__39a9bfgg3gnILXo9by9cxATh0Q_25, NIM_FALSE);
3651 }
3652 LA1_: ;
3653 }
N_NIMCALL(void,potentialMutationViaArg__varpartitions_1255)3654 N_LIB_PRIVATE N_NIMCALL(void, potentialMutationViaArg__varpartitions_1255)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee) {
3655 {
3656 NIM_BOOL T3_;
3657 T3_ = (NIM_BOOL)0;
3658 T3_ = (((*c).goals &((NU8)1<<((NU)(((tyEnum_Goal__JuPChZ1Q9aI1A9aNNAM6t8Pg) 0))&7U)))!=0);
3659 if (!(T3_)) goto LA4_;
3660 T3_ = (((*callee).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0);
3661 LA4_: ;
3662 if (!T3_) goto LA5_;
3663 }
3664 goto LA1_;
3665 LA5_: ;
3666 {
3667 NIM_BOOL T8_;
3668 tySequence__u9c10b19cqoKPxYSuh3ZKtIw* roots;
3669 T8_ = (NIM_BOOL)0;
3670 T8_ = ((*c).inNoSideEffectSection == ((NI) 0));
3671 if (!(T8_)) goto LA9_;
3672 T8_ = containsPointer__varpartitions_1140((*n).typ);
3673 LA9_: ;
3674 if (!T8_) goto LA10_;
3675 roots = NIM_NIL;
3676 allRoots__varpartitions_653(n, (&roots), ((NI) 1000));
3677 {
3678 tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ* r;
3679 NI i;
3680 NI L;
3681 NI T13_;
3682 r = (tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ*)0;
3683 i = ((NI) 0);
3684 T13_ = (roots ? roots->Sup.len : 0);
3685 L = T13_;
3686 {
3687 while (1) {
3688 if (!(i < L)) goto LA15;
3689 r = (&roots->data[i]);
3690 potentialMutation__varpartitions_335(c, (*r).Field0, (*r).Field1, (*n).info);
3691 i += ((NI) 1);
3692 } LA15: ;
3693 }
3694 }
3695 }
3696 goto LA1_;
3697 LA10_: ;
3698 LA1_: ;
3699 }
N_NIMCALL(void,pretendOwnsData__varpartitions_993)3700 N_LIB_PRIVATE N_NIMCALL(void, pretendOwnsData__varpartitions_993)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
3701 NI vid;
3702 vid = variableId__varpartitions_197((&(*c)), s);
3703 {
3704 if (!(((NI) 0) <= vid)) goto LA3_;
3705 (*c).s->data[vid].flags |= ((NU8)1)<<((((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 0)) & 7);
3706 }
3707 LA3_: ;
3708 }
N_NIMCALL(void,traverse__varpartitions_1272)3709 N_LIB_PRIVATE N_NIMCALL(void, traverse__varpartitions_1272)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3710 { (*c).abstractTime += ((NI) 1);
3711 switch ((*n).kind) {
3712 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
3713 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
3714 {
3715 {
3716 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
3717 child = NIM_NIL;
3718 {
3719 NI i;
3720 NI colontmp_;
3721 NI i_2;
3722 i = (NI)0;
3723 colontmp_ = (NI)0;
3724 colontmp_ = safeLen__ast_3191(n);
3725 i_2 = ((NI) 0);
3726 {
3727 while (1) {
3728 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* last;
3729 if (!(i_2 < colontmp_)) goto LA5;
3730 i = i_2;
3731 child = (*n)._kind_6.sons->data[i];
3732 last = lastSon__ast_4832(child);
3733 traverse__varpartitions_1272(c, last);
3734 {
3735 NIM_BOOL T8_;
3736 T8_ = (NIM_BOOL)0;
3737 T8_ = ((*child).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36));
3738 if (!(T8_)) goto LA9_;
3739 T8_ = ((*last).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37) || (*last).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160));
3740 LA9_: ;
3741 if (!T8_) goto LA10_;
3742 {
3743 NI T14_;
3744 NI T15_;
3745 T14_ = (NI)0;
3746 T14_ = len__ast_3198(child);
3747 T15_ = (NI)0;
3748 T15_ = len__ast_3198(last);
3749 if (!!(((NI)(T14_ - ((NI) 2)) == T15_))) goto LA16_;
3750 goto BeforeRet_;
3751 }
3752 LA16_: ;
3753 {
3754 NI i_3;
3755 NI colontmp__2;
3756 NI T19_;
3757 NI i_4;
3758 i_3 = (NI)0;
3759 colontmp__2 = (NI)0;
3760 T19_ = (NI)0;
3761 T19_ = len__ast_3198(child);
3762 colontmp__2 = (NI)(T19_ - ((NI) 2));
3763 i_4 = ((NI) 0);
3764 {
3765 while (1) {
3766 if (!(i_4 < colontmp__2)) goto LA21;
3767 i_3 = i_4;
3768 deps__varpartitions_1150(c, (*child)._kind_6.sons->data[i_3], (*last)._kind_6.sons->data[i_3]);
3769 i_4 += ((NI) 1);
3770 } LA21: ;
3771 }
3772 }
3773 }
3774 goto LA6_;
3775 LA10_: ;
3776 {
3777 {
3778 NI i_5;
3779 NI colontmp__3;
3780 NI T24_;
3781 NI i_6;
3782 i_5 = (NI)0;
3783 colontmp__3 = (NI)0;
3784 T24_ = (NI)0;
3785 T24_ = len__ast_3198(child);
3786 colontmp__3 = (NI)(T24_ - ((NI) 2));
3787 i_6 = ((NI) 0);
3788 {
3789 while (1) {
3790 if (!(i_6 < colontmp__3)) goto LA26;
3791 i_5 = i_6;
3792 deps__varpartitions_1150(c, (*child)._kind_6.sons->data[i_5], last);
3793 i_6 += ((NI) 1);
3794 } LA26: ;
3795 }
3796 }
3797 }
3798 LA6_: ;
3799 i_2 += ((NI) 1);
3800 } LA5: ;
3801 }
3802 }
3803 }
3804 }
3805 break;
3806 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
3807 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
3808 {
3809 traverse__varpartitions_1272(c, (*n)._kind_6.sons->data[((NI) 0)]);
3810 (*c).inAsgnSource += ((NI) 1);
3811 traverse__varpartitions_1272(c, (*n)._kind_6.sons->data[((NI) 1)]);
3812 (*c).inAsgnSource -= ((NI) 1);
3813 deps__varpartitions_1150(c, (*n)._kind_6.sons->data[((NI) 0)], (*n)._kind_6.sons->data[((NI) 1)]);
3814 }
3815 break;
3816 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
3817 {
3818 (*c).abstractTime -= ((NI) 1);
3819 }
3820 break;
3821 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
3822 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
3823 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
3824 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
3825 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
3826 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
3827 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102):
3828 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116):
3829 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118):
3830 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
3831 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
3832 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
3833 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 158) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
3834 {
3835 (*c).abstractTime -= ((NI) 1);
3836 }
3837 break;
3838 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
3839 {
3840 tyObject_TType__facALICuu8zUj0hjvbTLFg* parameters;
3841 NI L;
3842 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m;
3843 {
3844 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child_2;
3845 child_2 = NIM_NIL;
3846 {
3847 NI i_7;
3848 NI colontmp__4;
3849 NI i_8;
3850 i_7 = (NI)0;
3851 colontmp__4 = (NI)0;
3852 colontmp__4 = safeLen__ast_3191(n);
3853 i_8 = ((NI) 0);
3854 {
3855 while (1) {
3856 if (!(i_8 < colontmp__4)) goto LA34;
3857 i_7 = i_8;
3858 child_2 = (*n)._kind_6.sons->data[i_7];
3859 traverse__varpartitions_1272(c, child_2);
3860 i_8 += ((NI) 1);
3861 } LA34: ;
3862 }
3863 }
3864 }
3865 parameters = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
3866 {
3867 if (!!((parameters == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA37_;
3868 L = len__ast_4002(parameters);
3869 }
3870 goto LA35_;
3871 LA37_: ;
3872 {
3873 L = ((NI) 0);
3874 }
3875 LA35_: ;
3876 m = getMagic__trees_137(n);
3877 {
3878 NI i_9;
3879 NI colontmp__5;
3880 NI i_10;
3881 i_9 = (NI)0;
3882 colontmp__5 = (NI)0;
3883 colontmp__5 = len__ast_3198(n);
3884 i_10 = ((NI) 1);
3885 {
3886 while (1) {
3887 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
3888 if (!(i_10 < colontmp__5)) goto LA42;
3889 i_9 = i_10;
3890 it = (*n)._kind_6.sons->data[i_9];
3891 {
3892 tyObject_TType__facALICuu8zUj0hjvbTLFg* paramType;
3893 if (!(i_9 < L)) goto LA45_;
3894 paramType = skipTypes__ast_3735((*parameters).sons->data[i_9], TM__39a9bfgg3gnILXo9by9cxATh0Q_13);
3895 {
3896 NIM_BOOL T49_;
3897 NIM_BOOL T50_;
3898 tySequence__u9c10b19cqoKPxYSuh3ZKtIw* roots;
3899 T49_ = (NIM_BOOL)0;
3900 T50_ = (NIM_BOOL)0;
3901 T50_ = isCompileTimeOnly__types_3528(paramType);
3902 T49_ = !(T50_);
3903 if (!(T49_)) goto LA51_;
3904 T49_ = ((*paramType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*paramType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46) || (*paramType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
3905 LA51_: ;
3906 if (!T49_) goto LA52_;
3907 roots = NIM_NIL;
3908 allRoots__varpartitions_653(it, (&roots), ((NI) 1000));
3909 {
3910 if (!((*paramType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA56_;
3911 {
3912 if (!((*c).inNoSideEffectSection == ((NI) 0))) goto LA60_;
3913 {
3914 tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ* r;
3915 NI i_11;
3916 NI L_2;
3917 NI T63_;
3918 r = (tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ*)0;
3919 i_11 = ((NI) 0);
3920 T63_ = (roots ? roots->Sup.len : 0);
3921 L_2 = T63_;
3922 {
3923 while (1) {
3924 if (!(i_11 < L_2)) goto LA65;
3925 r = (&roots->data[i_11]);
3926 potentialMutation__varpartitions_335(c, (*r).Field0, (*r).Field1, (*it).info);
3927 i_11 += ((NI) 1);
3928 } LA65: ;
3929 }
3930 }
3931 }
3932 LA60_: ;
3933 {
3934 tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ* r_2;
3935 NI i_12;
3936 NI L_3;
3937 NI T67_;
3938 r_2 = (tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ*)0;
3939 i_12 = ((NI) 0);
3940 T67_ = (roots ? roots->Sup.len : 0);
3941 L_3 = T67_;
3942 {
3943 while (1) {
3944 if (!(i_12 < L_3)) goto LA69;
3945 r_2 = (&roots->data[i_12]);
3946 noCursor__varpartitions_985(c, (*r_2).Field0);
3947 i_12 += ((NI) 1);
3948 } LA69: ;
3949 }
3950 }
3951 {
3952 if (!(((*c).goals &((NU8)1<<((NU)(((tyEnum_Goal__JuPChZ1Q9aI1A9aNNAM6t8Pg) 1))&7U)))!=0)) goto LA72_;
3953 {
3954 NIM_BOOL T76_;
3955 tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog T77_;
3956 tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog T79_;
3957 T76_ = (NIM_BOOL)0;
3958 T77_ = (tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog)0;
3959 T77_ = directViewType__typeallowed_568((*paramType).sons->data[((NI) 0)]);
3960 T76_ = (T77_ == ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 0));
3961 if (!(T76_)) goto LA78_;
3962 T79_ = (tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog)0;
3963 T79_ = classifyViewType__typeallowed_564((*paramType).sons->data[((NI) 0)]);
3964 T76_ = !((T79_ == ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 0)));
3965 LA78_: ;
3966 if (!T76_) goto LA80_;
3967 borrowingCall__varpartitions_1068(c, (*paramType).sons->data[((NI) 0)], n, i_9);
3968 }
3969 LA80_: ;
3970 }
3971 LA72_: ;
3972 }
3973 LA56_: ;
3974 }
3975 goto LA47_;
3976 LA52_: ;
3977 {
3978 if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0))) goto LA83_;
3979 potentialMutationViaArg__varpartitions_1255(c, (*n)._kind_6.sons->data[i_9], parameters);
3980 }
3981 goto LA47_;
3982 LA83_: ;
3983 LA47_: ;
3984 }
3985 LA45_: ;
3986 i_10 += ((NI) 1);
3987 } LA42: ;
3988 }
3989 }
3990 }
3991 break;
3992 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
3993 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
3994 {
3995 traverse__varpartitions_1272(c, (*n)._kind_6.sons->data[((NI) 0)]);
3996 }
3997 break;
3998 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
3999 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
4000 {
4001 {
4002 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child_3;
4003 child_3 = NIM_NIL;
4004 {
4005 NI i_13;
4006 NI colontmp__6;
4007 NI i_14;
4008 i_13 = (NI)0;
4009 colontmp__6 = (NI)0;
4010 colontmp__6 = safeLen__ast_3191(n);
4011 i_14 = ((NI) 0);
4012 {
4013 while (1) {
4014 if (!(i_14 < colontmp__6)) goto LA90;
4015 i_13 = i_14;
4016 child_3 = (*n)._kind_6.sons->data[i_13];
4017 traverse__varpartitions_1272(c, child_3);
4018 i_14 += ((NI) 1);
4019 } LA90: ;
4020 }
4021 }
4022 }
4023 {
4024 if (!(((NI) 0) < (*c).inAsgnSource)) goto LA93_;
4025 {
4026 NI i_15;
4027 NI colontmp__7;
4028 NI i_16;
4029 i_15 = (NI)0;
4030 colontmp__7 = (NI)0;
4031 colontmp__7 = len__ast_3198(n);
4032 i_16 = ((NI) 0);
4033 {
4034 while (1) {
4035 if (!(i_16 < colontmp__7)) goto LA97;
4036 i_15 = i_16;
4037 {
4038 if (!((*(*n)._kind_6.sons->data[i_15]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA100_;
4039 pretendOwnsData__varpartitions_993(c, (*(*n)._kind_6.sons->data[i_15])._kind_4.sym);
4040 }
4041 LA100_: ;
4042 i_16 += ((NI) 1);
4043 } LA97: ;
4044 }
4045 }
4046 }
4047 LA93_: ;
4048 }
4049 break;
4050 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
4051 {
4052 {
4053 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child_4;
4054 child_4 = NIM_NIL;
4055 {
4056 NI i_17;
4057 NI colontmp__8;
4058 NI i_18;
4059 i_17 = (NI)0;
4060 colontmp__8 = (NI)0;
4061 colontmp__8 = safeLen__ast_3191(n);
4062 i_18 = ((NI) 0);
4063 {
4064 while (1) {
4065 if (!(i_18 < colontmp__8)) goto LA106;
4066 i_17 = i_18;
4067 child_4 = (*n)._kind_6.sons->data[i_17];
4068 traverse__varpartitions_1272(c, child_4);
4069 i_18 += ((NI) 1);
4070 } LA106: ;
4071 }
4072 }
4073 }
4074 {
4075 if (!(((NI) 0) < (*c).inAsgnSource)) goto LA109_;
4076 {
4077 NI i_19;
4078 NI colontmp__9;
4079 NI i_20;
4080 i_19 = (NI)0;
4081 colontmp__9 = (NI)0;
4082 colontmp__9 = len__ast_3198(n);
4083 i_20 = ((NI) 1);
4084 {
4085 while (1) {
4086 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it_2;
4087 if (!(i_20 < colontmp__9)) goto LA113;
4088 i_19 = i_20;
4089 it_2 = skipColon__ast_4948((*n)._kind_6.sons->data[i_19]);
4090 {
4091 if (!((*it_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA116_;
4092 pretendOwnsData__varpartitions_993(c, (*it_2)._kind_4.sym);
4093 }
4094 LA116_: ;
4095 i_20 += ((NI) 1);
4096 } LA113: ;
4097 }
4098 }
4099 }
4100 LA109_: ;
4101 }
4102 break;
4103 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 91):
4104 {
4105 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmaList;
4106 NI enforceNoSideEffects;
4107 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T127_;
4108 pragmaList = (*n)._kind_6.sons->data[((NI) 0)];
4109 enforceNoSideEffects = ((NI) 0);
4110 {
4111 NI i_21;
4112 NI colontmp__10;
4113 NI i_22;
4114 i_21 = (NI)0;
4115 colontmp__10 = (NI)0;
4116 colontmp__10 = len__ast_3198(pragmaList);
4117 i_22 = ((NI) 0);
4118 {
4119 while (1) {
4120 if (!(i_22 < colontmp__10)) goto LA121;
4121 i_21 = i_22;
4122 {
4123 NIM_BOOL T124_;
4124 T124_ = (NIM_BOOL)0;
4125 T124_ = isNoSideEffectPragma__trees_257((*pragmaList)._kind_6.sons->data[i_21]);
4126 if (!T124_) goto LA125_;
4127 enforceNoSideEffects = ((NI) 1);
4128 goto LA119;
4129 }
4130 LA125_: ;
4131 i_22 += ((NI) 1);
4132 } LA121: ;
4133 }
4134 } LA119: ;
4135 (*c).inNoSideEffectSection += enforceNoSideEffects;
4136 T127_ = NIM_NIL;
4137 T127_ = lastSon__ast_4832(n);
4138 traverse__varpartitions_1272(c, T127_);
4139 (*c).inNoSideEffectSection -= enforceNoSideEffects;
4140 }
4141 break;
4142 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
4143 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 94):
4144 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 95):
4145 {
4146 {
4147 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child_5;
4148 child_5 = NIM_NIL;
4149 {
4150 NI i_23;
4151 NI colontmp__11;
4152 NI i_24;
4153 i_23 = (NI)0;
4154 colontmp__11 = (NI)0;
4155 colontmp__11 = safeLen__ast_3191(n);
4156 i_24 = ((NI) 0);
4157 {
4158 while (1) {
4159 if (!(i_24 < colontmp__11)) goto LA132;
4160 i_23 = i_24;
4161 child_5 = (*n)._kind_6.sons->data[i_23];
4162 traverse__varpartitions_1272(c, child_5);
4163 i_24 += ((NI) 1);
4164 } LA132: ;
4165 }
4166 }
4167 }
4168 {
4169 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child_6;
4170 child_6 = NIM_NIL;
4171 {
4172 NI i_25;
4173 NI colontmp__12;
4174 NI i_26;
4175 i_25 = (NI)0;
4176 colontmp__12 = (NI)0;
4177 colontmp__12 = safeLen__ast_3191(n);
4178 i_26 = ((NI) 0);
4179 {
4180 while (1) {
4181 if (!(i_26 < colontmp__12)) goto LA136;
4182 i_25 = i_26;
4183 child_6 = (*n)._kind_6.sons->data[i_25];
4184 traverse__varpartitions_1272(c, child_6);
4185 i_26 += ((NI) 1);
4186 } LA136: ;
4187 }
4188 }
4189 }
4190 }
4191 break;
4192 default:
4193 {
4194 {
4195 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child_7;
4196 child_7 = NIM_NIL;
4197 {
4198 NI i_27;
4199 NI colontmp__13;
4200 NI i_28;
4201 i_27 = (NI)0;
4202 colontmp__13 = (NI)0;
4203 colontmp__13 = safeLen__ast_3191(n);
4204 i_28 = ((NI) 0);
4205 {
4206 while (1) {
4207 if (!(i_28 < colontmp__13)) goto LA141;
4208 i_27 = i_28;
4209 child_7 = (*n)._kind_6.sons->data[i_27];
4210 traverse__varpartitions_1272(c, child_7);
4211 i_28 += ((NI) 1);
4212 } LA141: ;
4213 }
4214 }
4215 }
4216 }
4217 break;
4218 }
4219 }BeforeRet_: ;
4220 }
N_NIMCALL(void,computeGraphPartitions__varpartitions_1607)4221 N_LIB_PRIVATE N_NIMCALL(void, computeGraphPartitions__varpartitions_1607)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tySet_tyEnum_Goal__JuPChZ1Q9aI1A9aNNAM6t8Pg goals, tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* Result) {
4222 (*Result).abstractTime = 0;
4223 unsureAsgnRef((void**)&(*Result).s, NIM_NIL);
4224 unsureAsgnRef((void**)&(*Result).graphs, NIM_NIL);
4225 (*Result).unanalysableMutation = 0;
4226 (*Result).inAsgnSource = 0;
4227 (*Result).inConstructor = 0;
4228 (*Result).inNoSideEffectSection = 0;
4229 (*Result).inConditional = 0;
4230 (*Result).inLoop = 0;
4231 unsureAsgnRef((void**)&(*Result).owner, NIM_NIL);
4232 unsureAsgnRef((void**)&(*Result).g, NIM_NIL);
4233 unsureAsgnRef((void**) (&(*Result).owner), s);
4234 unsureAsgnRef((void**) (&(*Result).g), g);
4235 (*Result).goals = goals;
4236 {
4237 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params;
4238 if (!!(((131136 &((NU32)1<<((NU)((*s).kind)&31U)))!=0))) goto LA3_;
4239 params = (*(*s).typ).n;
4240 {
4241 NI i;
4242 NI colontmp_;
4243 NI i_2;
4244 i = (NI)0;
4245 colontmp_ = (NI)0;
4246 colontmp_ = len__ast_3198(params);
4247 i_2 = ((NI) 1);
4248 {
4249 while (1) {
4250 if (!(i_2 < colontmp_)) goto LA7;
4251 i = i_2;
4252 registerParam__varpartitions_267(Result, (*params)._kind_6.sons->data[i]);
4253 i_2 += ((NI) 1);
4254 } LA7: ;
4255 }
4256 }
4257 {
4258 NI T10_;
4259 T10_ = (NI)0;
4260 T10_ = safeLen__ast_3191((*s).ast);
4261 if (!(((NI) 7) < T10_)) goto LA11_;
4262 registerResult__varpartitions_214(Result, (*(*s).ast)._kind_6.sons->data[((NI) 7)]);
4263 }
4264 LA11_: ;
4265 }
4266 LA3_: ;
4267 computeLiveRanges__varpartitions_1454(Result, n);
4268 (*Result).abstractTime = ((NI) 0);
4269 traverse__varpartitions_1272(Result, n);
4270 }
N_INLINE(NIM_BOOL,mutationAfterConnection__varpartitions_105)4271 static N_INLINE(NIM_BOOL, mutationAfterConnection__varpartitions_105)(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug* g) {
4272 NIM_BOOL result;
4273 result = (NIM_BOOL)0;
4274 result = ((*g).minConnection < (*g).maxMutation);
4275 return result;
4276 }
N_NIMCALL(NIM_BOOL,hasSideEffect__varpartitions_131)4277 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasSideEffect__varpartitions_131)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* c, tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug* info) {
4278 NIM_BOOL result;
4279 { result = (NIM_BOOL)0;
4280 {
4281 tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug* g;
4282 NI i;
4283 NI L;
4284 NI T2_;
4285 g = (tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug*)0;
4286 i = ((NI) 0);
4287 T2_ = ((*c).graphs ? (*c).graphs->Sup.len : 0);
4288 L = T2_;
4289 {
4290 while (1) {
4291 if (!(i < L)) goto LA4;
4292 g = (&(*c).graphs->data[i]);
4293 {
4294 NIM_BOOL T7_;
4295 NIM_BOOL T9_;
4296 T7_ = (NIM_BOOL)0;
4297 T7_ = (((*g).flags & 9) == 9);
4298 if (!(T7_)) goto LA8_;
4299 T9_ = (NIM_BOOL)0;
4300 T9_ = mutationAfterConnection__varpartitions_105((&(*g)));
4301 if (T9_) goto LA10_;
4302 T9_ = (((*g).flags &((NU8)1<<((NU)(((tyEnum_SubgraphFlag__mxQvR0HTC631bhUr6jBDDw) 1))&7U)))!=0);
4303 LA10_: ;
4304 T7_ = T9_;
4305 LA8_: ;
4306 if (!T7_) goto LA11_;
4307 genericAssign((void*)(&(*info)), (void*)(&(*g)), (&NTImutationinfo__0Sg6dzXBBdtdBAkDWxEFug_));
4308 result = NIM_TRUE;
4309 goto BeforeRet_;
4310 }
4311 LA11_: ;
4312 i += ((NI) 1);
4313 } LA4: ;
4314 }
4315 }
4316 result = NIM_FALSE;
4317 goto BeforeRet_;
4318 }BeforeRet_: ;
4319 return result;
4320 }
N_INLINE(NIM_BOOL,contains__varpartitions_1698)4321 static N_INLINE(NIM_BOOL, contains__varpartitions_1698)(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA s, NI value) {
4322 NIM_BOOL result;
4323 NIM_BOOL T1_;
4324 result = (NIM_BOOL)0;
4325 T1_ = (NIM_BOOL)0;
4326 T1_ = (s.a <= value);
4327 if (!(T1_)) goto LA2_;
4328 T1_ = (value <= s.b);
4329 LA2_: ;
4330 result = T1_;
4331 return result;
4332 }
N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA,dotdot___varpartitions_1677)4333 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___varpartitions_1677)(NI a, NI b) {
4334 tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
4335 nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
4336 nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
4337 result.a = a;
4338 result.b = b;
4339 return result;
4340 }
N_NIMCALL(NIM_BOOL,dangerousMutation__varpartitions_1646)4341 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, dangerousMutation__varpartitions_1646)(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug* g, tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA* v) {
4342 NIM_BOOL result;
4343 { result = (NIM_BOOL)0;
4344 {
4345 if (!!(((5 & (*g).flags) == 0))) goto LA3_;
4346 {
4347 NI* m;
4348 NI i;
4349 NI L;
4350 NI T6_;
4351 m = (NI*)0;
4352 i = ((NI) 0);
4353 T6_ = ((*g).mutations ? (*g).mutations->Sup.len : 0);
4354 L = T6_;
4355 {
4356 while (1) {
4357 if (!(i < L)) goto LA8;
4358 m = (&(*g).mutations->data[i]);
4359 {
4360 tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T11_;
4361 NIM_BOOL T12_;
4362 T11_ = dotdot___varpartitions_1677((*v).aliveStart, (*v).aliveEnd);
4363 T12_ = (NIM_BOOL)0;
4364 T12_ = contains__varpartitions_1698(T11_, (*m));
4365 if (!T12_) goto LA13_;
4366 result = NIM_TRUE;
4367 goto BeforeRet_;
4368 }
4369 LA13_: ;
4370 i += ((NI) 1);
4371 } LA8: ;
4372 }
4373 }
4374 }
4375 LA3_: ;
4376 result = NIM_FALSE;
4377 goto BeforeRet_;
4378 }BeforeRet_: ;
4379 return result;
4380 }
N_NIMCALL(void,cannotBorrow__varpartitions_1714)4381 N_LIB_PRIVATE N_NIMCALL(void, cannotBorrow__varpartitions_1714)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug* g) {
4382 NimStringDesc* m;
4383 NimStringDesc* T1_;
4384 T1_ = NIM_NIL;
4385 T1_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 59);
4386 appendString(T1_, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_26));
4387 appendString(T1_, (*(*s).name).s);
4388 appendString(T1_, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_27));
4389 m = T1_;
4390 {
4391 NIM_BOOL T4_;
4392 NimStringDesc* T7_;
4393 T4_ = (NIM_BOOL)0;
4394 T4_ = eqeq___msgs_993((*g).mutatedHere, unknownLineInfo__lineinfos_280);
4395 if (!!(T4_)) goto LA5_;
4396 m = resizeString(m, 1);
4397 appendString(m, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_28));
4398 T7_ = NIM_NIL;
4399 T7_ = dollar___msgs_624(config, (*g).mutatedHere);
4400 m = resizeString(m, (T7_ ? T7_->Sup.len : 0) + 0);
4401 appendString(m, T7_);
4402 m = resizeString(m, 21);
4403 appendString(m, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_29));
4404 }
4405 LA5_: ;
4406 {
4407 NIM_BOOL T10_;
4408 NimStringDesc* T13_;
4409 T10_ = (NIM_BOOL)0;
4410 T10_ = eqeq___msgs_993((*g).connectedVia, unknownLineInfo__lineinfos_280);
4411 if (!!(T10_)) goto LA11_;
4412 m = resizeString(m, 1);
4413 appendString(m, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_28));
4414 T13_ = NIM_NIL;
4415 T13_ = dollar___msgs_624(config, (*g).connectedVia);
4416 m = resizeString(m, (T13_ ? T13_->Sup.len : 0) + 0);
4417 appendString(m, T13_);
4418 m = resizeString(m, 62);
4419 appendString(m, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_30));
4420 }
4421 LA11_: ;
4422 liMessage__msgs_1118(config, (*s).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), m, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__39a9bfgg3gnILXo9by9cxATh0Q_31, NIM_FALSE);
4423 }
N_NIMCALL(void,checkBorrowedLocations__varpartitions_1719)4424 N_LIB_PRIVATE N_NIMCALL(void, checkBorrowedLocations__varpartitions_1719)(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag* par, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config) {
4425 {
4426 NI i;
4427 NI colontmp_;
4428 NI T2_;
4429 NI i_2;
4430 i = (NI)0;
4431 colontmp_ = (NI)0;
4432 T2_ = ((*par).s ? (*par).s->Sup.len : 0);
4433 colontmp_ = T2_;
4434 i_2 = ((NI) 0);
4435 {
4436 while (1) {
4437 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v;
4438 if (!(i_2 < colontmp_)) goto LA4;
4439 i = i_2;
4440 v = (*par).s->data[i].sym;
4441 {
4442 NIM_BOOL T7_;
4443 tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog T9_;
4444 NI rid;
4445 T7_ = (NIM_BOOL)0;
4446 T7_ = !(((*v).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)));
4447 if (!(T7_)) goto LA8_;
4448 T9_ = (tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog)0;
4449 T9_ = classifyViewType__typeallowed_564((*v).typ);
4450 T7_ = !((T9_ == ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 0)));
4451 LA8_: ;
4452 if (!T7_) goto LA10_;
4453 rid = root__varpartitions_315(par, i);
4454 {
4455 NIM_BOOL constViolation;
4456 if (!(((NI) 0) <= rid)) goto LA14_;
4457 constViolation = NIM_FALSE;
4458 {
4459 NI* b;
4460 tySequence__qwqHTkRvwhrRyENtudHQ7g* colontmp__2;
4461 NI i_3;
4462 NI L;
4463 NI T17_;
4464 b = (NI*)0;
4465 colontmp__2 = NIM_NIL;
4466 colontmp__2 = (*par).s->data[rid].borrowsFrom;
4467 i_3 = ((NI) 0);
4468 T17_ = (colontmp__2 ? colontmp__2->Sup.len : 0);
4469 L = T17_;
4470 {
4471 while (1) {
4472 NI sid;
4473 if (!(i_3 < L)) goto LA19;
4474 b = (&colontmp__2->data[i_3]);
4475 sid = root__varpartitions_315(par, (*b));
4476 {
4477 if (!(((NI) 0) <= sid)) goto LA22_;
4478 {
4479 NIM_BOOL T26_;
4480 T26_ = (NIM_BOOL)0;
4481 T26_ = ((*par).s->data[sid].con.kind == ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 2));
4482 if (!(T26_)) goto LA27_;
4483 T26_ = dangerousMutation__varpartitions_1646((&(*par).graphs->data[(*par).s->data[sid].con.graphIndex]), (&(*par).s->data[i]));
4484 LA27_: ;
4485 if (!T26_) goto LA28_;
4486 cannotBorrow__varpartitions_1714(config, v, (&(*par).graphs->data[(*par).s->data[sid].con.graphIndex]));
4487 }
4488 LA28_: ;
4489 {
4490 NIM_BOOL T32_;
4491 NimStringDesc* T36_;
4492 T32_ = (NIM_BOOL)0;
4493 T32_ = !(((*(*par).s->data[sid].sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)));
4494 if (!(T32_)) goto LA33_;
4495 T32_ = ((*par).s->data[sid].aliveEnd < (*par).s->data[rid].aliveEnd);
4496 LA33_: ;
4497 if (!T32_) goto LA34_;
4498 T36_ = NIM_NIL;
4499 T36_ = rawNewString(((*(*v).name).s ? (*(*v).name).s->Sup.len : 0) + ((*(*(*par).s->data[sid].sym).name).s ? (*(*(*par).s->data[sid].sym).name).s->Sup.len : 0) + 59);
4500 appendString(T36_, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_32));
4501 appendString(T36_, (*(*v).name).s);
4502 appendString(T36_, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_33));
4503 appendString(T36_, (*(*(*par).s->data[sid].sym).name).s);
4504 appendString(T36_, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_34));
4505 liMessage__msgs_1118(config, (*v).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T36_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__39a9bfgg3gnILXo9by9cxATh0Q_35, NIM_FALSE);
4506 }
4507 LA34_: ;
4508 {
4509 NIM_BOOL T39_;
4510 NimStringDesc* T43_;
4511 T39_ = (NIM_BOOL)0;
4512 T39_ = (((*par).s->data[rid].flags &((NU8)1<<((NU)(((tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ) 4))&7U)))!=0);
4513 if (!(T39_)) goto LA40_;
4514 T39_ = isConstSym__varpartitions_1002((*par).s->data[sid].sym);
4515 LA40_: ;
4516 if (!T39_) goto LA41_;
4517 T43_ = NIM_NIL;
4518 T43_ = rawNewString(((*(*v).name).s ? (*(*v).name).s->Sup.len : 0) + ((*(*(*par).s->data[sid].sym).name).s ? (*(*(*par).s->data[sid].sym).name).s->Sup.len : 0) + 67);
4519 appendString(T43_, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_32));
4520 appendString(T43_, (*(*v).name).s);
4521 appendString(T43_, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_36));
4522 appendString(T43_, (*(*(*par).s->data[sid].sym).name).s);
4523 appendString(T43_, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_37));
4524 liMessage__msgs_1118(config, (*v).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T43_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__39a9bfgg3gnILXo9by9cxATh0Q_38, NIM_FALSE);
4525 constViolation = NIM_TRUE;
4526 }
4527 LA41_: ;
4528 }
4529 LA22_: ;
4530 i_3 += ((NI) 1);
4531 } LA19: ;
4532 }
4533 }
4534 {
4535 NIM_BOOL T46_;
4536 NimStringDesc* T50_;
4537 T46_ = (NIM_BOOL)0;
4538 T46_ = ((48 & (*par).s->data[rid].flags) == 48);
4539 if (!(T46_)) goto LA47_;
4540 T46_ = !(constViolation);
4541 LA47_: ;
4542 if (!T46_) goto LA48_;
4543 T50_ = NIM_NIL;
4544 T50_ = rawNewString(((*(*v).name).s ? (*(*v).name).s->Sup.len : 0) + 63);
4545 appendString(T50_, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_32));
4546 appendString(T50_, (*(*v).name).s);
4547 appendString(T50_, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_39));
4548 liMessage__msgs_1118(config, (*v).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T50_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__39a9bfgg3gnILXo9by9cxATh0Q_40, NIM_FALSE);
4549 }
4550 LA48_: ;
4551 }
4552 LA14_: ;
4553 }
4554 LA10_: ;
4555 i_2 += ((NI) 1);
4556 } LA4: ;
4557 }
4558 }
4559 }
N_NIMCALL(NimStringDesc *,dollar___varpartitions_108)4560 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___varpartitions_108)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug* g) {
4561 NimStringDesc* result;
4562 result = NIM_NIL;
4563 result = ((NimStringDesc*) NIM_NIL);
4564 {
4565 if (!(((*g).flags & 9) == 9)) goto LA3_;
4566 result = resizeString(result, 27);
4567 appendString(result, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_41));
4568 result = resizeString(result, ((*(*(*g).param).name).s ? (*(*(*g).param).name).s->Sup.len : 0) + 0);
4569 appendString(result, (*(*(*g).param).name).s);
4570 result = resizeString(result, 24);
4571 appendString(result, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_42));
4572 {
4573 NIM_BOOL T7_;
4574 NimStringDesc* T10_;
4575 T7_ = (NIM_BOOL)0;
4576 T7_ = eqeq___msgs_993((*g).mutatedHere, unknownLineInfo__lineinfos_280);
4577 if (!!(T7_)) goto LA8_;
4578 result = resizeString(result, 1);
4579 appendString(result, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_28));
4580 T10_ = NIM_NIL;
4581 T10_ = dollar___msgs_624(config, (*g).mutatedHere);
4582 result = resizeString(result, (T10_ ? T10_->Sup.len : 0) + 0);
4583 appendString(result, T10_);
4584 result = resizeString(result, 21);
4585 appendString(result, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_29));
4586 }
4587 LA8_: ;
4588 {
4589 NIM_BOOL T13_;
4590 NimStringDesc* T16_;
4591 T13_ = (NIM_BOOL)0;
4592 T13_ = eqeq___msgs_993((*g).connectedVia, unknownLineInfo__lineinfos_280);
4593 if (!!(T13_)) goto LA14_;
4594 result = resizeString(result, 1);
4595 appendString(result, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_28));
4596 T16_ = NIM_NIL;
4597 T16_ = dollar___msgs_624(config, (*g).connectedVia);
4598 result = resizeString(result, (T16_ ? T16_->Sup.len : 0) + 0);
4599 appendString(result, T16_);
4600 result = resizeString(result, 62);
4601 appendString(result, ((NimStringDesc*) &TM__39a9bfgg3gnILXo9by9cxATh0Q_30));
4602 }
4603 LA14_: ;
4604 }
4605 LA3_: ;
4606 return result;
4607 }
N_NIMCALL(void,computeCursors__varpartitions_1784)4608 N_LIB_PRIVATE N_NIMCALL(void, computeCursors__varpartitions_1784)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g) {
4609 tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag par;
4610 nimZeroMem((void*)(&par), sizeof(tyObject_Partitions__BXM20779cYW9aXU5vArQdV9ag));
4611 computeGraphPartitions__varpartitions_1607(s, n, g, 4, (&par));
4612 {
4613 NI i;
4614 NI colontmp_;
4615 NI T2_;
4616 NI i_2;
4617 i = (NI)0;
4618 colontmp_ = (NI)0;
4619 T2_ = (par.s ? par.s->Sup.len : 0);
4620 colontmp_ = T2_;
4621 i_2 = ((NI) 0);
4622 {
4623 while (1) {
4624 tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA* v;
4625 if (!(i_2 < colontmp_)) goto LA4;
4626 i = i_2;
4627 v = (&par.s->data[i]);
4628 {
4629 NIM_BOOL T7_;
4630 NIM_BOOL T8_;
4631 NIM_BOOL T9_;
4632 NIM_BOOL T10_;
4633 tyObject_TType__facALICuu8zUj0hjvbTLFg* T15_;
4634 NI rid;
4635 T7_ = (NIM_BOOL)0;
4636 T8_ = (NIM_BOOL)0;
4637 T9_ = (NIM_BOOL)0;
4638 T10_ = (NIM_BOOL)0;
4639 T10_ = (((*v).flags & 11) == 0);
4640 if (!(T10_)) goto LA11_;
4641 T10_ = !(((2056 &((NU32)1<<((NU)((*(*v).sym).kind)&31U)))!=0));
4642 LA11_: ;
4643 T9_ = T10_;
4644 if (!(T9_)) goto LA12_;
4645 T9_ = (((*(*v).sym).flags & 67108872) == 0);
4646 LA12_: ;
4647 T8_ = T9_;
4648 if (!(T8_)) goto LA13_;
4649 T8_ = !(((IL64(2147483664) & (*(*(*v).sym).typ).flags) == 0));
4650 LA13_: ;
4651 T7_ = T8_;
4652 if (!(T7_)) goto LA14_;
4653 T15_ = NIM_NIL;
4654 T15_ = skipTypes__ast_3735((*(*v).sym).typ, TM__39a9bfgg3gnILXo9by9cxATh0Q_13);
4655 T7_ = !(((*T15_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
4656 LA14_: ;
4657 if (!T7_) goto LA16_;
4658 rid = root__varpartitions_315((&par), i);
4659 {
4660 NIM_BOOL T20_;
4661 T20_ = (NIM_BOOL)0;
4662 T20_ = (par.s->data[rid].con.kind == ((tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA) 2));
4663 if (!(T20_)) goto LA21_;
4664 T20_ = dangerousMutation__varpartitions_1646((&par.graphs->data[par.s->data[rid].con.graphIndex]), (&par.s->data[i]));
4665 LA21_: ;
4666 if (!T20_) goto LA22_;
4667 }
4668 goto LA18_;
4669 LA22_: ;
4670 {
4671 (*(*v).sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 41)) & 63);
4672 }
4673 LA18_: ;
4674 }
4675 LA16_: ;
4676 i_2 += ((NI) 1);
4677 } LA4: ;
4678 }
4679 }
4680 }
N_NIMCALL(void,compiler_varpartitionsDatInit000)4681 N_LIB_PRIVATE N_NIMCALL(void, compiler_varpartitionsDatInit000)(void) {
4682 static TNimNode* TM__39a9bfgg3gnILXo9by9cxATh0Q_2_7[7];
4683 static TNimNode* TM__39a9bfgg3gnILXo9by9cxATh0Q_3_3[3];
4684 NI TM__39a9bfgg3gnILXo9by9cxATh0Q_5;
4685 static char* NIM_CONST TM__39a9bfgg3gnILXo9by9cxATh0Q_4[3] = {
4686 "isEmptyRoot",
4687 "dependsOn",
4688 "isRootOf"};
4689 static TNimNode* TM__39a9bfgg3gnILXo9by9cxATh0Q_6_6[6];
4690 NI TM__39a9bfgg3gnILXo9by9cxATh0Q_8;
4691 static char* NIM_CONST TM__39a9bfgg3gnILXo9by9cxATh0Q_7[6] = {
4692 "ownsData",
4693 "preventCursor",
4694 "isReassigned",
4695 "isConditionallyReassigned",
4696 "viewDoesMutate",
4697 "viewBorrowsFromConst"};
4698 static TNimNode* TM__39a9bfgg3gnILXo9by9cxATh0Q_9_7[7];
4699 static TNimNode* TM__39a9bfgg3gnILXo9by9cxATh0Q_10_4[4];
4700 NI TM__39a9bfgg3gnILXo9by9cxATh0Q_12;
4701 static char* NIM_CONST TM__39a9bfgg3gnILXo9by9cxATh0Q_11[4] = {
4702 "isMutated",
4703 "isMutatedDirectly",
4704 "isMutatedByVarParam",
4705 "connectsConstParam"};
4706 static TNimNode* TM__39a9bfgg3gnILXo9by9cxATh0Q_21_2[2];
4707 static TNimNode TM__39a9bfgg3gnILXo9by9cxATh0Q_0[41];
4708 NTIvarindex__9bUY0kR5KFdp9cLhJiAMwmwA_.size = sizeof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA);
4709 NTIvarindex__9bUY0kR5KFdp9cLhJiAMwmwA_.align = NIM_ALIGNOF(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA);
4710 NTIvarindex__9bUY0kR5KFdp9cLhJiAMwmwA_.kind = 18;
4711 NTIvarindex__9bUY0kR5KFdp9cLhJiAMwmwA_.base = 0;
4712 TM__39a9bfgg3gnILXo9by9cxATh0Q_2_7[0] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[1];
4713 NTIconnection__EevFKe104MtQGkxxkLKkgg_.size = sizeof(tyObject_Connection__EevFKe104MtQGkxxkLKkgg);
4714 NTIconnection__EevFKe104MtQGkxxkLKkgg_.align = NIM_ALIGNOF(tyObject_Connection__EevFKe104MtQGkxxkLKkgg);
4715 NTIconnection__EevFKe104MtQGkxxkLKkgg_.kind = 18;
4716 NTIconnection__EevFKe104MtQGkxxkLKkgg_.base = 0;
4717 NTIconnection__EevFKe104MtQGkxxkLKkgg_.flags = 1;
4718 NTIvarindexkind__TA6PMQGIDoHplflSd7kZxA_.size = sizeof(tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA);
4719 NTIvarindexkind__TA6PMQGIDoHplflSd7kZxA_.align = NIM_ALIGNOF(tyEnum_VarIndexKind__TA6PMQGIDoHplflSd7kZxA);
4720 NTIvarindexkind__TA6PMQGIDoHplflSd7kZxA_.kind = 14;
4721 NTIvarindexkind__TA6PMQGIDoHplflSd7kZxA_.base = 0;
4722 NTIvarindexkind__TA6PMQGIDoHplflSd7kZxA_.flags = 3;
4723 for (TM__39a9bfgg3gnILXo9by9cxATh0Q_5 = 0; TM__39a9bfgg3gnILXo9by9cxATh0Q_5 < 3; TM__39a9bfgg3gnILXo9by9cxATh0Q_5++) {
4724 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[TM__39a9bfgg3gnILXo9by9cxATh0Q_5+3].kind = 1;
4725 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[TM__39a9bfgg3gnILXo9by9cxATh0Q_5+3].offset = TM__39a9bfgg3gnILXo9by9cxATh0Q_5;
4726 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[TM__39a9bfgg3gnILXo9by9cxATh0Q_5+3].name = TM__39a9bfgg3gnILXo9by9cxATh0Q_4[TM__39a9bfgg3gnILXo9by9cxATh0Q_5];
4727 TM__39a9bfgg3gnILXo9by9cxATh0Q_3_3[TM__39a9bfgg3gnILXo9by9cxATh0Q_5] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[TM__39a9bfgg3gnILXo9by9cxATh0Q_5+3];
4728 }
4729 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[6].len = 3; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[6].kind = 2; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[6].sons = &TM__39a9bfgg3gnILXo9by9cxATh0Q_3_3[0];
4730 NTIvarindexkind__TA6PMQGIDoHplflSd7kZxA_.node = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[6];
4731 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[2].kind = 3;
4732 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[2].offset = offsetof(tyObject_Connection__EevFKe104MtQGkxxkLKkgg, kind);
4733 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[2].typ = (&NTIvarindexkind__TA6PMQGIDoHplflSd7kZxA_);
4734 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[2].name = "kind";
4735 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[2].sons = &NimDT___EevFKe104MtQGkxxkLKkgg_kind[0];
4736 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[2].len = 3;
4737 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[7].len = 0; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[7].kind = 2;
4738 NimDT___EevFKe104MtQGkxxkLKkgg_kind[0] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[7];
4739 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[8].kind = 1;
4740 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[8].offset = offsetof(tyObject_Connection__EevFKe104MtQGkxxkLKkgg, parent);
4741 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[8].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
4742 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[8].name = "parent";
4743 NimDT___EevFKe104MtQGkxxkLKkgg_kind[1] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[8];
4744 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[9].kind = 1;
4745 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[9].offset = offsetof(tyObject_Connection__EevFKe104MtQGkxxkLKkgg, graphIndex);
4746 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[9].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
4747 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[9].name = "graphIndex";
4748 NimDT___EevFKe104MtQGkxxkLKkgg_kind[2] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[9];
4749 NTIconnection__EevFKe104MtQGkxxkLKkgg_.node = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[2];
4750 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[1].kind = 1;
4751 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[1].offset = offsetof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA, con);
4752 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[1].typ = (&NTIconnection__EevFKe104MtQGkxxkLKkgg_);
4753 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[1].name = "con";
4754 TM__39a9bfgg3gnILXo9by9cxATh0Q_2_7[1] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[10];
4755 NTIvarflag__F7v3qXI9a6XJkYmtFhBnwUQ_.size = sizeof(tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ);
4756 NTIvarflag__F7v3qXI9a6XJkYmtFhBnwUQ_.align = NIM_ALIGNOF(tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ);
4757 NTIvarflag__F7v3qXI9a6XJkYmtFhBnwUQ_.kind = 14;
4758 NTIvarflag__F7v3qXI9a6XJkYmtFhBnwUQ_.base = 0;
4759 NTIvarflag__F7v3qXI9a6XJkYmtFhBnwUQ_.flags = 3;
4760 for (TM__39a9bfgg3gnILXo9by9cxATh0Q_8 = 0; TM__39a9bfgg3gnILXo9by9cxATh0Q_8 < 6; TM__39a9bfgg3gnILXo9by9cxATh0Q_8++) {
4761 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[TM__39a9bfgg3gnILXo9by9cxATh0Q_8+11].kind = 1;
4762 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[TM__39a9bfgg3gnILXo9by9cxATh0Q_8+11].offset = TM__39a9bfgg3gnILXo9by9cxATh0Q_8;
4763 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[TM__39a9bfgg3gnILXo9by9cxATh0Q_8+11].name = TM__39a9bfgg3gnILXo9by9cxATh0Q_7[TM__39a9bfgg3gnILXo9by9cxATh0Q_8];
4764 TM__39a9bfgg3gnILXo9by9cxATh0Q_6_6[TM__39a9bfgg3gnILXo9by9cxATh0Q_8] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[TM__39a9bfgg3gnILXo9by9cxATh0Q_8+11];
4765 }
4766 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[17].len = 6; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[17].kind = 2; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[17].sons = &TM__39a9bfgg3gnILXo9by9cxATh0Q_6_6[0];
4767 NTIvarflag__F7v3qXI9a6XJkYmtFhBnwUQ_.node = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[17];
4768 NTIsetLvarflagT__aPvbyqN5lPiKM7xpscHQuw_.size = sizeof(tySet_tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ);
4769 NTIsetLvarflagT__aPvbyqN5lPiKM7xpscHQuw_.align = NIM_ALIGNOF(tySet_tyEnum_VarFlag__F7v3qXI9a6XJkYmtFhBnwUQ);
4770 NTIsetLvarflagT__aPvbyqN5lPiKM7xpscHQuw_.kind = 19;
4771 NTIsetLvarflagT__aPvbyqN5lPiKM7xpscHQuw_.base = (&NTIvarflag__F7v3qXI9a6XJkYmtFhBnwUQ_);
4772 NTIsetLvarflagT__aPvbyqN5lPiKM7xpscHQuw_.flags = 3;
4773 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[18].len = 0; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[18].kind = 0;
4774 NTIsetLvarflagT__aPvbyqN5lPiKM7xpscHQuw_.node = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[18];
4775 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[10].kind = 1;
4776 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[10].offset = offsetof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA, flags);
4777 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[10].typ = (&NTIsetLvarflagT__aPvbyqN5lPiKM7xpscHQuw_);
4778 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[10].name = "flags";
4779 TM__39a9bfgg3gnILXo9by9cxATh0Q_2_7[2] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[19];
4780 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[19].kind = 1;
4781 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[19].offset = offsetof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA, sym);
4782 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[19].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
4783 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[19].name = "sym";
4784 TM__39a9bfgg3gnILXo9by9cxATh0Q_2_7[3] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[20];
4785 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[20].kind = 1;
4786 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[20].offset = offsetof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA, reassignedTo);
4787 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[20].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
4788 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[20].name = "reassignedTo";
4789 TM__39a9bfgg3gnILXo9by9cxATh0Q_2_7[4] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[21];
4790 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[21].kind = 1;
4791 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[21].offset = offsetof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA, aliveStart);
4792 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[21].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
4793 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[21].name = "aliveStart";
4794 TM__39a9bfgg3gnILXo9by9cxATh0Q_2_7[5] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[22];
4795 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[22].kind = 1;
4796 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[22].offset = offsetof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA, aliveEnd);
4797 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[22].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
4798 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[22].name = "aliveEnd";
4799 TM__39a9bfgg3gnILXo9by9cxATh0Q_2_7[6] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[23];
4800 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[23].kind = 1;
4801 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[23].offset = offsetof(tyObject_VarIndex__9bUY0kR5KFdp9cLhJiAMwmwA, borrowsFrom);
4802 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[23].typ = (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_);
4803 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[23].name = "borrowsFrom";
4804 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[0].len = 7; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[0].kind = 2; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[0].sons = &TM__39a9bfgg3gnILXo9by9cxATh0Q_2_7[0];
4805 NTIvarindex__9bUY0kR5KFdp9cLhJiAMwmwA_.node = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[0];
4806 NTIseqLvarindexT__7PsCyIDXDb8nGSU5UlS9cAA_.size = sizeof(tySequence__7PsCyIDXDb8nGSU5UlS9cAA*);
4807 NTIseqLvarindexT__7PsCyIDXDb8nGSU5UlS9cAA_.align = NIM_ALIGNOF(tySequence__7PsCyIDXDb8nGSU5UlS9cAA*);
4808 NTIseqLvarindexT__7PsCyIDXDb8nGSU5UlS9cAA_.kind = 24;
4809 NTIseqLvarindexT__7PsCyIDXDb8nGSU5UlS9cAA_.base = (&NTIvarindex__9bUY0kR5KFdp9cLhJiAMwmwA_);
4810 NTIseqLvarindexT__7PsCyIDXDb8nGSU5UlS9cAA_.marker = Marker_tySequence__7PsCyIDXDb8nGSU5UlS9cAA;
4811 NTImutationinfo__0Sg6dzXBBdtdBAkDWxEFug_.size = sizeof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug);
4812 NTImutationinfo__0Sg6dzXBBdtdBAkDWxEFug_.align = NIM_ALIGNOF(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug);
4813 NTImutationinfo__0Sg6dzXBBdtdBAkDWxEFug_.kind = 18;
4814 NTImutationinfo__0Sg6dzXBBdtdBAkDWxEFug_.base = 0;
4815 TM__39a9bfgg3gnILXo9by9cxATh0Q_9_7[0] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[25];
4816 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[25].kind = 1;
4817 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[25].offset = offsetof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug, param);
4818 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[25].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
4819 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[25].name = "param";
4820 TM__39a9bfgg3gnILXo9by9cxATh0Q_9_7[1] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[26];
4821 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[26].kind = 1;
4822 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[26].offset = offsetof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug, mutatedHere);
4823 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[26].typ = (&NTItlineinfo__WGx4rAexNXnczy1Avn646Q_);
4824 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[26].name = "mutatedHere";
4825 TM__39a9bfgg3gnILXo9by9cxATh0Q_9_7[2] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[27];
4826 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[27].kind = 1;
4827 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[27].offset = offsetof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug, connectedVia);
4828 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[27].typ = (&NTItlineinfo__WGx4rAexNXnczy1Avn646Q_);
4829 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[27].name = "connectedVia";
4830 TM__39a9bfgg3gnILXo9by9cxATh0Q_9_7[3] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[28];
4831 NTIsubgraphflag__mxQvR0HTC631bhUr6jBDDw_.size = sizeof(tyEnum_SubgraphFlag__mxQvR0HTC631bhUr6jBDDw);
4832 NTIsubgraphflag__mxQvR0HTC631bhUr6jBDDw_.align = NIM_ALIGNOF(tyEnum_SubgraphFlag__mxQvR0HTC631bhUr6jBDDw);
4833 NTIsubgraphflag__mxQvR0HTC631bhUr6jBDDw_.kind = 14;
4834 NTIsubgraphflag__mxQvR0HTC631bhUr6jBDDw_.base = 0;
4835 NTIsubgraphflag__mxQvR0HTC631bhUr6jBDDw_.flags = 3;
4836 for (TM__39a9bfgg3gnILXo9by9cxATh0Q_12 = 0; TM__39a9bfgg3gnILXo9by9cxATh0Q_12 < 4; TM__39a9bfgg3gnILXo9by9cxATh0Q_12++) {
4837 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[TM__39a9bfgg3gnILXo9by9cxATh0Q_12+29].kind = 1;
4838 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[TM__39a9bfgg3gnILXo9by9cxATh0Q_12+29].offset = TM__39a9bfgg3gnILXo9by9cxATh0Q_12;
4839 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[TM__39a9bfgg3gnILXo9by9cxATh0Q_12+29].name = TM__39a9bfgg3gnILXo9by9cxATh0Q_11[TM__39a9bfgg3gnILXo9by9cxATh0Q_12];
4840 TM__39a9bfgg3gnILXo9by9cxATh0Q_10_4[TM__39a9bfgg3gnILXo9by9cxATh0Q_12] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[TM__39a9bfgg3gnILXo9by9cxATh0Q_12+29];
4841 }
4842 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[33].len = 4; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[33].kind = 2; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[33].sons = &TM__39a9bfgg3gnILXo9by9cxATh0Q_10_4[0];
4843 NTIsubgraphflag__mxQvR0HTC631bhUr6jBDDw_.node = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[33];
4844 NTIsetLsubgraphflagT__o2yv2nZi9a9cCH8g7WNv9aEew_.size = sizeof(tySet_tyEnum_SubgraphFlag__mxQvR0HTC631bhUr6jBDDw);
4845 NTIsetLsubgraphflagT__o2yv2nZi9a9cCH8g7WNv9aEew_.align = NIM_ALIGNOF(tySet_tyEnum_SubgraphFlag__mxQvR0HTC631bhUr6jBDDw);
4846 NTIsetLsubgraphflagT__o2yv2nZi9a9cCH8g7WNv9aEew_.kind = 19;
4847 NTIsetLsubgraphflagT__o2yv2nZi9a9cCH8g7WNv9aEew_.base = (&NTIsubgraphflag__mxQvR0HTC631bhUr6jBDDw_);
4848 NTIsetLsubgraphflagT__o2yv2nZi9a9cCH8g7WNv9aEew_.flags = 3;
4849 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[34].len = 0; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[34].kind = 0;
4850 NTIsetLsubgraphflagT__o2yv2nZi9a9cCH8g7WNv9aEew_.node = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[34];
4851 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[28].kind = 1;
4852 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[28].offset = offsetof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug, flags);
4853 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[28].typ = (&NTIsetLsubgraphflagT__o2yv2nZi9a9cCH8g7WNv9aEew_);
4854 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[28].name = "flags";
4855 TM__39a9bfgg3gnILXo9by9cxATh0Q_9_7[4] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[35];
4856 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[35].kind = 1;
4857 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[35].offset = offsetof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug, maxMutation);
4858 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[35].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
4859 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[35].name = "maxMutation";
4860 TM__39a9bfgg3gnILXo9by9cxATh0Q_9_7[5] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[36];
4861 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[36].kind = 1;
4862 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[36].offset = offsetof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug, minConnection);
4863 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[36].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
4864 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[36].name = "minConnection";
4865 TM__39a9bfgg3gnILXo9by9cxATh0Q_9_7[6] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[37];
4866 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[37].kind = 1;
4867 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[37].offset = offsetof(tyObject_MutationInfo__0Sg6dzXBBdtdBAkDWxEFug, mutations);
4868 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[37].typ = (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_);
4869 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[37].name = "mutations";
4870 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[24].len = 7; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[24].kind = 2; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[24].sons = &TM__39a9bfgg3gnILXo9by9cxATh0Q_9_7[0];
4871 NTImutationinfo__0Sg6dzXBBdtdBAkDWxEFug_.node = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[24];
4872 NTIseqLmutationinfoT__QAWA9c8ge5HfZnhFNlb9c9ajA_.size = sizeof(tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA*);
4873 NTIseqLmutationinfoT__QAWA9c8ge5HfZnhFNlb9c9ajA_.align = NIM_ALIGNOF(tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA*);
4874 NTIseqLmutationinfoT__QAWA9c8ge5HfZnhFNlb9c9ajA_.kind = 24;
4875 NTIseqLmutationinfoT__QAWA9c8ge5HfZnhFNlb9c9ajA_.base = (&NTImutationinfo__0Sg6dzXBBdtdBAkDWxEFug_);
4876 NTIseqLmutationinfoT__QAWA9c8ge5HfZnhFNlb9c9ajA_.marker = Marker_tySequence__QAWA9c8ge5HfZnhFNlb9c9ajA;
4877 NTILpsym_intT__TZXo9ct5DP9bCdCGHY4IfZPQ_.size = sizeof(tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ);
4878 NTILpsym_intT__TZXo9ct5DP9bCdCGHY4IfZPQ_.align = NIM_ALIGNOF(tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ);
4879 NTILpsym_intT__TZXo9ct5DP9bCdCGHY4IfZPQ_.kind = 18;
4880 NTILpsym_intT__TZXo9ct5DP9bCdCGHY4IfZPQ_.base = 0;
4881 TM__39a9bfgg3gnILXo9by9cxATh0Q_21_2[0] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[39];
4882 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[39].kind = 1;
4883 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[39].offset = offsetof(tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ, Field0);
4884 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[39].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
4885 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[39].name = "Field0";
4886 TM__39a9bfgg3gnILXo9by9cxATh0Q_21_2[1] = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[40];
4887 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[40].kind = 1;
4888 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[40].offset = offsetof(tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ, Field1);
4889 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[40].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
4890 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[40].name = "Field1";
4891 TM__39a9bfgg3gnILXo9by9cxATh0Q_0[38].len = 2; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[38].kind = 2; TM__39a9bfgg3gnILXo9by9cxATh0Q_0[38].sons = &TM__39a9bfgg3gnILXo9by9cxATh0Q_21_2[0];
4892 NTILpsym_intT__TZXo9ct5DP9bCdCGHY4IfZPQ_.node = &TM__39a9bfgg3gnILXo9by9cxATh0Q_0[38];
4893 NTIseqLLpsym_intTT__u9c10b19cqoKPxYSuh3ZKtIw_.size = sizeof(tySequence__u9c10b19cqoKPxYSuh3ZKtIw*);
4894 NTIseqLLpsym_intTT__u9c10b19cqoKPxYSuh3ZKtIw_.align = NIM_ALIGNOF(tySequence__u9c10b19cqoKPxYSuh3ZKtIw*);
4895 NTIseqLLpsym_intTT__u9c10b19cqoKPxYSuh3ZKtIw_.kind = 24;
4896 NTIseqLLpsym_intTT__u9c10b19cqoKPxYSuh3ZKtIw_.base = (&NTILpsym_intT__TZXo9ct5DP9bCdCGHY4IfZPQ_);
4897 NTIseqLLpsym_intTT__u9c10b19cqoKPxYSuh3ZKtIw_.marker = Marker_tySequence__u9c10b19cqoKPxYSuh3ZKtIw;
4898 }
4899
4900